AXOM
Axom provides a robust, flexible software infrastructure for the development of multi-physics applications and computational tools.
Container.hpp File Reference

This file contains the class definition of Inlet's Container class. More...

#include <memory>
#include <string>
#include <functional>
#include <unordered_map>
#include <tuple>
#include <type_traits>
#include "axom/fmt.hpp"
#include "axom/inlet/Field.hpp"
#include "axom/inlet/Function.hpp"
#include "axom/inlet/Reader.hpp"
#include "axom/inlet/inlet_utils.hpp"
#include "axom/inlet/VariantKey.hpp"
#include "axom/inlet/Verifiable.hpp"
#include "axom/sidre.hpp"

Classes

struct  FromInlet< T >
 Prototype for user-defined types wishing to define a by-value read from inlet with axom::inlet::Container::get(const std::string&) More...
 
class  axom::inlet::detail::is_inlet_primitive< T >
 A type trait for checking if a type is isomorphic to an Inlet primitive. More...
 
struct  axom::inlet::detail::is_inlet_primitive_array< T >
 
struct  axom::inlet::detail::is_inlet_primitive_array< std::unordered_map< int, T > >
 
struct  axom::inlet::detail::is_inlet_array< T >
 
struct  axom::inlet::detail::is_inlet_array< std::unordered_map< int, T > >
 
struct  axom::inlet::detail::is_std_function< T >
 
struct  axom::inlet::detail::is_std_function< std::function< T > >
 
struct  axom::inlet::detail::std_function_signature< std::function< FuncType > >
 
struct  axom::inlet::detail::is_inlet_dict< T >
 
struct  axom::inlet::detail::is_inlet_dict< std::unordered_map< std::string, T > >
 
struct  axom::inlet::detail::is_inlet_dict< std::unordered_map< VariantKey, T > >
 
struct  axom::inlet::detail::is_inlet_primitive_dict< T >
 
struct  axom::inlet::detail::is_inlet_primitive_dict< std::unordered_map< std::string, T > >
 
struct  axom::inlet::detail::is_inlet_primitive_dict< std::unordered_map< VariantKey, T > >
 
struct  axom::inlet::detail::is_std_vector< T >
 
struct  axom::inlet::detail::is_std_vector< std::vector< T > >
 
struct  axom::inlet::detail::is_primitive_std_vector< T >
 
struct  axom::inlet::detail::is_primitive_std_vector< std::vector< T > >
 
class  axom::inlet::detail::has_FromInlet_specialization< T, SFINAE >
 A type trait for checking if a type has specialized FromInlet with the required T operator()(axom::inlet::Container&) More...
 
struct  axom::inlet::detail::has_FromInlet_specialization< T, typename std::enable_if< std::is_same< T, decltype(std::declval< FromInlet< T > & >()(std::declval< const Container & >()))>::value >::type >
 
class  axom::inlet::Container
 Provides functions to help define how individual Container and Field variables in an input file are expected to behave. It also holds the Sidre Group to the individual Container. More...
 

Namespaces

 axom
 
 axom::inlet
 
 axom::inlet::detail
 

Functions

std::string axom::inlet::detail::indexToString (const std::string &idx)
 An overloaded utility function for converting a type to a string. More...
 
std::string axom::inlet::detail::indexToString (const int idx)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
std::string axom::inlet::detail::indexToString (const VariantKey &idx)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
template<typename Result , typename From >
Result axom::inlet::detail::toIndex (const From &idx)
 An templated utility function for converting an index to the desired type. More...
 
template<>
int axom::inlet::detail::toIndex (const std::string &idx)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
template<typename Key >
bool axom::inlet::detail::matchesKeyType (const VariantKey &key)
 Determines whether a variant key is convertible to another type. More...
 
std::vector< VariantKey > axom::inlet::detail::collectionIndices (const Container &container, bool trimAbsolute=true)
 This is an internal utility intended to be used with arrays/dicts of user-defined types that returns the indices as strings - integer indices will be converted to strings. More...
 
std::vector< std::pair< std::string, std::string > > axom::inlet::detail::collectionIndicesWithPaths (const Container &container, const std::string &name)
 This is an internal utility intended to be used with arrays of user-defined types that returns the a list of pairs, each of which contain an index (a number) and a fully qualified path within the input file to the array element at the corresponding index. More...
 
void axom::inlet::detail::updateUnexpectedNames (const std::string &accessedName, std::vector< std::string > &unexpectedNames)
 Updates the set of unexpected names to reflect an user-requested access. More...
 

Detailed Description

This file contains the class definition of Inlet's Container class.