Skip to content

Commit

Permalink
-
Browse files Browse the repository at this point in the history
  • Loading branch information
Yuria-Shikibe committed May 6, 2024
1 parent 0d9f968 commit b0f7812
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 16 deletions.
4 changes: 2 additions & 2 deletions src/arc/graphic/gl/shader/ShaderUniformWrapper.cppm
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,14 @@ export namespace GL{
}

template <std::size_t argIndex, bool asReference = false>
requires requires{ requires argIndex < size; }
requires requires{ requires argIndex < UniformWrapper::size; }
inline constexpr typename Concepts::ValueConditional<!asReference, std::tuple_element_t<argIndex, ArgsType>>::type
get() noexcept{
return std::get<argIndex>(data);
}

template <std::size_t argIndex, bool asReference = true>
requires requires{ requires argIndex < size; }
requires requires{ requires argIndex < UniformWrapper::size; }
inline constexpr typename Concepts::ValueConditional<!asReference, std::tuple_element_t<argIndex, ArgsType>>::type
get() const noexcept{
return std::get<argIndex>(data);
Expand Down
20 changes: 10 additions & 10 deletions src/arc/io/SpecializedIO.cppm
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ namespace Core::IO{
}

static void read(const ext::json::JsonValue& jsonValue, T& data){
data = jsonValue.asType<Ty>();
data = jsonValue.as<Ty>();
}
};

Expand All @@ -72,8 +72,8 @@ namespace Core::IO{

static void read(const ext::json::JsonValue& jsonValue, Math::Section<T>& data){
if(auto* ptr = jsonValue.tryGetValue<ext::json::array>(); ptr && ptr->size() >= 2){
data.from = ptr->at(0).asType<Ty>();
data.to = ptr->at(1).asType<Ty>();
data.from = ptr->at(0).as<Ty>();
data.to = ptr->at(1).as<Ty>();
}
}
};
Expand All @@ -92,8 +92,8 @@ namespace Core::IO{

static void read(const ext::json::JsonValue& jsonValue, Geom::Vector2D<T>& data){
if(auto* ptr = jsonValue.tryGetValue<ext::json::array>(); ptr && ptr->size() >= 2){
data.x = ptr->at(0).asType<Ty>();
data.y = ptr->at(1).asType<Ty>();
data.x = ptr->at(0).as<Ty>();
data.y = ptr->at(1).as<Ty>();
}
}
};
Expand All @@ -115,10 +115,10 @@ namespace Core::IO{
static void read(const ext::json::JsonValue& jsonValue, Geom::Rect_Orthogonal<T>& data){
if(auto* ptr = jsonValue.tryGetValue<ext::json::array>(); ptr && ptr->size() >= 4){
data.set(
ptr->at(0).asType<Ty>(),
ptr->at(1).asType<Ty>(),
ptr->at(2).asType<Ty>(),
ptr->at(3).asType<Ty>());
ptr->at(0).as<Ty>(),
ptr->at(1).as<Ty>(),
ptr->at(2).as<Ty>(),
ptr->at(3).as<Ty>());
}
}
};
Expand All @@ -130,7 +130,7 @@ namespace Core::IO{
}

static void read(const ext::json::JsonValue& jsonValue, Graphic::Color& data){
Graphic::Color::valueOf(data, jsonValue.asType<std::string>());
Graphic::Color::valueOf(data, jsonValue.as<std::string>());
}
};

Expand Down
8 changes: 4 additions & 4 deletions src/arc/util/Json.cppm
Original file line number Diff line number Diff line change
Expand Up @@ -189,8 +189,8 @@ export namespace ext::json{


template <typename T>
requires validType<T> || (std::is_arithmetic_v<T> && validType<JsonScalarType<T>>)
[[nodiscard]] constexpr decltype(auto) asType(){
requires JsonValue::validType<T> || (std::is_arithmetic_v<T> && JsonValue::validType<JsonScalarType<T>>)
[[nodiscard]] constexpr decltype(auto) as(){
if constexpr (std::is_arithmetic_v<T>){
return std::get<JsonScalarType<T>>(data);
}else{
Expand All @@ -199,8 +199,8 @@ export namespace ext::json{
}

template <typename T>
requires validType<T> || (std::is_arithmetic_v<T> && validType<JsonScalarType<T>>)
[[nodiscard]] constexpr decltype(auto) asType() const{
requires JsonValue::validType<T> || (std::is_arithmetic_v<T> && JsonValue::validType<JsonScalarType<T>>)
[[nodiscard]] constexpr decltype(auto) as() const{
if constexpr (std::is_arithmetic_v<T>){
return std::get<JsonScalarType<T>>(data);
}else{
Expand Down

0 comments on commit b0f7812

Please sign in to comment.