libconfig v2.2.1
Reflection based C++ configuration library
Loading...
Searching...
No Matches
fourdst::config::validate Namespace Reference

Classes

struct  ConfigValidator
 
struct  is_map_impl
 
struct  is_map_impl< std::map< K, V, C, A > >
 
struct  is_map_impl< std::unordered_map< K, V, H, E, A > >
 
struct  is_optional_impl
 
struct  is_optional_impl< std::optional< T > >
 
struct  is_vector_impl
 
struct  is_vector_impl< std::vector< T, A > >
 
struct  MissingFieldTree
 

Functions

void print_missing_field_tree (const MissingFieldTree &tree, std::string indent, bool is_last, const std::string &name, std::string &output)
 
std::string report_all_missing_fields (const std::vector< std::string > &missing)
 

Variables

template<typename Type>
constexpr bool is_optional_v = is_optional_impl<std::remove_cvref_t<Type>>::value
 
template<typename Type>
constexpr bool is_vector_v = is_vector_impl<std::remove_cvref_t<Type>>::value
 
template<typename Type>
constexpr bool is_map_v = is_map_impl<std::remove_cvref_t<Type>>::value
 
template<typename Type>
constexpr bool is_string_like_v
 
template<typename Type>
constexpr bool is_reflectable_struct_v
 

Function Documentation

◆ print_missing_field_tree()

void fourdst::config::validate::print_missing_field_tree ( const MissingFieldTree & tree,
std::string indent,
bool is_last,
const std::string & name,
std::string & output )
inline

◆ report_all_missing_fields()

std::string fourdst::config::validate::report_all_missing_fields ( const std::vector< std::string > & missing)
inline

Variable Documentation

◆ is_map_v

template<typename Type>
bool fourdst::config::validate::is_map_v = is_map_impl<std::remove_cvref_t<Type>>::value
constexpr

◆ is_optional_v

template<typename Type>
bool fourdst::config::validate::is_optional_v = is_optional_impl<std::remove_cvref_t<Type>>::value
constexpr

◆ is_reflectable_struct_v

template<typename Type>
bool fourdst::config::validate::is_reflectable_struct_v
constexpr
Initial value:
= std::is_class_v<std::remove_cvref_t<Type>> &&
constexpr bool is_vector_v
Definition validate.h:26
constexpr bool is_string_like_v
Definition validate.h:34
constexpr bool is_map_v
Definition validate.h:31
constexpr bool is_optional_v
Definition validate.h:22

◆ is_string_like_v

template<typename Type>
bool fourdst::config::validate::is_string_like_v
constexpr
Initial value:
= std::is_same_v<std::remove_cvref_t<Type>, std::string> ||
std::is_same_v<std::remove_cvref_t<Type>, std::string_view>

◆ is_vector_v

template<typename Type>
bool fourdst::config::validate::is_vector_v = is_vector_impl<std::remove_cvref_t<Type>>::value
constexpr