NEMoSys  0.63.0
A modular, extensible resource with robust automated mesh generation, mesh quality analysis, adaptive mesh refinement, and data transfer between arbitrary meshes.
NucMeshJson.H File Reference

Go to the source code of this file.

Classes

struct  NEM::DRV::JSON::function_traits< T >
 
struct  NEM::DRV::JSON::function_traits< R(Args...)>
 
struct  NEM::DRV::JSON::function_traits< R(*)(Args...)>
 
struct  NEM::DRV::JSON::function_traits< R(T::*)(Args...)>
 

Namespaces

 NEM
 
 NEM::DRV
 
 NEM::DRV::JSON
 

Typedefs

template<typename T >
using NEM::DRV::JSON::first_argument_type = typename std::tuple_element< 0, typename function_traits< T >::argument_types >::type
 

Functions

template<typename T , typename R , typename... Args>
void NEM::DRV::JSON::setter_helper (T &obj, R(T::*setter)(Args...), const jsoncons::json &json, jsoncons::string_view key, bool checkContains)
 
template<typename T >
std::unique_ptr< NEM::NUCMESH::ShapeBaseNEM::DRV::JSON::construct_helper (const jsoncons::json &json, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &savedShapes)
 
std::unique_ptr< NEM::NUCMESH::ShapeBaseNEM::DRV::JSON::as_shape (const jsoncons::json &json, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &savedShapes)
 
template<typename T >
std::enable_if< std::is_base_of< NEM::NUCMESH::ShapeBase, T >::value, void >::type NEM::DRV::JSON::modify_helper (const jsoncons::json &json, T &shape, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &savedShapes, bool checkRequired)
 
template<>
void NEM::DRV::JSON::modify_helper (const jsoncons::json &json, NEM::NUCMESH::ShapeBase &shape, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &, bool)
 
template<>
void NEM::DRV::JSON::modify_helper (const jsoncons::json &json, NEM::NUCMESH::Circles &shape, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &savedShapes, bool checkRequired)
 
template<>
std::unique_ptr< NEM::NUCMESH::ShapeBaseNEM::DRV::JSON::construct_helper< NEM::NUCMESH::Circles > (const jsoncons::json &json, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &savedShapes)
 
template<>
void NEM::DRV::JSON::modify_helper (const jsoncons::json &json, NEM::NUCMESH::CirclesAndPolys &shape, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &savedShapes, bool checkRequired)
 
template<>
std::unique_ptr< NEM::NUCMESH::ShapeBaseNEM::DRV::JSON::construct_helper< NEM::NUCMESH::CirclesAndPolys > (const jsoncons::json &json, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &savedShapes)
 
template<>
void NEM::DRV::JSON::modify_helper (const jsoncons::json &json, NEM::NUCMESH::ShapesArray &shape, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &savedShapes, bool checkRequired)
 
template<>
void NEM::DRV::JSON::modify_helper (const jsoncons::json &json, NEM::NUCMESH::PolarArray &shape, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &savedShapes, bool checkRequired)
 
template<>
std::unique_ptr< NEM::NUCMESH::ShapeBaseNEM::DRV::JSON::construct_helper< NEM::NUCMESH::PolarArray > (const jsoncons::json &json, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &savedShapes)
 
template<>
void NEM::DRV::JSON::modify_helper (const jsoncons::json &json, NEM::NUCMESH::RectangularArray &shape, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &savedShapes, bool checkRequired)
 
template<>
std::unique_ptr< NEM::NUCMESH::ShapeBaseNEM::DRV::JSON::construct_helper< NEM::NUCMESH::RectangularArray > (const jsoncons::json &json, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &savedShapes)
 
template<>
void NEM::DRV::JSON::modify_helper (const jsoncons::json &json, NEM::NUCMESH::HexagonalArray &shape, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &savedShapes, bool checkRequired)
 
template<>
std::unique_ptr< NEM::NUCMESH::ShapeBaseNEM::DRV::JSON::construct_helper< NEM::NUCMESH::HexagonalArray > (const jsoncons::json &json, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &savedShapes)
 
template<typename T >
std::unique_ptr< NEM::NUCMESH::ShapeBaseNEM::DRV::JSON::construct_from_alias_helper (const jsoncons::json &json, const T *const aliasShape, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &savedShapes)
 
std::unique_ptr< NEM::NUCMESH::ShapeBaseNEM::DRV::JSON::construct_from_alias (const jsoncons::json &json, const NEM::NUCMESH::ShapeBase *const aliasShape, const std::map< std::string, std::unique_ptr< NEM::NUCMESH::ShapeBase >> &savedShapes)
 

Variables

static constexpr auto NEM::DRV::JSON::shapeType = "Type"
 
static constexpr auto NEM::DRV::JSON::arrayPattern = "Pattern"
 
static constexpr auto NEM::DRV::JSON::arrayShapes = "Shapes"