diff --git a/docs/_formulas.tex b/docs/_formulas.tex new file mode 100644 index 00000000..c3ff3979 --- /dev/null +++ b/docs/_formulas.tex @@ -0,0 +1,8 @@ +\documentclass{article} +\usepackage{epsfig} +\pagestyle{empty} +\begin{document} +$[-2^{53}+1, 2^{53}-1]$ +\pagebreak + +\end{document} diff --git a/docs/annotated.html b/docs/annotated.html index 1a80a4ce..69b98986 100644 --- a/docs/annotated.html +++ b/docs/annotated.html @@ -85,38 +85,190 @@
Here are the classes, structs, unions and interfaces with brief descriptions:
-
[detail level 123]
+
[detail level 1234]
- - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Ncudnn_frontend
 CBackendDescriptor
 CConvDesc_v8
 CConvDescBuilder_v8
 CcudnnException
 CEngine_v8
 CKnob
 CEngineBuilder_v8
 CEngineConfig_v8
 CEngineConfigBuilder_v8
 CEngineConfigGenerator
 CEngineFallbackList_v8
 CEngineFallbackListBuilder_v8
 CEngineHeuristics_v8
 CEngineHeuristicsBuilder_v8
 CexecutionOption
 CExecutionPlan_v8
 CExecutionPlanBuilder_v8
 CMatMulDesc_v8
 CMatMulDescBuilder_v8
 COpaqueBackendPointer
 COperation_v8
 COperationBuilder_v8
 COperationGraph_v8
 COperationGraphBuilder_v8
 CPointWiseDesc_v8
 CPointWiseDescBuilder_v8
 CTensor_v8
 CTensorBuilder_v8
 CVariantPack_v8
 CVariantPackBuilder_v8
 CEngine_v8
 CEngineBuilder_v8
 CEngineConfig_v8
 CEngineConfigBuilder_v8
 CEngineConfigGenerator
 CEngineFallbackList_v8
 CEngineFallbackListBuilder_v8
 CEngineHeuristics_v8
 CEngineHeuristicsBuilder_v8
 CexecutionOption
 CExecutionPlan_v8
 CExecutionPlanBuilder_v8
 CMatMulDesc_v8
 CMatMulDescBuilder_v8
 COpaqueBackendPointer
 COperation_v8
 COperationBuilder_v8
 COperationGraph_v8
 COperationGraphBuilder_v8
 CPointWiseDesc_v8
 CPointWiseDescBuilder_v8
 CReductionDesc_v8
 CReductionDescBuilder_v8
 CTensor_v8
 CTensorBuilder_v8
 CVariantPack_v8
 CVariantPackBuilder_v8
 NnlohmannNamespace for Niels Lohmann
 NdetailDetail namespace with internal helper functions
 Cadl_serializerDefault JSONSerializer template argument
 Cbasic_jsonClass to store JSON values
 Cbyte_container_with_subtypeInternal type for a backed binary type
 Cjson_pointerJSON Pointer
 Cjson_saxSAX interface
 Cordered_map
 NstdSTL namespace
 Chash< nlohmann::json >Hash value for JSON objects
 Cless<::nlohmann::detail::value_t >
 Ctuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >
 Ctuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >
 CB1
 CBinaryType
 Ctype
diff --git a/docs/annotated_dup.js b/docs/annotated_dup.js index 2307b18b..80d8b857 100644 --- a/docs/annotated_dup.js +++ b/docs/annotated_dup.js @@ -1,4 +1,14 @@ var annotated_dup = [ - [ "cudnn_frontend", "df/de1/namespacecudnn__frontend.html", "df/de1/namespacecudnn__frontend" ] + [ "cudnn_frontend", "df/de1/namespacecudnn__frontend.html", "df/de1/namespacecudnn__frontend" ], + [ "nlohmann", "d3/d9b/namespacenlohmann.html", "d3/d9b/namespacenlohmann" ], + [ "std", null, [ + [ "hash< nlohmann::json >", "dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html", "dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4" ], + [ "less<::nlohmann::detail::value_t >", "df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html", "df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4" ], + [ "tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >", "dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html", "dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4" ], + [ "tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >", "da/d86/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html", null ] + ] ], + [ "B1", "d3/ddb/classB1.html", null ], + [ "BinaryType", "d7/d1c/classBinaryType.html", null ], + [ "type", "db/d0a/classstd_1_1conditional_1_1type.html", null ] ]; \ No newline at end of file diff --git a/docs/classes.html b/docs/classes.html index 43a61368..ce84d1e6 100644 --- a/docs/classes.html +++ b/docs/classes.html @@ -84,31 +84,76 @@
Class Index
-
b | c | e | k | m | o | p | t | v
+
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | r | s | t | v | w
+ + + - + - + + + + + + + + - - - - + + + + + + + + + + + + + + + + - - + + + + + + + + + + + + + + +
  a  
+
Extend (nlohmann::detail::utility_internal)   is_compatible_object_type (nlohmann::detail)   iterator_input_adapter (nlohmann::detail)   output_adapter_protocol (nlohmann::detail)   
Extend< integer_sequence< T, Ints... >, SeqSize, 0 > (nlohmann::detail::utility_internal)   is_compatible_object_type_impl (nlohmann::detail)   iterator_input_adapter_factory (nlohmann::detail)   output_stream_adapter (nlohmann::detail)   
adl_serializer (nlohmann)   Extend< integer_sequence< T, Ints... >, SeqSize, 1 > (nlohmann::detail::utility_internal)   is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > > (nlohmann::detail)   iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > > (nlohmann::detail)   output_string_adapter (nlohmann::detail)   
  b  
-
EngineBuilder_v8 (cudnn_frontend)   ExecutionPlanBuilder_v8 (cudnn_frontend)   Operation_v8 (cudnn_frontend)   TensorBuilder_v8 (cudnn_frontend)   
EngineConfig_v8 (cudnn_frontend)   
  k  
-
OperationBuilder_v8 (cudnn_frontend)   
  v  
+
external_constructor (nlohmann::detail)   is_compatible_string_type (nlohmann::detail)   iterator_traits (nlohmann::detail)   output_vector_adapter (nlohmann::detail)   
external_constructor< value_t::array > (nlohmann::detail)   is_compatible_string_type_impl (nlohmann::detail)   iterator_traits< T *, enable_if_t< std::is_object< T >::value > > (nlohmann::detail)   
  p  
BackendDescriptor (cudnn_frontend)   EngineConfigBuilder_v8 (cudnn_frontend)   OperationGraph_v8 (cudnn_frontend)   
B1   external_constructor< value_t::binary > (nlohmann::detail)   is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > > (nlohmann::detail)   iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > > (nlohmann::detail)   
BackendDescriptor (cudnn_frontend)   external_constructor< value_t::boolean > (nlohmann::detail)   is_compatible_type (nlohmann::detail)   iterator_types (nlohmann::detail)   parse_error (nlohmann::detail)   
basic_json (nlohmann)   external_constructor< value_t::number_float > (nlohmann::detail)   is_compatible_type_impl (nlohmann::detail)   iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > > (nlohmann::detail)   parser (nlohmann::detail)   
binary_reader (nlohmann::detail)   external_constructor< value_t::number_integer > (nlohmann::detail)   is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > > (nlohmann::detail)   
  j  
+
PointWiseDesc_v8 (cudnn_frontend)   
binary_writer (nlohmann::detail)   external_constructor< value_t::number_unsigned > (nlohmann::detail)   is_complete_type (nlohmann::detail)   PointWiseDescBuilder_v8 (cudnn_frontend)   
BinaryType   external_constructor< value_t::object > (nlohmann::detail)   is_complete_type< T, decltype(void(sizeof(T)))> (nlohmann::detail)   json_pointer (nlohmann)   position_t (nlohmann::detail)   
boundaries (nlohmann::detail::dtoa_impl)   external_constructor< value_t::string > (nlohmann::detail)   is_constructible (nlohmann::detail)   json_ref (nlohmann::detail)   primitive_iterator_t (nlohmann::detail)   
byte_container_with_subtype (nlohmann)   
  f  
+
is_constructible< const std::pair< T1, T2 > > (nlohmann::detail)   json_reverse_iterator (nlohmann::detail)   priority_tag (nlohmann::detail)   
  c  
-
EngineConfigGenerator (cudnn_frontend)   Engine_v8::Knob (cudnn_frontend)   OperationGraphBuilder_v8 (cudnn_frontend)   VariantPack_v8 (cudnn_frontend)   
EngineFallbackList_v8 (cudnn_frontend)   
  m  
-
  p  
-
VariantPackBuilder_v8 (cudnn_frontend)   
ConvDesc_v8 (cudnn_frontend)   EngineFallbackListBuilder_v8 (cudnn_frontend)   
ConvDescBuilder_v8 (cudnn_frontend)   EngineHeuristics_v8 (cudnn_frontend)   MatMulDesc_v8 (cudnn_frontend)   PointWiseDesc_v8 (cudnn_frontend)   
cudnnException (cudnn_frontend)   EngineHeuristicsBuilder_v8 (cudnn_frontend)   MatMulDescBuilder_v8 (cudnn_frontend)   PointWiseDescBuilder_v8 (cudnn_frontend)   
is_constructible< const std::tuple< Ts... > > (nlohmann::detail)   json_sax (nlohmann)   priority_tag< 0 > (nlohmann::detail)   
file_input_adapter (nlohmann::detail)   is_constructible< std::pair< T1, T2 > > (nlohmann::detail)   json_sax_acceptor (nlohmann::detail)   
  r  
+
cached_power (nlohmann::detail::dtoa_impl)   from_json_fn (nlohmann::detail)   is_constructible< std::tuple< Ts... > > (nlohmann::detail)   json_sax_dom_callback_parser (nlohmann::detail)   
conjunction (nlohmann::detail)   
  g  
+
is_constructible_array_type (nlohmann::detail)   json_sax_dom_parser (nlohmann::detail)   ReductionDesc_v8 (cudnn_frontend)   
conjunction< B1 > (nlohmann::detail)   is_constructible_array_type_impl (nlohmann::detail)   
  k  
+
ReductionDescBuilder_v8 (cudnn_frontend)   
conjunction< B1, Bn... > (nlohmann::detail)   Gen (nlohmann::detail::utility_internal)   is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > > (nlohmann::detail)   
  s  
+
container_input_adapter_factory (nlohmann::detail::container_input_adapter_factory_impl)   Gen< T, 0 > (nlohmann::detail::utility_internal)   is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > > (nlohmann::detail)   Engine_v8::Knob (cudnn_frontend)   
container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> > (nlohmann::detail::container_input_adapter_factory_impl)   
  h  
+
is_constructible_object_type (nlohmann::detail)   
  l  
+
serializer (nlohmann::detail)   
ConvDesc_v8 (cudnn_frontend)   is_constructible_object_type_impl (nlohmann::detail)   span_input_adapter (nlohmann::detail)   
ConvDescBuilder_v8 (cudnn_frontend)   has_from_json (nlohmann::detail)   is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > > (nlohmann::detail)   less<::nlohmann::detail::value_t > (std)   static_const (nlohmann::detail)   
cudnnException (cudnn_frontend)   has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > (nlohmann::detail)   is_constructible_string_type (nlohmann::detail)   lexer (nlohmann::detail)   
  t  
+
  d  
+
has_non_default_from_json (nlohmann::detail)   is_constructible_string_type_impl (nlohmann::detail)   lexer_base (nlohmann::detail)   
has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > (nlohmann::detail)   is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > > (nlohmann::detail)   
  m  
+
Tensor_v8 (cudnn_frontend)   
detector (nlohmann::detail)   has_to_json (nlohmann::detail)   is_constructible_tuple (nlohmann::detail)   TensorBuilder_v8 (cudnn_frontend)   
detector< Default, void_t< Op< Args... > >, Op, Args... > (nlohmann::detail)   has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > (nlohmann::detail)   is_constructible_tuple< T1, std::tuple< Args... > > (nlohmann::detail)   make_void (nlohmann::detail)   to_json_fn (nlohmann::detail)   
diyfp (nlohmann::detail::dtoa_impl)   hash< nlohmann::json > (std)   is_default_constructible (nlohmann::detail)   MatMulDesc_v8 (cudnn_frontend)   tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > > (std)   
  e  
-
executionOption (cudnn_frontend)   
  o  
-
  t  
-
ExecutionPlan_v8 (cudnn_frontend)   
Engine_v8 (cudnn_frontend)   OpaqueBackendPointer (cudnn_frontend)   Tensor_v8 (cudnn_frontend)   
  i  
+
is_default_constructible< const std::pair< T1, T2 > > (nlohmann::detail)   MatMulDescBuilder_v8 (cudnn_frontend)   tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > > (std)   
is_default_constructible< const std::tuple< Ts... > > (nlohmann::detail)   
  n  
+
conditional::type (std)   
Engine_v8 (cudnn_frontend)   identity_tag (nlohmann::detail)   is_default_constructible< std::pair< T1, T2 > > (nlohmann::detail)   type_error (nlohmann::detail)   
EngineBuilder_v8 (cudnn_frontend)   input_stream_adapter (nlohmann::detail)   is_default_constructible< std::tuple< Ts... > > (nlohmann::detail)   nonesuch (nlohmann::detail)   
  v  
+
EngineConfig_v8 (cudnn_frontend)   integer_sequence (nlohmann::detail)   is_getable (nlohmann::detail)   
  o  
+
EngineConfigBuilder_v8 (cudnn_frontend)   internal_iterator (nlohmann::detail)   is_iterator_of_multibyte (nlohmann::detail)   VariantPack_v8 (cudnn_frontend)   
EngineConfigGenerator (cudnn_frontend)   invalid_iterator (nlohmann::detail)   is_iterator_traits (nlohmann::detail)   OpaqueBackendPointer (cudnn_frontend)   VariantPackBuilder_v8 (cudnn_frontend)   
EngineFallbackList_v8 (cudnn_frontend)   is_basic_json (nlohmann::detail)   is_iterator_traits< iterator_traits< T > > (nlohmann::detail)   Operation_v8 (cudnn_frontend)   
  w  
+
EngineFallbackListBuilder_v8 (cudnn_frontend)   is_basic_json< NLOHMANN_BASIC_JSON_TPL > (nlohmann::detail)   is_json_ref (nlohmann::detail)   OperationBuilder_v8 (cudnn_frontend)   
EngineHeuristics_v8 (cudnn_frontend)   is_compatible_array_type (nlohmann::detail)   is_json_ref< json_ref< T > > (nlohmann::detail)   OperationGraph_v8 (cudnn_frontend)   wide_string_input_adapter (nlohmann::detail)   
EngineHeuristicsBuilder_v8 (cudnn_frontend)   is_compatible_array_type_impl (nlohmann::detail)   is_sax (nlohmann::detail)   OperationGraphBuilder_v8 (cudnn_frontend)   wide_string_input_helper (nlohmann::detail)   
exception (nlohmann::detail)   is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > > (nlohmann::detail)   is_sax_static_asserts (nlohmann::detail)   ordered_map (nlohmann)   wide_string_input_helper< BaseInputAdapter, 2 > (nlohmann::detail)   
executionOption (cudnn_frontend)   is_compatible_integer_type (nlohmann::detail)   iter_impl (nlohmann::detail)   other_error (nlohmann::detail)   wide_string_input_helper< BaseInputAdapter, 4 > (nlohmann::detail)   
ExecutionPlan_v8 (cudnn_frontend)   is_compatible_integer_type_impl (nlohmann::detail)   iteration_proxy (nlohmann::detail)   out_of_range (nlohmann::detail)   
ExecutionPlanBuilder_v8 (cudnn_frontend)   is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > > (nlohmann::detail)   iteration_proxy_value (nlohmann::detail)   output_adapter (nlohmann::detail)   
-
b | c | e | k | m | o | p | t | v
+
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | r | s | t | v | w
diff --git a/docs/d0/d00/classnlohmann_1_1detail_1_1json__sax__acceptor-members.html b/docs/d0/d00/classnlohmann_1_1detail_1_1json__sax__acceptor-members.html new file mode 100644 index 00000000..d571bca7 --- /dev/null +++ b/docs/d0/d00/classnlohmann_1_1detail_1_1json__sax__acceptor-members.html @@ -0,0 +1,119 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::json_sax_acceptor< BasicJsonType > Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::json_sax_acceptor< BasicJsonType >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + +
binary(binary_t &)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
binary_t typedefnlohmann::detail::json_sax_acceptor< BasicJsonType >
boolean(bool)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
end_array()nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
end_object()nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
key(string_t &)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
null()nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
number_float(number_float_t, const string_t &)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
number_float_t typedefnlohmann::detail::json_sax_acceptor< BasicJsonType >
number_integer(number_integer_t)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
number_integer_t typedefnlohmann::detail::json_sax_acceptor< BasicJsonType >
number_unsigned(number_unsigned_t)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
number_unsigned_t typedefnlohmann::detail::json_sax_acceptor< BasicJsonType >
parse_error(std::size_t, const std::string &, const detail::exception &)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
start_array(std::size_t=std::size_t(-1))nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
start_object(std::size_t=std::size_t(-1))nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
string(string_t &)nlohmann::detail::json_sax_acceptor< BasicJsonType >inline
string_t typedefnlohmann::detail::json_sax_acceptor< BasicJsonType >
+
+ + + + diff --git a/docs/d0/d04/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.map b/docs/d0/d04/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.map new file mode 100644 index 00000000..76a58b82 --- /dev/null +++ b/docs/d0/d04/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d0/d04/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.md5 b/docs/d0/d04/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.md5 new file mode 100644 index 00000000..7f33fc80 --- /dev/null +++ b/docs/d0/d04/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.md5 @@ -0,0 +1 @@ +d00a4b5f35b74f84f2a7180326a9e561 \ No newline at end of file diff --git a/docs/d0/d04/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.png b/docs/d0/d04/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.png new file mode 100644 index 00000000..f8d0f44a Binary files /dev/null and b/docs/d0/d04/structnlohmann_1_1detail_1_1is__compatible__string__type__inherit__graph.png differ diff --git a/docs/d0/d07/classcudnn__frontend_1_1ReductionDescBuilder__v8__coll__graph.map b/docs/d0/d07/classcudnn__frontend_1_1ReductionDescBuilder__v8__coll__graph.map new file mode 100644 index 00000000..69984fde --- /dev/null +++ b/docs/d0/d07/classcudnn__frontend_1_1ReductionDescBuilder__v8__coll__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/d0/d07/classcudnn__frontend_1_1ReductionDescBuilder__v8__coll__graph.md5 b/docs/d0/d07/classcudnn__frontend_1_1ReductionDescBuilder__v8__coll__graph.md5 new file mode 100644 index 00000000..f7980427 --- /dev/null +++ b/docs/d0/d07/classcudnn__frontend_1_1ReductionDescBuilder__v8__coll__graph.md5 @@ -0,0 +1 @@ +51f61472af8de997600e9448605bec72 \ No newline at end of file diff --git a/docs/d0/d07/classcudnn__frontend_1_1ReductionDescBuilder__v8__coll__graph.png b/docs/d0/d07/classcudnn__frontend_1_1ReductionDescBuilder__v8__coll__graph.png new file mode 100644 index 00000000..b5f014ff Binary files /dev/null and b/docs/d0/d07/classcudnn__frontend_1_1ReductionDescBuilder__v8__coll__graph.png differ diff --git a/docs/d0/d0b/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.map b/docs/d0/d0b/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.map new file mode 100644 index 00000000..6e3f0e70 --- /dev/null +++ b/docs/d0/d0b/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d0/d0b/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.md5 b/docs/d0/d0b/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.md5 new file mode 100644 index 00000000..0747e22a --- /dev/null +++ b/docs/d0/d0b/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.md5 @@ -0,0 +1 @@ +577904f1570eaa5632994ff6c98f073e \ No newline at end of file diff --git a/docs/d0/d0b/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.png b/docs/d0/d0b/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.png new file mode 100644 index 00000000..a0b1a280 Binary files /dev/null and b/docs/d0/d0b/structnlohmann_1_1detail_1_1is__constructible__array__type__inherit__graph.png differ diff --git a/docs/d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html b/docs/d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html new file mode 100644 index 00000000..0bfa0aab --- /dev/null +++ b/docs/d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html @@ -0,0 +1,198 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >:
+
+
Collaboration graph
+ + +
+ + + + + + +

+Public Types

using RealLimits = std::numeric_limits< RealIntegerType >
 
using CompatibleLimits = std::numeric_limits< CompatibleNumberIntegerType >
 
+ + + +

+Static Public Attributes

static constexpr auto value
 
+

Detailed Description

+

template<typename RealIntegerType, typename CompatibleNumberIntegerType>
+struct nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >

+ + +

Definition at line 3787 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ CompatibleLimits

+ +
+
+
+template<typename RealIntegerType , typename CompatibleNumberIntegerType >
+ + + + +
using nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >::CompatibleLimits = std::numeric_limits<CompatibleNumberIntegerType>
+
+ +

Definition at line 3795 of file json.hpp.

+ +
+
+ +

◆ RealLimits

+ +
+
+
+template<typename RealIntegerType , typename CompatibleNumberIntegerType >
+ + + + +
using nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >::RealLimits = std::numeric_limits<RealIntegerType>
+
+ +

Definition at line 3794 of file json.hpp.

+ +
+
+

Member Data Documentation

+ +

◆ value

+ +
+
+
+template<typename RealIntegerType , typename CompatibleNumberIntegerType >
+ + + + + +
+ + + + +
constexpr auto nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >::value
+
+static
+
+Initial value:
=
is_constructible<RealIntegerType,
CompatibleNumberIntegerType>::value &&
CompatibleLimits::is_integer &&
RealLimits::is_signed == CompatibleLimits::is_signed
+

Definition at line 3797 of file json.hpp.

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.js b/docs/d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.js new file mode 100644 index 00000000..24865364 --- /dev/null +++ b/docs/d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.js @@ -0,0 +1,6 @@ +var structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796 = +[ + [ "CompatibleLimits", "d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html#a24d97696ca33fba8096e452b1901a8e6", null ], + [ "RealLimits", "d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html#ab267aabfe36c5b9c305c5e5faf06ea36", null ], + [ "value", "d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html#a8fd20d5e7d65d14b4e9f4ee181a3aded", null ] +]; \ No newline at end of file diff --git a/docs/d0/d1e/structnlohmann_1_1detail_1_1utility__internal_1_1Gen__coll__graph.map b/docs/d0/d1e/structnlohmann_1_1detail_1_1utility__internal_1_1Gen__coll__graph.map new file mode 100644 index 00000000..7afe3db0 --- /dev/null +++ b/docs/d0/d1e/structnlohmann_1_1detail_1_1utility__internal_1_1Gen__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d0/d1e/structnlohmann_1_1detail_1_1utility__internal_1_1Gen__coll__graph.md5 b/docs/d0/d1e/structnlohmann_1_1detail_1_1utility__internal_1_1Gen__coll__graph.md5 new file mode 100644 index 00000000..b9dbbaff --- /dev/null +++ b/docs/d0/d1e/structnlohmann_1_1detail_1_1utility__internal_1_1Gen__coll__graph.md5 @@ -0,0 +1 @@ +b950c591cf6a08319bb4ccdbaa526c57 \ No newline at end of file diff --git a/docs/d0/d1e/structnlohmann_1_1detail_1_1utility__internal_1_1Gen__coll__graph.png b/docs/d0/d1e/structnlohmann_1_1detail_1_1utility__internal_1_1Gen__coll__graph.png new file mode 100644 index 00000000..8e5929c7 Binary files /dev/null and b/docs/d0/d1e/structnlohmann_1_1detail_1_1utility__internal_1_1Gen__coll__graph.png differ diff --git a/docs/d0/d20/classcudnn__frontend_1_1VariantPack__v8.html b/docs/d0/d20/classcudnn__frontend_1_1VariantPack__v8.html index 4a8ca06b..062f2eaa 100644 --- a/docs/d0/d20/classcudnn__frontend_1_1VariantPack__v8.html +++ b/docs/d0/d20/classcudnn__frontend_1_1VariantPack__v8.html @@ -138,7 +138,7 @@ ManagedOpaqueDescriptor get_desc () const  Returns a copy of underlying managed descriptor. More...
  -cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type) +cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type)  Initializes the underlying managed descriptor. More...
  diff --git a/docs/d0/d30/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.map b/docs/d0/d30/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.map new file mode 100644 index 00000000..4eb8bec5 --- /dev/null +++ b/docs/d0/d30/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d0/d30/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.md5 b/docs/d0/d30/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.md5 new file mode 100644 index 00000000..b0e8571e --- /dev/null +++ b/docs/d0/d30/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.md5 @@ -0,0 +1 @@ +0b039bde4b645c4b99510dcc3a1620de \ No newline at end of file diff --git a/docs/d0/d30/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.png b/docs/d0/d30/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.png new file mode 100644 index 00000000..2afc4488 Binary files /dev/null and b/docs/d0/d30/structnlohmann_1_1detail_1_1is__complete__type__coll__graph.png differ diff --git a/docs/d0/d31/cudnn__frontend__utils_8h__dep__incl.map b/docs/d0/d31/cudnn__frontend__utils_8h__dep__incl.map index 7cda0cc8..d0e1c669 100644 --- a/docs/d0/d31/cudnn__frontend__utils_8h__dep__incl.map +++ b/docs/d0/d31/cudnn__frontend__utils_8h__dep__incl.map @@ -1,17 +1,18 @@ - - - - - - + + + + + + - - - - - - + + + + + + + diff --git a/docs/d0/d31/cudnn__frontend__utils_8h__dep__incl.md5 b/docs/d0/d31/cudnn__frontend__utils_8h__dep__incl.md5 index 1739e1fb..1f21cdce 100644 --- a/docs/d0/d31/cudnn__frontend__utils_8h__dep__incl.md5 +++ b/docs/d0/d31/cudnn__frontend__utils_8h__dep__incl.md5 @@ -1 +1 @@ -c3ba8a302122dfeac53f8b23613a81e1 \ No newline at end of file +a6082c2520997be6ee3d3aee8394b89d \ No newline at end of file diff --git a/docs/d0/d31/cudnn__frontend__utils_8h__dep__incl.png b/docs/d0/d31/cudnn__frontend__utils_8h__dep__incl.png index a5cbbc2a..754bc839 100644 Binary files a/docs/d0/d31/cudnn__frontend__utils_8h__dep__incl.png and b/docs/d0/d31/cudnn__frontend__utils_8h__dep__incl.png differ diff --git a/docs/d0/d34/classnlohmann_1_1detail_1_1parser-members.html b/docs/d0/d34/classnlohmann_1_1detail_1_1parser-members.html new file mode 100644 index 00000000..42b1378d --- /dev/null +++ b/docs/d0/d34/classnlohmann_1_1detail_1_1parser-members.html @@ -0,0 +1,118 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+
+ + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+ + + + + + + + + +
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::parser< BasicJsonType, InputAdapterType > Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::parser< BasicJsonType, InputAdapterType >, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
accept(const bool strict=true)nlohmann::detail::parser< BasicJsonType, InputAdapterType >inline
allow_exceptionsnlohmann::detail::parser< BasicJsonType, InputAdapterType >private
callbacknlohmann::detail::parser< BasicJsonType, InputAdapterType >private
exception_message(const token_type expected, const std::string &context)nlohmann::detail::parser< BasicJsonType, InputAdapterType >inlineprivate
get_token()nlohmann::detail::parser< BasicJsonType, InputAdapterType >inlineprivate
last_tokennlohmann::detail::parser< BasicJsonType, InputAdapterType >private
lexer_t typedefnlohmann::detail::parser< BasicJsonType, InputAdapterType >private
m_lexernlohmann::detail::parser< BasicJsonType, InputAdapterType >private
number_float_t typedefnlohmann::detail::parser< BasicJsonType, InputAdapterType >private
number_integer_t typedefnlohmann::detail::parser< BasicJsonType, InputAdapterType >private
number_unsigned_t typedefnlohmann::detail::parser< BasicJsonType, InputAdapterType >private
parse(const bool strict, BasicJsonType &result)nlohmann::detail::parser< BasicJsonType, InputAdapterType >inline
parser(InputAdapterType &&adapter, const parser_callback_t< BasicJsonType > cb=nullptr, const bool allow_exceptions_=true, const bool skip_comments=false)nlohmann::detail::parser< BasicJsonType, InputAdapterType >inlineexplicit
sax_parse(SAX *sax, const bool strict=true)nlohmann::detail::parser< BasicJsonType, InputAdapterType >inline
sax_parse_internal(SAX *sax)nlohmann::detail::parser< BasicJsonType, InputAdapterType >inlineprivate
string_t typedefnlohmann::detail::parser< BasicJsonType, InputAdapterType >private
token_type typedefnlohmann::detail::parser< BasicJsonType, InputAdapterType >private
+
+ + + + diff --git a/docs/d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html b/docs/d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html new file mode 100644 index 00000000..5576e24c --- /dev/null +++ b/docs/d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html @@ -0,0 +1,178 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >:
+
+
Collaboration graph
+ + +
+ + + + +

+Public Types

using serializer = typename BasicJsonType::template json_serializer< T, void >
 
+ + + +

+Static Public Attributes

static constexpr bool value
 
+

Detailed Description

+

template<typename BasicJsonType, typename T>
+struct nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >

+ + +

Definition at line 3504 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ serializer

+ +
+
+
+template<typename BasicJsonType , typename T >
+ + + + +
using nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer = typename BasicJsonType::template json_serializer<T, void>
+
+ +

Definition at line 3506 of file json.hpp.

+ +
+
+

Member Data Documentation

+ +

◆ value

+ +
+
+
+template<typename BasicJsonType , typename T >
+ + + + + +
+ + + + +
constexpr bool nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value
+
+static
+
+Initial value: +

Definition at line 3508 of file json.hpp.

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.js b/docs/d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.js new file mode 100644 index 00000000..1f15e2ff --- /dev/null +++ b/docs/d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.js @@ -0,0 +1,5 @@ +var structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5 = +[ + [ "serializer", "d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html#ac0718a48961f28e32604e1b16c6f2e8d", null ], + [ "value", "d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html#a4d1c8c5e3080360d4ba3d4701b00d442", null ] +]; \ No newline at end of file diff --git a/docs/d0/d3e/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.map b/docs/d0/d3e/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.map new file mode 100644 index 00000000..b9a6a57b --- /dev/null +++ b/docs/d0/d3e/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d0/d3e/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.md5 b/docs/d0/d3e/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.md5 new file mode 100644 index 00000000..fdcef987 --- /dev/null +++ b/docs/d0/d3e/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +5cabe60b0d934b4f77b8a4e9fd62028c \ No newline at end of file diff --git a/docs/d0/d3e/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.png b/docs/d0/d3e/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.png new file mode 100644 index 00000000..8d0bd56b Binary files /dev/null and b/docs/d0/d3e/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__coll__graph.png differ diff --git a/docs/d0/d42/structnlohmann_1_1detail_1_1external__constructor__coll__graph.map b/docs/d0/d42/structnlohmann_1_1detail_1_1external__constructor__coll__graph.map new file mode 100644 index 00000000..e3d0476e --- /dev/null +++ b/docs/d0/d42/structnlohmann_1_1detail_1_1external__constructor__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d0/d42/structnlohmann_1_1detail_1_1external__constructor__coll__graph.md5 b/docs/d0/d42/structnlohmann_1_1detail_1_1external__constructor__coll__graph.md5 new file mode 100644 index 00000000..294237db --- /dev/null +++ b/docs/d0/d42/structnlohmann_1_1detail_1_1external__constructor__coll__graph.md5 @@ -0,0 +1 @@ +25b38bb4dc1468fd83e01b3f50024345 \ No newline at end of file diff --git a/docs/d0/d42/structnlohmann_1_1detail_1_1external__constructor__coll__graph.png b/docs/d0/d42/structnlohmann_1_1detail_1_1external__constructor__coll__graph.png new file mode 100644 index 00000000..4f67e9ad Binary files /dev/null and b/docs/d0/d42/structnlohmann_1_1detail_1_1external__constructor__coll__graph.png differ diff --git a/docs/d0/d44/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.map b/docs/d0/d44/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.map new file mode 100644 index 00000000..17b72b3f --- /dev/null +++ b/docs/d0/d44/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/d0/d44/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.md5 b/docs/d0/d44/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.md5 new file mode 100644 index 00000000..99532c51 --- /dev/null +++ b/docs/d0/d44/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.md5 @@ -0,0 +1 @@ +74b930621c4767d43c97fc4557a299cd \ No newline at end of file diff --git a/docs/d0/d44/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.png b/docs/d0/d44/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.png new file mode 100644 index 00000000..ca7c064e Binary files /dev/null and b/docs/d0/d44/classnlohmann_1_1detail_1_1input__stream__adapter__coll__graph.png differ diff --git a/docs/d0/d45/cudnn__frontend__EngineConfigGenerator_8h__dep__incl.md5 b/docs/d0/d45/cudnn__frontend__EngineConfigGenerator_8h__dep__incl.md5 index 92c043b7..bf818fbf 100644 --- a/docs/d0/d45/cudnn__frontend__EngineConfigGenerator_8h__dep__incl.md5 +++ b/docs/d0/d45/cudnn__frontend__EngineConfigGenerator_8h__dep__incl.md5 @@ -1 +1 @@ -ed56aaa8593af242ec339a3e1e7672f7 \ No newline at end of file +c9d37d8e11b70d28d92ec305fa62a469 \ No newline at end of file diff --git a/docs/d0/d47/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.map b/docs/d0/d47/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.map new file mode 100644 index 00000000..c5e1f9ad --- /dev/null +++ b/docs/d0/d47/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d0/d47/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.md5 b/docs/d0/d47/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.md5 new file mode 100644 index 00000000..188ce4fe --- /dev/null +++ b/docs/d0/d47/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.md5 @@ -0,0 +1 @@ +5fa1e18b4e1eb316018fe32da7367b88 \ No newline at end of file diff --git a/docs/d0/d47/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.png b/docs/d0/d47/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.png new file mode 100644 index 00000000..e7f1f0cb Binary files /dev/null and b/docs/d0/d47/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries__coll__graph.png differ diff --git a/docs/d0/d48/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.map b/docs/d0/d48/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.map new file mode 100644 index 00000000..819b43d5 --- /dev/null +++ b/docs/d0/d48/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d0/d48/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.md5 b/docs/d0/d48/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.md5 new file mode 100644 index 00000000..47b9d949 --- /dev/null +++ b/docs/d0/d48/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.md5 @@ -0,0 +1 @@ +41b8ddd5d6ee7f23453cbdabb0c9c030 \ No newline at end of file diff --git a/docs/d0/d48/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.png b/docs/d0/d48/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.png new file mode 100644 index 00000000..8adc4707 Binary files /dev/null and b/docs/d0/d48/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.png differ diff --git a/docs/d0/d4b/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.map b/docs/d0/d4b/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.map new file mode 100644 index 00000000..623eb92b --- /dev/null +++ b/docs/d0/d4b/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d0/d4b/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.md5 b/docs/d0/d4b/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.md5 new file mode 100644 index 00000000..6f0c1576 --- /dev/null +++ b/docs/d0/d4b/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.md5 @@ -0,0 +1 @@ +668e447c644a6f2dfdcfe83fa3ae429e \ No newline at end of file diff --git a/docs/d0/d4b/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.png b/docs/d0/d4b/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.png new file mode 100644 index 00000000..5b643b63 Binary files /dev/null and b/docs/d0/d4b/structnlohmann_1_1detail_1_1is__compatible__integer__type__inherit__graph.png differ diff --git a/docs/d0/d51/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.map b/docs/d0/d51/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.map new file mode 100644 index 00000000..19a7fd7f --- /dev/null +++ b/docs/d0/d51/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d0/d51/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.md5 b/docs/d0/d51/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.md5 new file mode 100644 index 00000000..48b7e607 --- /dev/null +++ b/docs/d0/d51/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.md5 @@ -0,0 +1 @@ +7fd304f80e352b2a2719c7598dd943d8 \ No newline at end of file diff --git a/docs/d0/d51/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.png b/docs/d0/d51/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.png new file mode 100644 index 00000000..6edd2d10 Binary files /dev/null and b/docs/d0/d51/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4__coll__graph.png differ diff --git a/docs/d0/d5b/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.map b/docs/d0/d5b/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.map new file mode 100644 index 00000000..8e1d74d0 --- /dev/null +++ b/docs/d0/d5b/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d0/d5b/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.md5 b/docs/d0/d5b/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.md5 new file mode 100644 index 00000000..55dc2be2 --- /dev/null +++ b/docs/d0/d5b/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.md5 @@ -0,0 +1 @@ +cb70e8369af10fdb743fc9eec100e0b4 \ No newline at end of file diff --git a/docs/d0/d5b/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.png b/docs/d0/d5b/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.png new file mode 100644 index 00000000..2a22bd3e Binary files /dev/null and b/docs/d0/d5b/classnlohmann_1_1detail_1_1out__of__range__inherit__graph.png differ diff --git a/docs/d0/d5f/classnlohmann_1_1detail_1_1json__reverse__iterator-members.html b/docs/d0/d5f/classnlohmann_1_1detail_1_1json__reverse__iterator-members.html new file mode 100644 index 00000000..a4910491 --- /dev/null +++ b/docs/d0/d5f/classnlohmann_1_1detail_1_1json__reverse__iterator-members.html @@ -0,0 +1,117 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::json_reverse_iterator< Base > Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::json_reverse_iterator< Base >, including all inherited members.

+ + + + + + + + + + + + + + + + + +
base_iterator typedefnlohmann::detail::json_reverse_iterator< Base >
difference_type typedefnlohmann::detail::json_reverse_iterator< Base >
json_reverse_iterator(const typename base_iterator::iterator_type &it) noexceptnlohmann::detail::json_reverse_iterator< Base >inlineexplicit
json_reverse_iterator(const base_iterator &it) noexceptnlohmann::detail::json_reverse_iterator< Base >inlineexplicit
key() const -> decltype(std::declval< Base >().key())nlohmann::detail::json_reverse_iterator< Base >inline
operator+(difference_type i) constnlohmann::detail::json_reverse_iterator< Base >inline
operator++(int)nlohmann::detail::json_reverse_iterator< Base >inline
operator++()nlohmann::detail::json_reverse_iterator< Base >inline
operator+=(difference_type i)nlohmann::detail::json_reverse_iterator< Base >inline
operator-(difference_type i) constnlohmann::detail::json_reverse_iterator< Base >inline
operator-(const json_reverse_iterator &other) constnlohmann::detail::json_reverse_iterator< Base >inline
operator--(int)nlohmann::detail::json_reverse_iterator< Base >inline
operator--()nlohmann::detail::json_reverse_iterator< Base >inline
operator[](difference_type n) constnlohmann::detail::json_reverse_iterator< Base >inline
reference typedefnlohmann::detail::json_reverse_iterator< Base >
value() constnlohmann::detail::json_reverse_iterator< Base >inline
+
+ + + + diff --git a/docs/d0/d6a/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is5278a4df777e59c7c41bc57ffd23ab8b.map b/docs/d0/d6a/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is5278a4df777e59c7c41bc57ffd23ab8b.map new file mode 100644 index 00000000..c25fdaf3 --- /dev/null +++ b/docs/d0/d6a/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is5278a4df777e59c7c41bc57ffd23ab8b.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d0/d6a/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is5278a4df777e59c7c41bc57ffd23ab8b.md5 b/docs/d0/d6a/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is5278a4df777e59c7c41bc57ffd23ab8b.md5 new file mode 100644 index 00000000..5a68223d --- /dev/null +++ b/docs/d0/d6a/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is5278a4df777e59c7c41bc57ffd23ab8b.md5 @@ -0,0 +1 @@ +b6e51afc553c4436f325e5e56be2af50 \ No newline at end of file diff --git a/docs/d0/d6a/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is5278a4df777e59c7c41bc57ffd23ab8b.png b/docs/d0/d6a/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is5278a4df777e59c7c41bc57ffd23ab8b.png new file mode 100644 index 00000000..bdacccbe Binary files /dev/null and b/docs/d0/d6a/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is5278a4df777e59c7c41bc57ffd23ab8b.png differ diff --git a/docs/d0/d6c/structnlohmann_1_1detail_1_1static__const__coll__graph.map b/docs/d0/d6c/structnlohmann_1_1detail_1_1static__const__coll__graph.map new file mode 100644 index 00000000..77d66d31 --- /dev/null +++ b/docs/d0/d6c/structnlohmann_1_1detail_1_1static__const__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d0/d6c/structnlohmann_1_1detail_1_1static__const__coll__graph.md5 b/docs/d0/d6c/structnlohmann_1_1detail_1_1static__const__coll__graph.md5 new file mode 100644 index 00000000..3f6727ca --- /dev/null +++ b/docs/d0/d6c/structnlohmann_1_1detail_1_1static__const__coll__graph.md5 @@ -0,0 +1 @@ +ff30b6b035d7445e7f2d41d27c0ece08 \ No newline at end of file diff --git a/docs/d0/d6c/structnlohmann_1_1detail_1_1static__const__coll__graph.png b/docs/d0/d6c/structnlohmann_1_1detail_1_1static__const__coll__graph.png new file mode 100644 index 00000000..06121c43 Binary files /dev/null and b/docs/d0/d6c/structnlohmann_1_1detail_1_1static__const__coll__graph.png differ diff --git a/docs/d0/d6d/structnlohmann_1_1detail_1_1identity__tag__coll__graph.map b/docs/d0/d6d/structnlohmann_1_1detail_1_1identity__tag__coll__graph.map new file mode 100644 index 00000000..c664f49b --- /dev/null +++ b/docs/d0/d6d/structnlohmann_1_1detail_1_1identity__tag__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d0/d6d/structnlohmann_1_1detail_1_1identity__tag__coll__graph.md5 b/docs/d0/d6d/structnlohmann_1_1detail_1_1identity__tag__coll__graph.md5 new file mode 100644 index 00000000..3885eb36 --- /dev/null +++ b/docs/d0/d6d/structnlohmann_1_1detail_1_1identity__tag__coll__graph.md5 @@ -0,0 +1 @@ +18e14889775b9e5c3e9dd9e608c10f4e \ No newline at end of file diff --git a/docs/d0/d6d/structnlohmann_1_1detail_1_1identity__tag__coll__graph.png b/docs/d0/d6d/structnlohmann_1_1detail_1_1identity__tag__coll__graph.png new file mode 100644 index 00000000..25b73d33 Binary files /dev/null and b/docs/d0/d6d/structnlohmann_1_1detail_1_1identity__tag__coll__graph.png differ diff --git a/docs/d0/d7a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.map b/docs/d0/d7a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.map new file mode 100644 index 00000000..f72d97f7 --- /dev/null +++ b/docs/d0/d7a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d0/d7a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.md5 b/docs/d0/d7a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.md5 new file mode 100644 index 00000000..29c03051 --- /dev/null +++ b/docs/d0/d7a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.md5 @@ -0,0 +1 @@ +2d8b9a41d801234d8e4028121fc7f976 \ No newline at end of file diff --git a/docs/d0/d7a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.png b/docs/d0/d7a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.png new file mode 100644 index 00000000..6ee7d1ec Binary files /dev/null and b/docs/d0/d7a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.png differ diff --git a/docs/d0/d82/structnlohmann_1_1json__sax.html b/docs/d0/d82/structnlohmann_1_1json__sax.html new file mode 100644 index 00000000..d08189c0 --- /dev/null +++ b/docs/d0/d82/structnlohmann_1_1json__sax.html @@ -0,0 +1,947 @@ + + + + + + + +CUDNN Frontend API: nlohmann::json_sax< BasicJsonType > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::json_sax< BasicJsonType > Struct Template Referenceabstract
+
+
+ +

SAX interface. + More...

+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::json_sax< BasicJsonType >:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + +

+Public Types

using number_integer_t = typename BasicJsonType::number_integer_t
 
using number_unsigned_t = typename BasicJsonType::number_unsigned_t
 
using number_float_t = typename BasicJsonType::number_float_t
 
using string_t = typename BasicJsonType::string_t
 
using binary_t = typename BasicJsonType::binary_t
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

virtual bool null ()=0
 a null value was read More...
 
virtual bool boolean (bool val)=0
 a boolean value was read More...
 
virtual bool number_integer (number_integer_t val)=0
 an integer number was read More...
 
virtual bool number_unsigned (number_unsigned_t val)=0
 an unsigned integer number was read More...
 
virtual bool number_float (number_float_t val, const string_t &s)=0
 an floating-point number was read More...
 
virtual bool string (string_t &val)=0
 a string was read More...
 
virtual bool binary (binary_t &val)=0
 a binary string was read More...
 
virtual bool start_object (std::size_t elements)=0
 the beginning of an object was read More...
 
virtual bool key (string_t &val)=0
 an object key was read More...
 
virtual bool end_object ()=0
 the end of an object was read More...
 
virtual bool start_array (std::size_t elements)=0
 the beginning of an array was read More...
 
virtual bool end_array ()=0
 the end of an array was read More...
 
virtual bool parse_error (std::size_t position, const std::string &last_token, const detail::exception &ex)=0
 a parse error occurred More...
 
 json_sax ()=default
 
 json_sax (const json_sax &)=default
 
 json_sax (json_sax &&) noexcept=default
 
json_saxoperator= (const json_sax &)=default
 
json_saxoperator= (json_sax &&) noexcept=default
 
virtual ~json_sax ()=default
 
+

Detailed Description

+

template<typename BasicJsonType>
+struct nlohmann::json_sax< BasicJsonType >

+ +

SAX interface.

+

This class describes the SAX interface used by nlohmann::json::sax_parse. Each function is called in different situations while the input is parsed. The boolean return value informs the parser whether to continue processing the input.

+ +

Definition at line 5730 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ binary_t

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
using nlohmann::json_sax< BasicJsonType >::binary_t = typename BasicJsonType::binary_t
+
+ +

Definition at line 5736 of file json.hpp.

+ +
+
+ +

◆ number_float_t

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
using nlohmann::json_sax< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t
+
+ +

Definition at line 5734 of file json.hpp.

+ +
+
+ +

◆ number_integer_t

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
using nlohmann::json_sax< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t
+
+ +

Definition at line 5732 of file json.hpp.

+ +
+
+ +

◆ number_unsigned_t

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
using nlohmann::json_sax< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
+
+ +

Definition at line 5733 of file json.hpp.

+ +
+
+ +

◆ string_t

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
using nlohmann::json_sax< BasicJsonType >::string_t = typename BasicJsonType::string_t
+
+ +

Definition at line 5735 of file json.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ json_sax() [1/3]

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + +
nlohmann::json_sax< BasicJsonType >::json_sax ()
+
+default
+
+ +
+
+ +

◆ json_sax() [2/3]

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
nlohmann::json_sax< BasicJsonType >::json_sax (const json_sax< BasicJsonType > & )
+
+default
+
+ +
+
+ +

◆ json_sax() [3/3]

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
nlohmann::json_sax< BasicJsonType >::json_sax (json_sax< BasicJsonType > && )
+
+defaultnoexcept
+
+ +
+
+ +

◆ ~json_sax()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + +
virtual nlohmann::json_sax< BasicJsonType >::~json_sax ()
+
+virtualdefault
+
+ +
+
+

Member Function Documentation

+ +

◆ binary()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
virtual bool nlohmann::json_sax< BasicJsonType >::binary (binary_tval)
+
+pure virtual
+
+ +

a binary string was read

+
Parameters
+ + +
[in]valbinary value
+
+
+
Returns
whether parsing should proceed
+
Note
It is safe to move the passed binary.
+ +
+
+ +

◆ boolean()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
virtual bool nlohmann::json_sax< BasicJsonType >::boolean (bool val)
+
+pure virtual
+
+ +

a boolean value was read

+
Parameters
+ + +
[in]valboolean value
+
+
+
Returns
whether parsing should proceed
+ +
+
+ +

◆ end_array()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + +
virtual bool nlohmann::json_sax< BasicJsonType >::end_array ()
+
+pure virtual
+
+ +

the end of an array was read

+
Returns
whether parsing should proceed
+ +
+
+ +

◆ end_object()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + +
virtual bool nlohmann::json_sax< BasicJsonType >::end_object ()
+
+pure virtual
+
+ +

the end of an object was read

+
Returns
whether parsing should proceed
+ +
+
+ +

◆ key()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
virtual bool nlohmann::json_sax< BasicJsonType >::key (string_tval)
+
+pure virtual
+
+ +

an object key was read

+
Parameters
+ + +
[in]valobject key
+
+
+
Returns
whether parsing should proceed
+
Note
It is safe to move the passed string.
+ +
+
+ +

◆ null()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + +
virtual bool nlohmann::json_sax< BasicJsonType >::null ()
+
+pure virtual
+
+ +

a null value was read

+
Returns
whether parsing should proceed
+ +
+
+ +

◆ number_float()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool nlohmann::json_sax< BasicJsonType >::number_float (number_float_t val,
const string_ts 
)
+
+pure virtual
+
+ +

an floating-point number was read

+
Parameters
+ + + +
[in]valfloating-point value
[in]sraw token value
+
+
+
Returns
whether parsing should proceed
+ +
+
+ +

◆ number_integer()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
virtual bool nlohmann::json_sax< BasicJsonType >::number_integer (number_integer_t val)
+
+pure virtual
+
+ +

an integer number was read

+
Parameters
+ + +
[in]valinteger value
+
+
+
Returns
whether parsing should proceed
+ +
+
+ +

◆ number_unsigned()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
virtual bool nlohmann::json_sax< BasicJsonType >::number_unsigned (number_unsigned_t val)
+
+pure virtual
+
+ +

an unsigned integer number was read

+
Parameters
+ + +
[in]valunsigned integer value
+
+
+
Returns
whether parsing should proceed
+ +
+
+ +

◆ operator=() [1/2]

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
json_sax& nlohmann::json_sax< BasicJsonType >::operator= (const json_sax< BasicJsonType > & )
+
+default
+
+ +
+
+ +

◆ operator=() [2/2]

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
json_sax& nlohmann::json_sax< BasicJsonType >::operator= (json_sax< BasicJsonType > && )
+
+defaultnoexcept
+
+ +
+
+ +

◆ parse_error()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool nlohmann::json_sax< BasicJsonType >::parse_error (std::size_t position,
const std::string & last_token,
const detail::exceptionex 
)
+
+pure virtual
+
+ +

a parse error occurred

+
Parameters
+ + + + +
[in]positionthe position in the input where the error occurs
[in]last_tokenthe last read token
[in]exan exception object describing the error
+
+
+
Returns
whether parsing should proceed (must return false)
+ +
+
+ +

◆ start_array()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
virtual bool nlohmann::json_sax< BasicJsonType >::start_array (std::size_t elements)
+
+pure virtual
+
+ +

the beginning of an array was read

+
Parameters
+ + +
[in]elementsnumber of array elements or -1 if unknown
+
+
+
Returns
whether parsing should proceed
+
Note
binary formats may report the number of elements
+ +
+
+ +

◆ start_object()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
virtual bool nlohmann::json_sax< BasicJsonType >::start_object (std::size_t elements)
+
+pure virtual
+
+ +

the beginning of an object was read

+
Parameters
+ + +
[in]elementsnumber of object elements or -1 if unknown
+
+
+
Returns
whether parsing should proceed
+
Note
binary formats may report the number of elements
+ +
+
+ +

◆ string()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
virtual bool nlohmann::json_sax< BasicJsonType >::string (string_tval)
+
+pure virtual
+
+ +

a string was read

+
Parameters
+ + +
[in]valstring value
+
+
+
Returns
whether parsing should proceed
+
Note
It is safe to move the passed string.
+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d0/d82/structnlohmann_1_1json__sax.js b/docs/d0/d82/structnlohmann_1_1json__sax.js new file mode 100644 index 00000000..303e1e10 --- /dev/null +++ b/docs/d0/d82/structnlohmann_1_1json__sax.js @@ -0,0 +1,27 @@ +var structnlohmann_1_1json__sax = +[ + [ "binary_t", "d0/d82/structnlohmann_1_1json__sax.html#a0ef406ba81eef08aadf4a9ef48d742bd", null ], + [ "number_float_t", "d0/d82/structnlohmann_1_1json__sax.html#a390c209bffd8c4800c8f3076dc465a20", null ], + [ "number_integer_t", "d0/d82/structnlohmann_1_1json__sax.html#a0cef30121f02b7fee85e9708148ea0aa", null ], + [ "number_unsigned_t", "d0/d82/structnlohmann_1_1json__sax.html#a32028cc056ae0f43aaae331cdbbbf856", null ], + [ "string_t", "d0/d82/structnlohmann_1_1json__sax.html#ae01977a9f3c5b3667b7a2929ed91061e", null ], + [ "json_sax", "d0/d82/structnlohmann_1_1json__sax.html#aac0f445c1173fa731104d93496a7e780", null ], + [ "json_sax", "d0/d82/structnlohmann_1_1json__sax.html#a8358c063b2d7222b3aafa62fded04403", null ], + [ "json_sax", "d0/d82/structnlohmann_1_1json__sax.html#a62dae3713ca4914265904e30cd6b6347", null ], + [ "~json_sax", "d0/d82/structnlohmann_1_1json__sax.html#af31bacfa81aa7818d8639d1da65c8eb5", null ], + [ "binary", "d0/d82/structnlohmann_1_1json__sax.html#a38c2dbde07138cc436ea7fbf22c1e92d", null ], + [ "boolean", "d0/d82/structnlohmann_1_1json__sax.html#a82ed080814fa656191a537284bb0c575", null ], + [ "end_array", "d0/d82/structnlohmann_1_1json__sax.html#a235ee975617f28e6a996d1e36a282312", null ], + [ "end_object", "d0/d82/structnlohmann_1_1json__sax.html#ad0c722d53ff97be700ccf6a9468bd456", null ], + [ "key", "d0/d82/structnlohmann_1_1json__sax.html#a2e0c7ecd80b18d18a8cc76f71cfc2028", null ], + [ "null", "d0/d82/structnlohmann_1_1json__sax.html#a0ad26edef3f8d530dcec3192bba82df6", null ], + [ "number_float", "d0/d82/structnlohmann_1_1json__sax.html#ae7c31614e8a82164d2d7f8dbf4671b25", null ], + [ "number_integer", "d0/d82/structnlohmann_1_1json__sax.html#affa7a78b8e9cc9cc3ac99927143142a5", null ], + [ "number_unsigned", "d0/d82/structnlohmann_1_1json__sax.html#ad9b253083e0509923ba195136f49face", null ], + [ "operator=", "d0/d82/structnlohmann_1_1json__sax.html#a1a90dae111cf189ac9ad340a60b199b6", null ], + [ "operator=", "d0/d82/structnlohmann_1_1json__sax.html#ac74584e3dc41f2465e69b37d7d2bf694", null ], + [ "parse_error", "d0/d82/structnlohmann_1_1json__sax.html#a60287e3bd85f489e04c83f7e3b76e613", null ], + [ "start_array", "d0/d82/structnlohmann_1_1json__sax.html#a5c53878cf08d463eb4e7ca0270532572", null ], + [ "start_object", "d0/d82/structnlohmann_1_1json__sax.html#a0671528b0debb5a348169d61f0382a0f", null ], + [ "string", "d0/d82/structnlohmann_1_1json__sax.html#a07eab82f6c82d606787eee9ad73d2bda", null ] +]; \ No newline at end of file diff --git a/docs/d0/d8d/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4.html b/docs/d0/d8d/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4.html new file mode 100644 index 00000000..4b1ebdf6 --- /dev/null +++ b/docs/d0/d8d/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4.html @@ -0,0 +1,124 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_json_ref< json_ref< T > > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::is_json_ref< json_ref< T > > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Inheritance diagram for nlohmann::detail::is_json_ref< json_ref< T > >:
+
+
Inheritance graph
+ + +
+
+Collaboration diagram for nlohmann::detail::is_json_ref< json_ref< T > >:
+
+
Collaboration graph
+ + +
+

Detailed Description

+

template<typename T>
+struct nlohmann::detail::is_json_ref< json_ref< T > >

+ + +

Definition at line 3450 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d0/d8f/classcudnn__frontend_1_1ReductionDesc__v8__inherit__graph.map b/docs/d0/d8f/classcudnn__frontend_1_1ReductionDesc__v8__inherit__graph.map new file mode 100644 index 00000000..2ac1deab --- /dev/null +++ b/docs/d0/d8f/classcudnn__frontend_1_1ReductionDesc__v8__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d0/d8f/classcudnn__frontend_1_1ReductionDesc__v8__inherit__graph.md5 b/docs/d0/d8f/classcudnn__frontend_1_1ReductionDesc__v8__inherit__graph.md5 new file mode 100644 index 00000000..c077a395 --- /dev/null +++ b/docs/d0/d8f/classcudnn__frontend_1_1ReductionDesc__v8__inherit__graph.md5 @@ -0,0 +1 @@ +7b2721ef05fb72f606b6b38918efc38c \ No newline at end of file diff --git a/docs/d0/d8f/classcudnn__frontend_1_1ReductionDesc__v8__inherit__graph.png b/docs/d0/d8f/classcudnn__frontend_1_1ReductionDesc__v8__inherit__graph.png new file mode 100644 index 00000000..b1a0af5f Binary files /dev/null and b/docs/d0/d8f/classcudnn__frontend_1_1ReductionDesc__v8__inherit__graph.png differ diff --git a/docs/d0/d9d/cudnn__frontend__ReductionDesc_8h__incl.map b/docs/d0/d9d/cudnn__frontend__ReductionDesc_8h__incl.map new file mode 100644 index 00000000..0055e24c --- /dev/null +++ b/docs/d0/d9d/cudnn__frontend__ReductionDesc_8h__incl.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d0/d9d/cudnn__frontend__ReductionDesc_8h__incl.md5 b/docs/d0/d9d/cudnn__frontend__ReductionDesc_8h__incl.md5 new file mode 100644 index 00000000..360dfbb0 --- /dev/null +++ b/docs/d0/d9d/cudnn__frontend__ReductionDesc_8h__incl.md5 @@ -0,0 +1 @@ +9001f7a2bdf024904ca5b8e68b2e2f72 \ No newline at end of file diff --git a/docs/d0/d9d/cudnn__frontend__ReductionDesc_8h__incl.png b/docs/d0/d9d/cudnn__frontend__ReductionDesc_8h__incl.png new file mode 100644 index 00000000..4eee7d17 Binary files /dev/null and b/docs/d0/d9d/cudnn__frontend__ReductionDesc_8h__incl.png differ diff --git a/docs/d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html b/docs/d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html new file mode 100644 index 00000000..f90428ff --- /dev/null +++ b/docs/d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html @@ -0,0 +1,153 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >:
+
+
Collaboration graph
+ + +
+ + + + +

+Static Public Attributes

static constexpr auto value
 
+

Detailed Description

+

template<typename BasicJsonType, typename CompatibleStringType>
+struct nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >

+ + +

Definition at line 3684 of file json.hpp.

+

Member Data Documentation

+ +

◆ value

+ +
+
+
+template<typename BasicJsonType , typename CompatibleStringType >
+ + + + + +
+ + + + +
constexpr auto nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >::value
+
+static
+
+Initial value:
=
is_constructible<typename BasicJsonType::string_t, CompatibleStringType>::value
+

Definition at line 3689 of file json.hpp.

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.js b/docs/d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.js new file mode 100644 index 00000000..6af3d844 --- /dev/null +++ b/docs/d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6 = +[ + [ "value", "d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html#adac1e17a2ddf9ac94be736e96e8943a9", null ] +]; \ No newline at end of file diff --git a/docs/d0/db1/structnlohmann_1_1detail_1_1identity__tag.html b/docs/d0/db1/structnlohmann_1_1detail_1_1identity__tag.html new file mode 100644 index 00000000..6e3dcded --- /dev/null +++ b/docs/d0/db1/structnlohmann_1_1detail_1_1identity__tag.html @@ -0,0 +1,117 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::identity_tag< T > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::identity_tag< T > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::identity_tag< T >:
+
+
Collaboration graph
+ + +
+

Detailed Description

+

template<class T>
+struct nlohmann::detail::identity_tag< T >

+ + +

Definition at line 3183 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d0/db3/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.map b/docs/d0/db3/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.map new file mode 100644 index 00000000..339095ef --- /dev/null +++ b/docs/d0/db3/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d0/db3/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.md5 b/docs/d0/db3/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.md5 new file mode 100644 index 00000000..baa21a41 --- /dev/null +++ b/docs/d0/db3/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.md5 @@ -0,0 +1 @@ +8aa9ef7988f20e0c857ec8330fba6db8 \ No newline at end of file diff --git a/docs/d0/db3/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.png b/docs/d0/db3/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.png new file mode 100644 index 00000000..f4c8e934 Binary files /dev/null and b/docs/d0/db3/structnlohmann_1_1detail_1_1is__basic__json__coll__graph.png differ diff --git a/docs/d0/dbc/classnlohmann_1_1detail_1_1json__ref-members.html b/docs/d0/dbc/classnlohmann_1_1detail_1_1json__ref-members.html new file mode 100644 index 00000000..3f87be78 --- /dev/null +++ b/docs/d0/dbc/classnlohmann_1_1detail_1_1json__ref-members.html @@ -0,0 +1,116 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::json_ref< BasicJsonType > Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::json_ref< BasicJsonType >, including all inherited members.

+ + + + + + + + + + + + + + + + +
json_ref(value_type &&value)nlohmann::detail::json_ref< BasicJsonType >inline
json_ref(const value_type &value)nlohmann::detail::json_ref< BasicJsonType >inline
json_ref(std::initializer_list< json_ref > init)nlohmann::detail::json_ref< BasicJsonType >inline
json_ref(Args &&... args)nlohmann::detail::json_ref< BasicJsonType >inline
json_ref(json_ref &&) noexcept=defaultnlohmann::detail::json_ref< BasicJsonType >
json_ref(const json_ref &)=deletenlohmann::detail::json_ref< BasicJsonType >
moved_or_copied() constnlohmann::detail::json_ref< BasicJsonType >inline
operator*() constnlohmann::detail::json_ref< BasicJsonType >inline
operator->() constnlohmann::detail::json_ref< BasicJsonType >inline
operator=(const json_ref &)=deletenlohmann::detail::json_ref< BasicJsonType >
operator=(json_ref &&)=deletenlohmann::detail::json_ref< BasicJsonType >
owned_valuenlohmann::detail::json_ref< BasicJsonType >mutableprivate
value_refnlohmann::detail::json_ref< BasicJsonType >private
value_type typedefnlohmann::detail::json_ref< BasicJsonType >
~json_ref()=defaultnlohmann::detail::json_ref< BasicJsonType >
+
+ + + + diff --git a/docs/d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html b/docs/d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html new file mode 100644 index 00000000..cf810d8a --- /dev/null +++ b/docs/d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html @@ -0,0 +1,184 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >:
+
+
Collaboration graph
+ + +
+ + + + +

+Public Types

using adapter_type = decltype(input_adapter(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >())))
 
+ + + +

+Static Public Member Functions

static adapter_type create (const ContainerType &container)
 
+

Detailed Description

+

template<typename ContainerType>
+struct nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >

+ + +

Definition at line 5614 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ adapter_type

+ +
+
+
+template<typename ContainerType >
+ + + + +
using nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >::adapter_type = decltype(input_adapter(begin(std::declval<ContainerType>()), end(std::declval<ContainerType>())))
+
+ +

Definition at line 5617 of file json.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ create()

+ +
+
+
+template<typename ContainerType >
+ + + + + +
+ + + + + + + + +
static adapter_type nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >::create (const ContainerType & container)
+
+inlinestatic
+
+ +

Definition at line 5619 of file json.hpp.

+ +

References nlohmann::detail::input_adapter().

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.js b/docs/d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.js new file mode 100644 index 00000000..3b25f3a4 --- /dev/null +++ b/docs/d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.js @@ -0,0 +1,5 @@ +var structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be = +[ + [ "adapter_type", "d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html#aa801458464e2dc726530463d35310abf", null ], + [ "create", "d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html#a282eae71ce3b7a4249c6bc06da8b2670", null ] +]; \ No newline at end of file diff --git a/docs/d0/dcd/structnlohmann_1_1adl__serializer-members.html b/docs/d0/dcd/structnlohmann_1_1adl__serializer-members.html new file mode 100644 index 00000000..85919829 --- /dev/null +++ b/docs/d0/dcd/structnlohmann_1_1adl__serializer-members.html @@ -0,0 +1,104 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::adl_serializer< ValueType, typename > Member List
+
+
+ +

This is the complete list of members for nlohmann::adl_serializer< ValueType, typename >, including all inherited members.

+ + + + +
from_json(BasicJsonType &&j, TargetType &val) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), val))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), val), void())nlohmann::adl_serializer< ValueType, typename >inlinestatic
from_json(BasicJsonType &&j) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), detail::identity_tag< TargetType > {}))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), detail::identity_tag< TargetType >nlohmann::adl_serializer< ValueType, typename >inlinestatic
to_json(BasicJsonType &j, TargetType &&val) noexcept(noexcept(::nlohmann::to_json(j, std::forward< TargetType >(val)))) -> decltype(::nlohmann::to_json(j, std::forward< TargetType >(val)), void())nlohmann::adl_serializer< ValueType, typename >inlinestatic
+
+ + + + diff --git a/docs/d0/dd4/structnlohmann_1_1detail_1_1has__from__json__coll__graph.map b/docs/d0/dd4/structnlohmann_1_1detail_1_1has__from__json__coll__graph.map new file mode 100644 index 00000000..762f4c69 --- /dev/null +++ b/docs/d0/dd4/structnlohmann_1_1detail_1_1has__from__json__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d0/dd4/structnlohmann_1_1detail_1_1has__from__json__coll__graph.md5 b/docs/d0/dd4/structnlohmann_1_1detail_1_1has__from__json__coll__graph.md5 new file mode 100644 index 00000000..b9d8b34e --- /dev/null +++ b/docs/d0/dd4/structnlohmann_1_1detail_1_1has__from__json__coll__graph.md5 @@ -0,0 +1 @@ +352d4cdb4356885cee109239d7b47866 \ No newline at end of file diff --git a/docs/d0/dd4/structnlohmann_1_1detail_1_1has__from__json__coll__graph.png b/docs/d0/dd4/structnlohmann_1_1detail_1_1has__from__json__coll__graph.png new file mode 100644 index 00000000..6624b36f Binary files /dev/null and b/docs/d0/dd4/structnlohmann_1_1detail_1_1has__from__json__coll__graph.png differ diff --git a/docs/d0/de6/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp-members.html b/docs/d0/de6/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp-members.html new file mode 100644 index 00000000..c0d17140 --- /dev/null +++ b/docs/d0/de6/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp-members.html @@ -0,0 +1,109 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::dtoa_impl::diyfp Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::dtoa_impl::diyfp, including all inherited members.

+ + + + + + + + + +
diyfp(std::uint64_t f_, int e_) noexceptnlohmann::detail::dtoa_impl::diyfpinline
enlohmann::detail::dtoa_impl::diyfp
fnlohmann::detail::dtoa_impl::diyfp
kPrecisionnlohmann::detail::dtoa_impl::diyfpstatic
mul(const diyfp &x, const diyfp &y) noexceptnlohmann::detail::dtoa_impl::diyfpinlinestatic
normalize(diyfp x) noexceptnlohmann::detail::dtoa_impl::diyfpinlinestatic
normalize_to(const diyfp &x, const int target_exponent) noexceptnlohmann::detail::dtoa_impl::diyfpinlinestatic
sub(const diyfp &x, const diyfp &y) noexceptnlohmann::detail::dtoa_impl::diyfpinlinestatic
+
+ + + + diff --git a/docs/d0/df1/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser-members.html b/docs/d0/df1/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser-members.html new file mode 100644 index 00000000..0bbb783c --- /dev/null +++ b/docs/d0/df1/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser-members.html @@ -0,0 +1,138 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
allow_exceptionsnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >private
binary(binary_t &val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
binary_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
boolean(bool val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
callbacknlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >private
discardednlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >private
end_array()nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
end_object()nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
errorednlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >private
handle_value(Value &&v, const bool skip_callback=false)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inlineprivate
is_errored() constnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
json_sax_dom_callback_parser(BasicJsonType &r, const parser_callback_t cb, const bool allow_exceptions_=true)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
json_sax_dom_callback_parser(const json_sax_dom_callback_parser &)=deletenlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
json_sax_dom_callback_parser(json_sax_dom_callback_parser &&)=defaultnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
keep_stacknlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >private
key(string_t &val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
key_keep_stacknlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >private
null()nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
number_float(number_float_t val, const string_t &)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
number_float_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
number_integer(number_integer_t val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
number_integer_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
number_unsigned(number_unsigned_t val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
number_unsigned_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
object_elementnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >private
operator=(const json_sax_dom_callback_parser &)=deletenlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
operator=(json_sax_dom_callback_parser &&)=defaultnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
parse_error(std::size_t, const std::string &, const Exception &ex)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
parse_event_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
parser_callback_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
ref_stacknlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >private
rootnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >private
start_array(std::size_t len)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
start_object(std::size_t len)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
string(string_t &val)nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >inline
string_t typedefnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
~json_sax_dom_callback_parser()=defaultnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
+
+ + + + diff --git a/docs/d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html b/docs/d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html new file mode 100644 index 00000000..adea404d --- /dev/null +++ b/docs/d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html @@ -0,0 +1,153 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >:
+
+
Collaboration graph
+ + +
+ + + + +

+Static Public Attributes

static constexpr bool value
 
+

Detailed Description

+

template<typename BasicJsonType, typename CompatibleType>
+struct nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >

+ + +

Definition at line 3813 of file json.hpp.

+

Member Data Documentation

+ +

◆ value

+ +
+
+
+template<typename BasicJsonType , typename CompatibleType >
+ + + + + +
+ + + + +
constexpr bool nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >::value
+
+static
+
+Initial value: +

Definition at line 3817 of file json.hpp.

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.js b/docs/d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.js new file mode 100644 index 00000000..f589f0c5 --- /dev/null +++ b/docs/d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703 = +[ + [ "value", "d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html#a1e4cacef2d41bdc682a1e2946edb0a41", null ] +]; \ No newline at end of file diff --git a/docs/d1/d14/cudnn__frontend__get__plan_8h__incl.map b/docs/d1/d14/cudnn__frontend__get__plan_8h__incl.map index df01af86..2e359340 100644 --- a/docs/d1/d14/cudnn__frontend__get__plan_8h__incl.map +++ b/docs/d1/d14/cudnn__frontend__get__plan_8h__incl.map @@ -1,19 +1,22 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/docs/d1/d14/cudnn__frontend__get__plan_8h__incl.md5 b/docs/d1/d14/cudnn__frontend__get__plan_8h__incl.md5 index 0a97519d..2d667738 100644 --- a/docs/d1/d14/cudnn__frontend__get__plan_8h__incl.md5 +++ b/docs/d1/d14/cudnn__frontend__get__plan_8h__incl.md5 @@ -1 +1 @@ -69887e225cccfc308f9e81b3cc752a7d \ No newline at end of file +baddc2c622fe7df71f5f7f68f778cd31 \ No newline at end of file diff --git a/docs/d1/d14/cudnn__frontend__get__plan_8h__incl.png b/docs/d1/d14/cudnn__frontend__get__plan_8h__incl.png index ca700d90..31a2f5cd 100644 Binary files a/docs/d1/d14/cudnn__frontend__get__plan_8h__incl.png and b/docs/d1/d14/cudnn__frontend__get__plan_8h__incl.png differ diff --git a/docs/d1/d21/structnlohmann_1_1detail_1_1is__compatible__integer__type.html b/docs/d1/d21/structnlohmann_1_1detail_1_1is__compatible__integer__type.html new file mode 100644 index 00000000..fc712656 --- /dev/null +++ b/docs/d1/d21/structnlohmann_1_1detail_1_1is__compatible__integer__type.html @@ -0,0 +1,128 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Inheritance diagram for nlohmann::detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >:
+
+
Inheritance graph
+ + + + +
+
+Collaboration diagram for nlohmann::detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >:
+
+
Collaboration graph
+ + + + +
+

Detailed Description

+

template<typename RealIntegerType, typename CompatibleNumberIntegerType>
+struct nlohmann::detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >

+ + +

Definition at line 3805 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d1/d22/classcudnn__frontend_1_1OperationGraph__v8__coll__graph.md5 b/docs/d1/d22/classcudnn__frontend_1_1OperationGraph__v8__coll__graph.md5 index 863236cd..eeb351b3 100644 --- a/docs/d1/d22/classcudnn__frontend_1_1OperationGraph__v8__coll__graph.md5 +++ b/docs/d1/d22/classcudnn__frontend_1_1OperationGraph__v8__coll__graph.md5 @@ -1 +1 @@ -1bf584e389b8a85ddf3a27278a3b240c \ No newline at end of file +80080bca144f205f840333d71b3e81ff \ No newline at end of file diff --git a/docs/d1/d22/classcudnn__frontend_1_1OperationGraph__v8__coll__graph.png b/docs/d1/d22/classcudnn__frontend_1_1OperationGraph__v8__coll__graph.png index 7f5f2be8..b9d2b348 100644 Binary files a/docs/d1/d22/classcudnn__frontend_1_1OperationGraph__v8__coll__graph.png and b/docs/d1/d22/classcudnn__frontend_1_1OperationGraph__v8__coll__graph.png differ diff --git a/docs/d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html b/docs/d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html index 977f0a32..072ebd57 100644 --- a/docs/d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html +++ b/docs/d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html @@ -95,7 +95,7 @@
Collaboration graph
- + @@ -132,6 +132,8 @@   auto setmatmulDesc (MatMulDesc_v8 const &matmulDesc) -> OperationBuilder_v8 &   +auto setreductionDesc (ReductionDesc_v8 const &reductionDesc) -> OperationBuilder_v8 & +  auto setpwDesc (PointWiseDesc_v8 const &pointWiseDesc) -> OperationBuilder_v8 &   auto setAlpha (float alpha) -> OperationBuilder_v8 & @@ -161,11 +163,13 @@   bool is_matmul_op = false   +bool is_reduction_op = false + 

Detailed Description

OperationBuilder_v8 Class Helper class used to build Operation_v8 class

-

Definition at line 168 of file cudnn_frontend_Operation.h.

+

Definition at line 173 of file cudnn_frontend_Operation.h.

Member Function Documentation

◆ build()

@@ -191,9 +195,9 @@

constructs the backend Operation_v8 by calling the cudnn API Throws the appropriate error message

-

Definition at line 389 of file cudnn_frontend_Operation.h.

+

Definition at line 407 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::alpha2_d, cudnn_frontend::Operation_v8::alpha2_s, cudnn_frontend::Operation_v8::alpha_d, cudnn_frontend::Operation_v8::alpha_s, cudnn_frontend::Operation_v8::alphabetaType, cudnn_frontend::Operation_v8::amatdesc, cudnn_frontend::Operation_v8::bdesc, cudnn_frontend::Operation_v8::beta_d, cudnn_frontend::Operation_v8::beta_s, cudnn_frontend::Operation_v8::bmatdesc, cudnn_frontend::Operation_v8::cdesc, cudnn_frontend::Operation_v8::cmatdesc, cudnn_frontend::Operation_v8::dwdesc, cudnn_frontend::Operation_v8::dxdesc, cudnn_frontend::Operation_v8::dydesc, cudnn_frontend::BackendDescriptor::initialize_managed_backend_pointer(), cudnn_frontend::Operation_v8::is_pointwise_activation_bwd_op, cudnn_frontend::Operation_v8::is_pointwise_activation_fwd_op, cudnn_frontend::Operation_v8::is_pointwise_math_op, cudnn_frontend::Operation_v8::matmuldesc, cudnn_frontend::Operation_v8::op_mode, cudnn_frontend::Operation_v8::operationTag, cudnn_frontend::BackendDescriptor::pointer, cudnn_frontend::Operation_v8::pointwise_mode, cudnn_frontend::Operation_v8::pointwise_port_count, cudnn_frontend::Operation_v8::pwdesc, cudnn_frontend::set_error_and_throw_exception(), cudnn_frontend::BackendDescriptor::status, cudnn_frontend::Operation_v8::wdesc, cudnn_frontend::Operation_v8::xdesc, and cudnn_frontend::Operation_v8::ydesc.

+

References cudnn_frontend::Operation_v8::alpha2_d, cudnn_frontend::Operation_v8::alpha2_s, cudnn_frontend::Operation_v8::alpha_d, cudnn_frontend::Operation_v8::alpha_s, cudnn_frontend::Operation_v8::alphabetaType, cudnn_frontend::Operation_v8::amatdesc, cudnn_frontend::Operation_v8::bdesc, cudnn_frontend::Operation_v8::beta_d, cudnn_frontend::Operation_v8::beta_s, cudnn_frontend::Operation_v8::bmatdesc, cudnn_frontend::Operation_v8::cdesc, cudnn_frontend::Operation_v8::cmatdesc, cudnn_frontend::Operation_v8::dwdesc, cudnn_frontend::Operation_v8::dxdesc, cudnn_frontend::Operation_v8::dydesc, cudnn_frontend::BackendDescriptor::initialize_managed_backend_pointer(), cudnn_frontend::Operation_v8::is_pointwise_activation_bwd_op, cudnn_frontend::Operation_v8::is_pointwise_activation_fwd_op, cudnn_frontend::Operation_v8::is_pointwise_math_op, cudnn_frontend::Operation_v8::matmuldesc, cudnn_frontend::Operation_v8::op_mode, cudnn_frontend::Operation_v8::operationTag, cudnn_frontend::BackendDescriptor::pointer, cudnn_frontend::Operation_v8::pointwise_mode, cudnn_frontend::Operation_v8::pointwise_port_count, cudnn_frontend::Operation_v8::pwdesc, cudnn_frontend::Operation_v8::reductiondesc, cudnn_frontend::set_error_and_throw_exception(), cudnn_frontend::BackendDescriptor::status, cudnn_frontend::Operation_v8::wdesc, cudnn_frontend::Operation_v8::xdesc, and cudnn_frontend::Operation_v8::ydesc.

@@ -218,7 +222,7 @@

-

Definition at line 171 of file cudnn_frontend_Operation.h.

+

Definition at line 176 of file cudnn_frontend_Operation.h.

@@ -242,7 +246,7 @@

-

Definition at line 173 of file cudnn_frontend_Operation.h.

+

Definition at line 178 of file cudnn_frontend_Operation.h.

@@ -266,7 +270,31 @@

-

Definition at line 172 of file cudnn_frontend_Operation.h.

+

Definition at line 177 of file cudnn_frontend_Operation.h.

+ + + + +

◆ is_reduction_op

+ +
+
+ + + + + +
+ + + + +
bool cudnn_frontend::OperationBuilder_v8::is_reduction_op = false
+
+private
+
+ +

Definition at line 179 of file cudnn_frontend_Operation.h.

@@ -290,7 +318,7 @@

-

Definition at line 170 of file cudnn_frontend_Operation.h.

+

Definition at line 175 of file cudnn_frontend_Operation.h.

diff --git a/docs/d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.js b/docs/d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.js index 39595d87..ede889ea 100644 --- a/docs/d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.js +++ b/docs/d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.js @@ -19,6 +19,7 @@ var classcudnn__frontend_1_1OperationBuilder__v8 = [ "setdyDesc", "d3/d92/group__OperationBuilder__v8.html#ga9e4a1e9a233b44cca5b65f0af172b001", null ], [ "setmatmulDesc", "d3/d92/group__OperationBuilder__v8.html#ga3ca1f62832f998566c1b07b4b3c71db4", null ], [ "setpwDesc", "d3/d92/group__OperationBuilder__v8.html#gae6b06877b2e675b2a390f0b122100669", null ], + [ "setreductionDesc", "d3/d92/group__OperationBuilder__v8.html#ga904279a29c2c5c949a0e487dd573ae0a", null ], [ "setwDesc", "d3/d92/group__OperationBuilder__v8.html#ga80466e517e980ba4953e085b3d4e3498", null ], [ "setxDesc", "d3/d92/group__OperationBuilder__v8.html#gaefa06fdaae3b28c6ef08a0189e2a3d3a", null ], [ "setxDesc", "d3/d92/group__OperationBuilder__v8.html#ga04c2492a5376f1a74a57fb49fa7b3599", null ], @@ -26,5 +27,6 @@ var classcudnn__frontend_1_1OperationBuilder__v8 = [ "is_convolution_op", "d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#ad82e287889be2ebef348a00479ce3bc0", null ], [ "is_matmul_op", "d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#ac806a488b58cc78e338ba96eccee70fd", null ], [ "is_pointwise_op", "d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a98044359c005b796e35fba1a5b689f3d", null ], + [ "is_reduction_op", "d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a65bf6693a5952e65b856dfdf9ad68770", null ], [ "m_operation", "d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a8724628060c71b17e7458c01338b234a", null ] ]; \ No newline at end of file diff --git a/docs/d1/d2c/classnlohmann_1_1detail_1_1json__sax__dom__parser-members.html b/docs/d1/d2c/classnlohmann_1_1detail_1_1json__sax__dom__parser-members.html new file mode 100644 index 00000000..90b08599 --- /dev/null +++ b/docs/d1/d2c/classnlohmann_1_1detail_1_1json__sax__dom__parser-members.html @@ -0,0 +1,132 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::json_sax_dom_parser< BasicJsonType > Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::json_sax_dom_parser< BasicJsonType >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
allow_exceptionsnlohmann::detail::json_sax_dom_parser< BasicJsonType >private
binary(binary_t &val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
binary_t typedefnlohmann::detail::json_sax_dom_parser< BasicJsonType >
boolean(bool val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
end_array()nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
end_object()nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
errorednlohmann::detail::json_sax_dom_parser< BasicJsonType >private
handle_value(Value &&v)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inlineprivate
is_errored() constnlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
json_sax_dom_parser(BasicJsonType &r, const bool allow_exceptions_=true)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inlineexplicit
json_sax_dom_parser(const json_sax_dom_parser &)=deletenlohmann::detail::json_sax_dom_parser< BasicJsonType >
json_sax_dom_parser(json_sax_dom_parser &&)=defaultnlohmann::detail::json_sax_dom_parser< BasicJsonType >
key(string_t &val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
null()nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
number_float(number_float_t val, const string_t &)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
number_float_t typedefnlohmann::detail::json_sax_dom_parser< BasicJsonType >
number_integer(number_integer_t val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
number_integer_t typedefnlohmann::detail::json_sax_dom_parser< BasicJsonType >
number_unsigned(number_unsigned_t val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
number_unsigned_t typedefnlohmann::detail::json_sax_dom_parser< BasicJsonType >
object_elementnlohmann::detail::json_sax_dom_parser< BasicJsonType >private
operator=(const json_sax_dom_parser &)=deletenlohmann::detail::json_sax_dom_parser< BasicJsonType >
operator=(json_sax_dom_parser &&)=defaultnlohmann::detail::json_sax_dom_parser< BasicJsonType >
parse_error(std::size_t, const std::string &, const Exception &ex)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
ref_stacknlohmann::detail::json_sax_dom_parser< BasicJsonType >private
rootnlohmann::detail::json_sax_dom_parser< BasicJsonType >private
start_array(std::size_t len)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
start_object(std::size_t len)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
string(string_t &val)nlohmann::detail::json_sax_dom_parser< BasicJsonType >inline
string_t typedefnlohmann::detail::json_sax_dom_parser< BasicJsonType >
~json_sax_dom_parser()=defaultnlohmann::detail::json_sax_dom_parser< BasicJsonType >
+
+ + + + diff --git a/docs/d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html b/docs/d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html new file mode 100644 index 00000000..95abd191 --- /dev/null +++ b/docs/d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html @@ -0,0 +1,293 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + + + +

+Private Types

using number_integer_t = typename BasicJsonType::number_integer_t
 
using number_unsigned_t = typename BasicJsonType::number_unsigned_t
 
using number_float_t = typename BasicJsonType::number_float_t
 
using string_t = typename BasicJsonType::string_t
 
using binary_t = typename BasicJsonType::binary_t
 
using exception_t = typename BasicJsonType::exception
 
+

Detailed Description

+

template<typename SAX, typename BasicJsonType>
+struct nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >

+ + +

Definition at line 8148 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ binary_t

+ +
+
+
+template<typename SAX , typename BasicJsonType >
+ + + + + +
+ + + + +
using nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >::binary_t = typename BasicJsonType::binary_t
+
+private
+
+ +

Definition at line 8158 of file json.hpp.

+ +
+
+ +

◆ exception_t

+ +
+
+
+template<typename SAX , typename BasicJsonType >
+ + + + + +
+ + + + +
using nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >::exception_t = typename BasicJsonType::exception
+
+private
+
+ +

Definition at line 8159 of file json.hpp.

+ +
+
+ +

◆ number_float_t

+ +
+
+
+template<typename SAX , typename BasicJsonType >
+ + + + + +
+ + + + +
using nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t
+
+private
+
+ +

Definition at line 8156 of file json.hpp.

+ +
+
+ +

◆ number_integer_t

+ +
+
+
+template<typename SAX , typename BasicJsonType >
+ + + + + +
+ + + + +
using nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t
+
+private
+
+ +

Definition at line 8154 of file json.hpp.

+ +
+
+ +

◆ number_unsigned_t

+ +
+
+
+template<typename SAX , typename BasicJsonType >
+ + + + + +
+ + + + +
using nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
+
+private
+
+ +

Definition at line 8155 of file json.hpp.

+ +
+
+ +

◆ string_t

+ +
+
+
+template<typename SAX , typename BasicJsonType >
+ + + + + +
+ + + + +
using nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >::string_t = typename BasicJsonType::string_t
+
+private
+
+ +

Definition at line 8157 of file json.hpp.

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.js b/docs/d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.js new file mode 100644 index 00000000..112dabba --- /dev/null +++ b/docs/d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.js @@ -0,0 +1,9 @@ +var structnlohmann_1_1detail_1_1is__sax__static__asserts = +[ + [ "binary_t", "d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#adb3ffd1849091f6edb5c2d6e650e4266", null ], + [ "exception_t", "d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#a34e1bc8ab7adbbab5f7d8c45a964020b", null ], + [ "number_float_t", "d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#a65d4be40c41ddc31fd2c3583d87d5faf", null ], + [ "number_integer_t", "d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#a474adf99bf1eaa8292284fd3064c80fe", null ], + [ "number_unsigned_t", "d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#af8733df7fcaebb25434285885db7f127", null ], + [ "string_t", "d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#a067c98d2145bb54d862f4794ac1287bb", null ] +]; \ No newline at end of file diff --git a/docs/d1/d2f/classnlohmann_1_1detail_1_1iter__impl-members.html b/docs/d1/d2f/classnlohmann_1_1detail_1_1iter__impl-members.html new file mode 100644 index 00000000..7f54c400 --- /dev/null +++ b/docs/d1/d2f/classnlohmann_1_1detail_1_1iter__impl-members.html @@ -0,0 +1,148 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::iter_impl< BasicJsonType > Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::iter_impl< BasicJsonType >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
__pad0__nlohmann::detail::iter_impl< BasicJsonType >
__pad1__nlohmann::detail::iter_impl< BasicJsonType >
array_t typedefnlohmann::detail::iter_impl< BasicJsonType >private
BasicJsonTypenlohmann::detail::iter_impl< BasicJsonType >private
difference_type typedefnlohmann::detail::iter_impl< BasicJsonType >
iter_impl()=defaultnlohmann::detail::iter_impl< BasicJsonType >
iter_impl(iter_impl &&) noexcept=defaultnlohmann::detail::iter_impl< BasicJsonType >
iter_impl(pointer object) noexceptnlohmann::detail::iter_impl< BasicJsonType >inlineexplicit
iter_impl(const iter_impl< const BasicJsonType > &other) noexceptnlohmann::detail::iter_impl< BasicJsonType >inline
iter_impl(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexceptnlohmann::detail::iter_impl< BasicJsonType >inline
iteration_proxy< iter_impl >nlohmann::detail::iter_impl< BasicJsonType >private
iteration_proxy_value< iter_impl >nlohmann::detail::iter_impl< BasicJsonType >private
iterator_category typedefnlohmann::detail::iter_impl< BasicJsonType >
key() constnlohmann::detail::iter_impl< BasicJsonType >inline
m_itnlohmann::detail::iter_impl< BasicJsonType >
object_t typedefnlohmann::detail::iter_impl< BasicJsonType >private
operator!=(const IterImpl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
operator*() constnlohmann::detail::iter_impl< BasicJsonType >inline
operator+(difference_type i) constnlohmann::detail::iter_impl< BasicJsonType >inline
operator+(difference_type i, const iter_impl &it)nlohmann::detail::iter_impl< BasicJsonType >friend
operator++(int)nlohmann::detail::iter_impl< BasicJsonType >inline
operator++()nlohmann::detail::iter_impl< BasicJsonType >inline
operator+=(difference_type i)nlohmann::detail::iter_impl< BasicJsonType >inline
operator-(difference_type i) constnlohmann::detail::iter_impl< BasicJsonType >inline
operator-(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
operator--(int)nlohmann::detail::iter_impl< BasicJsonType >inline
operator--()nlohmann::detail::iter_impl< BasicJsonType >inline
operator-=(difference_type i)nlohmann::detail::iter_impl< BasicJsonType >inline
operator->() constnlohmann::detail::iter_impl< BasicJsonType >inline
operator<(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
operator<=(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
operator=(iter_impl &&) noexcept=defaultnlohmann::detail::iter_impl< BasicJsonType >
operator=(const iter_impl< const BasicJsonType > &other) noexceptnlohmann::detail::iter_impl< BasicJsonType >inline
operator=(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexceptnlohmann::detail::iter_impl< BasicJsonType >inline
operator==(const IterImpl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
operator>(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
operator>=(const iter_impl &other) constnlohmann::detail::iter_impl< BasicJsonType >inline
operator[](difference_type n) constnlohmann::detail::iter_impl< BasicJsonType >inline
other_iter_impl typedefnlohmann::detail::iter_impl< BasicJsonType >private
other_iter_implnlohmann::detail::iter_impl< BasicJsonType >private
pointer typedefnlohmann::detail::iter_impl< BasicJsonType >
reference typedefnlohmann::detail::iter_impl< BasicJsonType >
set_end() noexceptnlohmann::detail::iter_impl< BasicJsonType >inline
switch(m_object->m_type)nlohmann::detail::iter_impl< BasicJsonType >inline
value() constnlohmann::detail::iter_impl< BasicJsonType >inline
value_type typedefnlohmann::detail::iter_impl< BasicJsonType >
~iter_impl()=defaultnlohmann::detail::iter_impl< BasicJsonType >
+
+ + + + diff --git a/docs/d1/d38/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.map b/docs/d1/d38/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.map new file mode 100644 index 00000000..623eb92b --- /dev/null +++ b/docs/d1/d38/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d1/d38/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.md5 b/docs/d1/d38/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.md5 new file mode 100644 index 00000000..0d9404e1 --- /dev/null +++ b/docs/d1/d38/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.md5 @@ -0,0 +1 @@ +d121b0096b6da8c79022f0896d2b751d \ No newline at end of file diff --git a/docs/d1/d38/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.png b/docs/d1/d38/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.png new file mode 100644 index 00000000..5b643b63 Binary files /dev/null and b/docs/d1/d38/structnlohmann_1_1detail_1_1is__compatible__integer__type__coll__graph.png differ diff --git a/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.map b/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.map new file mode 100644 index 00000000..0148701d --- /dev/null +++ b/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.md5 b/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.md5 new file mode 100644 index 00000000..2305dcbd --- /dev/null +++ b/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +5264c5e935c2df062808695d2c9bf6da \ No newline at end of file diff --git a/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.png b/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.png new file mode 100644 index 00000000..58cf7b95 Binary files /dev/null and b/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__inherit__graph.png differ diff --git a/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.map b/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.map new file mode 100644 index 00000000..9ba4b42e --- /dev/null +++ b/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.md5 b/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.md5 new file mode 100644 index 00000000..df6572a8 --- /dev/null +++ b/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +9013c25e975e3658385c516facc88b26 \ No newline at end of file diff --git a/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.png b/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.png new file mode 100644 index 00000000..8b7c1caf Binary files /dev/null and b/docs/d1/d49/structnlohmann_1_1detail_1_1is__compatible__type__impl__coll__graph.png differ diff --git a/docs/d1/d4a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.map b/docs/d1/d4a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.map new file mode 100644 index 00000000..f72d97f7 --- /dev/null +++ b/docs/d1/d4a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d1/d4a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.md5 b/docs/d1/d4a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.md5 new file mode 100644 index 00000000..26e5f50e --- /dev/null +++ b/docs/d1/d4a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +dddcebebf867d657505d856669d1de85 \ No newline at end of file diff --git a/docs/d1/d4a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.png b/docs/d1/d4a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.png new file mode 100644 index 00000000..6ee7d1ec Binary files /dev/null and b/docs/d1/d4a/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.png differ diff --git a/docs/d1/d62/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory.html b/docs/d1/d62/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory.html new file mode 100644 index 00000000..74a54856 --- /dev/null +++ b/docs/d1/d62/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory.html @@ -0,0 +1,117 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, Enable > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, Enable > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, Enable >:
+
+
Collaboration graph
+ + +
+

Detailed Description

+

template<typename ContainerType, typename Enable = void>
+struct nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, Enable >

+ + +

Definition at line 5611 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d1/d68/classnlohmann_1_1detail_1_1json__sax__acceptor__coll__graph.map b/docs/d1/d68/classnlohmann_1_1detail_1_1json__sax__acceptor__coll__graph.map new file mode 100644 index 00000000..41f87080 --- /dev/null +++ b/docs/d1/d68/classnlohmann_1_1detail_1_1json__sax__acceptor__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d1/d68/classnlohmann_1_1detail_1_1json__sax__acceptor__coll__graph.md5 b/docs/d1/d68/classnlohmann_1_1detail_1_1json__sax__acceptor__coll__graph.md5 new file mode 100644 index 00000000..9529ce37 --- /dev/null +++ b/docs/d1/d68/classnlohmann_1_1detail_1_1json__sax__acceptor__coll__graph.md5 @@ -0,0 +1 @@ +5de077a64de9ea5963ec77c78c0ad766 \ No newline at end of file diff --git a/docs/d1/d68/classnlohmann_1_1detail_1_1json__sax__acceptor__coll__graph.png b/docs/d1/d68/classnlohmann_1_1detail_1_1json__sax__acceptor__coll__graph.png new file mode 100644 index 00000000..ce0a2fc6 Binary files /dev/null and b/docs/d1/d68/classnlohmann_1_1detail_1_1json__sax__acceptor__coll__graph.png differ diff --git a/docs/d1/d69/classBinaryType__inherit__graph.map b/docs/d1/d69/classBinaryType__inherit__graph.map new file mode 100644 index 00000000..1a8a7ed1 --- /dev/null +++ b/docs/d1/d69/classBinaryType__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d1/d69/classBinaryType__inherit__graph.md5 b/docs/d1/d69/classBinaryType__inherit__graph.md5 new file mode 100644 index 00000000..fd81d56d --- /dev/null +++ b/docs/d1/d69/classBinaryType__inherit__graph.md5 @@ -0,0 +1 @@ +4c08ac4521b53a813b060513e57fa33e \ No newline at end of file diff --git a/docs/d1/d69/classBinaryType__inherit__graph.png b/docs/d1/d69/classBinaryType__inherit__graph.png new file mode 100644 index 00000000..1851a66f Binary files /dev/null and b/docs/d1/d69/classBinaryType__inherit__graph.png differ diff --git a/docs/d1/d75/classnlohmann_1_1detail_1_1primitive__iterator__t-members.html b/docs/d1/d75/classnlohmann_1_1detail_1_1primitive__iterator__t-members.html new file mode 100644 index 00000000..a4b25334 --- /dev/null +++ b/docs/d1/d75/classnlohmann_1_1detail_1_1primitive__iterator__t-members.html @@ -0,0 +1,120 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::primitive_iterator_t Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::primitive_iterator_t, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
__pad0__nlohmann::detail::primitive_iterator_tprivate
begin_valuenlohmann::detail::primitive_iterator_tprivatestatic
difference_type typedefnlohmann::detail::primitive_iterator_tprivate
end_valuenlohmann::detail::primitive_iterator_tprivatestatic
get_value() const noexceptnlohmann::detail::primitive_iterator_tinline
is_begin() const noexceptnlohmann::detail::primitive_iterator_tinline
is_end() const noexceptnlohmann::detail::primitive_iterator_tinline
operator+(difference_type n) noexceptnlohmann::detail::primitive_iterator_tinline
operator++() noexceptnlohmann::detail::primitive_iterator_tinline
operator++(int) noexceptnlohmann::detail::primitive_iterator_tinline
operator+=(difference_type n) noexceptnlohmann::detail::primitive_iterator_tinline
operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexceptnlohmann::detail::primitive_iterator_tfriend
operator--() noexceptnlohmann::detail::primitive_iterator_tinline
operator--(int) noexceptnlohmann::detail::primitive_iterator_tinline
operator-=(difference_type n) noexceptnlohmann::detail::primitive_iterator_tinline
operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexceptnlohmann::detail::primitive_iterator_tfriend
operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexceptnlohmann::detail::primitive_iterator_tfriend
set_begin() noexceptnlohmann::detail::primitive_iterator_tinline
set_end() noexceptnlohmann::detail::primitive_iterator_tinline
+
+ + + + diff --git a/docs/d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html b/docs/d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html new file mode 100644 index 00000000..ff2d2bbf --- /dev/null +++ b/docs/d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html @@ -0,0 +1,1742 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::iter_impl< BasicJsonType > Class Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::iter_impl< BasicJsonType > Class Template Reference
+
+
+ +

a template for a bidirectional iterator for the basic_json class This class implements a both iterators (iterator and const_iterator) for the basic_json class. + More...

+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::iter_impl< BasicJsonType >:
+
+
Collaboration graph
+ + + + + +
+ + + + + + + + + + + + + + + + +

+Public Types

using iterator_category = std::bidirectional_iterator_tag
 
using value_type = typename BasicJsonType::value_type
 the type of the values when the iterator is dereferenced More...
 
using difference_type = typename BasicJsonType::difference_type
 a type to represent differences between iterators More...
 
using pointer = typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer >::type
 defines a pointer to the type iterated over (value_type) More...
 
using reference = typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference >::type
 defines a reference to the type iterated over (value_type) More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 iter_impl ()=default
 
 ~iter_impl ()=default
 
 iter_impl (iter_impl &&) noexcept=default
 
iter_imploperator= (iter_impl &&) noexcept=default
 
 iter_impl (pointer object) noexcept
 constructor for a given JSON instance More...
 
 iter_impl (const iter_impl< const BasicJsonType > &other) noexcept
 const copy constructor More...
 
iter_imploperator= (const iter_impl< const BasicJsonType > &other) noexcept
 converting assignment More...
 
 iter_impl (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
 converting constructor More...
 
iter_imploperator= (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
 converting assignment More...
 
 switch (m_object->m_type)
 
void set_end () noexcept
 set the iterator past the last value More...
 
reference operator* () const
 return a reference to the value pointed to by the iterator More...
 
pointer operator-> () const
 dereference the iterator More...
 
iter_impl const operator++ (int)
 post-increment (it++) More...
 
iter_imploperator++ ()
 pre-increment (++it) More...
 
iter_impl const operator-- (int)
 post-decrement (it–) More...
 
iter_imploperator-- ()
 pre-decrement (–it) More...
 
template<typename IterImpl , detail::enable_if_t<(std::is_same< IterImpl, iter_impl >::value||std::is_same< IterImpl, other_iter_impl >::value), std::nullptr_t > = nullptr>
bool operator== (const IterImpl &other) const
 comparison: equal More...
 
template<typename IterImpl , detail::enable_if_t<(std::is_same< IterImpl, iter_impl >::value||std::is_same< IterImpl, other_iter_impl >::value), std::nullptr_t > = nullptr>
bool operator!= (const IterImpl &other) const
 comparison: not equal More...
 
bool operator< (const iter_impl &other) const
 comparison: smaller More...
 
bool operator<= (const iter_impl &other) const
 comparison: less than or equal More...
 
bool operator> (const iter_impl &other) const
 comparison: greater than More...
 
bool operator>= (const iter_impl &other) const
 comparison: greater than or equal More...
 
iter_imploperator+= (difference_type i)
 add to iterator More...
 
iter_imploperator-= (difference_type i)
 subtract from iterator More...
 
iter_impl operator+ (difference_type i) const
 add to iterator More...
 
iter_impl operator- (difference_type i) const
 subtract from iterator More...
 
difference_type operator- (const iter_impl &other) const
 return difference More...
 
reference operator[] (difference_type n) const
 access to successor More...
 
const object_t::key_type & key () const
 return the key of an object iterator More...
 
reference value () const
 return the value of an iterator More...
 
+ + + + + + + + +

+Public Attributes

JSON_PRIVATE_UNLESS_TESTED __pad0__: void set_begin() noexcept { JSON_ASSERT(m_object != nullptr)
 
JSON_PRIVATE_UNLESS_TESTED __pad1__: pointer m_object = nullptr
 
internal_iterator< typename std::remove_const< BasicJsonType >::type > m_it {}
 the actual iterator of the associated instance More...
 
+ + + + + + + + +

+Private Types

using other_iter_impl = iter_impl< typename std::conditional< std::is_const< BasicJsonType >::value, typename std::remove_const< BasicJsonType >::type, const BasicJsonType >::type >
 the iterator with BasicJsonType of different const-ness More...
 
using object_t = typename BasicJsonType::object_t
 
using array_t = typename BasicJsonType::array_t
 
+ + + + + + + + + + +

+Private Attributes

friend other_iter_impl
 allow basic_json to access private members More...
 
friend BasicJsonType
 
friend iteration_proxy< iter_impl >
 
friend iteration_proxy_value< iter_impl >
 
+ + + + +

+Friends

iter_impl operator+ (difference_type i, const iter_impl &it)
 addition of distance and iterator More...
 
+

Detailed Description

+

template<typename BasicJsonType>
+class nlohmann::detail::iter_impl< BasicJsonType >

+ +

a template for a bidirectional iterator for the basic_json class This class implements a both iterators (iterator and const_iterator) for the basic_json class.

+
Note
An iterator is called initialized when a pointer to a JSON value has been set (e.g., by a constructor or a copy assignment). If the iterator is default-constructed, it is uninitialized and most methods are undefined. The library uses assertions to detect calls on uninitialized iterators.** The class satisfies the following concept requirements:
    +
  • BidirectionalIterator: The iterator that can be moved can be moved in both directions (i.e. incremented and decremented).
  • +
+
+
Since
version 1.0.0, simplified in version 2.0.9, change to bidirectional iterators in version 3.0.0 (see https://github.com/nlohmann/json/issues/593)
+ +

Definition at line 11348 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ array_t

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + +
using nlohmann::detail::iter_impl< BasicJsonType >::array_t = typename BasicJsonType::array_t
+
+private
+
+ +

Definition at line 11359 of file json.hpp.

+ +
+
+ +

◆ difference_type

+ +
+
+
+template<typename BasicJsonType>
+ + + + +
using nlohmann::detail::iter_impl< BasicJsonType >::difference_type = typename BasicJsonType::difference_type
+
+ +

a type to represent differences between iterators

+ +

Definition at line 11376 of file json.hpp.

+ +
+
+ +

◆ iterator_category

+ +
+
+
+template<typename BasicJsonType>
+ + + + +
using nlohmann::detail::iter_impl< BasicJsonType >::iterator_category = std::bidirectional_iterator_tag
+
+

The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. The C++ Standard has never required user-defined iterators to derive from std::iterator. A user-defined iterator should provide publicly accessible typedefs named iterator_category, value_type, difference_type, pointer, and reference. Note that value_type is required to be non-const, even for constant iterators.

+ +

Definition at line 11371 of file json.hpp.

+ +
+
+ +

◆ object_t

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + +
using nlohmann::detail::iter_impl< BasicJsonType >::object_t = typename BasicJsonType::object_t
+
+private
+
+ +

Definition at line 11358 of file json.hpp.

+ +
+
+ +

◆ other_iter_impl

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + +
using nlohmann::detail::iter_impl< BasicJsonType >::other_iter_impl = iter_impl<typename std::conditional<std::is_const<BasicJsonType>::value, typename std::remove_const<BasicJsonType>::type, const BasicJsonType>::type>
+
+private
+
+ +

the iterator with BasicJsonType of different const-ness

+ +

Definition at line 11351 of file json.hpp.

+ +
+
+ +

◆ pointer

+ +
+
+
+template<typename BasicJsonType>
+ + + + +
using nlohmann::detail::iter_impl< BasicJsonType >::pointer = typename std::conditional<std::is_const<BasicJsonType>::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer>::type
+
+ +

defines a pointer to the type iterated over (value_type)

+ +

Definition at line 11380 of file json.hpp.

+ +
+
+ +

◆ reference

+ +
+
+
+template<typename BasicJsonType>
+ + + + +
using nlohmann::detail::iter_impl< BasicJsonType >::reference = typename std::conditional<std::is_const<BasicJsonType>::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference>::type
+
+ +

defines a reference to the type iterated over (value_type)

+ +

Definition at line 11385 of file json.hpp.

+ +
+
+ +

◆ value_type

+ +
+
+
+template<typename BasicJsonType>
+ + + + +
using nlohmann::detail::iter_impl< BasicJsonType >::value_type = typename BasicJsonType::value_type
+
+ +

the type of the values when the iterator is dereferenced

+ +

Definition at line 11374 of file json.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ iter_impl() [1/5]

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + +
nlohmann::detail::iter_impl< BasicJsonType >::iter_impl ()
+
+default
+
+ +
+
+ +

◆ ~iter_impl()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + +
nlohmann::detail::iter_impl< BasicJsonType >::~iter_impl ()
+
+default
+
+ +
+
+ +

◆ iter_impl() [2/5]

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
nlohmann::detail::iter_impl< BasicJsonType >::iter_impl (iter_impl< BasicJsonType > && )
+
+defaultnoexcept
+
+ +
+
+ +

◆ iter_impl() [3/5]

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
nlohmann::detail::iter_impl< BasicJsonType >::iter_impl (pointer object)
+
+inlineexplicitnoexcept
+
+ +

constructor for a given JSON instance

+
Parameters
+ + +
[in]objectpointer to a JSON object for this iterator
+
+
+
Precondition
object != nullptr
+
Postcondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11398 of file json.hpp.

+ +

References nlohmann::detail::array, JSON_ASSERT, and nlohmann::detail::object.

+ +
+
+ +

◆ iter_impl() [4/5]

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
nlohmann::detail::iter_impl< BasicJsonType >::iter_impl (const iter_impl< const BasicJsonType > & other)
+
+inlinenoexcept
+
+ +

const copy constructor

+
Note
The conventional copy constructor and copy assignment are implicitly defined. Combined with the following converting constructor and assignment, they support: (1) copy from iterator to iterator, (2) copy from const iterator to const iterator, and (3) conversion from iterator to const iterator. However conversion from const iterator to iterator is not defined.
+
Parameters
+ + +
[in]otherconst iterator to copy from
+
+
+
Note
This copy constructor had to be defined explicitly to circumvent a bug occurring on msvc v19.0 compiler (VS 2015) debug build. For more information refer to: https://github.com/nlohmann/json/issues/1608
+ +

Definition at line 11440 of file json.hpp.

+ +
+
+ +

◆ iter_impl() [5/5]

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
nlohmann::detail::iter_impl< BasicJsonType >::iter_impl (const iter_impl< typename std::remove_const< BasicJsonType >::type > & other)
+
+inlinenoexcept
+
+ +

converting constructor

+
Parameters
+ + +
[in]othernon-const iterator to copy from
+
+
+
Note
It is not checked whether other is initialized.
+ +

Definition at line 11465 of file json.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ key()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + +
const object_t::key_type& nlohmann::detail::iter_impl< BasicJsonType >::key () const
+
+inline
+
+ +

return the key of an object iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11927 of file json.hpp.

+ +

References nlohmann::detail::invalid_iterator::create(), JSON_ASSERT, JSON_HEDLEY_LIKELY, and JSON_THROW.

+ +
+
+ +

◆ operator!=()

+ +
+
+
+template<typename BasicJsonType>
+
+template<typename IterImpl , detail::enable_if_t<(std::is_same< IterImpl, iter_impl >::value||std::is_same< IterImpl, other_iter_impl >::value), std::nullptr_t > = nullptr>
+ + + + + +
+ + + + + + + + +
bool nlohmann::detail::iter_impl< BasicJsonType >::operator!= (const IterImpl & other) const
+
+inline
+
+ +

comparison: not equal

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11741 of file json.hpp.

+ +
+
+ +

◆ operator*()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + +
reference nlohmann::detail::iter_impl< BasicJsonType >::operator* () const
+
+inline
+
+ +

return a reference to the value pointed to by the iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11555 of file json.hpp.

+ +

References nlohmann::detail::array, nlohmann::detail::invalid_iterator::create(), JSON_ASSERT, JSON_HEDLEY_LIKELY, JSON_THROW, nlohmann::detail::null, and nlohmann::detail::object.

+ +
+
+ +

◆ operator+()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator+ (difference_type i) const
+
+inline
+
+ +

add to iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11842 of file json.hpp.

+ +
+
+ +

◆ operator++() [1/2]

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
iter_impl const nlohmann::detail::iter_impl< BasicJsonType >::operator++ (int )
+
+inline
+
+ +

post-increment (it++)

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11626 of file json.hpp.

+ +
+
+ +

◆ operator++() [2/2]

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + +
iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator++ ()
+
+inline
+
+ +

pre-increment (++it)

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11637 of file json.hpp.

+ +

References nlohmann::detail::array, JSON_ASSERT, and nlohmann::detail::object.

+ +
+
+ +

◆ operator+=()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator+= (difference_type i)
+
+inline
+
+ +

add to iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11804 of file json.hpp.

+ +

References nlohmann::detail::array, nlohmann::detail::invalid_iterator::create(), JSON_ASSERT, JSON_THROW, and nlohmann::detail::object.

+ +
+
+ +

◆ operator-() [1/2]

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator- (difference_type i) const
+
+inline
+
+ +

subtract from iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11864 of file json.hpp.

+ +
+
+ +

◆ operator-() [2/2]

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
difference_type nlohmann::detail::iter_impl< BasicJsonType >::operator- (const iter_impl< BasicJsonType > & other) const
+
+inline
+
+
+ +

◆ operator--() [1/2]

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
iter_impl const nlohmann::detail::iter_impl< BasicJsonType >::operator-- (int )
+
+inline
+
+ +

post-decrement (it–)

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11669 of file json.hpp.

+ +
+
+ +

◆ operator--() [2/2]

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + +
iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator-- ()
+
+inline
+
+ +

pre-decrement (–it)

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11680 of file json.hpp.

+ +

References nlohmann::detail::array, JSON_ASSERT, and nlohmann::detail::object.

+ +
+
+ +

◆ operator-=()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator-= (difference_type i)
+
+inline
+
+ +

subtract from iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11833 of file json.hpp.

+ +
+
+ +

◆ operator->()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + +
pointer nlohmann::detail::iter_impl< BasicJsonType >::operator-> () const
+
+inline
+
+ +

dereference the iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11592 of file json.hpp.

+ +

References nlohmann::detail::array, nlohmann::detail::invalid_iterator::create(), JSON_ASSERT, JSON_HEDLEY_LIKELY, JSON_THROW, and nlohmann::detail::object.

+ +
+
+ +

◆ operator<()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
bool nlohmann::detail::iter_impl< BasicJsonType >::operator< (const iter_impl< BasicJsonType > & other) const
+
+inline
+
+
+ +

◆ operator<=()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
bool nlohmann::detail::iter_impl< BasicJsonType >::operator<= (const iter_impl< BasicJsonType > & other) const
+
+inline
+
+ +

comparison: less than or equal

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11777 of file json.hpp.

+ +
+
+ +

◆ operator=() [1/3]

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator= (iter_impl< BasicJsonType > && )
+
+defaultnoexcept
+
+ +
+
+ +

◆ operator=() [2/3]

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator= (const iter_impl< const BasicJsonType > & other)
+
+inlinenoexcept
+
+ +

converting assignment

+
Parameters
+ + +
[in]otherconst iterator to copy from
+
+
+
Returns
const/non-const iterator
+
Note
It is not checked whether other is initialized.
+ +

Definition at line 11450 of file json.hpp.

+ +

References nlohmann::detail::iter_impl< BasicJsonType >::m_it.

+ +
+
+ +

◆ operator=() [3/3]

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator= (const iter_impl< typename std::remove_const< BasicJsonType >::type > & other)
+
+inlinenoexcept
+
+ +

converting assignment

+
Parameters
+ + +
[in]othernon-const iterator to copy from
+
+
+
Returns
const/non-const iterator
+
Note
It is not checked whether other is initialized.
+ +

Definition at line 11475 of file json.hpp.

+ +

References JSON_PRIVATE_UNLESS_TESTED, and nlohmann::detail::iter_impl< BasicJsonType >::m_it.

+ +
+
+ +

◆ operator==()

+ +
+
+
+template<typename BasicJsonType>
+
+template<typename IterImpl , detail::enable_if_t<(std::is_same< IterImpl, iter_impl >::value||std::is_same< IterImpl, other_iter_impl >::value), std::nullptr_t > = nullptr>
+ + + + + +
+ + + + + + + + +
bool nlohmann::detail::iter_impl< BasicJsonType >::operator== (const IterImpl & other) const
+
+inline
+
+ +

comparison: equal

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11713 of file json.hpp.

+ +

References nlohmann::detail::array, nlohmann::detail::invalid_iterator::create(), JSON_ASSERT, JSON_HEDLEY_UNLIKELY, JSON_THROW, and nlohmann::detail::object.

+ +
+
+ +

◆ operator>()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
bool nlohmann::detail::iter_impl< BasicJsonType >::operator> (const iter_impl< BasicJsonType > & other) const
+
+inline
+
+ +

comparison: greater than

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11786 of file json.hpp.

+ +
+
+ +

◆ operator>=()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
bool nlohmann::detail::iter_impl< BasicJsonType >::operator>= (const iter_impl< BasicJsonType > & other) const
+
+inline
+
+ +

comparison: greater than or equal

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11795 of file json.hpp.

+ +

References nlohmann::detail::operator<().

+ +
+
+ +

◆ operator[]()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
reference nlohmann::detail::iter_impl< BasicJsonType >::operator[] (difference_type n) const
+
+inline
+
+ +

access to successor

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11896 of file json.hpp.

+ +

References nlohmann::detail::array, nlohmann::detail::invalid_iterator::create(), JSON_ASSERT, JSON_HEDLEY_LIKELY, JSON_THROW, nlohmann::detail::null, and nlohmann::detail::object.

+ +
+
+ +

◆ set_end()

+ + + +

◆ switch()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
nlohmann::detail::iter_impl< BasicJsonType >::switch (m_object-> m_type)
+
+inline
+
+ +

Definition at line 11491 of file json.hpp.

+ +

References nlohmann::detail::array, nlohmann::detail::null, and nlohmann::detail::object.

+ +
+
+ +

◆ value()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + +
reference nlohmann::detail::iter_impl< BasicJsonType >::value () const
+
+inline
+
+ +

return the value of an iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11943 of file json.hpp.

+ +

References JSON_PRIVATE_UNLESS_TESTED.

+ +
+
+

Friends And Related Function Documentation

+ +

◆ operator+

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
iter_impl operator+ (difference_type i,
const iter_impl< BasicJsonType > & it 
)
+
+friend
+
+ +

addition of distance and iterator

+
Precondition
The iterator is initialized; i.e. m_object != nullptr.
+ +

Definition at line 11853 of file json.hpp.

+ +
+
+

Member Data Documentation

+ +

◆ __pad0__

+ +
+
+
+template<typename BasicJsonType>
+ + + + +
JSON_PRIVATE_UNLESS_TESTED nlohmann::detail::iter_impl< BasicJsonType >::__pad0__
+
+ +

Definition at line 11489 of file json.hpp.

+ +
+
+ +

◆ __pad1__

+ +
+
+
+template<typename BasicJsonType>
+ + + + +
JSON_PRIVATE_UNLESS_TESTED nlohmann::detail::iter_impl< BasicJsonType >::__pad1__
+
+ +

Definition at line 11950 of file json.hpp.

+ +
+
+ +

◆ BasicJsonType

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + +
friend nlohmann::detail::iter_impl< BasicJsonType >::BasicJsonType
+
+private
+
+ +

Definition at line 11354 of file json.hpp.

+ +
+
+ +

◆ iteration_proxy< iter_impl >

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + +
friend nlohmann::detail::iter_impl< BasicJsonType >::iteration_proxy< iter_impl >
+
+private
+
+ +

Definition at line 11355 of file json.hpp.

+ +
+
+ +

◆ iteration_proxy_value< iter_impl >

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + +
friend nlohmann::detail::iter_impl< BasicJsonType >::iteration_proxy_value< iter_impl >
+
+private
+
+ +

Definition at line 11356 of file json.hpp.

+ +
+
+ +

◆ m_it

+ + + +

◆ other_iter_impl

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + +
friend nlohmann::detail::iter_impl< BasicJsonType >::other_iter_impl
+
+private
+
+ +

allow basic_json to access private members

+ +

Definition at line 11353 of file json.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/docs/d1/d7c/classnlohmann_1_1detail_1_1iter__impl.js b/docs/d1/d7c/classnlohmann_1_1detail_1_1iter__impl.js new file mode 100644 index 00000000..8ecaa452 --- /dev/null +++ b/docs/d1/d7c/classnlohmann_1_1detail_1_1iter__impl.js @@ -0,0 +1,50 @@ +var classnlohmann_1_1detail_1_1iter__impl = +[ + [ "array_t", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aef02cf75b1cb199286fd2f666c60e38e", null ], + [ "difference_type", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a2f7ea9f7022850809c60fc3263775840", null ], + [ "iterator_category", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ad9e091f5c70b34b5b1abc1ab15fd9106", null ], + [ "object_t", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ab9a9598052e83fa14a2288e56d5dda7c", null ], + [ "other_iter_impl", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ac7c5a1f964aa1c02f7b046029a5c8904", null ], + [ "pointer", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a69e52f890ce8c556fd68ce109e24b360", null ], + [ "reference", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a5be8001be099c6b82310f4d387b953ce", null ], + [ "value_type", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ab35586a44f2222272c5346baa3013f67", null ], + [ "iter_impl", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a31090f248ce10fd7b386027c1a19c16f", null ], + [ "~iter_impl", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a3fc5c9a782628d91047aa35f40bb7fdc", null ], + [ "iter_impl", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a603ba9c477f878a69ed281becca6f56a", null ], + [ "iter_impl", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a88a00484ac201c52fc5f613d88a2918b", null ], + [ "iter_impl", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a71f84fb6e009619f12972bcf9002b8cd", null ], + [ "iter_impl", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a867f7eb55091be31b013adb3e46816d3", null ], + [ "key", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a15dfb2744fed2ef40c12a9e9a20d6dbc", null ], + [ "operator!=", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a190077df326c10886020bbcfaa169b20", null ], + [ "operator*", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a5ca57856d9bba54a5fc51cee891de827", null ], + [ "operator+", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a8ef76aeb5a5032768f0f61f48ac189c0", null ], + [ "operator++", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a7d2397773b2dce42f30f0375a6a1d850", null ], + [ "operator++", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#abdfe2a7f464400a7ab572782d14b922f", null ], + [ "operator+=", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a3eef94f9d167046e7f773aeb6b78090c", null ], + [ "operator-", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a0dd9c415b94a02ff2aa25da75e52da30", null ], + [ "operator-", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a49bf3e708a9c1c88c415011735962d06", null ], + [ "operator--", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a1fc43e764467b8ea4a4cdd01f629d757", null ], + [ "operator--", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a84e689fb581d651d130039f7cb81494a", null ], + [ "operator-=", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#abcc9d51bc52f2e8483bbe4018f05e978", null ], + [ "operator->", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a6da3d2b34528aff328f3dcb513076dec", null ], + [ "operator<", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a0d14cd76203e00bdcef6a64a5d055cc7", null ], + [ "operator<=", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ac6f71b36d7c87e427d1fee83f2600fad", null ], + [ "operator=", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ae3dc277c25007ac952d57f9a1972ce79", null ], + [ "operator=", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a9a5cd7864a8f848ef107d3f5a330f5e7", null ], + [ "operator=", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a7159ed1cfe7c423a2baef8bea0c94509", null ], + [ "operator==", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aaddab83c2b4023cb0f0fdbc757c54f65", null ], + [ "operator>", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aaf3620b8dfa4bed8a9ac2b51dd55dbd7", null ], + [ "operator>=", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a634f85da575cb60b012a687efa26e11a", null ], + [ "operator[]", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ac0b9276f1102ed4b9cd3f5f56287e3ce", null ], + [ "set_end", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a23e50ad4c13aa62d9ac7f60a123823ee", null ], + [ "switch", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#abc2f80067020fae59d7fbccf39f1547a", null ], + [ "value", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ab447c50354c6611fa2ae0100ac17845c", null ], + [ "operator+", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a94108d1a7563e103534f23eb5c1ee175", null ], + [ "__pad0__", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aa4bddeaa9a97b2a9b715918a7e8dcc3a", null ], + [ "__pad1__", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a4a60e9d074cc53929b73eaa7963f1fa9", null ], + [ "BasicJsonType", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#abf18f18793f84b0222aebb5a2a87da7a", null ], + [ "iteration_proxy< iter_impl >", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a28328d17a18d9754c89c5c8159677a6f", null ], + [ "iteration_proxy_value< iter_impl >", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ac501dc2374b4d17a884fc9a656e80d5a", null ], + [ "m_it", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a8a86a7c0d4af0cc4ab345b6f0e13cdfa", null ], + [ "other_iter_impl", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aba0841e618c77cc65ccfd52164c346b9", null ] +]; \ No newline at end of file diff --git a/docs/d1/d8d/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html b/docs/d1/d8d/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html new file mode 100644 index 00000000..a47bd519 --- /dev/null +++ b/docs/d1/d8d/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html @@ -0,0 +1,130 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible< const std::tuple< Ts... > > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::is_constructible< const std::tuple< Ts... > > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Inheritance diagram for nlohmann::detail::is_constructible< const std::tuple< Ts... > >:
+
+
Inheritance graph
+ + + + + +
+
+Collaboration diagram for nlohmann::detail::is_constructible< const std::tuple< Ts... > >:
+
+
Collaboration graph
+ + + + + +
+

Detailed Description

+

template<typename... Ts>
+struct nlohmann::detail::is_constructible< const std::tuple< Ts... > >

+ + +

Definition at line 3591 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d1/d90/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.map b/docs/d1/d90/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.map new file mode 100644 index 00000000..aea8eaa1 --- /dev/null +++ b/docs/d1/d90/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d1/d90/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.md5 b/docs/d1/d90/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.md5 new file mode 100644 index 00000000..3d490a22 --- /dev/null +++ b/docs/d1/d90/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.md5 @@ -0,0 +1 @@ +911804b013e5cb678a931cc1aae688cb \ No newline at end of file diff --git a/docs/d1/d90/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.png b/docs/d1/d90/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.png new file mode 100644 index 00000000..0217b94d Binary files /dev/null and b/docs/d1/d90/structstd_1_1hash_3_01nlohmann_1_1json_01_4__coll__graph.png differ diff --git a/docs/d1/d96/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4.html b/docs/d1/d96/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4.html new file mode 100644 index 00000000..90114984 --- /dev/null +++ b/docs/d1/d96/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4.html @@ -0,0 +1,126 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::conjunction< B1 > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::conjunction< B1 > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Inheritance diagram for nlohmann::detail::conjunction< B1 >:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for nlohmann::detail::conjunction< B1 >:
+
+
Collaboration graph
+ + + +
+

Detailed Description

+

template<class B1>
+struct nlohmann::detail::conjunction< B1 >

+ + +

Definition at line 3550 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d1/d9b/structnlohmann_1_1detail_1_1static__const.html b/docs/d1/d9b/structnlohmann_1_1detail_1_1static__const.html new file mode 100644 index 00000000..8b36623a --- /dev/null +++ b/docs/d1/d9b/structnlohmann_1_1detail_1_1static__const.html @@ -0,0 +1,153 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::static_const< T > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::static_const< T > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::static_const< T >:
+
+
Collaboration graph
+ + +
+ + + + +

+Static Public Attributes

static constexpr T value {}
 
+

Detailed Description

+

template<typename T>
+struct nlohmann::detail::static_const< T >

+ + +

Definition at line 3164 of file json.hpp.

+

Member Data Documentation

+ +

◆ value

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + +
constexpr T nlohmann::detail::static_const< T >::value {}
+
+static
+
+ +

Definition at line 3166 of file json.hpp.

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d1/d9b/structnlohmann_1_1detail_1_1static__const.js b/docs/d1/d9b/structnlohmann_1_1detail_1_1static__const.js new file mode 100644 index 00000000..13837b81 --- /dev/null +++ b/docs/d1/d9b/structnlohmann_1_1detail_1_1static__const.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1static__const = +[ + [ "value", "d1/d9b/structnlohmann_1_1detail_1_1static__const.html#a6bb7ab2ddd6abc41fb4ffb7c6dfa237e", null ] +]; \ No newline at end of file diff --git a/docs/d1/db0/json_8hpp__incl.map b/docs/d1/db0/json_8hpp__incl.map new file mode 100644 index 00000000..ad709e6f --- /dev/null +++ b/docs/d1/db0/json_8hpp__incl.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d1/db0/json_8hpp__incl.md5 b/docs/d1/db0/json_8hpp__incl.md5 new file mode 100644 index 00000000..3f4a79d6 --- /dev/null +++ b/docs/d1/db0/json_8hpp__incl.md5 @@ -0,0 +1 @@ +8bf9ebe306cf83de65bd6758ab446aab \ No newline at end of file diff --git a/docs/d1/db0/json_8hpp__incl.png b/docs/d1/db0/json_8hpp__incl.png new file mode 100644 index 00000000..adf1e099 Binary files /dev/null and b/docs/d1/db0/json_8hpp__incl.png differ diff --git a/docs/d1/de7/cudnn__frontend__ConvDesc_8h_source.html b/docs/d1/de7/cudnn__frontend__ConvDesc_8h_source.html index c0fed410..8d26fa1b 100644 --- a/docs/d1/de7/cudnn__frontend__ConvDesc_8h_source.html +++ b/docs/d1/de7/cudnn__frontend__ConvDesc_8h_source.html @@ -84,8 +84,9 @@
cudnn_frontend_ConvDesc.h
-Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20  * DEALINGS IN THE SOFTWARE.
21  */
22 
23 #pragma once
24 
25 #include <algorithm>
26 #include <array>
27 #include <functional>
28 #include <memory>
29 #include <sstream>
30 #include <utility>
31 
32 #include <cudnn.h>
33 #include <cudnn_backend.h>
34 
35 #include "cudnn_frontend_utils.h"
36 
37 namespace cudnn_frontend {
38 
55  public:
56  friend class ConvDescBuilder_v8;
57  std::string
58  describe() const override {
59  std::stringstream ss;
60  char sep = ' ';
61  ss << "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR :"
62  << " Datatype: " << std::to_string(data_type) << " Mode: " << std::to_string(mode)
63  << " Num Dimensions: " << std::to_string(nDims);
64  ss << " PadLower [";
65  std::for_each(std::begin(padLower), std::end(padLower), [&ss, sep](int x) mutable {
66  ss << sep << x;
67  sep = ',';
68  });
69  ss << " ] PadUpper [";
70  std::for_each(std::begin(padUpper), std::end(padUpper), [&ss, sep](int x) mutable {
71  ss << sep << x;
72  sep = ',';
73  });
74  ss << " ] Dilation [";
75  std::for_each(std::begin(dilation), std::end(dilation), [&ss, sep](int x) mutable {
76  ss << sep << x;
77  sep = ',';
78  });
79  ss << " ] Stride [";
80  std::for_each(std::begin(stride), std::end(stride), [&ss, sep](int x) mutable {
81  ss << sep << x;
82  sep = ',';
83  });
84  ss << "]";
85  return ss.str();
86  }
87 
89  : BackendDescriptor(from.get_desc(), from.get_status(), from.get_error()),
90  data_type(from.data_type),
91  mode(from.mode),
92  nDims(from.nDims) {
93  std::copy(std::begin(from.padLower), std::end(from.padLower), padLower);
94  std::copy(std::begin(from.padUpper), std::end(from.padUpper), padUpper);
95  std::copy(std::begin(from.dilation), std::end(from.dilation), dilation);
96  std::copy(std::begin(from.stride), std::end(from.stride), stride);
97  }
98 
99  ~ConvDesc_v8() = default;
100 
101  private:
102  ConvDesc_v8() = default;
103  ConvDesc_v8(ConvDesc_v8 const &) = delete;
104  ConvDesc_v8 &
105  operator=(ConvDesc_v8 const &) = delete;
106 
107  cudnnDataType_t data_type = CUDNN_DATA_FLOAT;
108  cudnnConvolutionMode_t mode = CUDNN_CONVOLUTION;
109  int64_t nDims = -1;
110  int64_t padLower[CUDNN_DIM_MAX + 1] = {0};
111  int64_t padUpper[CUDNN_DIM_MAX + 1] = {0};
112  int64_t dilation[CUDNN_DIM_MAX + 1] = {0};
113  int64_t stride[CUDNN_DIM_MAX + 1] = {-1};
114 };
115 
120  public:
125  auto
127  setDataType(cudnnDataType_t data_type_) -> ConvDescBuilder_v8 & {
128  m_convDesc.data_type = data_type_;
129  return *this;
130  }
132  auto
133  setPrePadding(int64_t ndims, int64_t const *padding) -> ConvDescBuilder_v8 & {
134  std::copy(padding, padding + ndims, m_convDesc.padLower);
135  return *this;
136  }
138  auto
139  setPostPadding(int64_t ndims, int64_t const *padding) -> ConvDescBuilder_v8 & {
140  std::copy(padding, padding + ndims, m_convDesc.padUpper);
141  return *this;
142  }
144  auto
145  setDilation(int64_t ndims, int64_t const *dilation) -> ConvDescBuilder_v8 & {
146  std::copy(dilation, dilation + ndims, m_convDesc.dilation);
147  return *this;
148  }
150  auto
151  setStrides(int64_t ndims, int64_t const *strides) -> ConvDescBuilder_v8 & {
152  std::copy(strides, strides + ndims, m_convDesc.stride);
153  return *this;
154  }
156  auto
157  setNDims(int64_t nDims_) -> ConvDescBuilder_v8 & {
158  m_convDesc.nDims = nDims_;
159  return *this;
160  }
162  auto
163  setMathMode(cudnnConvolutionMode_t mode_) -> ConvDescBuilder_v8 & {
164  m_convDesc.mode = mode_;
165  return *this;
166  }
169  ConvDesc_v8 &&
172  build() {
173  // Sanity check if non-default fields have been set correctly.
174  if (m_convDesc.nDims <= 0) {
176  &m_convDesc,
177  CUDNN_STATUS_BAD_PARAM,
178  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: Check and Set the CUDNN_ATTR_CONVOLUTION_SPATIAL_DIMS field");
179  return std::move(m_convDesc);
180  };
181  if (m_convDesc.stride[0] <= 0) {
183  &m_convDesc,
184  CUDNN_STATUS_BAD_PARAM,
185  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: Check and Set the CUDNN_ATTR_CONVOLUTION_FILTER_STRIDES field");
186  return std::move(m_convDesc);
187  }
188 
189  // Create a descriptor. Memory allocation happens here.
190  auto status = m_convDesc.initialize_managed_backend_pointer(CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR);
191  if (status != CUDNN_STATUS_SUCCESS) {
193  &m_convDesc, status, "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: Bad descriptor created");
194  return std::move(m_convDesc);
195  }
196 
197  if (status != CUDNN_STATUS_SUCCESS) {
199  &m_convDesc, status, "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: cudnnCreate Failed");
200  return std::move(m_convDesc);
201  }
202 
203  // Once Created lets set the descriptor parameters.
204  status = cudnnBackendSetAttribute(m_convDesc.pointer->get_backend_descriptor(),
205  CUDNN_ATTR_CONVOLUTION_COMP_TYPE,
206  CUDNN_TYPE_DATA_TYPE,
207  1,
208  &m_convDesc.data_type);
209  if (status != CUDNN_STATUS_SUCCESS) {
211  &m_convDesc,
212  status,
213  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: SetAttribute CUDNN_ATTR_CONVOLUTION_COMP_TYPE Failed");
214  return std::move(m_convDesc);
215  }
216 
217  status = cudnnBackendSetAttribute(m_convDesc.pointer->get_backend_descriptor(),
218  CUDNN_ATTR_CONVOLUTION_CONV_MODE,
219  CUDNN_TYPE_CONVOLUTION_MODE,
220  1,
221  &m_convDesc.mode);
222  if (status != CUDNN_STATUS_SUCCESS) {
224  &m_convDesc,
225  status,
226  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: SetAttribute CUDNN_ATTR_CONVOLUTION_CONV_MODE Failed");
227  return std::move(m_convDesc);
228  }
229 
230  status = cudnnBackendSetAttribute(m_convDesc.pointer->get_backend_descriptor(),
231  CUDNN_ATTR_CONVOLUTION_SPATIAL_DIMS,
232  CUDNN_TYPE_INT64,
233  1,
234  &m_convDesc.nDims);
235  if (status != CUDNN_STATUS_SUCCESS) {
237  &m_convDesc,
238  status,
239  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: SetAttribute CUDNN_ATTR_CONVOLUTION_SPATIAL_DIMS Failed");
240  return std::move(m_convDesc);
241  }
242 
243  status = cudnnBackendSetAttribute(m_convDesc.pointer->get_backend_descriptor(),
244  CUDNN_ATTR_CONVOLUTION_PRE_PADDINGS,
245  CUDNN_TYPE_INT64,
246  m_convDesc.nDims,
247  m_convDesc.padLower);
248  if (status != CUDNN_STATUS_SUCCESS) {
250  &m_convDesc,
251  status,
252  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: SetAttribute CUDNN_ATTR_CONVOLUTION_PRE_PADDINGS Failed");
253  return std::move(m_convDesc);
254  }
255 
256  status = cudnnBackendSetAttribute(m_convDesc.pointer->get_backend_descriptor(),
257  CUDNN_ATTR_CONVOLUTION_POST_PADDINGS,
258  CUDNN_TYPE_INT64,
259  m_convDesc.nDims,
260  m_convDesc.padUpper);
261  if (status != CUDNN_STATUS_SUCCESS) {
263  &m_convDesc,
264  status,
265  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: SetAttribute CUDNN_ATTR_CONVOLUTION_POST_PADDINGS Failed");
266  return std::move(m_convDesc);
267  }
268 
269  status = cudnnBackendSetAttribute(m_convDesc.pointer->get_backend_descriptor(),
270  CUDNN_ATTR_CONVOLUTION_DILATIONS,
271  CUDNN_TYPE_INT64,
272  m_convDesc.nDims,
273  m_convDesc.dilation);
274  if (status != CUDNN_STATUS_SUCCESS) {
276  &m_convDesc,
277  status,
278  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: SetAttribute CUDNN_ATTR_CONVOLUTION_DILATIONS Failed");
279  return std::move(m_convDesc);
280  }
281 
282  status = cudnnBackendSetAttribute(m_convDesc.pointer->get_backend_descriptor(),
283  CUDNN_ATTR_CONVOLUTION_FILTER_STRIDES,
284  CUDNN_TYPE_INT64,
285  m_convDesc.nDims,
286  m_convDesc.stride);
287  if (status != CUDNN_STATUS_SUCCESS) {
289  &m_convDesc,
290  status,
291  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: SetAttribute CUDNN_ATTR_CONVOLUTION_FILTER_STRIDES Failed");
292  return std::move(m_convDesc);
293  }
294 
295  // Finalizing the descriptor
296  status = cudnnBackendFinalize(m_convDesc.pointer->get_backend_descriptor());
297  if (status != CUDNN_STATUS_SUCCESS) {
299  &m_convDesc, status, "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: cudnnFinalize Failed");
300  return std::move(m_convDesc);
301  }
302 
303  return std::move(m_convDesc);
304  }
305 
306  explicit ConvDescBuilder_v8() = default;
307  ~ConvDescBuilder_v8() = default;
309  ConvDescBuilder_v8(ConvDescBuilder_v8 const &) = delete;
311  operator=(ConvDescBuilder_v8 const &) = delete;
312 
313  private:
315 };
316 }
int64_t padUpper[CUDNN_DIM_MAX+1]
n, g, c, d, h, w
+Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20  * DEALINGS IN THE SOFTWARE.
21  */
22 
23 #pragma once
24 
25 #include <algorithm>
26 #include <array>
27 #include <functional>
28 #include <memory>
29 #include <sstream>
30 #include <utility>
31 
32 #include <cudnn.h>
33 #include <cudnn_backend.h>
34 
35 #include "cudnn_frontend_utils.h"
36 
37 namespace cudnn_frontend {
38 
55  public:
56  friend class ConvDescBuilder_v8;
57  std::string
58  describe() const override {
59  std::stringstream ss;
60  char sep = ' ';
61  ss << "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR :"
62  << " Datatype: " << std::to_string(data_type) << " Mode: " << std::to_string(mode)
63  << " Num Dimensions: " << std::to_string(nDims);
64  ss << " PadLower [";
65  std::for_each(std::begin(padLower), std::end(padLower), [&ss, sep](int x) mutable {
66  ss << sep << x;
67  sep = ',';
68  });
69  ss << " ] PadUpper [";
70  std::for_each(std::begin(padUpper), std::end(padUpper), [&ss, sep](int x) mutable {
71  ss << sep << x;
72  sep = ',';
73  });
74  ss << " ] Dilation [";
75  std::for_each(std::begin(dilation), std::end(dilation), [&ss, sep](int x) mutable {
76  ss << sep << x;
77  sep = ',';
78  });
79  ss << " ] Stride [";
80  std::for_each(std::begin(stride), std::end(stride), [&ss, sep](int x) mutable {
81  ss << sep << x;
82  sep = ',';
83  });
84  ss << "]";
85  return ss.str();
86  }
87 
89  : BackendDescriptor(from.get_desc(), from.get_status(), from.get_error()),
90  data_type(from.data_type),
91  mode(from.mode),
92  nDims(from.nDims) {
93  std::copy(std::begin(from.padLower), std::end(from.padLower), padLower);
94  std::copy(std::begin(from.padUpper), std::end(from.padUpper), padUpper);
95  std::copy(std::begin(from.dilation), std::end(from.dilation), dilation);
96  std::copy(std::begin(from.stride), std::end(from.stride), stride);
97  }
98 
99  ~ConvDesc_v8() = default;
100 
101  private:
102  ConvDesc_v8() = default;
103  ConvDesc_v8(ConvDesc_v8 const &) = delete;
104  ConvDesc_v8 &
105  operator=(ConvDesc_v8 const &) = delete;
106 
107  cudnnDataType_t data_type = CUDNN_DATA_FLOAT;
108  cudnnConvolutionMode_t mode = CUDNN_CONVOLUTION;
109  int64_t nDims = -1;
110  int64_t padLower[CUDNN_DIM_MAX + 1] = {0};
111  int64_t padUpper[CUDNN_DIM_MAX + 1] = {0};
112  int64_t dilation[CUDNN_DIM_MAX + 1] = {0};
113  int64_t stride[CUDNN_DIM_MAX + 1] = {-1};
114 };
115 
120  public:
125  auto
127  setDataType(cudnnDataType_t data_type_) -> ConvDescBuilder_v8 & {
128  m_convDesc.data_type = data_type_;
129  return *this;
130  }
132  auto
133  setPrePadding(int64_t ndims, int64_t const *padding) -> ConvDescBuilder_v8 & {
134  std::copy(padding, padding + ndims, m_convDesc.padLower);
135  return *this;
136  }
138  auto
139  setPostPadding(int64_t ndims, int64_t const *padding) -> ConvDescBuilder_v8 & {
140  std::copy(padding, padding + ndims, m_convDesc.padUpper);
141  return *this;
142  }
144  auto
145  setDilation(int64_t ndims, int64_t const *dilation) -> ConvDescBuilder_v8 & {
146  std::copy(dilation, dilation + ndims, m_convDesc.dilation);
147  return *this;
148  }
150  auto
151  setStrides(int64_t ndims, int64_t const *strides) -> ConvDescBuilder_v8 & {
152  std::copy(strides, strides + ndims, m_convDesc.stride);
153  return *this;
154  }
156  auto
157  setNDims(int64_t nDims_) -> ConvDescBuilder_v8 & {
158  m_convDesc.nDims = nDims_;
159  return *this;
160  }
162  auto
163  setMathMode(cudnnConvolutionMode_t mode_) -> ConvDescBuilder_v8 & {
164  m_convDesc.mode = mode_;
165  return *this;
166  }
169  ConvDesc_v8 &&
172  build() {
173  // Sanity check if non-default fields have been set correctly.
174  if (m_convDesc.nDims <= 0) {
176  &m_convDesc,
177  CUDNN_STATUS_BAD_PARAM,
178  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: Check and Set the CUDNN_ATTR_CONVOLUTION_SPATIAL_DIMS field");
179  return std::move(m_convDesc);
180  };
181  if (m_convDesc.stride[0] <= 0) {
183  &m_convDesc,
184  CUDNN_STATUS_BAD_PARAM,
185  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: Check and Set the CUDNN_ATTR_CONVOLUTION_FILTER_STRIDES field");
186  return std::move(m_convDesc);
187  }
188 
189  // Create a descriptor. Memory allocation happens here.
190  auto status = m_convDesc.initialize_managed_backend_pointer(CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR);
191  if (status != CUDNN_STATUS_SUCCESS) {
193  &m_convDesc, status, "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: Bad descriptor created");
194  return std::move(m_convDesc);
195  }
196 
197  if (status != CUDNN_STATUS_SUCCESS) {
199  &m_convDesc, status, "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: cudnnCreate Failed");
200  return std::move(m_convDesc);
201  }
202 
203  // Once Created lets set the descriptor parameters.
204  status = cudnnBackendSetAttribute(m_convDesc.pointer->get_backend_descriptor(),
205  CUDNN_ATTR_CONVOLUTION_COMP_TYPE,
206  CUDNN_TYPE_DATA_TYPE,
207  1,
208  &m_convDesc.data_type);
209  if (status != CUDNN_STATUS_SUCCESS) {
211  &m_convDesc,
212  status,
213  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: SetAttribute CUDNN_ATTR_CONVOLUTION_COMP_TYPE Failed");
214  return std::move(m_convDesc);
215  }
216 
217  status = cudnnBackendSetAttribute(m_convDesc.pointer->get_backend_descriptor(),
218  CUDNN_ATTR_CONVOLUTION_CONV_MODE,
219  CUDNN_TYPE_CONVOLUTION_MODE,
220  1,
221  &m_convDesc.mode);
222  if (status != CUDNN_STATUS_SUCCESS) {
224  &m_convDesc,
225  status,
226  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: SetAttribute CUDNN_ATTR_CONVOLUTION_CONV_MODE Failed");
227  return std::move(m_convDesc);
228  }
229 
230  status = cudnnBackendSetAttribute(m_convDesc.pointer->get_backend_descriptor(),
231  CUDNN_ATTR_CONVOLUTION_SPATIAL_DIMS,
232  CUDNN_TYPE_INT64,
233  1,
234  &m_convDesc.nDims);
235  if (status != CUDNN_STATUS_SUCCESS) {
237  &m_convDesc,
238  status,
239  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: SetAttribute CUDNN_ATTR_CONVOLUTION_SPATIAL_DIMS Failed");
240  return std::move(m_convDesc);
241  }
242 
243  status = cudnnBackendSetAttribute(m_convDesc.pointer->get_backend_descriptor(),
244  CUDNN_ATTR_CONVOLUTION_PRE_PADDINGS,
245  CUDNN_TYPE_INT64,
246  m_convDesc.nDims,
247  m_convDesc.padLower);
248  if (status != CUDNN_STATUS_SUCCESS) {
250  &m_convDesc,
251  status,
252  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: SetAttribute CUDNN_ATTR_CONVOLUTION_PRE_PADDINGS Failed");
253  return std::move(m_convDesc);
254  }
255 
256  status = cudnnBackendSetAttribute(m_convDesc.pointer->get_backend_descriptor(),
257  CUDNN_ATTR_CONVOLUTION_POST_PADDINGS,
258  CUDNN_TYPE_INT64,
259  m_convDesc.nDims,
260  m_convDesc.padUpper);
261  if (status != CUDNN_STATUS_SUCCESS) {
263  &m_convDesc,
264  status,
265  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: SetAttribute CUDNN_ATTR_CONVOLUTION_POST_PADDINGS Failed");
266  return std::move(m_convDesc);
267  }
268 
269  status = cudnnBackendSetAttribute(m_convDesc.pointer->get_backend_descriptor(),
270  CUDNN_ATTR_CONVOLUTION_DILATIONS,
271  CUDNN_TYPE_INT64,
272  m_convDesc.nDims,
273  m_convDesc.dilation);
274  if (status != CUDNN_STATUS_SUCCESS) {
276  &m_convDesc,
277  status,
278  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: SetAttribute CUDNN_ATTR_CONVOLUTION_DILATIONS Failed");
279  return std::move(m_convDesc);
280  }
281 
282  status = cudnnBackendSetAttribute(m_convDesc.pointer->get_backend_descriptor(),
283  CUDNN_ATTR_CONVOLUTION_FILTER_STRIDES,
284  CUDNN_TYPE_INT64,
285  m_convDesc.nDims,
286  m_convDesc.stride);
287  if (status != CUDNN_STATUS_SUCCESS) {
289  &m_convDesc,
290  status,
291  "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: SetAttribute CUDNN_ATTR_CONVOLUTION_FILTER_STRIDES Failed");
292  return std::move(m_convDesc);
293  }
294 
295  // Finalizing the descriptor
296  status = cudnnBackendFinalize(m_convDesc.pointer->get_backend_descriptor());
297  if (status != CUDNN_STATUS_SUCCESS) {
299  &m_convDesc, status, "CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR: cudnnFinalize Failed");
300  return std::move(m_convDesc);
301  }
302 
303  return std::move(m_convDesc);
304  }
305 
306  explicit ConvDescBuilder_v8() = default;
307  ~ConvDescBuilder_v8() = default;
309  ConvDescBuilder_v8(ConvDescBuilder_v8 const &) = delete;
311  operator=(ConvDescBuilder_v8 const &) = delete;
312 
313  private:
315 };
316 }
int64_t padUpper[CUDNN_DIM_MAX+1]
n, g, c, d, h, w
static void set_error_and_throw_exception(BackendDescriptor const *desc, cudnnStatus_t status, const char *message)
+
NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string to_string(const NLOHMANN_BASIC_JSON_TPL &j)
user-defined to_string function for JSON values
Definition: json.hpp:25855
diff --git a/docs/d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html b/docs/d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html new file mode 100644 index 00000000..c16153e7 --- /dev/null +++ b/docs/d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html @@ -0,0 +1,381 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType > Class Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType > Class Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >:
+
+
Collaboration graph
+ + + +
+ + + + +

+Public Types

using char_type = char
 
+ + + + + +

+Public Member Functions

 wide_string_input_adapter (BaseInputAdapter base)
 
std::char_traits< char >::int_type get_character () noexcept
 
+ + + + +

+Private Member Functions

template<size_t T>
void fill_buffer ()
 
+ + + + + + + + + + + + +

+Private Attributes

BaseInputAdapter base_adapter
 
std::array< std::char_traits< char >::int_type, 4 > utf8_bytes = {{0, 0, 0, 0}}
 a buffer for UTF-8 bytes More...
 
std::size_t utf8_bytes_index = 0
 index to the utf8_codes array for the next valid byte More...
 
std::size_t utf8_bytes_filled = 0
 number of valid bytes in the utf8_codes array More...
 
+

Detailed Description

+

template<typename BaseInputAdapter, typename WideCharType>
+class nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >

+ + +

Definition at line 5511 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ char_type

+ +
+
+
+template<typename BaseInputAdapter , typename WideCharType >
+ + + + +
using nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::char_type = char
+
+ +

Definition at line 5514 of file json.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ wide_string_input_adapter()

+ +
+
+
+template<typename BaseInputAdapter , typename WideCharType >
+ + + + + +
+ + + + + + + + +
nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::wide_string_input_adapter (BaseInputAdapter base)
+
+inline
+
+ +

Definition at line 5516 of file json.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ fill_buffer()

+ +
+
+
+template<typename BaseInputAdapter , typename WideCharType >
+
+template<size_t T>
+ + + + + +
+ + + + + + + +
void nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::fill_buffer ()
+
+inlineprivate
+
+ +

Definition at line 5540 of file json.hpp.

+ +
+
+ +

◆ get_character()

+ +
+
+
+template<typename BaseInputAdapter , typename WideCharType >
+ + + + + +
+ + + + + + + +
std::char_traits<char>::int_type nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::get_character ()
+
+inlinenoexcept
+
+ +

Definition at line 5519 of file json.hpp.

+ +

References JSON_ASSERT.

+ +
+
+

Member Data Documentation

+ +

◆ base_adapter

+ +
+
+
+template<typename BaseInputAdapter , typename WideCharType >
+ + + + + +
+ + + + +
BaseInputAdapter nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::base_adapter
+
+private
+
+ +

Definition at line 5537 of file json.hpp.

+ +
+
+ +

◆ utf8_bytes

+ +
+
+
+template<typename BaseInputAdapter , typename WideCharType >
+ + + + + +
+ + + + +
std::array<std::char_traits<char>::int_type, 4> nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::utf8_bytes = {{0, 0, 0, 0}}
+
+private
+
+ +

a buffer for UTF-8 bytes

+ +

Definition at line 5546 of file json.hpp.

+ +
+
+ +

◆ utf8_bytes_filled

+ +
+
+
+template<typename BaseInputAdapter , typename WideCharType >
+ + + + + +
+ + + + +
std::size_t nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::utf8_bytes_filled = 0
+
+private
+
+ +

number of valid bytes in the utf8_codes array

+ +

Definition at line 5551 of file json.hpp.

+ +
+
+ +

◆ utf8_bytes_index

+ +
+
+
+template<typename BaseInputAdapter , typename WideCharType >
+ + + + + +
+ + + + +
std::size_t nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::utf8_bytes_index = 0
+
+private
+
+ +

index to the utf8_codes array for the next valid byte

+ +

Definition at line 5549 of file json.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/docs/d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.js b/docs/d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.js new file mode 100644 index 00000000..ea047d96 --- /dev/null +++ b/docs/d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.js @@ -0,0 +1,11 @@ +var classnlohmann_1_1detail_1_1wide__string__input__adapter = +[ + [ "char_type", "d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a7b9f8684206b5dadf0e96986577dfc24", null ], + [ "wide_string_input_adapter", "d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#aa12146f16f0a22ae3d23bd4af7460fcd", null ], + [ "fill_buffer", "d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a1e797f94449c5c3e68ab468d8caf0db6", null ], + [ "get_character", "d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a50f9436820b9caa9708ea69e2ba0230b", null ], + [ "base_adapter", "d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a6951ed130bc49fbee6e434b62ed187ac", null ], + [ "utf8_bytes", "d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#af6bded96214b2fe8edd142d92141550e", null ], + [ "utf8_bytes_filled", "d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a8966550e615e62978b01d3a252b9c649", null ], + [ "utf8_bytes_index", "d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a2a1884713fedff6c17cdbbe63070d1ac", null ] +]; \ No newline at end of file diff --git a/docs/d2/d0e/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.map b/docs/d2/d0e/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.map new file mode 100644 index 00000000..6cc3d658 --- /dev/null +++ b/docs/d2/d0e/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d2/d0e/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.md5 b/docs/d2/d0e/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.md5 new file mode 100644 index 00000000..096aff53 --- /dev/null +++ b/docs/d2/d0e/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.md5 @@ -0,0 +1 @@ +bbc67d5eb04610dadf9f141c718aabc1 \ No newline at end of file diff --git a/docs/d2/d0e/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.png b/docs/d2/d0e/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.png new file mode 100644 index 00000000..e0007705 Binary files /dev/null and b/docs/d2/d0e/structnlohmann_1_1detail_1_1is__compatible__object__type__coll__graph.png differ diff --git a/docs/d2/d12/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.map b/docs/d2/d12/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.map new file mode 100644 index 00000000..0898b243 --- /dev/null +++ b/docs/d2/d12/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d2/d12/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.md5 b/docs/d2/d12/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.md5 new file mode 100644 index 00000000..52b35d6c --- /dev/null +++ b/docs/d2/d12/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.md5 @@ -0,0 +1 @@ +275d438f1bba99c75bea6258e8ddd0ee \ No newline at end of file diff --git a/docs/d2/d12/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.png b/docs/d2/d12/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.png new file mode 100644 index 00000000..4824e817 Binary files /dev/null and b/docs/d2/d12/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.png differ diff --git a/docs/d2/d14/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.map b/docs/d2/d14/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.map new file mode 100644 index 00000000..4862b667 --- /dev/null +++ b/docs/d2/d14/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d2/d14/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.md5 b/docs/d2/d14/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.md5 new file mode 100644 index 00000000..44266391 --- /dev/null +++ b/docs/d2/d14/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.md5 @@ -0,0 +1 @@ +2dc6a29f455f343627184dab6265a18d \ No newline at end of file diff --git a/docs/d2/d14/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.png b/docs/d2/d14/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.png new file mode 100644 index 00000000..c3ac2cbc Binary files /dev/null and b/docs/d2/d14/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4__coll__graph.png differ diff --git a/docs/d2/d18/structnlohmann_1_1detail_1_1is__constructible__coll__graph.map b/docs/d2/d18/structnlohmann_1_1detail_1_1is__constructible__coll__graph.map new file mode 100644 index 00000000..2487faa8 --- /dev/null +++ b/docs/d2/d18/structnlohmann_1_1detail_1_1is__constructible__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d2/d18/structnlohmann_1_1detail_1_1is__constructible__coll__graph.md5 b/docs/d2/d18/structnlohmann_1_1detail_1_1is__constructible__coll__graph.md5 new file mode 100644 index 00000000..553897fb --- /dev/null +++ b/docs/d2/d18/structnlohmann_1_1detail_1_1is__constructible__coll__graph.md5 @@ -0,0 +1 @@ +475de8af4bd8709c304e7152d3f976f3 \ No newline at end of file diff --git a/docs/d2/d18/structnlohmann_1_1detail_1_1is__constructible__coll__graph.png b/docs/d2/d18/structnlohmann_1_1detail_1_1is__constructible__coll__graph.png new file mode 100644 index 00000000..57db828f Binary files /dev/null and b/docs/d2/d18/structnlohmann_1_1detail_1_1is__constructible__coll__graph.png differ diff --git a/docs/d2/d19/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte12ffbe447da1dfb294310c1d676f0db1.map b/docs/d2/d19/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte12ffbe447da1dfb294310c1d676f0db1.map new file mode 100644 index 00000000..b93eb93e --- /dev/null +++ b/docs/d2/d19/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte12ffbe447da1dfb294310c1d676f0db1.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d2/d19/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte12ffbe447da1dfb294310c1d676f0db1.md5 b/docs/d2/d19/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte12ffbe447da1dfb294310c1d676f0db1.md5 new file mode 100644 index 00000000..5c43c740 --- /dev/null +++ b/docs/d2/d19/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte12ffbe447da1dfb294310c1d676f0db1.md5 @@ -0,0 +1 @@ +117b2f37ae2ed5cbe3a255ed771adc2d \ No newline at end of file diff --git a/docs/d2/d19/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte12ffbe447da1dfb294310c1d676f0db1.png b/docs/d2/d19/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte12ffbe447da1dfb294310c1d676f0db1.png new file mode 100644 index 00000000..e8a97434 Binary files /dev/null and b/docs/d2/d19/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte12ffbe447da1dfb294310c1d676f0db1.png differ diff --git a/docs/d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html b/docs/d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html new file mode 100644 index 00000000..e0551f92 --- /dev/null +++ b/docs/d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html @@ -0,0 +1,669 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::json_sax_acceptor< BasicJsonType > Class Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::json_sax_acceptor< BasicJsonType > Class Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::json_sax_acceptor< BasicJsonType >:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + +

+Public Types

using number_integer_t = typename BasicJsonType::number_integer_t
 
using number_unsigned_t = typename BasicJsonType::number_unsigned_t
 
using number_float_t = typename BasicJsonType::number_float_t
 
using string_t = typename BasicJsonType::string_t
 
using binary_t = typename BasicJsonType::binary_t
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

bool null ()
 
bool boolean (bool)
 
bool number_integer (number_integer_t)
 
bool number_unsigned (number_unsigned_t)
 
bool number_float (number_float_t, const string_t &)
 
bool string (string_t &)
 
bool binary (binary_t &)
 
bool start_object (std::size_t=std::size_t(-1))
 
bool key (string_t &)
 
bool end_object ()
 
bool start_array (std::size_t=std::size_t(-1))
 
bool end_array ()
 
bool parse_error (std::size_t, const std::string &, const detail::exception &)
 
+

Detailed Description

+

template<typename BasicJsonType>
+class nlohmann::detail::json_sax_acceptor< BasicJsonType >

+ + +

Definition at line 6342 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ binary_t

+ +
+
+
+template<typename BasicJsonType>
+ + + + +
using nlohmann::detail::json_sax_acceptor< BasicJsonType >::binary_t = typename BasicJsonType::binary_t
+
+ +

Definition at line 6349 of file json.hpp.

+ +
+
+ +

◆ number_float_t

+ +
+
+
+template<typename BasicJsonType>
+ + + + +
using nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t
+
+ +

Definition at line 6347 of file json.hpp.

+ +
+
+ +

◆ number_integer_t

+ +
+
+
+template<typename BasicJsonType>
+ + + + +
using nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t
+
+ +

Definition at line 6345 of file json.hpp.

+ +
+
+ +

◆ number_unsigned_t

+ +
+
+
+template<typename BasicJsonType>
+ + + + +
using nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
+
+ +

Definition at line 6346 of file json.hpp.

+ +
+
+ +

◆ string_t

+ +
+
+
+template<typename BasicJsonType>
+ + + + +
using nlohmann::detail::json_sax_acceptor< BasicJsonType >::string_t = typename BasicJsonType::string_t
+
+ +

Definition at line 6348 of file json.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ binary()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::binary (binary_t)
+
+inline
+
+ +

Definition at line 6381 of file json.hpp.

+ +
+
+ +

◆ boolean()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::boolean (bool )
+
+inline
+
+ +

Definition at line 6356 of file json.hpp.

+ +
+
+ +

◆ end_array()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + +
bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::end_array ()
+
+inline
+
+ +

Definition at line 6406 of file json.hpp.

+ +
+
+ +

◆ end_object()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + +
bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::end_object ()
+
+inline
+
+ +

Definition at line 6396 of file json.hpp.

+ +
+
+ +

◆ key()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::key (string_t)
+
+inline
+
+ +

Definition at line 6391 of file json.hpp.

+ +
+
+ +

◆ null()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + +
bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::null ()
+
+inline
+
+ +

Definition at line 6351 of file json.hpp.

+ +
+
+ +

◆ number_float()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_float (number_float_t ,
const string_t 
)
+
+inline
+
+ +

Definition at line 6371 of file json.hpp.

+ +
+
+ +

◆ number_integer()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_integer (number_integer_t )
+
+inline
+
+ +

Definition at line 6361 of file json.hpp.

+ +
+
+ +

◆ number_unsigned()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_unsigned (number_unsigned_t )
+
+inline
+
+ +

Definition at line 6366 of file json.hpp.

+ +
+
+ +

◆ parse_error()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::parse_error (std::size_t ,
const std::string,
const detail::exception 
)
+
+inline
+
+ +

Definition at line 6411 of file json.hpp.

+ +
+
+ +

◆ start_array()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::start_array (std::size_t  = std::size_t(-1))
+
+inline
+
+ +

Definition at line 6401 of file json.hpp.

+ +
+
+ +

◆ start_object()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::start_object (std::size_t  = std::size_t(-1))
+
+inline
+
+ +

Definition at line 6386 of file json.hpp.

+ +
+
+ +

◆ string()

+ +
+
+
+template<typename BasicJsonType>
+ + + + + +
+ + + + + + + + +
bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::string (string_t)
+
+inline
+
+ +

Definition at line 6376 of file json.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/docs/d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.js b/docs/d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.js new file mode 100644 index 00000000..f7b05770 --- /dev/null +++ b/docs/d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.js @@ -0,0 +1,21 @@ +var classnlohmann_1_1detail_1_1json__sax__acceptor = +[ + [ "binary_t", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a56346d95ee4e539eaded2e6826fecf66", null ], + [ "number_float_t", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a5502f483fc60a1bcd73e0e46b6ab36e4", null ], + [ "number_integer_t", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a41876b17c0e8bdb55580eaf5e4e2ded8", null ], + [ "number_unsigned_t", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#ae07454608ea6f3cfb765f95e3c850043", null ], + [ "string_t", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a3a8078bbf865ec355106f6048241609a", null ], + [ "binary", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a3d193985aac764f99398e3ae8ba0c5db", null ], + [ "boolean", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a3f5fe42a9b195de8d251d6d98d5ee92c", null ], + [ "end_array", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a22ef94ca5476a9563dcaca15b7d6e654", null ], + [ "end_object", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a919645fd1827a561a994d70a435e3f19", null ], + [ "key", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a59e1ea5e9c8d25346a564bf9287a5c2a", null ], + [ "null", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#ad7ad55168af6e03ed8b844c94a17b9ce", null ], + [ "number_float", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#aebf8800023eb20d472f111f86b189e60", null ], + [ "number_integer", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a976bf4ce6e9a2ffe48f683ddff80af00", null ], + [ "number_unsigned", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#ad15b288f3351287edbe289502f595491", null ], + [ "parse_error", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a95bb3e8b6feaa523ecda8106fb5e38e3", null ], + [ "start_array", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a8238e8090cbb4ed8a22cbc97bfb833a5", null ], + [ "start_object", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a822bbca11a9fea0aa337018e351755f5", null ], + [ "string", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#aaa69255e757a6ecc4403a2aa4931fc60", null ] +]; \ No newline at end of file diff --git a/docs/d2/d2b/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4-members.html b/docs/d2/d2b/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4-members.html new file mode 100644 index 00000000..5114e5b1 --- /dev/null +++ b/docs/d2/d2b/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::external_constructor< value_t::boolean > Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::external_constructor< value_t::boolean >, including all inherited members.

+ + +
construct(BasicJsonType &j, typename BasicJsonType::boolean_t b) noexceptnlohmann::detail::external_constructor< value_t::boolean >inlinestatic
+
+ + + + diff --git a/docs/d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html b/docs/d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html new file mode 100644 index 00000000..03b8f8f3 --- /dev/null +++ b/docs/d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html @@ -0,0 +1,730 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::primitive_iterator_t Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::primitive_iterator_t Class Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::primitive_iterator_t:
+
+
Collaboration graph
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

constexpr difference_type get_value () const noexcept
 
void set_begin () noexcept
 set iterator to a defined beginning More...
 
void set_end () noexcept
 set iterator to a defined past the end More...
 
constexpr bool is_begin () const noexcept
 return whether the iterator can be dereferenced More...
 
constexpr bool is_end () const noexcept
 return whether the iterator is at end More...
 
primitive_iterator_t operator+ (difference_type n) noexcept
 
primitive_iterator_toperator++ () noexcept
 
primitive_iterator_t const operator++ (int) noexcept
 
primitive_iterator_toperator-- () noexcept
 
primitive_iterator_t const operator-- (int) noexcept
 
primitive_iterator_toperator+= (difference_type n) noexcept
 
primitive_iterator_toperator-= (difference_type n) noexcept
 
+ + + +

+Private Types

using difference_type = std::ptrdiff_t
 
+ + + +

+Private Attributes

JSON_PRIVATE_UNLESS_TESTED __pad0__: difference_type m_it = (std::numeric_limits<std::ptrdiff_t>::min)()
 
+ + + + + +

+Static Private Attributes

static constexpr difference_type begin_value = 0
 
static constexpr difference_type end_value = begin_value + 1
 
+ + + + + + + +

+Friends

constexpr bool operator== (primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
 
constexpr bool operator< (primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
 
constexpr difference_type operator- (primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
 
+

Detailed Description

+
+

Definition at line 11175 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ difference_type

+ +
+
+ + + + + +
+ + + + +
using nlohmann::detail::primitive_iterator_t::difference_type = std::ptrdiff_t
+
+private
+
+ +

Definition at line 11178 of file json.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ get_value()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr difference_type nlohmann::detail::primitive_iterator_t::get_value () const
+
+inlinenoexcept
+
+ +

Definition at line 11187 of file json.hpp.

+ +
+
+ +

◆ is_begin()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr bool nlohmann::detail::primitive_iterator_t::is_begin () const
+
+inlinenoexcept
+
+ +

return whether the iterator can be dereferenced

+ +

Definition at line 11205 of file json.hpp.

+ +
+
+ +

◆ is_end()

+ +
+
+ + + + + +
+ + + + + + + +
constexpr bool nlohmann::detail::primitive_iterator_t::is_end () const
+
+inlinenoexcept
+
+ +

return whether the iterator is at end

+ +

Definition at line 11211 of file json.hpp.

+ +
+
+ +

◆ operator+()

+ +
+
+ + + + + +
+ + + + + + + + +
primitive_iterator_t nlohmann::detail::primitive_iterator_t::operator+ (difference_type n)
+
+inlinenoexcept
+
+ +

Definition at line 11226 of file json.hpp.

+ +
+
+ +

◆ operator++() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
primitive_iterator_t& nlohmann::detail::primitive_iterator_t::operator++ ()
+
+inlinenoexcept
+
+ +

Definition at line 11238 of file json.hpp.

+ +
+
+ +

◆ operator++() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
primitive_iterator_t const nlohmann::detail::primitive_iterator_t::operator++ (int )
+
+inlinenoexcept
+
+ +

Definition at line 11244 of file json.hpp.

+ +
+
+ +

◆ operator+=()

+ +
+
+ + + + + +
+ + + + + + + + +
primitive_iterator_t& nlohmann::detail::primitive_iterator_t::operator+= (difference_type n)
+
+inlinenoexcept
+
+ +

Definition at line 11264 of file json.hpp.

+ +
+
+ +

◆ operator--() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
primitive_iterator_t& nlohmann::detail::primitive_iterator_t::operator-- ()
+
+inlinenoexcept
+
+ +

Definition at line 11251 of file json.hpp.

+ +
+
+ +

◆ operator--() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
primitive_iterator_t const nlohmann::detail::primitive_iterator_t::operator-- (int )
+
+inlinenoexcept
+
+ +

Definition at line 11257 of file json.hpp.

+ +
+
+ +

◆ operator-=()

+ +
+
+ + + + + +
+ + + + + + + + +
primitive_iterator_t& nlohmann::detail::primitive_iterator_t::operator-= (difference_type n)
+
+inlinenoexcept
+
+ +

Definition at line 11270 of file json.hpp.

+ +
+
+ +

◆ set_begin()

+ +
+
+ + + + + +
+ + + + + + + +
void nlohmann::detail::primitive_iterator_t::set_begin ()
+
+inlinenoexcept
+
+ +

set iterator to a defined beginning

+ +

Definition at line 11193 of file json.hpp.

+ +
+
+ +

◆ set_end()

+ +
+
+ + + + + +
+ + + + + + + +
void nlohmann::detail::primitive_iterator_t::set_end ()
+
+inlinenoexcept
+
+ +

set iterator to a defined past the end

+ +

Definition at line 11199 of file json.hpp.

+ +
+
+

Friends And Related Function Documentation

+ +

◆ operator-

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr difference_type operator- (primitive_iterator_t lhs,
primitive_iterator_t rhs 
)
+
+friend
+
+ +

Definition at line 11233 of file json.hpp.

+ +
+
+ +

◆ operator<

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr bool operator< (primitive_iterator_t lhs,
primitive_iterator_t rhs 
)
+
+friend
+
+ +

Definition at line 11221 of file json.hpp.

+ +
+
+ +

◆ operator==

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
constexpr bool operator== (primitive_iterator_t lhs,
primitive_iterator_t rhs 
)
+
+friend
+
+ +

Definition at line 11216 of file json.hpp.

+ +
+
+

Member Data Documentation

+ +

◆ __pad0__

+ +
+
+ + + + + +
+ + + + +
JSON_PRIVATE_UNLESS_TESTED nlohmann::detail::primitive_iterator_t::__pad0__
+
+private
+
+ +

Definition at line 11184 of file json.hpp.

+ +
+
+ +

◆ begin_value

+ +
+
+ + + + + +
+ + + + +
constexpr difference_type nlohmann::detail::primitive_iterator_t::begin_value = 0
+
+staticprivate
+
+ +

Definition at line 11179 of file json.hpp.

+ +
+
+ +

◆ end_value

+ +
+
+ + + + + +
+ + + + +
constexpr difference_type nlohmann::detail::primitive_iterator_t::end_value = begin_value + 1
+
+staticprivate
+
+ +

Definition at line 11180 of file json.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/docs/d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.js b/docs/d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.js new file mode 100644 index 00000000..9d1dc823 --- /dev/null +++ b/docs/d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.js @@ -0,0 +1,22 @@ +var classnlohmann_1_1detail_1_1primitive__iterator__t = +[ + [ "difference_type", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#af3db0d5c90de427d51645fe73a015553", null ], + [ "get_value", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#ae952990886ca1756229f916661a8af81", null ], + [ "is_begin", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a8d1a7d46b3fcd06edd034f04ededb5e4", null ], + [ "is_end", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a45a7e301c23b5b90417baf2277f40b1d", null ], + [ "operator+", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a00ce828d0fe58046c10e0445504df7bf", null ], + [ "operator++", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#ad26511012fc88f3ec5d9e1cb708732fd", null ], + [ "operator++", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aa011863621357b3cf891670bf63a48b1", null ], + [ "operator+=", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aee01535df0b3b40137d9241029a9a203", null ], + [ "operator--", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#abecbf0c73c7fe963a699738065177bc3", null ], + [ "operator--", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aef3b5dfeb2cb04dc9d0a024fc1898b98", null ], + [ "operator-=", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a0bf83ab08abe1ae4b51c790c85cdf151", null ], + [ "set_begin", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a9d9b005906106e12aed738f97d7fee42", null ], + [ "set_end", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#ad26a823483846a12d890c3feed3097eb", null ], + [ "operator-", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#ac6d902d6ec9a02dabed5452d3ae78f7e", null ], + [ "operator<", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a901a95e6d73c9509d3dcde914f6c8a9d", null ], + [ "operator==", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aae1e1e2ec0e229d1291d69de57d76bbe", null ], + [ "__pad0__", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#adc7b6ab7810f58afa4d6a5133995c9ba", null ], + [ "begin_value", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#afcb3bcf9da8aa95bd82067d1a67c2326", null ], + [ "end_value", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aa37c37da44f19e6ec1d7d4a9910511c7", null ] +]; \ No newline at end of file diff --git a/docs/d2/d2c/structnlohmann_1_1detail_1_1wide__string__input__helper.html b/docs/d2/d2c/structnlohmann_1_1detail_1_1wide__string__input__helper.html new file mode 100644 index 00000000..56506f9d --- /dev/null +++ b/docs/d2/d2c/structnlohmann_1_1detail_1_1wide__string__input__helper.html @@ -0,0 +1,117 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::wide_string_input_helper< BaseInputAdapter, T > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::wide_string_input_helper< BaseInputAdapter, T > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::wide_string_input_helper< BaseInputAdapter, T >:
+
+
Collaboration graph
+ + +
+

Detailed Description

+

template<typename BaseInputAdapter, size_t T>
+struct nlohmann::detail::wide_string_input_helper< BaseInputAdapter, T >

+ + +

Definition at line 5387 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html b/docs/d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html new file mode 100644 index 00000000..8f86beb0 --- /dev/null +++ b/docs/d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html @@ -0,0 +1,297 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::output_string_adapter< CharType, StringType > Class Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::output_string_adapter< CharType, StringType > Class Template Reference
+
+
+ +

output adapter for basic_string + More...

+ +

#include <json.hpp>

+
+Inheritance diagram for nlohmann::detail::output_string_adapter< CharType, StringType >:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for nlohmann::detail::output_string_adapter< CharType, StringType >:
+
+
Collaboration graph
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 output_string_adapter (StringType &s) noexcept
 
void write_character (CharType c) override
 
void write_characters (const CharType *s, std::size_t length) override
 
- Public Member Functions inherited from nlohmann::detail::output_adapter_protocol< CharType >
virtual ~output_adapter_protocol ()=default
 
 output_adapter_protocol ()=default
 
 output_adapter_protocol (const output_adapter_protocol &)=default
 
 output_adapter_protocol (output_adapter_protocol &&) noexcept=default
 
output_adapter_protocoloperator= (const output_adapter_protocol &)=default
 
output_adapter_protocoloperator= (output_adapter_protocol &&) noexcept=default
 
+ + + +

+Private Attributes

StringType & str
 
+

Detailed Description

+

template<typename CharType, typename StringType = std::basic_string<CharType>>
+class nlohmann::detail::output_string_adapter< CharType, StringType >

+ +

output adapter for basic_string

+ +

Definition at line 13203 of file json.hpp.

+

Constructor & Destructor Documentation

+ +

◆ output_string_adapter()

+ +
+
+
+template<typename CharType , typename StringType = std::basic_string<CharType>>
+ + + + + +
+ + + + + + + + +
nlohmann::detail::output_string_adapter< CharType, StringType >::output_string_adapter (StringType & s)
+
+inlineexplicitnoexcept
+
+ +

Definition at line 13206 of file json.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ write_character()

+ +
+
+
+template<typename CharType , typename StringType = std::basic_string<CharType>>
+ + + + + +
+ + + + + + + + +
void nlohmann::detail::output_string_adapter< CharType, StringType >::write_character (CharType c)
+
+inlineoverridevirtual
+
+ +

Implements nlohmann::detail::output_adapter_protocol< CharType >.

+ +

Definition at line 13210 of file json.hpp.

+ +

References JSON_HEDLEY_NON_NULL.

+ +
+
+ +

◆ write_characters()

+ +
+
+
+template<typename CharType , typename StringType = std::basic_string<CharType>>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void nlohmann::detail::output_string_adapter< CharType, StringType >::write_characters (const CharType * s,
std::size_t length 
)
+
+inlineoverridevirtual
+
+ +

Implements nlohmann::detail::output_adapter_protocol< CharType >.

+ +

Definition at line 13216 of file json.hpp.

+ +
+
+

Member Data Documentation

+ +

◆ str

+ +
+
+
+template<typename CharType , typename StringType = std::basic_string<CharType>>
+ + + + + +
+ + + + +
StringType& nlohmann::detail::output_string_adapter< CharType, StringType >::str
+
+private
+
+ +

Definition at line 13222 of file json.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/docs/d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.js b/docs/d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.js new file mode 100644 index 00000000..09bb1928 --- /dev/null +++ b/docs/d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.js @@ -0,0 +1,7 @@ +var classnlohmann_1_1detail_1_1output__string__adapter = +[ + [ "output_string_adapter", "d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html#af3a49ecd0d23fe56ac21e13d8752abc7", null ], + [ "write_character", "d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html#a2d76cc6c88ddbc196a63fcfcac9ee7d1", null ], + [ "write_characters", "d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html#ab5ea4da075305d225dfd84ad997e8747", null ], + [ "str", "d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html#ae57cf7d5c5ec641e25860bb9fb8e6cb9", null ] +]; \ No newline at end of file diff --git a/docs/d2/d3a/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.html b/docs/d2/d3a/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.html new file mode 100644 index 00000000..ad0dca04 --- /dev/null +++ b/docs/d2/d3a/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.html @@ -0,0 +1,126 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, typename > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, typename > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Inheritance diagram for nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, typename >:
+
+
Inheritance graph
+ + + + +
+
+Collaboration diagram for nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, typename >:
+
+
Collaboration graph
+ + +
+

Detailed Description

+

template<typename BasicJsonType, typename CompatibleStringType, typename = void>
+struct nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, typename >

+ + +

Definition at line 3681 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d2/d3b/cudnn__frontend__get__plan_8h.html b/docs/d2/d3b/cudnn__frontend__get__plan_8h.html index 925cb672..f5e4965c 100644 --- a/docs/d2/d3b/cudnn__frontend__get__plan_8h.html +++ b/docs/d2/d3b/cudnn__frontend__get__plan_8h.html @@ -92,23 +92,26 @@
- - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +
diff --git a/docs/d2/d3b/cudnn__frontend__get__plan_8h_source.html b/docs/d2/d3b/cudnn__frontend__get__plan_8h_source.html index 075d0437..4375d9a2 100644 --- a/docs/d2/d3b/cudnn__frontend__get__plan_8h_source.html +++ b/docs/d2/d3b/cudnn__frontend__get__plan_8h_source.html @@ -84,14 +84,14 @@
cudnn_frontend_get_plan.h
-Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20  * DEALINGS IN THE SOFTWARE.
21  */
22 
23 #pragma once
24 
26 
27 namespace cudnn_frontend {
28 
29 auto
30 EngineConfigGenerator::cudnnGetPlan(cudnnHandle_t handle, OperationGraph&& opGraph, Predicate pred)
31  -> executionPlans_t {
32  // Creating a set of execution plans that are supported.
33  executionPlans_t plans;
34  for (auto& engine_config : generate_engine_config(opGraph)) {
35 #ifndef NV_CUDNN_DISABLE_EXCEPTION
36  try {
37 #endif
38  plans.push_back(ExecutionPlanBuilder().setHandle(handle).setEngineConfig(engine_config).build());
39 #ifndef NV_CUDNN_DISABLE_EXCEPTION
40  } catch (cudnnException e) {
41  continue;
42  }
43 #endif
44  }
45  return filter(pred, plans);
46 }
47 }
std::function< bool(cudnn_frontend::ExecutionPlan const &plan)> Predicate
+Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20  * DEALINGS IN THE SOFTWARE.
21  */
22 
23 #pragma once
24 
26 
27 namespace cudnn_frontend {
28 
29 auto
30 EngineConfigGenerator::cudnnGetPlan(cudnnHandle_t handle, OperationGraph&& opGraph, Predicate pred)
31  -> executionPlans_t {
32  // Creating a set of execution plans that are supported.
33  executionPlans_t plans;
34  for (auto& engine_config : generate_engine_config(opGraph)) {
35 #ifndef NV_CUDNN_DISABLE_EXCEPTION
36  try {
37 #endif
38  plans.push_back(ExecutionPlanBuilder().setHandle(handle).setEngineConfig(engine_config, opGraph.getTag()).build());
39 #ifndef NV_CUDNN_DISABLE_EXCEPTION
40  } catch (cudnnException &e) {
41  continue;
42  }
43 #endif
44  }
45  return filter(pred, plans);
46 }
47 }
std::function< bool(cudnn_frontend::ExecutionPlan const &plan)> Predicate
std::vector< cudnn_frontend::ExecutionPlan > executionPlans_t
auto cudnnGetPlan(cudnnHandle_t handle, cudnn_frontend::OperationGraph &&opGraph, Predicate pred) -> executionPlans_t
Returns the concatenated plan in the order of heuristic results.
auto filter(Predicate pred, executionPlans_t &plans) -> executionPlans_t
-
ExecutionPlanBuilder_v8 ExecutionPlanBuilder
+
ExecutionPlanBuilder_v8 ExecutionPlanBuilder
diff --git a/docs/d2/d4b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.map b/docs/d2/d4b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.map new file mode 100644 index 00000000..caf1e356 --- /dev/null +++ b/docs/d2/d4b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d2/d4b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.md5 b/docs/d2/d4b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.md5 new file mode 100644 index 00000000..3a8050a4 --- /dev/null +++ b/docs/d2/d4b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +555b62fe264062b844ce2f930cdea974 \ No newline at end of file diff --git a/docs/d2/d4b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.png b/docs/d2/d4b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.png new file mode 100644 index 00000000..7ee60519 Binary files /dev/null and b/docs/d2/d4b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__coll__graph.png differ diff --git a/docs/d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html b/docs/d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html new file mode 100644 index 00000000..411b7658 --- /dev/null +++ b/docs/d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html @@ -0,0 +1,178 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >:
+
+
Collaboration graph
+ + +
+ + + + +

+Public Types

using object_t = typename BasicJsonType::object_t
 
+ + + +

+Static Public Attributes

static constexpr bool value
 
+

Detailed Description

+

template<typename BasicJsonType, typename ConstructibleObjectType>
+struct nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >

+ + +

Definition at line 3651 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ object_t

+ +
+
+
+template<typename BasicJsonType , typename ConstructibleObjectType >
+ + + + +
using nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >::object_t = typename BasicJsonType::object_t
+
+ +

Definition at line 3656 of file json.hpp.

+ +
+
+

Member Data Documentation

+ +

◆ value

+ +
+
+
+template<typename BasicJsonType , typename ConstructibleObjectType >
+ + + + + +
+ + + + +
constexpr bool nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >::value
+
+static
+
+Initial value:
=
(std::is_move_assignable<ConstructibleObjectType>::value ||
std::is_copy_assignable<ConstructibleObjectType>::value) &&
(is_constructible<typename ConstructibleObjectType::key_type,
typename object_t::key_type>::value &&
std::is_same <
typename object_t::mapped_type,
typename ConstructibleObjectType::mapped_type >::value)) ||
(has_from_json<BasicJsonType,
typename ConstructibleObjectType::mapped_type>::value ||
has_non_default_from_json <
BasicJsonType,
typename ConstructibleObjectType::mapped_type >::value)
+

Definition at line 3658 of file json.hpp.

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.js b/docs/d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.js new file mode 100644 index 00000000..fb013b77 --- /dev/null +++ b/docs/d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.js @@ -0,0 +1,5 @@ +var structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c = +[ + [ "object_t", "d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html#ae335fdc59d1b0d79e52a808b71b11c67", null ], + [ "value", "d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html#a50418a0a88d63afbf7246af49f3e554c", null ] +]; \ No newline at end of file diff --git a/docs/d2/d57/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.map b/docs/d2/d57/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.map new file mode 100644 index 00000000..fae29cf6 --- /dev/null +++ b/docs/d2/d57/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d2/d57/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.md5 b/docs/d2/d57/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.md5 new file mode 100644 index 00000000..6a4c12ad --- /dev/null +++ b/docs/d2/d57/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +7cf89104bb2ad0a4c6c8f2c86867eff1 \ No newline at end of file diff --git a/docs/d2/d57/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.png b/docs/d2/d57/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.png new file mode 100644 index 00000000..5ddca645 Binary files /dev/null and b/docs/d2/d57/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.png differ diff --git a/docs/d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.html b/docs/d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.html new file mode 100644 index 00000000..95f9e133 --- /dev/null +++ b/docs/d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.html @@ -0,0 +1,145 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 >:
+
+
Collaboration graph
+ + +
+ + + + +

+Public Types

using type = integer_sequence< T, Ints...,(Ints+SeqSize)..., 2 *SeqSize >
 
+

Detailed Description

+

template<typename T, T... Ints, size_t SeqSize>
+struct nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 >

+ + +

Definition at line 3106 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ type

+ +
+
+
+template<typename T , T... Ints, size_t SeqSize>
+ + + + +
using nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 >::type = integer_sequence < T, Ints..., (Ints + SeqSize)..., 2 * SeqSize >
+
+ +

Definition at line 3108 of file json.hpp.

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.js b/docs/d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.js new file mode 100644 index 00000000..9a0012d8 --- /dev/null +++ b/docs/d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519 = +[ + [ "type", "d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.html#a92558ed5df85e65e1a68ec1de14e2a7c", null ] +]; \ No newline at end of file diff --git a/docs/d2/d62/structnlohmann_1_1detail_1_1static__const-members.html b/docs/d2/d62/structnlohmann_1_1detail_1_1static__const-members.html new file mode 100644 index 00000000..2e5d154b --- /dev/null +++ b/docs/d2/d62/structnlohmann_1_1detail_1_1static__const-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::static_const< T > Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::static_const< T >, including all inherited members.

+ + +
valuenlohmann::detail::static_const< T >static
+
+ + + + diff --git a/docs/d2/d66/classnlohmann_1_1detail_1_1json__ref__coll__graph.map b/docs/d2/d66/classnlohmann_1_1detail_1_1json__ref__coll__graph.map new file mode 100644 index 00000000..ab4053bd --- /dev/null +++ b/docs/d2/d66/classnlohmann_1_1detail_1_1json__ref__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d2/d66/classnlohmann_1_1detail_1_1json__ref__coll__graph.md5 b/docs/d2/d66/classnlohmann_1_1detail_1_1json__ref__coll__graph.md5 new file mode 100644 index 00000000..31c99252 --- /dev/null +++ b/docs/d2/d66/classnlohmann_1_1detail_1_1json__ref__coll__graph.md5 @@ -0,0 +1 @@ +c69c95e07c6d80e342a8f17608bb38e7 \ No newline at end of file diff --git a/docs/d2/d66/classnlohmann_1_1detail_1_1json__ref__coll__graph.png b/docs/d2/d66/classnlohmann_1_1detail_1_1json__ref__coll__graph.png new file mode 100644 index 00000000..2aaed03f Binary files /dev/null and b/docs/d2/d66/classnlohmann_1_1detail_1_1json__ref__coll__graph.png differ diff --git a/docs/d2/d66/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.map b/docs/d2/d66/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.map new file mode 100644 index 00000000..b743678c --- /dev/null +++ b/docs/d2/d66/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d2/d66/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.md5 b/docs/d2/d66/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.md5 new file mode 100644 index 00000000..9f9ff87a --- /dev/null +++ b/docs/d2/d66/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.md5 @@ -0,0 +1 @@ +2f8ba449486acc8ffa5c443f06dd169f \ No newline at end of file diff --git a/docs/d2/d66/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.png b/docs/d2/d66/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.png new file mode 100644 index 00000000..2b6f2d24 Binary files /dev/null and b/docs/d2/d66/classnlohmann_1_1detail_1_1output__vector__adapter__inherit__graph.png differ diff --git a/docs/d2/d67/classnlohmann_1_1detail_1_1out__of__range.html b/docs/d2/d67/classnlohmann_1_1detail_1_1out__of__range.html new file mode 100644 index 00000000..71146f4f --- /dev/null +++ b/docs/d2/d67/classnlohmann_1_1detail_1_1out__of__range.html @@ -0,0 +1,291 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::out_of_range Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::out_of_range Class Reference
+
+
+ +

exception indicating access out of the defined range + More...

+ +

#include <json.hpp>

+
+Inheritance diagram for nlohmann::detail::out_of_range:
+
+
Inheritance graph
+ + + + +
+
+Collaboration diagram for nlohmann::detail::out_of_range:
+
+
Collaboration graph
+ + + + + +
+ + + + + +

+Static Public Member Functions

template<typename BasicJsonType >
static out_of_range create (int id_, const std::string &what_arg, const BasicJsonType &context)
 
+ + + +

+Private Member Functions

 out_of_range (int id_, const char *what_arg)
 
+ + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Member Functions inherited from nlohmann::detail::exception
const char * what () const noexcept override
 returns the explanatory string More...
 
- Public Attributes inherited from nlohmann::detail::exception
const int id
 the id of the exception More...
 
- Protected Member Functions inherited from nlohmann::detail::exception
 exception (int id_, const char *what_arg)
 
- Static Protected Member Functions inherited from nlohmann::detail::exception
static std::string name (const std::string &ename, int id_)
 
template<typename BasicJsonType >
static std::string diagnostics (const BasicJsonType &leaf_element)
 
+

Detailed Description

+

exception indicating access out of the defined range

+

This exception is thrown in case a library function is called on an input parameter that exceeds the expected range, for instance in case of array indices or nonexisting object keys.

+

Exceptions have ids 4xx.

+ + + + + + + + + + + + + + + + + + + + + +
name / id example message description
json.exception.out_of_range.401 array index 3 is out of range The provided array index i is larger than size-1.
json.exception.out_of_range.402 array index '-' (3) is out of range The special array index - in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it.
json.exception.out_of_range.403 key 'foo' not found The provided key was not found in the JSON object.
json.exception.out_of_range.404 unresolved reference token 'foo' A reference token in a JSON Pointer could not be resolved.
json.exception.out_of_range.405 JSON pointer has no parent The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value.
json.exception.out_of_range.406 number overflow parsing '10E1000' A parsed number could not be stored as without changing it to NaN or INF.
json.exception.out_of_range.407 number overflow serializing '9223372036854775808' UBJSON and BSON only support integer numbers up to 9223372036854775807. (until version 3.8.0)
json.exception.out_of_range.408 excessive array size: 8658170730974374167 The size (following #) of an UBJSON array or object exceeds the maximal capacity.
json.exception.out_of_range.409 BSON key cannot contain code point U+0000 (at byte 2) Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string
+

{The following code shows how an out_of_range exception can be caught.,out_of_range}

+
See also
- exception for the base class of the library exceptions
+
+- parse_error for exceptions indicating a parse error
+
+- invalid_iterator for exceptions indicating errors with iterators
+
+- type_error for exceptions indicating executing a member function with a wrong type
+
+- other_error for exceptions indicating other library errors
+
Since
version 3.0.0
+ +

Definition at line 2960 of file json.hpp.

+

Constructor & Destructor Documentation

+ +

◆ out_of_range()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
nlohmann::detail::out_of_range::out_of_range (int id_,
const char * what_arg 
)
+
+inlineprivate
+
+ +

Definition at line 2972 of file json.hpp.

+ +
+
+

Member Function Documentation

+ +

◆ create()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
static out_of_range nlohmann::detail::out_of_range::create (int id_,
const std::stringwhat_arg,
const BasicJsonType & context 
)
+
+inlinestatic
+
+ +

Definition at line 2964 of file json.hpp.

+ +

References nlohmann::detail::exception::diagnostics(), JSON_HEDLEY_NON_NULL, nlohmann::detail::exception::name(), and nlohmann::detail::string.

+ +

Referenced by nlohmann::json_pointer< BasicJsonType >::array_index(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at(), nlohmann::json_pointer< BasicJsonType >::back(), nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_entry_header_size(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase(), nlohmann::json_pointer< BasicJsonType >::get_checked(), nlohmann::json_pointer< BasicJsonType >::get_unchecked(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch(), nlohmann::json_pointer< BasicJsonType >::pop_back(), nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal(), nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_array(), nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_array(), nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_object(), nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_object(), and nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_unsigned().

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/docs/d2/d67/classnlohmann_1_1detail_1_1out__of__range.js b/docs/d2/d67/classnlohmann_1_1detail_1_1out__of__range.js new file mode 100644 index 00000000..881b8ec0 --- /dev/null +++ b/docs/d2/d67/classnlohmann_1_1detail_1_1out__of__range.js @@ -0,0 +1,5 @@ +var classnlohmann_1_1detail_1_1out__of__range = +[ + [ "out_of_range", "d2/d67/classnlohmann_1_1detail_1_1out__of__range.html#ab5fe402019dba957558499502f0fd731", null ], + [ "create", "d2/d67/classnlohmann_1_1detail_1_1out__of__range.html#a238f1bda3b6c92b5970fbf9187ccd325", null ] +]; \ No newline at end of file diff --git a/docs/d2/d6c/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati1168634cedff9d7e18b9909ed68ebe6b.html b/docs/d2/d6c/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati1168634cedff9d7e18b9909ed68ebe6b.html new file mode 100644 index 00000000..9ba2413c --- /dev/null +++ b/docs/d2/d6c/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati1168634cedff9d7e18b9909ed68ebe6b.html @@ -0,0 +1,104 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > > Member List
+
+ +
+ + + + diff --git a/docs/d2/d74/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.map b/docs/d2/d74/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.map new file mode 100644 index 00000000..563d4166 --- /dev/null +++ b/docs/d2/d74/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d2/d74/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.md5 b/docs/d2/d74/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.md5 new file mode 100644 index 00000000..c9904a34 --- /dev/null +++ b/docs/d2/d74/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.md5 @@ -0,0 +1 @@ +4b1231ddef0e6c50c9357d6af00d4403 \ No newline at end of file diff --git a/docs/d2/d74/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.png b/docs/d2/d74/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.png new file mode 100644 index 00000000..f88e6d53 Binary files /dev/null and b/docs/d2/d74/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.png differ diff --git a/docs/d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.html b/docs/d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.html new file mode 100644 index 00000000..fec358ca --- /dev/null +++ b/docs/d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.html @@ -0,0 +1,168 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::to_json_fn Struct Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::to_json_fn Struct Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::to_json_fn:
+
+
Collaboration graph
+ + +
+ + + + + +

+Public Member Functions

template<typename BasicJsonType , typename T >
auto operator() (BasicJsonType &j, T &&val) const noexcept(noexcept(to_json(j, std::forward< T >(val)))) -> decltype(to_json(j, std::forward< T >(val)), void())
 
+

Detailed Description

+
+

Definition at line 4820 of file json.hpp.

+

Member Function Documentation

+ +

◆ operator()()

+ +
+
+
+template<typename BasicJsonType , typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
auto nlohmann::detail::to_json_fn::operator() (BasicJsonType & j,
T && val 
) const -> decltype(to_json(j, std::forward<T>(val)), void()) +
+
+inlinenoexcept
+
+ +

Definition at line 4823 of file json.hpp.

+ +

References nlohmann::detail::to_json().

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.js b/docs/d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.js new file mode 100644 index 00000000..df299a94 --- /dev/null +++ b/docs/d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1to__json__fn = +[ + [ "operator()", "d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.html#aecfb5114c8a737fc89d98589482795b8", null ] +]; \ No newline at end of file diff --git a/docs/d2/d91/structnlohmann_1_1detail_1_1is__default__constructible.html b/docs/d2/d91/structnlohmann_1_1detail_1_1is__default__constructible.html new file mode 100644 index 00000000..7fafdf72 --- /dev/null +++ b/docs/d2/d91/structnlohmann_1_1detail_1_1is__default__constructible.html @@ -0,0 +1,124 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_default_constructible< T > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::is_default_constructible< T > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Inheritance diagram for nlohmann::detail::is_default_constructible< T >:
+
+
Inheritance graph
+ + +
+
+Collaboration diagram for nlohmann::detail::is_default_constructible< T >:
+
+
Collaboration graph
+ + +
+

Detailed Description

+

template<typename T>
+struct nlohmann::detail::is_default_constructible< T >

+ + +

Definition at line 3559 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d2/d93/structnlohmann_1_1detail_1_1is__getable-members.html b/docs/d2/d93/structnlohmann_1_1detail_1_1is__getable-members.html new file mode 100644 index 00000000..be8554fe --- /dev/null +++ b/docs/d2/d93/structnlohmann_1_1detail_1_1is__getable-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::is_getable< BasicJsonType, T > Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::is_getable< BasicJsonType, T >, including all inherited members.

+ + +
valuenlohmann::detail::is_getable< BasicJsonType, T >static
+
+ + + + diff --git a/docs/d2/d9a/classnlohmann_1_1detail_1_1other__error__inherit__graph.map b/docs/d2/d9a/classnlohmann_1_1detail_1_1other__error__inherit__graph.map new file mode 100644 index 00000000..7f823112 --- /dev/null +++ b/docs/d2/d9a/classnlohmann_1_1detail_1_1other__error__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d2/d9a/classnlohmann_1_1detail_1_1other__error__inherit__graph.md5 b/docs/d2/d9a/classnlohmann_1_1detail_1_1other__error__inherit__graph.md5 new file mode 100644 index 00000000..50914f43 --- /dev/null +++ b/docs/d2/d9a/classnlohmann_1_1detail_1_1other__error__inherit__graph.md5 @@ -0,0 +1 @@ +24514acd08e01c6ea790bf6e3b77b3bc \ No newline at end of file diff --git a/docs/d2/d9a/classnlohmann_1_1detail_1_1other__error__inherit__graph.png b/docs/d2/d9a/classnlohmann_1_1detail_1_1other__error__inherit__graph.png new file mode 100644 index 00000000..4a6931d9 Binary files /dev/null and b/docs/d2/d9a/classnlohmann_1_1detail_1_1other__error__inherit__graph.png differ diff --git a/docs/d2/d9f/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser__coll__graph.map b/docs/d2/d9f/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser__coll__graph.map new file mode 100644 index 00000000..c51fb66a --- /dev/null +++ b/docs/d2/d9f/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d2/d9f/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser__coll__graph.md5 b/docs/d2/d9f/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser__coll__graph.md5 new file mode 100644 index 00000000..f95b0a94 --- /dev/null +++ b/docs/d2/d9f/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser__coll__graph.md5 @@ -0,0 +1 @@ +c3854535c4c910c11f3b8973dcfa1ccb \ No newline at end of file diff --git a/docs/d2/d9f/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser__coll__graph.png b/docs/d2/d9f/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser__coll__graph.png new file mode 100644 index 00000000..633eada2 Binary files /dev/null and b/docs/d2/d9f/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser__coll__graph.png differ diff --git a/docs/d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html b/docs/d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html new file mode 100644 index 00000000..38eb33b5 --- /dev/null +++ b/docs/d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html @@ -0,0 +1,335 @@ + + + + + + + +CUDNN Frontend API: cudnn_frontend::ReductionDescBuilder_v8 Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
cudnn_frontend::ReductionDescBuilder_v8 Class Reference
+
+
+ +

#include <cudnn_frontend_ReductionDesc.h>

+
+Collaboration diagram for cudnn_frontend::ReductionDescBuilder_v8:
+
+
Collaboration graph
+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

auto setMathPrecision (cudnnDataType_t data_type_) -> ReductionDescBuilder_v8 &
 Set Math Precision Data Type for the Reduction Operation. More...
 
auto setReductionOp (cudnnReduceTensorOp_t op_) -> ReductionDescBuilder_v8 &
 Set redution operator for the Reduction Operation. More...
 
ReductionDesc_v8 && build ()
 
 ReductionDescBuilder_v8 ()=default
 
 ~ReductionDescBuilder_v8 ()=default
 
 ReductionDescBuilder_v8 (ReductionDescBuilder_v8 &&)=delete
 
 ReductionDescBuilder_v8 (ReductionDescBuilder_v8 const &)=delete
 
ReductionDescBuilder_v8operator= (ReductionDescBuilder_v8 const &)=delete
 
+ + + +

+Private Attributes

ReductionDesc_v8 m_reductionDesc
 
+

Detailed Description

+

ReductionDescBuilder_v8 Class Helper class used to build ReductionDesc_v8 class

+ +

Definition at line 79 of file cudnn_frontend_ReductionDesc.h.

+

Constructor & Destructor Documentation

+ +

◆ ReductionDescBuilder_v8() [1/3]

+ +
+
+ + + + + +
+ + + + + + + +
cudnn_frontend::ReductionDescBuilder_v8::ReductionDescBuilder_v8 ()
+
+explicitdefault
+
+ +
+
+ +

◆ ~ReductionDescBuilder_v8()

+ +
+
+ + + + + +
+ + + + + + + +
cudnn_frontend::ReductionDescBuilder_v8::~ReductionDescBuilder_v8 ()
+
+default
+
+ +
+
+ +

◆ ReductionDescBuilder_v8() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + +
cudnn_frontend::ReductionDescBuilder_v8::ReductionDescBuilder_v8 (ReductionDescBuilder_v8 && )
+
+delete
+
+ +
+
+ +

◆ ReductionDescBuilder_v8() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + +
cudnn_frontend::ReductionDescBuilder_v8::ReductionDescBuilder_v8 (ReductionDescBuilder_v8 const & )
+
+delete
+
+ +
+
+

Member Function Documentation

+ +

◆ build()

+ +
+
+ + + + + +
+ + + + + + + +
ReductionDesc_v8&& cudnn_frontend::ReductionDescBuilder_v8::build ()
+
+inline
+
+
+ +

◆ operator=()

+ +
+
+ + + + + +
+ + + + + + + + +
ReductionDescBuilder_v8& cudnn_frontend::ReductionDescBuilder_v8::operator= (ReductionDescBuilder_v8 const & )
+
+delete
+
+ +
+
+

Member Data Documentation

+ +

◆ m_reductionDesc

+ +
+
+ + + + + +
+ + + + +
ReductionDesc_v8 cudnn_frontend::ReductionDescBuilder_v8::m_reductionDesc
+
+private
+
+ +

Definition at line 157 of file cudnn_frontend_ReductionDesc.h.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/docs/d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.js b/docs/d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.js new file mode 100644 index 00000000..bdf38c20 --- /dev/null +++ b/docs/d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.js @@ -0,0 +1,12 @@ +var classcudnn__frontend_1_1ReductionDescBuilder__v8 = +[ + [ "ReductionDescBuilder_v8", "d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a07842acadad9d64d44edef4c30535130", null ], + [ "~ReductionDescBuilder_v8", "d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a76e541ac766ba434f144ce05c172c9eb", null ], + [ "ReductionDescBuilder_v8", "d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a65ccc3c8414add4b95186deb3cdf60c4", null ], + [ "ReductionDescBuilder_v8", "d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#aef47d530613f74da45eccf4cd21be982", null ], + [ "build", "d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a84355923606ae86f66264fbcc5c305ad", null ], + [ "operator=", "d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#af003aa5121b4433e5aa3efc1b53e9086", null ], + [ "setMathPrecision", "d8/d95/group__ReductionDescBuilder__v8.html#ga1822b91228b5f6b790cd7c2d77402cdb", null ], + [ "setReductionOp", "d8/d95/group__ReductionDescBuilder__v8.html#gab00c3396fedc8b68356c426d19a54cf9", null ], + [ "m_reductionDesc", "d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a462f9f96ab258f9dfdb490de30ca9d22", null ] +]; \ No newline at end of file diff --git a/docs/d2/da9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.map b/docs/d2/da9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.map new file mode 100644 index 00000000..ab681b29 --- /dev/null +++ b/docs/d2/da9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d2/da9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.md5 b/docs/d2/da9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.md5 new file mode 100644 index 00000000..7481b903 --- /dev/null +++ b/docs/d2/da9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.md5 @@ -0,0 +1 @@ +0438f83c85c4ce8583abdd203aac8127 \ No newline at end of file diff --git a/docs/d2/da9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.png b/docs/d2/da9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.png new file mode 100644 index 00000000..a9eae1f6 Binary files /dev/null and b/docs/d2/da9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4__coll__graph.png differ diff --git a/docs/d2/db3/structnlohmann_1_1detail_1_1is__complete__type.html b/docs/d2/db3/structnlohmann_1_1detail_1_1is__complete__type.html new file mode 100644 index 00000000..30278bb1 --- /dev/null +++ b/docs/d2/db3/structnlohmann_1_1detail_1_1is__complete__type.html @@ -0,0 +1,124 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_complete_type< T, typename > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::is_complete_type< T, typename > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Inheritance diagram for nlohmann::detail::is_complete_type< T, typename >:
+
+
Inheritance graph
+ + +
+
+Collaboration diagram for nlohmann::detail::is_complete_type< T, typename >:
+
+
Collaboration graph
+ + +
+

Detailed Description

+

template<typename T, typename = void>
+struct nlohmann::detail::is_complete_type< T, typename >

+ + +

Definition at line 3617 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d2/db5/group__PointWiseDescBuilder__v8.html b/docs/d2/db5/group__PointWiseDescBuilder__v8.html index e43f3228..757525bc 100644 --- a/docs/d2/db5/group__PointWiseDescBuilder__v8.html +++ b/docs/d2/db5/group__PointWiseDescBuilder__v8.html @@ -96,7 +96,7 @@  Set upper and lower limits for the RELU activation. More...
  auto cudnn_frontend::PointWiseDescBuilder_v8::setMode (cudnnPointwiseMode_t mode_) -> PointWiseDescBuilder_v8 & - Set upper and lower limits for the RELU activation. More...
+ Set pointwise mode for the activation. More...
  auto cudnn_frontend::PointWiseDescBuilder_v8::setMode (cudnnNanPropagation_t nan_mode_) -> PointWiseDescBuilder_v8 &  Set NaN propagation mode. More...
@@ -199,7 +199,7 @@

-

Set upper and lower limits for the RELU activation.

+

Set pointwise mode for the activation.

Definition at line 155 of file cudnn_frontend_PointWiseDesc.h.

diff --git a/docs/d2/dbb/group__EngineConfigBuilder__v8.html b/docs/d2/dbb/group__EngineConfigBuilder__v8.html index 6fe6862f..044ae393 100644 --- a/docs/d2/dbb/group__EngineConfigBuilder__v8.html +++ b/docs/d2/dbb/group__EngineConfigBuilder__v8.html @@ -126,7 +126,7 @@

References cudnn_frontend::set_error_and_throw_exception(), and cudnn_frontend::BackendDescriptor::status.

-

Referenced by cudnn_frontend::EngineFallbackListBuilder_v8::build().

+

Referenced by cudnn_frontend::EngineFallbackListBuilder_v8::build().

diff --git a/docs/d2/dc4/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0c89cbb31dac1e960c788dd5bec52102.html b/docs/d2/dc4/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0c89cbb31dac1e960c788dd5bec52102.html new file mode 100644 index 00000000..5e385955 --- /dev/null +++ b/docs/d2/dc4/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0c89cbb31dac1e960c788dd5bec52102.html @@ -0,0 +1,106 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + diff --git a/docs/d2/dc8/classcudnn__frontend_1_1Operation__v8-members.html b/docs/d2/dc8/classcudnn__frontend_1_1Operation__v8-members.html index 0658a888..c98c6946 100644 --- a/docs/d2/dc8/classcudnn__frontend_1_1Operation__v8-members.html +++ b/docs/d2/dc8/classcudnn__frontend_1_1Operation__v8-members.html @@ -128,13 +128,14 @@ pointwise_modecudnn_frontend::Operation_v8private pointwise_port_countcudnn_frontend::Operation_v8private pwdesccudnn_frontend::Operation_v8private - set_error(const char *message) constcudnn_frontend::BackendDescriptorinline - set_status(cudnnStatus_t const status_) constcudnn_frontend::BackendDescriptorinline - statuscudnn_frontend::BackendDescriptormutableprotected - wdesccudnn_frontend::Operation_v8private - xdesccudnn_frontend::Operation_v8private - ydesccudnn_frontend::Operation_v8private - ~Operation_v8()=defaultcudnn_frontend::Operation_v8 + reductiondesccudnn_frontend::Operation_v8private + set_error(const char *message) constcudnn_frontend::BackendDescriptorinline + set_status(cudnnStatus_t const status_) constcudnn_frontend::BackendDescriptorinline + statuscudnn_frontend::BackendDescriptormutableprotected + wdesccudnn_frontend::Operation_v8private + xdesccudnn_frontend::Operation_v8private + ydesccudnn_frontend::Operation_v8private + ~Operation_v8()=defaultcudnn_frontend::Operation_v8 diff --git a/docs/d2/dc8/classnlohmann_1_1detail_1_1other__error__coll__graph.map b/docs/d2/dc8/classnlohmann_1_1detail_1_1other__error__coll__graph.map new file mode 100644 index 00000000..414f8bf3 --- /dev/null +++ b/docs/d2/dc8/classnlohmann_1_1detail_1_1other__error__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d2/dc8/classnlohmann_1_1detail_1_1other__error__coll__graph.md5 b/docs/d2/dc8/classnlohmann_1_1detail_1_1other__error__coll__graph.md5 new file mode 100644 index 00000000..230ed08d --- /dev/null +++ b/docs/d2/dc8/classnlohmann_1_1detail_1_1other__error__coll__graph.md5 @@ -0,0 +1 @@ +719416fcf9a4036d5d5633ba5057952b \ No newline at end of file diff --git a/docs/d2/dc8/classnlohmann_1_1detail_1_1other__error__coll__graph.png b/docs/d2/dc8/classnlohmann_1_1detail_1_1other__error__coll__graph.png new file mode 100644 index 00000000..6f6eb2c6 Binary files /dev/null and b/docs/d2/dc8/classnlohmann_1_1detail_1_1other__error__coll__graph.png differ diff --git a/docs/d2/dcb/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4-members.html b/docs/d2/dcb/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4-members.html new file mode 100644 index 00000000..e666bd2a --- /dev/null +++ b/docs/d2/dcb/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4-members.html @@ -0,0 +1,106 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::external_constructor< value_t::array > Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::external_constructor< value_t::array >, including all inherited members.

+ + + + + + +
construct(BasicJsonType &j, const typename BasicJsonType::array_t &arr)nlohmann::detail::external_constructor< value_t::array >inlinestatic
construct(BasicJsonType &j, typename BasicJsonType::array_t &&arr)nlohmann::detail::external_constructor< value_t::array >inlinestatic
construct(BasicJsonType &j, const CompatibleArrayType &arr)nlohmann::detail::external_constructor< value_t::array >inlinestatic
construct(BasicJsonType &j, const std::vector< bool > &arr)nlohmann::detail::external_constructor< value_t::array >inlinestatic
construct(BasicJsonType &j, const std::valarray< T > &arr)nlohmann::detail::external_constructor< value_t::array >inlinestatic
+
+ + + + diff --git a/docs/d2/dd6/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4-members.html b/docs/d2/dd6/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4-members.html new file mode 100644 index 00000000..0385abb4 --- /dev/null +++ b/docs/d2/dd6/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4-members.html @@ -0,0 +1,104 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::external_constructor< value_t::object > Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::external_constructor< value_t::object >, including all inherited members.

+ + + + +
construct(BasicJsonType &j, const typename BasicJsonType::object_t &obj)nlohmann::detail::external_constructor< value_t::object >inlinestatic
construct(BasicJsonType &j, typename BasicJsonType::object_t &&obj)nlohmann::detail::external_constructor< value_t::object >inlinestatic
construct(BasicJsonType &j, const CompatibleObjectType &obj)nlohmann::detail::external_constructor< value_t::object >inlinestatic
+
+ + + + diff --git a/docs/d2/dd6/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.map b/docs/d2/dd6/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.map new file mode 100644 index 00000000..89a126fb --- /dev/null +++ b/docs/d2/dd6/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d2/dd6/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.md5 b/docs/d2/dd6/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.md5 new file mode 100644 index 00000000..aa0f9f86 --- /dev/null +++ b/docs/d2/dd6/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.md5 @@ -0,0 +1 @@ +cef031589cbd3556f969eb1298dfd8d9 \ No newline at end of file diff --git a/docs/d2/dd6/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.png b/docs/d2/dd6/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.png new file mode 100644 index 00000000..aac8e5d9 Binary files /dev/null and b/docs/d2/dd6/structnlohmann_1_1detail_1_1is__json__ref__inherit__graph.png differ diff --git a/docs/d2/ddd/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html b/docs/d2/ddd/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html new file mode 100644 index 00000000..b1d6b336 --- /dev/null +++ b/docs/d2/ddd/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html @@ -0,0 +1,117 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::priority_tag< 0 > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::priority_tag< 0 > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::priority_tag< 0 >:
+
+
Collaboration graph
+ + +
+

Detailed Description

+

template<>
+struct nlohmann::detail::priority_tag< 0 >

+ + +

Definition at line 3160 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d2/ddf/structnlohmann_1_1detail_1_1output__adapter__protocol-members.html b/docs/d2/ddf/structnlohmann_1_1detail_1_1output__adapter__protocol-members.html new file mode 100644 index 00000000..5326edb7 --- /dev/null +++ b/docs/d2/ddf/structnlohmann_1_1detail_1_1output__adapter__protocol-members.html @@ -0,0 +1,109 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::output_adapter_protocol< CharType > Member List
+
+ +
+ + + + diff --git a/docs/d2/de2/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.map b/docs/d2/de2/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.map new file mode 100644 index 00000000..8f607251 --- /dev/null +++ b/docs/d2/de2/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d2/de2/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.md5 b/docs/d2/de2/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.md5 new file mode 100644 index 00000000..fbb5562e --- /dev/null +++ b/docs/d2/de2/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.md5 @@ -0,0 +1 @@ +e7d39c4becff0b8523dce79678831b53 \ No newline at end of file diff --git a/docs/d2/de2/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.png b/docs/d2/de2/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.png new file mode 100644 index 00000000..2257a38c Binary files /dev/null and b/docs/d2/de2/structnlohmann_1_1detail_1_1has__non__default__from__json__inherit__graph.png differ diff --git a/docs/d2/df1/classnlohmann_1_1detail_1_1exception__inherit__graph.map b/docs/d2/df1/classnlohmann_1_1detail_1_1exception__inherit__graph.map new file mode 100644 index 00000000..bc07a404 --- /dev/null +++ b/docs/d2/df1/classnlohmann_1_1detail_1_1exception__inherit__graph.map @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/d2/df1/classnlohmann_1_1detail_1_1exception__inherit__graph.md5 b/docs/d2/df1/classnlohmann_1_1detail_1_1exception__inherit__graph.md5 new file mode 100644 index 00000000..a3de5cfc --- /dev/null +++ b/docs/d2/df1/classnlohmann_1_1detail_1_1exception__inherit__graph.md5 @@ -0,0 +1 @@ +004c3c60712b7ec748b0a3a693b40ad3 \ No newline at end of file diff --git a/docs/d2/df1/classnlohmann_1_1detail_1_1exception__inherit__graph.png b/docs/d2/df1/classnlohmann_1_1detail_1_1exception__inherit__graph.png new file mode 100644 index 00000000..c17b4128 Binary files /dev/null and b/docs/d2/df1/classnlohmann_1_1detail_1_1exception__inherit__graph.png differ diff --git a/docs/d2/df2/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.map b/docs/d2/df2/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.map new file mode 100644 index 00000000..6cc3d658 --- /dev/null +++ b/docs/d2/df2/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d2/df2/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.md5 b/docs/d2/df2/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.md5 new file mode 100644 index 00000000..e3278f46 --- /dev/null +++ b/docs/d2/df2/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.md5 @@ -0,0 +1 @@ +5c213c44c991754b2ca48e829a77ed80 \ No newline at end of file diff --git a/docs/d2/df2/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.png b/docs/d2/df2/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.png new file mode 100644 index 00000000..e0007705 Binary files /dev/null and b/docs/d2/df2/structnlohmann_1_1detail_1_1is__compatible__object__type__inherit__graph.png differ diff --git a/docs/d2/df4/structnlohmann_1_1detail_1_1external__constructor.html b/docs/d2/df4/structnlohmann_1_1detail_1_1external__constructor.html new file mode 100644 index 00000000..84390a8f --- /dev/null +++ b/docs/d2/df4/structnlohmann_1_1detail_1_1external__constructor.html @@ -0,0 +1,117 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::external_constructor< value_t > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::external_constructor< value_t > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::external_constructor< value_t >:
+
+
Collaboration graph
+ + +
+

Detailed Description

+

template<value_t>
+struct nlohmann::detail::external_constructor< value_t >

+ + +

Definition at line 4481 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d2/df5/group__OperationGraphBuilder__v8.html b/docs/d2/df5/group__OperationGraphBuilder__v8.html index 0bb75775..e44ad3ed 100644 --- a/docs/d2/df5/group__OperationGraphBuilder__v8.html +++ b/docs/d2/df5/group__OperationGraphBuilder__v8.html @@ -125,7 +125,7 @@

Definition at line 122 of file cudnn_frontend_OperationGraph.h.

+

Definition at line 127 of file cudnn_frontend_OperationGraph.h.

@@ -165,7 +165,7 @@

Definition at line 128 of file cudnn_frontend_OperationGraph.h.

+

Definition at line 133 of file cudnn_frontend_OperationGraph.h.

diff --git a/docs/d3/d06/classcudnn__frontend_1_1OperationGraph__v8-members.html b/docs/d3/d06/classcudnn__frontend_1_1OperationGraph__v8-members.html index 14c8966b..168b3e35 100644 --- a/docs/d3/d06/classcudnn__frontend_1_1OperationGraph__v8-members.html +++ b/docs/d3/d06/classcudnn__frontend_1_1OperationGraph__v8-members.html @@ -96,22 +96,23 @@ get_raw_desc() constcudnn_frontend::BackendDescriptorinline get_status() constcudnn_frontend::BackendDescriptorinline getEngineCount(void) const -> int64_tcudnn_frontend::OperationGraph_v8inline - getTag() constcudnn_frontend::OperationGraph_v8inline - handlecudnn_frontend::OperationGraph_v8private - initialize_managed_backend_pointer(cudnnBackendDescriptorType_t type)cudnn_frontend::BackendDescriptorinline - numOpscudnn_frontend::OperationGraph_v8private - OperationGraph_v8(OperationGraph_v8 &&from)cudnn_frontend::OperationGraph_v8inline - OperationGraph_v8()=defaultcudnn_frontend::OperationGraph_v8private - OperationGraph_v8(OperationGraph_v8 const &)=deletecudnn_frontend::OperationGraph_v8private - OperationGraphBuilder_v8 classcudnn_frontend::OperationGraph_v8friend - operator=(OperationGraph_v8 const &)=deletecudnn_frontend::OperationGraph_v8private - opGraphTagcudnn_frontend::OperationGraph_v8private - opscudnn_frontend::OperationGraph_v8private - pointercudnn_frontend::BackendDescriptorprotected - set_error(const char *message) constcudnn_frontend::BackendDescriptorinline - set_status(cudnnStatus_t const status_) constcudnn_frontend::BackendDescriptorinline - statuscudnn_frontend::BackendDescriptormutableprotected - ~OperationGraph_v8()=defaultcudnn_frontend::OperationGraph_v8 + getOpCount() constcudnn_frontend::OperationGraph_v8inline + getTag() constcudnn_frontend::OperationGraph_v8inline + handlecudnn_frontend::OperationGraph_v8private + initialize_managed_backend_pointer(cudnnBackendDescriptorType_t type)cudnn_frontend::BackendDescriptorinline + numOpscudnn_frontend::OperationGraph_v8private + OperationGraph_v8(OperationGraph_v8 &&from)cudnn_frontend::OperationGraph_v8inline + OperationGraph_v8()=defaultcudnn_frontend::OperationGraph_v8private + OperationGraph_v8(OperationGraph_v8 const &)=deletecudnn_frontend::OperationGraph_v8private + OperationGraphBuilder_v8 classcudnn_frontend::OperationGraph_v8friend + operator=(OperationGraph_v8 const &)=deletecudnn_frontend::OperationGraph_v8private + opGraphTagcudnn_frontend::OperationGraph_v8private + opscudnn_frontend::OperationGraph_v8private + pointercudnn_frontend::BackendDescriptorprotected + set_error(const char *message) constcudnn_frontend::BackendDescriptorinline + set_status(cudnnStatus_t const status_) constcudnn_frontend::BackendDescriptorinline + statuscudnn_frontend::BackendDescriptormutableprotected + ~OperationGraph_v8()=defaultcudnn_frontend::OperationGraph_v8 diff --git a/docs/d3/d09/group__EngineBuilder__v8.html b/docs/d3/d09/group__EngineBuilder__v8.html index cd6c2e77..4ea6ac77 100644 --- a/docs/d3/d09/group__EngineBuilder__v8.html +++ b/docs/d3/d09/group__EngineBuilder__v8.html @@ -130,7 +130,7 @@

Definition at line 253 of file cudnn_frontend_Engine.h.

-

Referenced by cudnn_frontend::EngineFallbackListBuilder_v8::build().

+

Referenced by cudnn_frontend::EngineFallbackListBuilder_v8::build().

diff --git a/docs/d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html b/docs/d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html new file mode 100644 index 00000000..2cec59f1 --- /dev/null +++ b/docs/d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html @@ -0,0 +1,215 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::external_constructor< value_t::binary > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::external_constructor< value_t::binary > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::external_constructor< value_t::binary >:
+
+
Collaboration graph
+ + +
+ + + + + + + + +

+Static Public Member Functions

template<typename BasicJsonType >
static void construct (BasicJsonType &j, const typename BasicJsonType::binary_t &b)
 
template<typename BasicJsonType >
static void construct (BasicJsonType &j, typename BasicJsonType::binary_t &&b)
 
+

Detailed Description

+

template<>
+struct nlohmann::detail::external_constructor< value_t::binary >

+ + +

Definition at line 4526 of file json.hpp.

+

Member Function Documentation

+ +

◆ construct() [1/2]

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void nlohmann::detail::external_constructor< value_t::binary >::construct (BasicJsonType & j,
const typename BasicJsonType::binary_t & b 
)
+
+inlinestatic
+
+ +

Definition at line 4529 of file json.hpp.

+ +

References nlohmann::detail::binary.

+ +
+
+ +

◆ construct() [2/2]

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
static void nlohmann::detail::external_constructor< value_t::binary >::construct (BasicJsonType & j,
typename BasicJsonType::binary_t && b 
)
+
+inlinestatic
+
+ +

Definition at line 4537 of file json.hpp.

+ +

References nlohmann::detail::binary.

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.js b/docs/d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.js new file mode 100644 index 00000000..46af8412 --- /dev/null +++ b/docs/d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.js @@ -0,0 +1,5 @@ +var structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4 = +[ + [ "construct", "d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html#a0ff0da4f9a4d27955961477102c50a27", null ], + [ "construct", "d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html#a1c478157dc8bad20f09572c5b2406150", null ] +]; \ No newline at end of file diff --git a/docs/d3/d0b/structnlohmann_1_1detail_1_1is__json__ref.html b/docs/d3/d0b/structnlohmann_1_1detail_1_1is__json__ref.html new file mode 100644 index 00000000..36c43375 --- /dev/null +++ b/docs/d3/d0b/structnlohmann_1_1detail_1_1is__json__ref.html @@ -0,0 +1,124 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_json_ref< typename > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::is_json_ref< typename > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Inheritance diagram for nlohmann::detail::is_json_ref< typename >:
+
+
Inheritance graph
+ + +
+
+Collaboration diagram for nlohmann::detail::is_json_ref< typename >:
+
+
Collaboration graph
+ + +
+

Detailed Description

+

template<typename>
+struct nlohmann::detail::is_json_ref< typename >

+ + +

Definition at line 3447 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d3/d0b/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__cdc8983becf67799b21e4625c4f05034.map b/docs/d3/d0b/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__cdc8983becf67799b21e4625c4f05034.map new file mode 100644 index 00000000..216365e0 --- /dev/null +++ b/docs/d3/d0b/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__cdc8983becf67799b21e4625c4f05034.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d3/d0b/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__cdc8983becf67799b21e4625c4f05034.md5 b/docs/d3/d0b/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__cdc8983becf67799b21e4625c4f05034.md5 new file mode 100644 index 00000000..1cd9ccca --- /dev/null +++ b/docs/d3/d0b/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__cdc8983becf67799b21e4625c4f05034.md5 @@ -0,0 +1 @@ +48214a32c29e9fe9990133b7070de6dc \ No newline at end of file diff --git a/docs/d3/d0b/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__cdc8983becf67799b21e4625c4f05034.png b/docs/d3/d0b/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__cdc8983becf67799b21e4625c4f05034.png new file mode 100644 index 00000000..71d86ce5 Binary files /dev/null and b/docs/d3/d0b/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__cdc8983becf67799b21e4625c4f05034.png differ diff --git a/docs/d3/d0e/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.map b/docs/d3/d0e/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.map new file mode 100644 index 00000000..01f6729a --- /dev/null +++ b/docs/d3/d0e/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d3/d0e/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.md5 b/docs/d3/d0e/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.md5 new file mode 100644 index 00000000..2a4f6b2b --- /dev/null +++ b/docs/d3/d0e/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.md5 @@ -0,0 +1 @@ +bb8d7e6d04e69268162f64e492c127ae \ No newline at end of file diff --git a/docs/d3/d0e/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.png b/docs/d3/d0e/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.png new file mode 100644 index 00000000..9533ce12 Binary files /dev/null and b/docs/d3/d0e/structnlohmann_1_1detail_1_1output__adapter__protocol__inherit__graph.png differ diff --git a/docs/d3/d10/structnlohmann_1_1detail_1_1is__constructible__inherit__graph.map b/docs/d3/d10/structnlohmann_1_1detail_1_1is__constructible__inherit__graph.map new file mode 100644 index 00000000..2487faa8 --- /dev/null +++ b/docs/d3/d10/structnlohmann_1_1detail_1_1is__constructible__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d3/d10/structnlohmann_1_1detail_1_1is__constructible__inherit__graph.md5 b/docs/d3/d10/structnlohmann_1_1detail_1_1is__constructible__inherit__graph.md5 new file mode 100644 index 00000000..6d564ced --- /dev/null +++ b/docs/d3/d10/structnlohmann_1_1detail_1_1is__constructible__inherit__graph.md5 @@ -0,0 +1 @@ +0176a46f0044a32744168ee8ae642eae \ No newline at end of file diff --git a/docs/d3/d10/structnlohmann_1_1detail_1_1is__constructible__inherit__graph.png b/docs/d3/d10/structnlohmann_1_1detail_1_1is__constructible__inherit__graph.png new file mode 100644 index 00000000..57db828f Binary files /dev/null and b/docs/d3/d10/structnlohmann_1_1detail_1_1is__constructible__inherit__graph.png differ diff --git a/docs/d3/d13/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__513ed309d76eebc5ab028695cb4ed37d.map b/docs/d3/d13/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__513ed309d76eebc5ab028695cb4ed37d.map new file mode 100644 index 00000000..8dce7746 --- /dev/null +++ b/docs/d3/d13/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__513ed309d76eebc5ab028695cb4ed37d.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d3/d13/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__513ed309d76eebc5ab028695cb4ed37d.md5 b/docs/d3/d13/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__513ed309d76eebc5ab028695cb4ed37d.md5 new file mode 100644 index 00000000..9bf0fda6 --- /dev/null +++ b/docs/d3/d13/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__513ed309d76eebc5ab028695cb4ed37d.md5 @@ -0,0 +1 @@ +ba8c4e397990bd1aa2d5a99f6ee290d5 \ No newline at end of file diff --git a/docs/d3/d13/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__513ed309d76eebc5ab028695cb4ed37d.png b/docs/d3/d13/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__513ed309d76eebc5ab028695cb4ed37d.png new file mode 100644 index 00000000..591a4514 Binary files /dev/null and b/docs/d3/d13/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__513ed309d76eebc5ab028695cb4ed37d.png differ diff --git a/docs/d3/d2d/structnlohmann_1_1detail_1_1integer__sequence-members.html b/docs/d3/d2d/structnlohmann_1_1detail_1_1integer__sequence-members.html new file mode 100644 index 00000000..abd665e7 --- /dev/null +++ b/docs/d3/d2d/structnlohmann_1_1detail_1_1integer__sequence-members.html @@ -0,0 +1,103 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::integer_sequence< T, Ints > Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::integer_sequence< T, Ints >, including all inherited members.

+ + + +
size() noexceptnlohmann::detail::integer_sequence< T, Ints >inlinestatic
value_type typedefnlohmann::detail::integer_sequence< T, Ints >
+
+ + + + diff --git a/docs/d3/d30/structnlohmann_1_1detail_1_1is__iterator__traits.html b/docs/d3/d30/structnlohmann_1_1detail_1_1is__iterator__traits.html new file mode 100644 index 00000000..456bdac7 --- /dev/null +++ b/docs/d3/d30/structnlohmann_1_1detail_1_1is__iterator__traits.html @@ -0,0 +1,124 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_iterator_traits< T, typename > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::is_iterator_traits< T, typename > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Inheritance diagram for nlohmann::detail::is_iterator_traits< T, typename >:
+
+
Inheritance graph
+ + +
+
+Collaboration diagram for nlohmann::detail::is_iterator_traits< T, typename >:
+
+
Collaboration graph
+ + +
+

Detailed Description

+

template<typename T, typename = void>
+struct nlohmann::detail::is_iterator_traits< T, typename >

+ + +

Definition at line 3595 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d3/d3f/classnlohmann_1_1detail_1_1iterator__input__adapter-members.html b/docs/d3/d3f/classnlohmann_1_1detail_1_1iterator__input__adapter-members.html new file mode 100644 index 00000000..ab1c2dba --- /dev/null +++ b/docs/d3/d3f/classnlohmann_1_1detail_1_1iterator__input__adapter-members.html @@ -0,0 +1,108 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ + + + + + diff --git a/docs/d3/d47/structnlohmann_1_1detail_1_1priority__tag__coll__graph.map b/docs/d3/d47/structnlohmann_1_1detail_1_1priority__tag__coll__graph.map new file mode 100644 index 00000000..81ef80b1 --- /dev/null +++ b/docs/d3/d47/structnlohmann_1_1detail_1_1priority__tag__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d3/d47/structnlohmann_1_1detail_1_1priority__tag__coll__graph.md5 b/docs/d3/d47/structnlohmann_1_1detail_1_1priority__tag__coll__graph.md5 new file mode 100644 index 00000000..6bfc75cf --- /dev/null +++ b/docs/d3/d47/structnlohmann_1_1detail_1_1priority__tag__coll__graph.md5 @@ -0,0 +1 @@ +87a34ac8b16d54267cc7c28f7ac4e7f4 \ No newline at end of file diff --git a/docs/d3/d47/structnlohmann_1_1detail_1_1priority__tag__coll__graph.png b/docs/d3/d47/structnlohmann_1_1detail_1_1priority__tag__coll__graph.png new file mode 100644 index 00000000..e0dbbd36 Binary files /dev/null and b/docs/d3/d47/structnlohmann_1_1detail_1_1priority__tag__coll__graph.png differ diff --git a/docs/d3/d47/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_0ccbc75c47d68745310e73f8695185d8.html b/docs/d3/d47/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_0ccbc75c47d68745310e73f8695185d8.html new file mode 100644 index 00000000..6b4facc6 --- /dev/null +++ b/docs/d3/d47/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_0ccbc75c47d68745310e73f8695185d8.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 > Member List
+
+ +
+ + + + diff --git a/docs/d3/d49/structnlohmann_1_1detail_1_1position__t__coll__graph.map b/docs/d3/d49/structnlohmann_1_1detail_1_1position__t__coll__graph.map new file mode 100644 index 00000000..3ee3cf55 --- /dev/null +++ b/docs/d3/d49/structnlohmann_1_1detail_1_1position__t__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d3/d49/structnlohmann_1_1detail_1_1position__t__coll__graph.md5 b/docs/d3/d49/structnlohmann_1_1detail_1_1position__t__coll__graph.md5 new file mode 100644 index 00000000..b81d31e5 --- /dev/null +++ b/docs/d3/d49/structnlohmann_1_1detail_1_1position__t__coll__graph.md5 @@ -0,0 +1 @@ +da5d3f411ed632f1cbbae0fb2287b9fe \ No newline at end of file diff --git a/docs/d3/d49/structnlohmann_1_1detail_1_1position__t__coll__graph.png b/docs/d3/d49/structnlohmann_1_1detail_1_1position__t__coll__graph.png new file mode 100644 index 00000000..2882fb00 Binary files /dev/null and b/docs/d3/d49/structnlohmann_1_1detail_1_1position__t__coll__graph.png differ diff --git a/docs/d3/d52/structnlohmann_1_1detail_1_1is__constructible__array__type.html b/docs/d3/d52/structnlohmann_1_1detail_1_1is__constructible__array__type.html new file mode 100644 index 00000000..20c1ec41 --- /dev/null +++ b/docs/d3/d52/structnlohmann_1_1detail_1_1is__constructible__array__type.html @@ -0,0 +1,128 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible_array_type< BasicJsonType, ConstructibleArrayType > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::is_constructible_array_type< BasicJsonType, ConstructibleArrayType > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Inheritance diagram for nlohmann::detail::is_constructible_array_type< BasicJsonType, ConstructibleArrayType >:
+
+
Inheritance graph
+ + + + +
+
+Collaboration diagram for nlohmann::detail::is_constructible_array_type< BasicJsonType, ConstructibleArrayType >:
+
+
Collaboration graph
+ + + + +
+

Detailed Description

+

template<typename BasicJsonType, typename ConstructibleArrayType>
+struct nlohmann::detail::is_constructible_array_type< BasicJsonType, ConstructibleArrayType >

+ + +

Definition at line 3779 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d3/d5a/cudnn__frontend_8h__incl.map b/docs/d3/d5a/cudnn__frontend_8h__incl.map index 2ac608a9..af937a05 100644 --- a/docs/d3/d5a/cudnn__frontend_8h__incl.map +++ b/docs/d3/d5a/cudnn__frontend_8h__incl.map @@ -1,17 +1,20 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/docs/d3/d5a/cudnn__frontend_8h__incl.md5 b/docs/d3/d5a/cudnn__frontend_8h__incl.md5 index 43124ee4..e82d9b78 100644 --- a/docs/d3/d5a/cudnn__frontend_8h__incl.md5 +++ b/docs/d3/d5a/cudnn__frontend_8h__incl.md5 @@ -1 +1 @@ -a0f6e935ea1d0d73b14a3119eee0790f \ No newline at end of file +2103a4c138e6ce6f3085f57b8c199296 \ No newline at end of file diff --git a/docs/d3/d5a/cudnn__frontend_8h__incl.png b/docs/d3/d5a/cudnn__frontend_8h__incl.png index fc057f23..7e979aa6 100644 Binary files a/docs/d3/d5a/cudnn__frontend_8h__incl.png and b/docs/d3/d5a/cudnn__frontend_8h__incl.png differ diff --git a/docs/d3/d5a/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.map b/docs/d3/d5a/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.map new file mode 100644 index 00000000..233c3100 --- /dev/null +++ b/docs/d3/d5a/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d3/d5a/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.md5 b/docs/d3/d5a/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.md5 new file mode 100644 index 00000000..f5a5e52e --- /dev/null +++ b/docs/d3/d5a/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +eb9ef0f77a7c675b5b5a1ad7be490781 \ No newline at end of file diff --git a/docs/d3/d5a/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.png b/docs/d3/d5a/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.png new file mode 100644 index 00000000..78c6e6d9 Binary files /dev/null and b/docs/d3/d5a/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__inherit__graph.png differ diff --git a/docs/d3/d5c/classcudnn__frontend_1_1OperationGraphBuilder__v8__coll__graph.map b/docs/d3/d5c/classcudnn__frontend_1_1OperationGraphBuilder__v8__coll__graph.map index a8550bc5..cd5e52b9 100644 --- a/docs/d3/d5c/classcudnn__frontend_1_1OperationGraphBuilder__v8__coll__graph.map +++ b/docs/d3/d5c/classcudnn__frontend_1_1OperationGraphBuilder__v8__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/docs/d3/d5c/classcudnn__frontend_1_1OperationGraphBuilder__v8__coll__graph.md5 b/docs/d3/d5c/classcudnn__frontend_1_1OperationGraphBuilder__v8__coll__graph.md5 index 81cf13ba..64628e6a 100644 --- a/docs/d3/d5c/classcudnn__frontend_1_1OperationGraphBuilder__v8__coll__graph.md5 +++ b/docs/d3/d5c/classcudnn__frontend_1_1OperationGraphBuilder__v8__coll__graph.md5 @@ -1 +1 @@ -1b1dff28c6f49898020fe47826cdd642 \ No newline at end of file +c0d201849b2daecf00a7876da98cd22c \ No newline at end of file diff --git a/docs/d3/d5c/classcudnn__frontend_1_1OperationGraphBuilder__v8__coll__graph.png b/docs/d3/d5c/classcudnn__frontend_1_1OperationGraphBuilder__v8__coll__graph.png index 3e48b7e1..0b10b89e 100644 Binary files a/docs/d3/d5c/classcudnn__frontend_1_1OperationGraphBuilder__v8__coll__graph.png and b/docs/d3/d5c/classcudnn__frontend_1_1OperationGraphBuilder__v8__coll__graph.png differ diff --git a/docs/d3/d5d/structnlohmann_1_1detail_1_1make__void-members.html b/docs/d3/d5d/structnlohmann_1_1detail_1_1make__void-members.html new file mode 100644 index 00000000..6ca8411b --- /dev/null +++ b/docs/d3/d5d/structnlohmann_1_1detail_1_1make__void-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::make_void< Ts > Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::make_void< Ts >, including all inherited members.

+ + +
type typedefnlohmann::detail::make_void< Ts >
+
+ + + + diff --git a/docs/d3/d5e/structnlohmann_1_1detail_1_1nonesuch-members.html b/docs/d3/d5e/structnlohmann_1_1detail_1_1nonesuch-members.html new file mode 100644 index 00000000..7b40d6d9 --- /dev/null +++ b/docs/d3/d5e/structnlohmann_1_1detail_1_1nonesuch-members.html @@ -0,0 +1,107 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::nonesuch Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::nonesuch, including all inherited members.

+ + + + + + + +
nonesuch()=deletenlohmann::detail::nonesuch
nonesuch(nonesuch const &)=deletenlohmann::detail::nonesuch
nonesuch(nonesuch const &&)=deletenlohmann::detail::nonesuch
operator=(nonesuch const &)=deletenlohmann::detail::nonesuch
operator=(nonesuch &&)=deletenlohmann::detail::nonesuch
~nonesuch()=deletenlohmann::detail::nonesuch
+
+ + + + diff --git a/docs/d3/d63/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9isde16438fb15ffe82c953e808bb44e8bf.html b/docs/d3/d63/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9isde16438fb15ffe82c953e808bb44e8bf.html new file mode 100644 index 00000000..6ec395c8 --- /dev/null +++ b/docs/d3/d63/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9isde16438fb15ffe82c953e808bb44e8bf.html @@ -0,0 +1,103 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Member List
+
+ +
+ + + + diff --git a/docs/d3/d65/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.map b/docs/d3/d65/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.map new file mode 100644 index 00000000..01f1c444 --- /dev/null +++ b/docs/d3/d65/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d3/d65/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.md5 b/docs/d3/d65/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.md5 new file mode 100644 index 00000000..a72e2665 --- /dev/null +++ b/docs/d3/d65/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +d6447c95216987dd9ff4c0683701f2cc \ No newline at end of file diff --git a/docs/d3/d65/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.png b/docs/d3/d65/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.png new file mode 100644 index 00000000..9602355a Binary files /dev/null and b/docs/d3/d65/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.png differ diff --git a/docs/d3/d6a/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html b/docs/d3/d6a/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html new file mode 100644 index 00000000..f6fd3d76 --- /dev/null +++ b/docs/d3/d6a/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html @@ -0,0 +1,128 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Inheritance diagram for nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > >:
+
+
Inheritance graph
+ + + + +
+
+Collaboration diagram for nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > >:
+
+
Collaboration graph
+ + + + +
+

Detailed Description

+

template<typename T1, typename... Args>
+struct nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > >

+ + +

Definition at line 3829 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d3/d6b/cudnn__frontend__find__plan_8h.html b/docs/d3/d6b/cudnn__frontend__find__plan_8h.html index a8d72bd7..1c806ae2 100644 --- a/docs/d3/d6b/cudnn__frontend__find__plan_8h.html +++ b/docs/d3/d6b/cudnn__frontend__find__plan_8h.html @@ -94,23 +94,26 @@
- - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +
diff --git a/docs/d3/d6b/cudnn__frontend__find__plan_8h_source.html b/docs/d3/d6b/cudnn__frontend__find__plan_8h_source.html index 8777f539..04af11b4 100644 --- a/docs/d3/d6b/cudnn__frontend__find__plan_8h_source.html +++ b/docs/d3/d6b/cudnn__frontend__find__plan_8h_source.html @@ -84,7 +84,7 @@
cudnn_frontend_find_plan.h
-Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20  * DEALINGS IN THE SOFTWARE.
21  */
22 
23 #pragma once
24 
26 #include <map>
27 
28 namespace cudnn_frontend {
29 
35 template <CudnnFindSamplingTechnique samplingTechnique>
36 auto
37 time_sorted_plan(cudnnHandle_t handle, executionPlans_t plans, VariantPack &variantPack) -> executionOptions_t {
38  executionOptions_t time_sorted_plans;
39  std::map<float, ExecutionPlan &> timed_execution_plans;
40 
41  const int maxIterCount =
43  ? 1
44  : (samplingTechnique == CudnnFindSamplingTechnique::CUDNN_FIND_SAMPLE_MEDIAN_OF_THREE) ? 3 : 100;
45  const float threshhold = 0.95f;
46 
47  cudaEvent_t start, stop;
48  cudaEventCreate(&start);
49  cudaEventCreate(&stop);
50  cudaDeviceSynchronize();
51 
52  for (auto &plan : plans) {
53  float time_ms = 0.0f;
54  float final_time_ms = 0.0f;
55  float min_time_ms = std::numeric_limits<float>::max();
56 
57  // Warm-up run
58  ::cudnnBackendExecute(handle, plan.get_raw_desc(), variantPack.get_raw_desc());
59  cudaDeviceSynchronize();
60 
61  for (int i = 0; i < maxIterCount; i++) {
62  cudaEventRecord(start);
63 
64  ::cudnnBackendExecute(handle, plan.get_raw_desc(), variantPack.get_raw_desc());
65 
66  cudaEventRecord(stop);
67  cudaEventSynchronize(stop);
68  cudaEventElapsedTime(&time_ms, start, stop);
69 
71  final_time_ms = std::min(min_time_ms, time_ms);
72  if (time_ms / min_time_ms < threshhold) {
73  min_time_ms = final_time_ms;
74  } else {
75  break;
76  }
77  } else {
78  final_time_ms = i == (maxIterCount / 2) ? time_ms : final_time_ms;
79  }
80  }
81  timed_execution_plans.insert({final_time_ms, plan});
82  }
83  std::transform(
84  timed_execution_plans.begin(),
85  timed_execution_plans.end(),
86  std::back_inserter(time_sorted_plans),
87  [](const std::map<float, cudnn_frontend::ExecutionPlan &>::value_type &pair) -> struct executionOption {
88  return {std::move(pair.second), pair.first};
89  });
90 
91  cudaEventDestroy(start);
92  cudaEventDestroy(stop);
93 
94  return time_sorted_plans;
95 }
96 
97 template <CudnnFindSamplingTechnique samplingTechnique>
98 auto
101  cudnn_frontend::VariantPack &variantPack,
102  Predicate pred) -> executionOptions_t {
104  executionPlans_t plans;
105  for (auto &engine_config : generate_engine_config(opGraph)) {
106 #ifndef NV_CUDNN_DISABLE_EXCEPTION
107  try {
108 #endif
109  plans.push_back(
110  cudnn_frontend::ExecutionPlanBuilder().setHandle(handle).setEngineConfig(engine_config).build());
111 #ifndef NV_CUDNN_DISABLE_EXCEPTION
112  } catch (cudnnException e) {
113  continue;
114  }
115 #endif
116  }
117  return time_sorted_plan<samplingTechnique>(handle, filter(pred, plans), variantPack);
118 }
119 }
+Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20  * DEALINGS IN THE SOFTWARE.
21  */
22 
23 #pragma once
24 
26 #include <map>
27 
28 namespace cudnn_frontend {
29 
35 template <CudnnFindSamplingTechnique samplingTechnique>
36 auto
37 time_sorted_plan(cudnnHandle_t handle, executionPlans_t plans, VariantPack &variantPack) -> executionOptions_t {
38  executionOptions_t time_sorted_plans;
39  std::map<float, ExecutionPlan &> timed_execution_plans;
40 
41  const int maxIterCount =
43  ? 1
44  : (samplingTechnique == CudnnFindSamplingTechnique::CUDNN_FIND_SAMPLE_MEDIAN_OF_THREE) ? 3 : 100;
45  const float threshhold = 0.95f;
46 
47  cudaEvent_t start, stop;
48  cudaEventCreate(&start);
49  cudaEventCreate(&stop);
50  cudaDeviceSynchronize();
51 
52  for (auto &plan : plans) {
53  float time_ms = 0.0f;
54  float final_time_ms = 0.0f;
55  float min_time_ms = std::numeric_limits<float>::max();
56 
57  // Warm-up run
58  ::cudnnBackendExecute(handle, plan.get_raw_desc(), variantPack.get_raw_desc());
59  cudaDeviceSynchronize();
60 
61  for (int i = 0; i < maxIterCount; i++) {
62  cudaEventRecord(start);
63 
64  ::cudnnBackendExecute(handle, plan.get_raw_desc(), variantPack.get_raw_desc());
65 
66  cudaEventRecord(stop);
67  cudaEventSynchronize(stop);
68  cudaEventElapsedTime(&time_ms, start, stop);
69 
71  final_time_ms = std::min(min_time_ms, time_ms);
72  if (time_ms / min_time_ms < threshhold) {
73  min_time_ms = final_time_ms;
74  } else {
75  break;
76  }
77  } else {
78  final_time_ms = i == (maxIterCount / 2) ? time_ms : final_time_ms;
79  }
80  }
81  timed_execution_plans.insert({final_time_ms, plan});
82  }
83  std::transform(
84  timed_execution_plans.begin(),
85  timed_execution_plans.end(),
86  std::back_inserter(time_sorted_plans),
87  [](const std::map<float, cudnn_frontend::ExecutionPlan &>::value_type &pair) -> struct executionOption {
88  return {std::move(pair.second), pair.first};
89  });
90 
91  cudaEventDestroy(start);
92  cudaEventDestroy(stop);
93 
94  return time_sorted_plans;
95 }
96 
97 template <CudnnFindSamplingTechnique samplingTechnique>
98 auto
101  cudnn_frontend::VariantPack &variantPack,
102  Predicate pred) -> executionOptions_t {
104  executionPlans_t plans;
105  for (auto &engine_config : generate_engine_config(opGraph)) {
106 #ifndef NV_CUDNN_DISABLE_EXCEPTION
107  try {
108 #endif
109  plans.push_back(
110  cudnn_frontend::ExecutionPlanBuilder().setHandle(handle).setEngineConfig(engine_config, opGraph.getTag()).build());
111 #ifndef NV_CUDNN_DISABLE_EXCEPTION
112  } catch (cudnnException &e) {
113  continue;
114  }
115 #endif
116  }
117  return time_sorted_plan<samplingTechnique>(handle, filter(pred, plans), variantPack);
118 }
119 }
std::function< bool(cudnn_frontend::ExecutionPlan const &plan)> Predicate
diff --git a/docs/d3/d71/structnlohmann_1_1detail_1_1is__compatible__type.html b/docs/d3/d71/structnlohmann_1_1detail_1_1is__compatible__type.html new file mode 100644 index 00000000..73bc64e2 --- /dev/null +++ b/docs/d3/d71/structnlohmann_1_1detail_1_1is__compatible__type.html @@ -0,0 +1,128 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_compatible_type< BasicJsonType, CompatibleType > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::is_compatible_type< BasicJsonType, CompatibleType > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Inheritance diagram for nlohmann::detail::is_compatible_type< BasicJsonType, CompatibleType >:
+
+
Inheritance graph
+ + + + +
+
+Collaboration diagram for nlohmann::detail::is_compatible_type< BasicJsonType, CompatibleType >:
+
+
Collaboration graph
+ + + + +
+

Detailed Description

+

template<typename BasicJsonType, typename CompatibleType>
+struct nlohmann::detail::is_compatible_type< BasicJsonType, CompatibleType >

+ + +

Definition at line 3822 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d3/d72/structnlohmann_1_1detail_1_1make__void.html b/docs/d3/d72/structnlohmann_1_1detail_1_1make__void.html new file mode 100644 index 00000000..e6454d99 --- /dev/null +++ b/docs/d3/d72/structnlohmann_1_1detail_1_1make__void.html @@ -0,0 +1,145 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::make_void< Ts > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::make_void< Ts > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::make_void< Ts >:
+
+
Collaboration graph
+ + +
+ + + + +

+Public Types

using type = void
 
+

Detailed Description

+

template<typename ... Ts>
+struct nlohmann::detail::make_void< Ts >

+ + +

Definition at line 3207 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ type

+ +
+
+
+template<typename ... Ts>
+ + + + +
using nlohmann::detail::make_void< Ts >::type = void
+
+ +

Definition at line 3209 of file json.hpp.

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d3/d72/structnlohmann_1_1detail_1_1make__void.js b/docs/d3/d72/structnlohmann_1_1detail_1_1make__void.js new file mode 100644 index 00000000..e523e902 --- /dev/null +++ b/docs/d3/d72/structnlohmann_1_1detail_1_1make__void.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1make__void = +[ + [ "type", "d3/d72/structnlohmann_1_1detail_1_1make__void.html#a8961e24ae3b2cb65ec47d1ce805d94e4", null ] +]; \ No newline at end of file diff --git a/docs/d3/d74/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory__coll__graph.map b/docs/d3/d74/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory__coll__graph.map new file mode 100644 index 00000000..0f56948c --- /dev/null +++ b/docs/d3/d74/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d3/d74/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory__coll__graph.md5 b/docs/d3/d74/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory__coll__graph.md5 new file mode 100644 index 00000000..b9504a65 --- /dev/null +++ b/docs/d3/d74/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory__coll__graph.md5 @@ -0,0 +1 @@ +d5c50c165fce0553b1db41ee83c395f1 \ No newline at end of file diff --git a/docs/d3/d74/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory__coll__graph.png b/docs/d3/d74/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory__coll__graph.png new file mode 100644 index 00000000..cbeebe29 Binary files /dev/null and b/docs/d3/d74/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory__coll__graph.png differ diff --git a/docs/d3/d7c/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.map b/docs/d3/d7c/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.map new file mode 100644 index 00000000..dd04af2d --- /dev/null +++ b/docs/d3/d7c/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d3/d7c/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.md5 b/docs/d3/d7c/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.md5 new file mode 100644 index 00000000..d2aa9b8c --- /dev/null +++ b/docs/d3/d7c/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +e16a2ab8a9b7fb11dbcdc465fbc1acb9 \ No newline at end of file diff --git a/docs/d3/d7c/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.png b/docs/d3/d7c/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.png new file mode 100644 index 00000000..54fa95ed Binary files /dev/null and b/docs/d3/d7c/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__coll__graph.png differ diff --git a/docs/d3/d80/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object9d6a70fc02590333f1f03725169acdf6.map b/docs/d3/d80/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object9d6a70fc02590333f1f03725169acdf6.map new file mode 100644 index 00000000..a1e09fab --- /dev/null +++ b/docs/d3/d80/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object9d6a70fc02590333f1f03725169acdf6.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d3/d80/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object9d6a70fc02590333f1f03725169acdf6.md5 b/docs/d3/d80/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object9d6a70fc02590333f1f03725169acdf6.md5 new file mode 100644 index 00000000..524cc7bc --- /dev/null +++ b/docs/d3/d80/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object9d6a70fc02590333f1f03725169acdf6.md5 @@ -0,0 +1 @@ +61b3a3ab9c70b789c9cfafa24477aa35 \ No newline at end of file diff --git a/docs/d3/d80/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object9d6a70fc02590333f1f03725169acdf6.png b/docs/d3/d80/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object9d6a70fc02590333f1f03725169acdf6.png new file mode 100644 index 00000000..3f59b6e5 Binary files /dev/null and b/docs/d3/d80/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object9d6a70fc02590333f1f03725169acdf6.png differ diff --git a/docs/d3/d84/structnlohmann_1_1detail_1_1is__constructible__string__type.html b/docs/d3/d84/structnlohmann_1_1detail_1_1is__constructible__string__type.html new file mode 100644 index 00000000..22add4c4 --- /dev/null +++ b/docs/d3/d84/structnlohmann_1_1detail_1_1is__constructible__string__type.html @@ -0,0 +1,128 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible_string_type< BasicJsonType, ConstructibleStringType > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::is_constructible_string_type< BasicJsonType, ConstructibleStringType > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Inheritance diagram for nlohmann::detail::is_constructible_string_type< BasicJsonType, ConstructibleStringType >:
+
+
Inheritance graph
+ + + + +
+
+Collaboration diagram for nlohmann::detail::is_constructible_string_type< BasicJsonType, ConstructibleStringType >:
+
+
Collaboration graph
+ + + + +
+

Detailed Description

+

template<typename BasicJsonType, typename ConstructibleStringType>
+struct nlohmann::detail::is_constructible_string_type< BasicJsonType, ConstructibleStringType >

+ + +

Definition at line 3713 of file json.hpp.

+

The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.html b/docs/d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.html new file mode 100644 index 00000000..16c98dec --- /dev/null +++ b/docs/d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.html @@ -0,0 +1,145 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::utility_internal::Gen< T, N > Struct Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::utility_internal::Gen< T, N > Struct Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::utility_internal::Gen< T, N >:
+
+
Collaboration graph
+ + +
+ + + + +

+Public Types

using type = typename Extend< typename Gen< T, N/2 >::type, N/2, N % 2 >::type
 
+

Detailed Description

+

template<typename T, size_t N>
+struct nlohmann::detail::utility_internal::Gen< T, N >

+ + +

Definition at line 3114 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ type

+ +
+
+
+template<typename T, size_t N>
+ + + + +
using nlohmann::detail::utility_internal::Gen< T, N >::type = typename Extend < typename Gen < T, N / 2 >::type, N / 2, N % 2 >::type
+
+ +

Definition at line 3117 of file json.hpp.

+ +
+
+
The documentation for this struct was generated from the following file: +
+
+ + + + diff --git a/docs/d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.js b/docs/d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.js new file mode 100644 index 00000000..ecf60113 --- /dev/null +++ b/docs/d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1utility__internal_1_1Gen = +[ + [ "type", "d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.html#a1d6f2c7fb3fa065bf8cf6e6e3544dcef", null ] +]; \ No newline at end of file diff --git a/docs/d3/d92/group__OperationBuilder__v8.html b/docs/d3/d92/group__OperationBuilder__v8.html index 52fde7a2..72ce5ef7 100644 --- a/docs/d3/d92/group__OperationBuilder__v8.html +++ b/docs/d3/d92/group__OperationBuilder__v8.html @@ -117,6 +117,8 @@   auto cudnn_frontend::OperationBuilder_v8::setmatmulDesc (MatMulDesc_v8 const &matmulDesc) -> OperationBuilder_v8 &   +auto cudnn_frontend::OperationBuilder_v8::setreductionDesc (ReductionDesc_v8 const &reductionDesc) -> OperationBuilder_v8 & +  auto cudnn_frontend::OperationBuilder_v8::setpwDesc (PointWiseDesc_v8 const &pointWiseDesc) -> OperationBuilder_v8 &   auto cudnn_frontend::OperationBuilder_v8::setAlpha (float alpha) -> OperationBuilder_v8 & @@ -161,9 +163,9 @@

-

Definition at line 375 of file cudnn_frontend_Operation.h.

+

Definition at line 392 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::op_mode.

+

References cudnn_frontend::Operation_v8::op_mode.

@@ -191,9 +193,9 @@

-

Definition at line 333 of file cudnn_frontend_Operation.h.

+

Definition at line 350 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::alpha_d, cudnn_frontend::Operation_v8::alpha_s, and cudnn_frontend::Operation_v8::alphabetaType.

+

References cudnn_frontend::Operation_v8::alpha_d, cudnn_frontend::Operation_v8::alpha_s, and cudnn_frontend::Operation_v8::alphabetaType.

@@ -221,9 +223,9 @@

-

Definition at line 340 of file cudnn_frontend_Operation.h.

+

Definition at line 357 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::alpha_d, cudnn_frontend::Operation_v8::alpha_s, and cudnn_frontend::Operation_v8::alphabetaType.

+

References cudnn_frontend::Operation_v8::alpha_d, cudnn_frontend::Operation_v8::alpha_s, and cudnn_frontend::Operation_v8::alphabetaType.

@@ -251,9 +253,9 @@

-

Definition at line 347 of file cudnn_frontend_Operation.h.

+

Definition at line 364 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::alpha2_d, cudnn_frontend::Operation_v8::alpha2_s, and cudnn_frontend::Operation_v8::alphabetaType.

+

References cudnn_frontend::Operation_v8::alpha2_d, cudnn_frontend::Operation_v8::alpha2_s, and cudnn_frontend::Operation_v8::alphabetaType.

@@ -281,9 +283,9 @@

-

Definition at line 354 of file cudnn_frontend_Operation.h.

+

Definition at line 371 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::alpha2_d, cudnn_frontend::Operation_v8::alpha2_s, and cudnn_frontend::Operation_v8::alphabetaType.

+

References cudnn_frontend::Operation_v8::alpha2_d, cudnn_frontend::Operation_v8::alpha2_s, and cudnn_frontend::Operation_v8::alphabetaType.

@@ -311,9 +313,9 @@

-

Definition at line 252 of file cudnn_frontend_Operation.h.

+

Definition at line 258 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::amatdesc, and cudnn_frontend::set_error_and_throw_exception().

+

References cudnn_frontend::Operation_v8::amatdesc, and cudnn_frontend::set_error_and_throw_exception().

@@ -341,9 +343,9 @@

-

Definition at line 192 of file cudnn_frontend_Operation.h.

+

Definition at line 198 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::bdesc, and cudnn_frontend::set_error_and_throw_exception().

+

References cudnn_frontend::Operation_v8::bdesc, and cudnn_frontend::set_error_and_throw_exception().

@@ -371,9 +373,9 @@

-

Definition at line 361 of file cudnn_frontend_Operation.h.

+

Definition at line 378 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::alphabetaType, cudnn_frontend::Operation_v8::beta_d, and cudnn_frontend::Operation_v8::beta_s.

+

References cudnn_frontend::Operation_v8::alphabetaType, cudnn_frontend::Operation_v8::beta_d, and cudnn_frontend::Operation_v8::beta_s.

@@ -401,9 +403,9 @@

-

Definition at line 368 of file cudnn_frontend_Operation.h.

+

Definition at line 385 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::alphabetaType, cudnn_frontend::Operation_v8::beta_d, and cudnn_frontend::Operation_v8::beta_s.

+

References cudnn_frontend::Operation_v8::alphabetaType, cudnn_frontend::Operation_v8::beta_d, and cudnn_frontend::Operation_v8::beta_s.

@@ -431,9 +433,9 @@

-

Definition at line 263 of file cudnn_frontend_Operation.h.

+

Definition at line 269 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::bmatdesc, and cudnn_frontend::set_error_and_throw_exception().

+

References cudnn_frontend::Operation_v8::bmatdesc, and cudnn_frontend::set_error_and_throw_exception().

@@ -461,9 +463,9 @@

-

Definition at line 241 of file cudnn_frontend_Operation.h.

+

Definition at line 247 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::cdesc, and cudnn_frontend::set_error_and_throw_exception().

+

References cudnn_frontend::Operation_v8::cdesc, and cudnn_frontend::set_error_and_throw_exception().

@@ -491,9 +493,9 @@

-

Definition at line 274 of file cudnn_frontend_Operation.h.

+

Definition at line 280 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::cmatdesc, and cudnn_frontend::set_error_and_throw_exception().

+

References cudnn_frontend::Operation_v8::cmatdesc, and cudnn_frontend::set_error_and_throw_exception().

@@ -521,9 +523,9 @@

-

Definition at line 235 of file cudnn_frontend_Operation.h.

+

Definition at line 241 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::dwdesc.

+

References cudnn_frontend::Operation_v8::dwdesc.

@@ -551,9 +553,9 @@

-

Definition at line 230 of file cudnn_frontend_Operation.h.

+

Definition at line 236 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::dxdesc.

+

References cudnn_frontend::Operation_v8::dxdesc.

@@ -581,9 +583,9 @@

-

Definition at line 220 of file cudnn_frontend_Operation.h.

+

Definition at line 226 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::dydesc.

+

References cudnn_frontend::Operation_v8::dydesc.

@@ -611,9 +613,9 @@

-

Definition at line 225 of file cudnn_frontend_Operation.h.

+

Definition at line 231 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::dydesc.

+

References cudnn_frontend::Operation_v8::dydesc.

@@ -641,9 +643,9 @@

-

Definition at line 285 of file cudnn_frontend_Operation.h.

+

Definition at line 291 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::matmuldesc, and cudnn_frontend::set_error_and_throw_exception().

+

References cudnn_frontend::Operation_v8::matmuldesc, and cudnn_frontend::set_error_and_throw_exception().

@@ -671,9 +673,39 @@

-

Definition at line 296 of file cudnn_frontend_Operation.h.

+

Definition at line 313 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::is_pointwise_activation_bwd_op, cudnn_frontend::Operation_v8::is_pointwise_activation_fwd_op, cudnn_frontend::Operation_v8::is_pointwise_math_op, cudnn_frontend::Operation_v8::pointwise_mode, cudnn_frontend::Operation_v8::pointwise_port_count, cudnn_frontend::Operation_v8::pwdesc, and cudnn_frontend::set_error_and_throw_exception().

+

References cudnn_frontend::Operation_v8::is_pointwise_activation_bwd_op, cudnn_frontend::Operation_v8::is_pointwise_activation_fwd_op, cudnn_frontend::Operation_v8::is_pointwise_math_op, cudnn_frontend::Operation_v8::pointwise_mode, cudnn_frontend::Operation_v8::pointwise_port_count, cudnn_frontend::Operation_v8::pwdesc, and cudnn_frontend::set_error_and_throw_exception().

+ + + + +

◆ setreductionDesc()

+ +
+
+ + + + + +
+ + + + + + + + +
auto cudnn_frontend::OperationBuilder_v8::setreductionDesc (ReductionDesc_v8 const & reductionDesc) -> OperationBuilder_v8 &
+
+inline
+
@@ -701,9 +733,9 @@

-

Definition at line 208 of file cudnn_frontend_Operation.h.

+

Definition at line 214 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::set_error_and_throw_exception(), and cudnn_frontend::Operation_v8::wdesc.

+

References cudnn_frontend::set_error_and_throw_exception(), and cudnn_frontend::Operation_v8::wdesc.

@@ -731,9 +763,9 @@

-

Definition at line 181 of file cudnn_frontend_Operation.h.

+

Definition at line 187 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::xdesc.

+

References cudnn_frontend::Operation_v8::xdesc.

@@ -761,9 +793,9 @@

-

Definition at line 187 of file cudnn_frontend_Operation.h.

+

Definition at line 193 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::xdesc.

+

References cudnn_frontend::Operation_v8::xdesc.

@@ -791,9 +823,9 @@

-

Definition at line 203 of file cudnn_frontend_Operation.h.

+

Definition at line 209 of file cudnn_frontend_Operation.h.

-

References cudnn_frontend::Operation_v8::ydesc.

+

References cudnn_frontend::Operation_v8::ydesc.

diff --git a/docs/d3/d92/group__OperationBuilder__v8.js b/docs/d3/d92/group__OperationBuilder__v8.js index 7ea6f7e2..e8a5b4c5 100644 --- a/docs/d3/d92/group__OperationBuilder__v8.js +++ b/docs/d3/d92/group__OperationBuilder__v8.js @@ -18,6 +18,7 @@ var group__OperationBuilder__v8 = [ "setdyDesc", "d3/d92/group__OperationBuilder__v8.html#ga9e4a1e9a233b44cca5b65f0af172b001", null ], [ "setmatmulDesc", "d3/d92/group__OperationBuilder__v8.html#ga3ca1f62832f998566c1b07b4b3c71db4", null ], [ "setpwDesc", "d3/d92/group__OperationBuilder__v8.html#gae6b06877b2e675b2a390f0b122100669", null ], + [ "setreductionDesc", "d3/d92/group__OperationBuilder__v8.html#ga904279a29c2c5c949a0e487dd573ae0a", null ], [ "setwDesc", "d3/d92/group__OperationBuilder__v8.html#ga80466e517e980ba4953e085b3d4e3498", null ], [ "setxDesc", "d3/d92/group__OperationBuilder__v8.html#gaefa06fdaae3b28c6ef08a0189e2a3d3a", null ], [ "setxDesc", "d3/d92/group__OperationBuilder__v8.html#ga04c2492a5376f1a74a57fb49fa7b3599", null ], diff --git a/docs/d3/d94/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_0069ce2b3aa60be472a03913e9fec4f4c1.html b/docs/d3/d94/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_0069ce2b3aa60be472a03913e9fec4f4c1.html new file mode 100644 index 00000000..66679cd8 --- /dev/null +++ b/docs/d3/d94/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_0069ce2b3aa60be472a03913e9fec4f4c1.html @@ -0,0 +1,103 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... > Member List
+
+ +
+ + + + diff --git a/docs/d3/d98/cudnn__frontend__Tensor_8h_source.html b/docs/d3/d98/cudnn__frontend__Tensor_8h_source.html index d5bbfb14..9455cfbc 100644 --- a/docs/d3/d98/cudnn__frontend__Tensor_8h_source.html +++ b/docs/d3/d98/cudnn__frontend__Tensor_8h_source.html @@ -84,10 +84,11 @@
cudnn_frontend_Tensor.h
-Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20  * DEALINGS IN THE SOFTWARE.
21  */
22 
23 #pragma once
24 
25 #include <algorithm>
26 #include <array>
27 #include <functional>
28 #include <memory>
29 #include <sstream>
30 #include <utility>
31 
32 #include "cudnn_frontend_utils.h"
33 
34 namespace cudnn_frontend {
35 
51 class Tensor_v8 : public BackendDescriptor {
52  public:
53  friend class TensorBuilder_v8;
54  std::string
55  describe() const override {
56  std::stringstream ss;
57  char sep = ' ';
58  ss << "CUDNN_BACKEND_TENSOR_DESCRIPTOR :"
59  << " Datatype: " << std::to_string(data_type) << " Id: " << std::to_string(id)
60  << " Alignment: " << std::to_string(alignment) << " nDims " << nDims;
61  ss << " Dim [";
62  std::for_each(std::begin(btensor_dimA), std::end(btensor_dimA), [&ss, sep](int x) mutable {
63  ss << sep << x;
64  sep = ',';
65  });
66  ss << " ] Str [";
67  std::for_each(std::begin(btensor_strA), std::end(btensor_strA), [&ss, sep](int x) mutable {
68  ss << sep << x;
69  sep = ',';
70  });
71  ss << "]";
72  return ss.str();
73  }
74 
76  : BackendDescriptor(from.get_desc(), from.get_status(), from.get_error()),
77  data_type(from.data_type),
78  id(from.id),
79  alignment(from.alignment),
80  nDims(from.nDims),
81  isVirtual(from.isVirtual) {
82  std::copy(std::begin(from.btensor_dimA), std::end(from.btensor_dimA), btensor_dimA);
83  std::copy(std::begin(from.btensor_strA), std::end(from.btensor_strA), btensor_strA);
84  }
85 
86  ~Tensor_v8() = default;
87 
88  private:
89  Tensor_v8() = default;
90  Tensor_v8(Tensor_v8 const &) = delete;
91  Tensor_v8 &
92  operator=(Tensor_v8 const &) = delete;
93 
94  cudnnDataType_t data_type = CUDNN_DATA_FLOAT;
95  int64_t btensor_dimA[CUDNN_DIM_MAX + 1] = {-1};
96  int64_t btensor_strA[CUDNN_DIM_MAX + 1] = {-1};
97  int64_t id = -1;
98  int64_t alignment = -1;
99  int64_t nDims = -1;
101  bool isVirtual = false;
102 };
103 
108  public:
113  auto
115  setDataType(cudnnDataType_t data_type_) -> TensorBuilder_v8 & {
116  m_tensor.data_type = data_type_;
117  return *this;
118  }
120  auto
121  setDim(int64_t ndim, int64_t const *dim) -> TensorBuilder_v8 & {
122  std::copy((dim), dim + ndim, m_tensor.btensor_dimA);
123  m_tensor.nDims = ndim;
124  return *this;
125  }
127  auto
128  setStrides(int64_t ndim, int64_t const *strides) -> TensorBuilder_v8 & {
129  std::copy(strides, strides + ndim, m_tensor.btensor_strA);
130  return *this;
131  }
133  auto
134  setId(int64_t id_) -> TensorBuilder_v8 & {
135  m_tensor.id = id_;
136  return *this;
137  }
139  auto
140  setAlignment(int64_t alignment_) -> TensorBuilder_v8 & {
141  m_tensor.alignment = alignment_;
142  return *this;
143  }
145  auto
146  setVirtual(bool virtual_ = true) -> TensorBuilder_v8 & {
147  m_tensor.isVirtual = virtual_;
148  return *this;
149  }
152  Tensor_v8 &&
155  build() {
156  // Sanity check if non-default fields have been set correctly.
157  if (m_tensor.alignment <= 0) {
159  &m_tensor,
160  CUDNN_STATUS_BAD_PARAM,
161  "CUDNN_BACKEND_TENSOR_DESCRIPTOR: Check and Set the CUDNN_ATTR_TENSOR_BYTE_ALIGNMENT field");
162  return std::move(m_tensor);
163  }
164  if (m_tensor.id <= 0) {
166  &m_tensor,
167  CUDNN_STATUS_BAD_PARAM,
168  "CUDNN_BACKEND_TENSOR_DESCRIPTOR: Check and Set the CUDNN_ATTR_TENSOR_UNIQUE_ID as a valid value");
169  return std::move(m_tensor);
170  }
171  if (m_tensor.btensor_strA[0] <= 0) {
173  &m_tensor,
174  CUDNN_STATUS_BAD_PARAM,
175  "CUDNN_BACKEND_TENSOR_DESCRIPTOR: Check and Set the CUDNN_ATTR_TENSOR_STRIDES Correctly");
176  return std::move(m_tensor);
177  }
178  if (m_tensor.btensor_dimA[0] <= 0) {
180  &m_tensor,
181  CUDNN_STATUS_BAD_PARAM,
182  "CUDNN_BACKEND_TENSOR_DESCRIPTOR: Check and Set the CUDNN_ATTR_TENSOR_DIMENSIONS Correctly");
183  return std::move(m_tensor);
184  }
185  if (m_tensor.pointer != nullptr) {
187  CUDNN_STATUS_BAD_PARAM,
188  "CUDNN_BACKEND_TENSOR_DESCRIPTOR: Bad tensor created. The tensor already "
189  "seems to be pointing to something");
190  return std::move(m_tensor);
191  }
192 
193  // Create a descriptor. Memory allocation happens here.
194  auto status = m_tensor.initialize_managed_backend_pointer(CUDNN_BACKEND_TENSOR_DESCRIPTOR);
195  if (status != CUDNN_STATUS_SUCCESS) {
197  &m_tensor, status, "CUDNN_BACKEND_TENSOR_DESCRIPTOR: cudnnCreate Descriptor Failed");
198  return std::move(m_tensor);
199  }
200 
201  // Once Created lets set the descriptor parameters.
202  status = cudnnBackendSetAttribute(m_tensor.pointer->get_backend_descriptor(),
203  CUDNN_ATTR_TENSOR_DATA_TYPE,
204  CUDNN_TYPE_DATA_TYPE,
205  1,
206  &m_tensor.data_type);
207  if (status != CUDNN_STATUS_SUCCESS) {
209  &m_tensor, status, "CUDNN_BACKEND_TENSOR_DESCRIPTOR: SetAttribute CUDNN_ATTR_TENSOR_DATA_TYPE Failed");
210  return std::move(m_tensor);
211  }
212  status = cudnnBackendSetAttribute(m_tensor.pointer->get_backend_descriptor(),
213  CUDNN_ATTR_TENSOR_DIMENSIONS,
214  CUDNN_TYPE_INT64,
215  m_tensor.nDims,
216  m_tensor.btensor_dimA);
217  if (status != CUDNN_STATUS_SUCCESS) {
219  &m_tensor, status, "CUDNN_BACKEND_TENSOR_DESCRIPTOR: SetAttribute CUDNN_ATTR_TENSOR_DIMENSIONS Failed");
220  return std::move(m_tensor);
221  }
222  status = cudnnBackendSetAttribute(m_tensor.pointer->get_backend_descriptor(),
223  CUDNN_ATTR_TENSOR_STRIDES,
224  CUDNN_TYPE_INT64,
225  m_tensor.nDims,
226  m_tensor.btensor_strA);
227  if (status != CUDNN_STATUS_SUCCESS) {
229  &m_tensor, status, "CUDNN_BACKEND_TENSOR_DESCRIPTOR: SetAttribute CUDNN_ATTR_TENSOR_STRIDES Failed");
230  return std::move(m_tensor);
231  }
232  status = cudnnBackendSetAttribute(
233  m_tensor.pointer->get_backend_descriptor(), CUDNN_ATTR_TENSOR_UNIQUE_ID, CUDNN_TYPE_INT64, 1, &m_tensor.id);
234  if (status != CUDNN_STATUS_SUCCESS) {
236  &m_tensor, status, "CUDNN_BACKEND_TENSOR_DESCRIPTOR: SetAttribute CUDNN_ATTR_TENSOR_UNIQUE_ID Failed");
237  return std::move(m_tensor);
238  }
239  cudnnBackendSetAttribute(m_tensor.pointer->get_backend_descriptor(),
240  CUDNN_ATTR_TENSOR_BYTE_ALIGNMENT,
241  CUDNN_TYPE_INT64,
242  1,
243  &m_tensor.alignment);
244  if (status != CUDNN_STATUS_SUCCESS) {
246  &m_tensor,
247  status,
248  "CUDNN_BACKEND_TENSOR_DESCRIPTOR: SetAttribute CUDNN_ATTR_TENSOR_BYTE_ALIGNMENT Failed");
249  return std::move(m_tensor);
250  }
251  if (m_tensor.isVirtual) {
252  cudnnBackendSetAttribute(m_tensor.pointer->get_backend_descriptor(),
253  CUDNN_ATTR_TENSOR_IS_VIRTUAL,
254  CUDNN_TYPE_BOOLEAN,
255  1,
256  &m_tensor.isVirtual);
257  if (status != CUDNN_STATUS_SUCCESS) {
259  &m_tensor,
260  status,
261  "CUDNN_BACKEND_TENSOR_DESCRIPTOR: SetAttribute CUDNN_ATTR_TENSOR_BYTE_ALIGNMENT Failed");
262  return std::move(m_tensor);
263  }
264  }
265 
266  // Finalizing the descriptor
267  status = cudnnBackendFinalize(m_tensor.pointer->get_backend_descriptor());
268  if (status != CUDNN_STATUS_SUCCESS) {
269  set_error_and_throw_exception(&m_tensor, status, "CUDNN_BACKEND_TENSOR_DESCRIPTOR cudnnFinalize failed");
270  return std::move(m_tensor);
271  }
272  return std::move(m_tensor);
273  }
274 
275  explicit TensorBuilder_v8() = default;
276  ~TensorBuilder_v8() = default;
277  TensorBuilder_v8(TensorBuilder_v8 &&) = delete;
278  TensorBuilder_v8(TensorBuilder_v8 const &) = delete;
280  operator=(TensorBuilder_v8 const &) = delete;
281 
282  private:
284 };
285 }
+Go to the documentation of this file.
1 /*
2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20  * DEALINGS IN THE SOFTWARE.
21  */
22 
23 #pragma once
24 
25 #include <algorithm>
26 #include <array>
27 #include <functional>
28 #include <memory>
29 #include <sstream>
30 #include <utility>
31 
32 #include "cudnn_frontend_utils.h"
33 
34 namespace cudnn_frontend {
35 
51 class Tensor_v8 : public BackendDescriptor {
52  public:
53  friend class TensorBuilder_v8;
54  std::string
55  describe() const override {
56  std::stringstream ss;
57  char sep = ' ';
58  ss << "CUDNN_BACKEND_TENSOR_DESCRIPTOR :"
59  << " Datatype: " << std::to_string(data_type) << " Id: " << std::to_string(id)
60  << " Alignment: " << std::to_string(alignment) << " nDims " << nDims;
61  ss << " Dim [";
62  std::for_each(std::begin(btensor_dimA), std::end(btensor_dimA), [&ss, sep](int x) mutable {
63  ss << sep << x;
64  sep = ',';
65  });
66  ss << " ] Str [";
67  std::for_each(std::begin(btensor_strA), std::end(btensor_strA), [&ss, sep](int x) mutable {
68  ss << sep << x;
69  sep = ',';
70  });
71  ss << "]";
72  return ss.str();
73  }
74 
76  : BackendDescriptor(from.get_desc(), from.get_status(), from.get_error()),
77  data_type(from.data_type),
78  id(from.id),
79  alignment(from.alignment),
80  nDims(from.nDims),
81  isVirtual(from.isVirtual) {
82  std::copy(std::begin(from.btensor_dimA), std::end(from.btensor_dimA), btensor_dimA);
83  std::copy(std::begin(from.btensor_strA), std::end(from.btensor_strA), btensor_strA);
84  }
85 
86  ~Tensor_v8() = default;
87 
88  private:
89  Tensor_v8() = default;
90  Tensor_v8(Tensor_v8 const &) = delete;
91  Tensor_v8 &
92  operator=(Tensor_v8 const &) = delete;
93 
94  cudnnDataType_t data_type = CUDNN_DATA_FLOAT;
95  int64_t btensor_dimA[CUDNN_DIM_MAX + 1] = {-1};
96  int64_t btensor_strA[CUDNN_DIM_MAX + 1] = {-1};
97  int64_t id = -1;
98  int64_t alignment = -1;
99  int64_t nDims = -1;
101  bool isVirtual = false;
102 };
103 
108  public:
113  auto
115  setDataType(cudnnDataType_t data_type_) -> TensorBuilder_v8 & {
116  m_tensor.data_type = data_type_;
117  return *this;
118  }
120  auto
121  setDim(int64_t ndim, int64_t const *dim) -> TensorBuilder_v8 & {
122  std::copy((dim), dim + ndim, m_tensor.btensor_dimA);
123  m_tensor.nDims = ndim;
124  return *this;
125  }
127  auto
128  setStrides(int64_t ndim, int64_t const *strides) -> TensorBuilder_v8 & {
129  std::copy(strides, strides + ndim, m_tensor.btensor_strA);
130  return *this;
131  }
133  auto
134  setId(int64_t id_) -> TensorBuilder_v8 & {
135  m_tensor.id = id_;
136  return *this;
137  }
139  auto
140  setAlignment(int64_t alignment_) -> TensorBuilder_v8 & {
141  m_tensor.alignment = alignment_;
142  return *this;
143  }
145  auto
146  setVirtual(bool virtual_ = true) -> TensorBuilder_v8 & {
147  m_tensor.isVirtual = virtual_;
148  return *this;
149  }
152  Tensor_v8 &&
155  build() {
156  // Sanity check if non-default fields have been set correctly.
157  if (m_tensor.alignment <= 0) {
159  &m_tensor,
160  CUDNN_STATUS_BAD_PARAM,
161  "CUDNN_BACKEND_TENSOR_DESCRIPTOR: Check and Set the CUDNN_ATTR_TENSOR_BYTE_ALIGNMENT field");
162  return std::move(m_tensor);
163  }
164  if (m_tensor.id <= 0) {
166  &m_tensor,
167  CUDNN_STATUS_BAD_PARAM,
168  "CUDNN_BACKEND_TENSOR_DESCRIPTOR: Check and Set the CUDNN_ATTR_TENSOR_UNIQUE_ID as a valid value");
169  return std::move(m_tensor);
170  }
171  if (m_tensor.btensor_strA[0] <= 0) {
173  &m_tensor,
174  CUDNN_STATUS_BAD_PARAM,
175  "CUDNN_BACKEND_TENSOR_DESCRIPTOR: Check and Set the CUDNN_ATTR_TENSOR_STRIDES Correctly");
176  return std::move(m_tensor);
177  }
178  if (m_tensor.btensor_dimA[0] <= 0) {
180  &m_tensor,
181  CUDNN_STATUS_BAD_PARAM,
182  "CUDNN_BACKEND_TENSOR_DESCRIPTOR: Check and Set the CUDNN_ATTR_TENSOR_DIMENSIONS Correctly");
183  return std::move(m_tensor);
184  }
185  if (m_tensor.pointer != nullptr) {
187  CUDNN_STATUS_BAD_PARAM,
188  "CUDNN_BACKEND_TENSOR_DESCRIPTOR: Bad tensor created. The tensor already "
189  "seems to be pointing to something");
190  return std::move(m_tensor);
191  }
192 
193  // Create a descriptor. Memory allocation happens here.
194  auto status = m_tensor.initialize_managed_backend_pointer(CUDNN_BACKEND_TENSOR_DESCRIPTOR);
195  if (status != CUDNN_STATUS_SUCCESS) {
197  &m_tensor, status, "CUDNN_BACKEND_TENSOR_DESCRIPTOR: cudnnCreate Descriptor Failed");
198  return std::move(m_tensor);
199  }
200 
201  // Once Created lets set the descriptor parameters.
202  status = cudnnBackendSetAttribute(m_tensor.pointer->get_backend_descriptor(),
203  CUDNN_ATTR_TENSOR_DATA_TYPE,
204  CUDNN_TYPE_DATA_TYPE,
205  1,
206  &m_tensor.data_type);
207  if (status != CUDNN_STATUS_SUCCESS) {
209  &m_tensor, status, "CUDNN_BACKEND_TENSOR_DESCRIPTOR: SetAttribute CUDNN_ATTR_TENSOR_DATA_TYPE Failed");
210  return std::move(m_tensor);
211  }
212  status = cudnnBackendSetAttribute(m_tensor.pointer->get_backend_descriptor(),
213  CUDNN_ATTR_TENSOR_DIMENSIONS,
214  CUDNN_TYPE_INT64,
215  m_tensor.nDims,
216  m_tensor.btensor_dimA);
217  if (status != CUDNN_STATUS_SUCCESS) {
219  &m_tensor, status, "CUDNN_BACKEND_TENSOR_DESCRIPTOR: SetAttribute CUDNN_ATTR_TENSOR_DIMENSIONS Failed");
220  return std::move(m_tensor);
221  }
222  status = cudnnBackendSetAttribute(m_tensor.pointer->get_backend_descriptor(),
223  CUDNN_ATTR_TENSOR_STRIDES,
224  CUDNN_TYPE_INT64,
225  m_tensor.nDims,
226  m_tensor.btensor_strA);
227  if (status != CUDNN_STATUS_SUCCESS) {
229  &m_tensor, status, "CUDNN_BACKEND_TENSOR_DESCRIPTOR: SetAttribute CUDNN_ATTR_TENSOR_STRIDES Failed");
230  return std::move(m_tensor);
231  }
232  status = cudnnBackendSetAttribute(
233  m_tensor.pointer->get_backend_descriptor(), CUDNN_ATTR_TENSOR_UNIQUE_ID, CUDNN_TYPE_INT64, 1, &m_tensor.id);
234  if (status != CUDNN_STATUS_SUCCESS) {
236  &m_tensor, status, "CUDNN_BACKEND_TENSOR_DESCRIPTOR: SetAttribute CUDNN_ATTR_TENSOR_UNIQUE_ID Failed");
237  return std::move(m_tensor);
238  }
239  cudnnBackendSetAttribute(m_tensor.pointer->get_backend_descriptor(),
240  CUDNN_ATTR_TENSOR_BYTE_ALIGNMENT,
241  CUDNN_TYPE_INT64,
242  1,
243  &m_tensor.alignment);
244  if (status != CUDNN_STATUS_SUCCESS) {
246  &m_tensor,
247  status,
248  "CUDNN_BACKEND_TENSOR_DESCRIPTOR: SetAttribute CUDNN_ATTR_TENSOR_BYTE_ALIGNMENT Failed");
249  return std::move(m_tensor);
250  }
251  if (m_tensor.isVirtual) {
252  cudnnBackendSetAttribute(m_tensor.pointer->get_backend_descriptor(),
253  CUDNN_ATTR_TENSOR_IS_VIRTUAL,
254  CUDNN_TYPE_BOOLEAN,
255  1,
256  &m_tensor.isVirtual);
257  if (status != CUDNN_STATUS_SUCCESS) {
259  &m_tensor,
260  status,
261  "CUDNN_BACKEND_TENSOR_DESCRIPTOR: SetAttribute CUDNN_ATTR_TENSOR_BYTE_ALIGNMENT Failed");
262  return std::move(m_tensor);
263  }
264  }
265 
266  // Finalizing the descriptor
267  status = cudnnBackendFinalize(m_tensor.pointer->get_backend_descriptor());
268  if (status != CUDNN_STATUS_SUCCESS) {
269  set_error_and_throw_exception(&m_tensor, status, "CUDNN_BACKEND_TENSOR_DESCRIPTOR cudnnFinalize failed");
270  return std::move(m_tensor);
271  }
272  return std::move(m_tensor);
273  }
274 
275  explicit TensorBuilder_v8() = default;
276  ~TensorBuilder_v8() = default;
277  TensorBuilder_v8(TensorBuilder_v8 &&) = delete;
278  TensorBuilder_v8(TensorBuilder_v8 const &) = delete;
280  operator=(TensorBuilder_v8 const &) = delete;
281 
282  private:
284 };
285 }
auto setVirtual(bool virtual_=true) -> TensorBuilder_v8 &
Set Alignment of the tensor.
static void set_error_and_throw_exception(BackendDescriptor const *desc, cudnnStatus_t status, const char *message)
+
NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string to_string(const NLOHMANN_BASIC_JSON_TPL &j)
user-defined to_string function for JSON values
Definition: json.hpp:25855
int64_t btensor_strA[CUDNN_DIM_MAX+1]
n, g, c, d, h, w
int64_t alignment
Unique id of the tensor.
diff --git a/docs/d3/d9b/namespacenlohmann.html b/docs/d3/d9b/namespacenlohmann.html new file mode 100644 index 00000000..3a9073e1 --- /dev/null +++ b/docs/d3/d9b/namespacenlohmann.html @@ -0,0 +1,228 @@ + + + + + + + +CUDNN Frontend API: nlohmann Namespace Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann Namespace Reference
+
+
+ +

namespace for Niels Lohmann +More...

+ + + + + +

+Namespaces

 detail
 detail namespace with internal helper functions
 
+ + + + + + + + + + + + + + + + + + +

+Classes

struct  adl_serializer
 default JSONSerializer template argument More...
 
class  basic_json
 a class to store JSON values More...
 
class  byte_container_with_subtype
 an internal type for a backed binary type More...
 
class  json_pointer
 JSON Pointer. More...
 
struct  json_sax
 SAX interface. More...
 
struct  ordered_map
 
+ + + + + + + +

+Typedefs

using json = basic_json<>
 default JSON class More...
 
using ordered_json = basic_json< nlohmann::ordered_map >
 ordered JSON class More...
 
+ + + + +

+Functions

NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string to_string (const NLOHMANN_BASIC_JSON_TPL &j)
 user-defined to_string function for JSON values More...
 
+

Detailed Description

+

namespace for Niels Lohmann

+
See also
https://github.com/nlohmann
+
Since
version 1.0.0
+

namespace to hold default to_json function to see why this is required: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4381.html

+

Typedef Documentation

+ +

◆ json

+ +
+
+ + + + +
using nlohmann::json = typedef basic_json<>
+
+ +

default JSON class

+

This type is the default specialization of the basic_json class which uses the standard template types.

+
Since
version 1.0.0
+ +

Definition at line 3390 of file json.hpp.

+ +
+
+ +

◆ ordered_json

+ +
+
+ +

ordered JSON class

+

This type preserves the insertion order of object keys.

+
Since
version 3.9.0
+ +

Definition at line 3402 of file json.hpp.

+ +
+
+

Function Documentation

+ +

◆ to_string()

+ +
+
+ + + + + + + + +
NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string nlohmann::to_string (const NLOHMANN_BASIC_JSON_TPLj)
+
+ +

user-defined to_string function for JSON values

+

This function implements a user-defined to_string for JSON objects.

+
Parameters
+ + +
[in]ja JSON object
+
+
+
Returns
a std::string object
+ +

Definition at line 25855 of file json.hpp.

+ +

Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at(), nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_array_size(), nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_entry_header_size(), nlohmann::detail::parse_error::create(), cudnn_frontend::Tensor_v8::describe(), cudnn_frontend::ConvDesc_v8::describe(), cudnn_frontend::Operation_v8::describe(), nlohmann::detail::exception::diagnostics(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase(), nlohmann::json_pointer< BasicJsonType >::flatten(), nlohmann::detail::serializer< BasicJsonType >::for(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_binary(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_string(), nlohmann::json_pointer< BasicJsonType >::get_checked(), nlohmann::json_pointer< BasicJsonType >::get_unchecked(), nlohmann::detail::int_to_string(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::meta(), nlohmann::detail::exception::name(), nlohmann::json_pointer< BasicJsonType >::operator std::string(), nlohmann::json_pointer< BasicJsonType >::operator/=(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch(), nlohmann::detail::parse_error::position_string(), cudnn_frontend::set_error_and_throw_exception(), nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_array(), nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_array(), nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_object(), nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_object(), nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_array(), and nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_unsigned().

+ +
+
+
+
+ + + + diff --git a/docs/d3/d9b/namespacenlohmann.js b/docs/d3/d9b/namespacenlohmann.js new file mode 100644 index 00000000..04ea65f4 --- /dev/null +++ b/docs/d3/d9b/namespacenlohmann.js @@ -0,0 +1,10 @@ +var namespacenlohmann = +[ + [ "detail", "dc/df0/namespacenlohmann_1_1detail.html", "dc/df0/namespacenlohmann_1_1detail" ], + [ "adl_serializer", "dc/dc7/structnlohmann_1_1adl__serializer.html", "dc/dc7/structnlohmann_1_1adl__serializer" ], + [ "basic_json", "d9/dcc/classnlohmann_1_1basic__json.html", "d9/dcc/classnlohmann_1_1basic__json" ], + [ "byte_container_with_subtype", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html", "dd/d0d/classnlohmann_1_1byte__container__with__subtype" ], + [ "json_pointer", "da/de8/classnlohmann_1_1json__pointer.html", "da/de8/classnlohmann_1_1json__pointer" ], + [ "json_sax", "d0/d82/structnlohmann_1_1json__sax.html", "d0/d82/structnlohmann_1_1json__sax" ], + [ "ordered_map", "d6/da7/structnlohmann_1_1ordered__map.html", "d6/da7/structnlohmann_1_1ordered__map" ] +]; \ No newline at end of file diff --git a/docs/d3/d9d/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_604ca6732fda926f3dc88ea5668c07e2.map b/docs/d3/d9d/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_604ca6732fda926f3dc88ea5668c07e2.map new file mode 100644 index 00000000..03dd8eff --- /dev/null +++ b/docs/d3/d9d/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_604ca6732fda926f3dc88ea5668c07e2.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d3/d9d/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_604ca6732fda926f3dc88ea5668c07e2.md5 b/docs/d3/d9d/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_604ca6732fda926f3dc88ea5668c07e2.md5 new file mode 100644 index 00000000..2ba8d470 --- /dev/null +++ b/docs/d3/d9d/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_604ca6732fda926f3dc88ea5668c07e2.md5 @@ -0,0 +1 @@ +33c9d318e4f8c047f6dd91721f24f30c \ No newline at end of file diff --git a/docs/d3/d9d/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_604ca6732fda926f3dc88ea5668c07e2.png b/docs/d3/d9d/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_604ca6732fda926f3dc88ea5668c07e2.png new file mode 100644 index 00000000..e7831ea6 Binary files /dev/null and b/docs/d3/d9d/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_604ca6732fda926f3dc88ea5668c07e2.png differ diff --git a/docs/d3/da6/structnlohmann_1_1detail_1_1from__json__fn-members.html b/docs/d3/da6/structnlohmann_1_1detail_1_1from__json__fn-members.html new file mode 100644 index 00000000..4d464a2e --- /dev/null +++ b/docs/d3/da6/structnlohmann_1_1detail_1_1from__json__fn-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::from_json_fn Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::from_json_fn, including all inherited members.

+ + +
operator()(const BasicJsonType &j, T &&val) const noexcept(noexcept(from_json(j, std::forward< T >(val)))) -> decltype(from_json(j, std::forward< T >(val)))nlohmann::detail::from_json_fninline
+
+ + + + diff --git a/docs/d3/daf/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.map b/docs/d3/daf/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.map new file mode 100644 index 00000000..387d7068 --- /dev/null +++ b/docs/d3/daf/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d3/daf/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.md5 b/docs/d3/daf/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.md5 new file mode 100644 index 00000000..88b3c6bf --- /dev/null +++ b/docs/d3/daf/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.md5 @@ -0,0 +1 @@ +1ce711aa7d79bc0708aeeaf815f9798e \ No newline at end of file diff --git a/docs/d3/daf/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.png b/docs/d3/daf/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.png new file mode 100644 index 00000000..9d5d9834 Binary files /dev/null and b/docs/d3/daf/classnlohmann_1_1detail_1_1output__stream__adapter__inherit__graph.png differ diff --git a/docs/d3/dba/classnlohmann_1_1detail_1_1out__of__range-members.html b/docs/d3/dba/classnlohmann_1_1detail_1_1out__of__range-members.html new file mode 100644 index 00000000..973ee068 --- /dev/null +++ b/docs/d3/dba/classnlohmann_1_1detail_1_1out__of__range-members.html @@ -0,0 +1,108 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::out_of_range Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::out_of_range, including all inherited members.

+ + + + + + + + +
create(int id_, const std::string &what_arg, const BasicJsonType &context)nlohmann::detail::out_of_rangeinlinestatic
diagnostics(const BasicJsonType &leaf_element)nlohmann::detail::exceptioninlineprotectedstatic
exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
idnlohmann::detail::exception
name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
out_of_range(int id_, const char *what_arg)nlohmann::detail::out_of_rangeinlineprivate
what() const noexcept overridenlohmann::detail::exceptioninline
+
+ + + + diff --git a/docs/d3/dbc/classcudnn__frontend_1_1ReductionDesc__v8__coll__graph.map b/docs/d3/dbc/classcudnn__frontend_1_1ReductionDesc__v8__coll__graph.map new file mode 100644 index 00000000..0544fa87 --- /dev/null +++ b/docs/d3/dbc/classcudnn__frontend_1_1ReductionDesc__v8__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d3/dbc/classcudnn__frontend_1_1ReductionDesc__v8__coll__graph.md5 b/docs/d3/dbc/classcudnn__frontend_1_1ReductionDesc__v8__coll__graph.md5 new file mode 100644 index 00000000..ab942117 --- /dev/null +++ b/docs/d3/dbc/classcudnn__frontend_1_1ReductionDesc__v8__coll__graph.md5 @@ -0,0 +1 @@ +492025438a11649ad0a6a236b886a0d0 \ No newline at end of file diff --git a/docs/d3/dbc/classcudnn__frontend_1_1ReductionDesc__v8__coll__graph.png b/docs/d3/dbc/classcudnn__frontend_1_1ReductionDesc__v8__coll__graph.png new file mode 100644 index 00000000..be43b797 Binary files /dev/null and b/docs/d3/dbc/classcudnn__frontend_1_1ReductionDesc__v8__coll__graph.png differ diff --git a/docs/d3/dcb/classstd_1_1pair_3_01const_01Key_00_01T_01_4__coll__graph.map b/docs/d3/dcb/classstd_1_1pair_3_01const_01Key_00_01T_01_4__coll__graph.map new file mode 100644 index 00000000..56b86ce4 --- /dev/null +++ b/docs/d3/dcb/classstd_1_1pair_3_01const_01Key_00_01T_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d3/dcb/classstd_1_1pair_3_01const_01Key_00_01T_01_4__coll__graph.md5 b/docs/d3/dcb/classstd_1_1pair_3_01const_01Key_00_01T_01_4__coll__graph.md5 new file mode 100644 index 00000000..dfe42bd7 --- /dev/null +++ b/docs/d3/dcb/classstd_1_1pair_3_01const_01Key_00_01T_01_4__coll__graph.md5 @@ -0,0 +1 @@ +6ae3c9a7f7a674e5b99e6235034d392f \ No newline at end of file diff --git a/docs/d3/dcb/classstd_1_1pair_3_01const_01Key_00_01T_01_4__coll__graph.png b/docs/d3/dcb/classstd_1_1pair_3_01const_01Key_00_01T_01_4__coll__graph.png new file mode 100644 index 00000000..15a0e1ea Binary files /dev/null and b/docs/d3/dcb/classstd_1_1pair_3_01const_01Key_00_01T_01_4__coll__graph.png differ diff --git a/docs/d3/dce/classnlohmann_1_1detail_1_1json__sax__dom__parser__coll__graph.map b/docs/d3/dce/classnlohmann_1_1detail_1_1json__sax__dom__parser__coll__graph.map new file mode 100644 index 00000000..93c3dac8 --- /dev/null +++ b/docs/d3/dce/classnlohmann_1_1detail_1_1json__sax__dom__parser__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d3/dce/classnlohmann_1_1detail_1_1json__sax__dom__parser__coll__graph.md5 b/docs/d3/dce/classnlohmann_1_1detail_1_1json__sax__dom__parser__coll__graph.md5 new file mode 100644 index 00000000..12c34c5d --- /dev/null +++ b/docs/d3/dce/classnlohmann_1_1detail_1_1json__sax__dom__parser__coll__graph.md5 @@ -0,0 +1 @@ +d6bc8019e50bba23bb9ece7e0bf18324 \ No newline at end of file diff --git a/docs/d3/dce/classnlohmann_1_1detail_1_1json__sax__dom__parser__coll__graph.png b/docs/d3/dce/classnlohmann_1_1detail_1_1json__sax__dom__parser__coll__graph.png new file mode 100644 index 00000000..c65a4774 Binary files /dev/null and b/docs/d3/dce/classnlohmann_1_1detail_1_1json__sax__dom__parser__coll__graph.png differ diff --git a/docs/d3/dd2/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.map b/docs/d3/dd2/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.map new file mode 100644 index 00000000..c864b6cd --- /dev/null +++ b/docs/d3/dd2/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d3/dd2/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.md5 b/docs/d3/dd2/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.md5 new file mode 100644 index 00000000..81290af7 --- /dev/null +++ b/docs/d3/dd2/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.md5 @@ -0,0 +1 @@ +e1e68cb06d3c532292a36703078b13da \ No newline at end of file diff --git a/docs/d3/dd2/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.png b/docs/d3/dd2/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.png new file mode 100644 index 00000000..75574dc0 Binary files /dev/null and b/docs/d3/dd2/structnlohmann_1_1detail_1_1is__constructible__tuple__coll__graph.png differ diff --git a/docs/d3/dd4/classnlohmann_1_1detail_1_1lexer-members.html b/docs/d3/dd4/classnlohmann_1_1detail_1_1lexer-members.html new file mode 100644 index 00000000..1492b0be --- /dev/null +++ b/docs/d3/dd4/classnlohmann_1_1detail_1_1lexer-members.html @@ -0,0 +1,151 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::lexer< BasicJsonType, InputAdapterType > Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::lexer< BasicJsonType, InputAdapterType >, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
add(char_int_type c)nlohmann::detail::lexer< BasicJsonType, InputAdapterType >inlineprivate
char_int_type typedefnlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
char_type typedefnlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
currentnlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
decimal_point_charnlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
error_messagenlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
get()nlohmann::detail::lexer< BasicJsonType, InputAdapterType >inlineprivate
get_codepoint()nlohmann::detail::lexer< BasicJsonType, InputAdapterType >inlineprivate
get_decimal_point() noexceptnlohmann::detail::lexer< BasicJsonType, InputAdapterType >inlineprivatestatic
get_error_message() const noexceptnlohmann::detail::lexer< BasicJsonType, InputAdapterType >inline
get_number_float() const noexceptnlohmann::detail::lexer< BasicJsonType, InputAdapterType >inline
get_number_integer() const noexceptnlohmann::detail::lexer< BasicJsonType, InputAdapterType >inline
get_number_unsigned() const noexceptnlohmann::detail::lexer< BasicJsonType, InputAdapterType >inline
get_position() const noexceptnlohmann::detail::lexer< BasicJsonType, InputAdapterType >inline
get_string()nlohmann::detail::lexer< BasicJsonType, InputAdapterType >inline
get_token_string() constnlohmann::detail::lexer< BasicJsonType, InputAdapterType >inline
ianlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
ignore_commentsnlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
lexer(InputAdapterType &&adapter, bool ignore_comments_=false) noexceptnlohmann::detail::lexer< BasicJsonType, InputAdapterType >inlineexplicit
lexer(const lexer &)=deletenlohmann::detail::lexer< BasicJsonType, InputAdapterType >
lexer(lexer &&)=defaultnlohmann::detail::lexer< BasicJsonType, InputAdapterType >
next_byte_in_range(std::initializer_list< char_int_type > ranges)nlohmann::detail::lexer< BasicJsonType, InputAdapterType >inlineprivate
next_ungetnlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
number_float_t typedefnlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
number_integer_t typedefnlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
number_unsigned_t typedefnlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
operator=(lexer &)=deletenlohmann::detail::lexer< BasicJsonType, InputAdapterType >
operator=(lexer &&)=defaultnlohmann::detail::lexer< BasicJsonType, InputAdapterType >
positionnlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
reset() noexceptnlohmann::detail::lexer< BasicJsonType, InputAdapterType >inlineprivate
scan()nlohmann::detail::lexer< BasicJsonType, InputAdapterType >inline
scan_comment()nlohmann::detail::lexer< BasicJsonType, InputAdapterType >inlineprivate
scan_literal(const char_type *literal_text, const std::size_t length, token_type return_type)nlohmann::detail::lexer< BasicJsonType, InputAdapterType >inlineprivate
scan_number()nlohmann::detail::lexer< BasicJsonType, InputAdapterType >inlineprivate
scan_string()nlohmann::detail::lexer< BasicJsonType, InputAdapterType >inlineprivate
skip_bom()nlohmann::detail::lexer< BasicJsonType, InputAdapterType >inline
skip_whitespace()nlohmann::detail::lexer< BasicJsonType, InputAdapterType >inline
string_t typedefnlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
strtof(float &f, const char *str, char **endptr) noexceptnlohmann::detail::lexer< BasicJsonType, InputAdapterType >inlineprivatestatic
strtof(double &f, const char *str, char **endptr) noexceptnlohmann::detail::lexer< BasicJsonType, InputAdapterType >inlineprivatestatic
strtof(long double &f, const char *str, char **endptr) noexceptnlohmann::detail::lexer< BasicJsonType, InputAdapterType >inlineprivatestatic
token_buffernlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
token_stringnlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
token_type typedefnlohmann::detail::lexer< BasicJsonType, InputAdapterType >
token_type_name(const token_type t) noexceptnlohmann::detail::lexer_base< BasicJsonType >inlinestatic
unget()nlohmann::detail::lexer< BasicJsonType, InputAdapterType >inlineprivate
value_floatnlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
value_integernlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
value_unsignednlohmann::detail::lexer< BasicJsonType, InputAdapterType >private
~lexer()=defaultnlohmann::detail::lexer< BasicJsonType, InputAdapterType >
+
+ + + + diff --git a/docs/d3/dd4/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.map b/docs/d3/dd4/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.map new file mode 100644 index 00000000..fa3de84c --- /dev/null +++ b/docs/d3/dd4/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d3/dd4/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.md5 b/docs/d3/dd4/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.md5 new file mode 100644 index 00000000..dcffdb19 --- /dev/null +++ b/docs/d3/dd4/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.md5 @@ -0,0 +1 @@ +98fb93233f9b6d6ee22265257f335e68 \ No newline at end of file diff --git a/docs/d3/dd4/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.png b/docs/d3/dd4/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.png new file mode 100644 index 00000000..904a42c8 Binary files /dev/null and b/docs/d3/dd4/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4__coll__graph.png differ diff --git a/docs/d3/ddb/classB1.html b/docs/d3/ddb/classB1.html new file mode 100644 index 00000000..85470fe5 --- /dev/null +++ b/docs/d3/ddb/classB1.html @@ -0,0 +1,117 @@ + + + + + + + +CUDNN Frontend API: B1 Class Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
B1 Class Reference
+
+
+
+Inheritance diagram for B1:
+
+
Inheritance graph
+ + + +
+
+Collaboration diagram for B1:
+
+
Collaboration graph
+ + +
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/docs/d3/de2/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.map b/docs/d3/de2/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.map new file mode 100644 index 00000000..8efa666d --- /dev/null +++ b/docs/d3/de2/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d3/de2/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.md5 b/docs/d3/de2/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.md5 new file mode 100644 index 00000000..4008d2f4 --- /dev/null +++ b/docs/d3/de2/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +024e67c5def4175b133a52f24960ba3f \ No newline at end of file diff --git a/docs/d3/de2/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.png b/docs/d3/de2/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.png new file mode 100644 index 00000000..eb40ff9e Binary files /dev/null and b/docs/d3/de2/structnlohmann_1_1detail_1_1is__compatible__object__type__impl__coll__graph.png differ diff --git a/docs/d3/de5/classnlohmann_1_1detail_1_1type__error-members.html b/docs/d3/de5/classnlohmann_1_1detail_1_1type__error-members.html new file mode 100644 index 00000000..4e5adf05 --- /dev/null +++ b/docs/d3/de5/classnlohmann_1_1detail_1_1type__error-members.html @@ -0,0 +1,108 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::type_error Member List
+
+
+ +

This is the complete list of members for nlohmann::detail::type_error, including all inherited members.

+ + + + + + + + +
create(int id_, const std::string &what_arg, const BasicJsonType &context)nlohmann::detail::type_errorinlinestatic
diagnostics(const BasicJsonType &leaf_element)nlohmann::detail::exceptioninlineprotectedstatic
exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
idnlohmann::detail::exception
name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
type_error(int id_, const char *what_arg)nlohmann::detail::type_errorinlineprivate
what() const noexcept overridenlohmann::detail::exceptioninline
+
+ + + + diff --git a/docs/d3/dfc/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__944b66130848f3165eb5e28ba04c888e.html b/docs/d3/dfc/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__944b66130848f3165eb5e28ba04c888e.html new file mode 100644 index 00000000..2ac3f848 --- /dev/null +++ b/docs/d3/dfc/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__944b66130848f3165eb5e28ba04c888e.html @@ -0,0 +1,103 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Member List
+
+ +
+ + + + diff --git a/docs/d4/d08/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4__coll__graph.map b/docs/d4/d08/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4__coll__graph.map new file mode 100644 index 00000000..3cf3ff2e --- /dev/null +++ b/docs/d4/d08/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d4/d08/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4__coll__graph.md5 b/docs/d4/d08/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4__coll__graph.md5 new file mode 100644 index 00000000..89ab04a9 --- /dev/null +++ b/docs/d4/d08/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4__coll__graph.md5 @@ -0,0 +1 @@ +24fde6f5fe376f8331f987300a12cf74 \ No newline at end of file diff --git a/docs/d4/d08/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4__coll__graph.png b/docs/d4/d08/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4__coll__graph.png new file mode 100644 index 00000000..0f7f62d2 Binary files /dev/null and b/docs/d4/d08/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4__coll__graph.png differ diff --git a/docs/d4/d0a/classnlohmann_1_1detail_1_1serializer.html b/docs/d4/d0a/classnlohmann_1_1detail_1_1serializer.html new file mode 100644 index 00000000..c7824a5c --- /dev/null +++ b/docs/d4/d0a/classnlohmann_1_1detail_1_1serializer.html @@ -0,0 +1,1013 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::serializer< BasicJsonType > Class Template Reference + + + + + + + + + + + + + + +
+
+ + + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+ +
+
nlohmann::detail::serializer< BasicJsonType > Class Template Reference
+
+
+ +

#include <json.hpp>

+
+Collaboration diagram for nlohmann::detail::serializer< BasicJsonType >:
+
+
Collaboration graph
+ + + +
+ + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 serializer (output_adapter_t< char > s, const char ichar, error_handler_t error_handler_=error_handler_t::strict)
 
 serializer (const serializer &)=delete
 
serializeroperator= (const serializer &)=delete
 
 serializer (serializer &&)=delete
 
serializeroperator= (serializer &&)=delete
 
 ~serializer ()=default
 
void dump (const BasicJsonType &val, const bool pretty_print, const bool ensure_ascii, const unsigned int indent_step, const unsigned int current_indent=0)
 internal implementation of the serialization function More...
 
 for (std::size_t i=0;i< s.size();++i)
 
 if (JSON_HEDLEY_LIKELY(state==UTF8_ACCEPT))
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Attributes

JSON_PRIVATE_UNLESS_TESTED __pad0__: void dump_escaped(const string_t& s
 
JSON_PRIVATE_UNLESS_TESTED const bool ensure_ascii
 
std::uint8_t state = UTF8_ACCEPT
 
std::size_t bytes = 0
 
std::size_t bytes_after_last_accept = 0
 
std::size_t undumped_chars = 0
 
 else
 
std::array< char, 64 > number_buffer {{}}
 a (hopefully) large enough character buffer More...
 
const std::lconv * loc = nullptr
 the locale More...
 
const char thousands_sep = '\0'
 the locale's thousand separator character More...
 
const char decimal_point = '\0'
 the locale's decimal point character More...
 
std::array< char, 512 > string_buffer {{}}
 string buffer More...
 
const char indent_char
 the indentation character More...
 
string_t indent_string
 the indentation string More...
 
const error_handler_t error_handler
 error_handler how to react on decoding errors More...
 
+ + + + + + + + + + + +

+Private Types

using string_t = typename BasicJsonType::string_t
 
using number_float_t = typename BasicJsonType::number_float_t
 
using number_integer_t = typename BasicJsonType::number_integer_t
 
using number_unsigned_t = typename BasicJsonType::number_unsigned_t
 
using binary_char_t = typename BasicJsonType::binary_t::value_type
 
+ + + + + +

+Static Private Attributes

static constexpr std::uint8_t UTF8_ACCEPT = 0
 
static constexpr std::uint8_t UTF8_REJECT = 1
 
+

Detailed Description

+

template<typename BasicJsonType>
+class nlohmann::detail::serializer< BasicJsonType >

+ + +

Definition at line 15983 of file json.hpp.

+

Member Typedef Documentation

+ +

◆ binary_char_t

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + +
using nlohmann::detail::serializer< BasicJsonType >::binary_char_t = typename BasicJsonType::binary_t::value_type
+
+private
+
+ +

Definition at line 15989 of file json.hpp.

+ +
+
+ +

◆ number_float_t

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + +
using nlohmann::detail::serializer< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t
+
+private
+
+ +

Definition at line 15986 of file json.hpp.

+ +
+
+ +

◆ number_integer_t

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + +
using nlohmann::detail::serializer< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t
+
+private
+
+ +

Definition at line 15987 of file json.hpp.

+ +
+
+ +

◆ number_unsigned_t

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + +
using nlohmann::detail::serializer< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
+
+private
+
+ +

Definition at line 15988 of file json.hpp.

+ +
+
+ +

◆ string_t

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + +
using nlohmann::detail::serializer< BasicJsonType >::string_t = typename BasicJsonType::string_t
+
+private
+
+ +

Definition at line 15985 of file json.hpp.

+ +
+
+

Constructor & Destructor Documentation

+ +

◆ serializer() [1/3]

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
nlohmann::detail::serializer< BasicJsonType >::serializer (output_adapter_t< char > s,
const char ichar,
error_handler_t error_handler_ = error_handler_t::strict 
)
+
+inline
+
+
Parameters
+ + + + +
[in]soutput stream to serialize to
[in]icharindentation character to use
[in]error_handler_how to react on decoding errors
+
+
+ +

Definition at line 15999 of file json.hpp.

+ +
+
+ +

◆ serializer() [2/3]

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
nlohmann::detail::serializer< BasicJsonType >::serializer (const serializer< BasicJsonType > & )
+
+delete
+
+ +
+
+ +

◆ serializer() [3/3]

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
nlohmann::detail::serializer< BasicJsonType >::serializer (serializer< BasicJsonType > && )
+
+delete
+
+ +
+
+ +

◆ ~serializer()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + +
nlohmann::detail::serializer< BasicJsonType >::~serializer ()
+
+default
+
+ +
+
+

Member Function Documentation

+ +

◆ dump()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void nlohmann::detail::serializer< BasicJsonType >::dump (const BasicJsonType & val,
const bool pretty_print,
const bool ensure_ascii,
const unsigned int indent_step,
const unsigned int current_indent = 0 
)
+
+inline
+
+ +

internal implementation of the serialization function

+

This function is called by the public member function dump and organizes the serialization internally. The indentation level is propagated as additional parameter. In case of arrays and objects, the function is called recursively.

+
    +
  • strings and object keys are escaped using escape_string()
  • +
  • integer numbers are converted implicitly via operator<<
  • +
  • floating-point numbers are converted to a string using "%g" format
  • +
  • binary values are serialized as objects containing the subtype and the byte array
  • +
+
Parameters
+ + + + + + +
[in]valvalue to serialize
[in]pretty_printwhether the output shall be pretty-printed
[in]ensure_asciiIf ensure_ascii is true, all non-ASCII characters in the output are escaped with \uXXXX sequences, and the result consists of ASCII characters only.
[in]indent_stepthe indent level
[in]current_indentthe current indent level (only used internally)
+
+
+ +

Definition at line 16039 of file json.hpp.

+ +

References nlohmann::detail::array, nlohmann::detail::binary, nlohmann::detail::boolean, nlohmann::detail::discarded, JSON_ASSERT, JSON_HEDLEY_UNLIKELY, JSON_PRIVATE_UNLESS_TESTED, nlohmann::detail::null, nlohmann::detail::number_float, nlohmann::detail::number_integer, nlohmann::detail::number_unsigned, nlohmann::detail::object, and nlohmann::detail::string.

+ +
+
+ +

◆ for()

+ + + +

◆ if()

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
nlohmann::detail::serializer< BasicJsonType >::if (JSON_HEDLEY_LIKELY(state==UTF8_ACCEPT)
+
+inline
+
+ +

Definition at line 16525 of file json.hpp.

+ +
+
+ +

◆ operator=() [1/2]

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
serializer& nlohmann::detail::serializer< BasicJsonType >::operator= (const serializer< BasicJsonType > & )
+
+delete
+
+ +
+
+ +

◆ operator=() [2/2]

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + + + + + +
serializer& nlohmann::detail::serializer< BasicJsonType >::operator= (serializer< BasicJsonType > && )
+
+delete
+
+ +
+
+

Member Data Documentation

+ +

◆ __pad0__

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
JSON_PRIVATE_UNLESS_TESTED nlohmann::detail::serializer< BasicJsonType >::__pad0__
+
+ +

Definition at line 16323 of file json.hpp.

+ +
+
+ +

◆ bytes

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
std::size_t nlohmann::detail::serializer< BasicJsonType >::bytes = 0
+
+ +

Definition at line 16327 of file json.hpp.

+ +
+
+ +

◆ bytes_after_last_accept

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
std::size_t nlohmann::detail::serializer< BasicJsonType >::bytes_after_last_accept = 0
+
+ +

Definition at line 16330 of file json.hpp.

+ +
+
+ +

◆ decimal_point

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
const char nlohmann::detail::serializer< BasicJsonType >::decimal_point = '\0'
+
+ +

the locale's decimal point character

+ +

Definition at line 16883 of file json.hpp.

+ +
+
+ +

◆ else

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
nlohmann::detail::serializer< BasicJsonType >::else
+
+ +

Definition at line 16534 of file json.hpp.

+ +
+
+ +

◆ ensure_ascii

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
JSON_PRIVATE_UNLESS_TESTED const bool nlohmann::detail::serializer< BasicJsonType >::ensure_ascii
+
+Initial value:
{
std::uint32_t codepoint{}
+

Definition at line 16324 of file json.hpp.

+ +
+
+ +

◆ error_handler

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
const error_handler_t nlohmann::detail::serializer< BasicJsonType >::error_handler
+
+ +

error_handler how to react on decoding errors

+ +

Definition at line 16894 of file json.hpp.

+ +
+
+ +

◆ indent_char

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
const char nlohmann::detail::serializer< BasicJsonType >::indent_char
+
+ +

the indentation character

+ +

Definition at line 16889 of file json.hpp.

+ +
+
+ +

◆ indent_string

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
string_t nlohmann::detail::serializer< BasicJsonType >::indent_string
+
+ +

the indentation string

+ +

Definition at line 16891 of file json.hpp.

+ +
+
+ +

◆ loc

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
const std::lconv* nlohmann::detail::serializer< BasicJsonType >::loc = nullptr
+
+ +

the locale

+ +

Definition at line 16879 of file json.hpp.

+ +
+
+ +

◆ number_buffer

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
std::array<char, 64> nlohmann::detail::serializer< BasicJsonType >::number_buffer {{}}
+
+ +

a (hopefully) large enough character buffer

+ +

Definition at line 16876 of file json.hpp.

+ +
+
+ +

◆ state

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
std::uint8_t nlohmann::detail::serializer< BasicJsonType >::state = UTF8_ACCEPT
+
+ +

Definition at line 16326 of file json.hpp.

+ +
+
+ +

◆ string_buffer

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
std::array<char, 512> nlohmann::detail::serializer< BasicJsonType >::string_buffer {{}}
+
+ +

string buffer

+ +

Definition at line 16886 of file json.hpp.

+ +
+
+ +

◆ thousands_sep

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
const char nlohmann::detail::serializer< BasicJsonType >::thousands_sep = '\0'
+
+ +

the locale's thousand separator character

+ +

Definition at line 16881 of file json.hpp.

+ +
+
+ +

◆ undumped_chars

+ +
+
+
+template<typename BasicJsonType >
+ + + + +
std::size_t nlohmann::detail::serializer< BasicJsonType >::undumped_chars = 0
+
+ +

Definition at line 16331 of file json.hpp.

+ +
+
+ +

◆ UTF8_ACCEPT

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + +
constexpr std::uint8_t nlohmann::detail::serializer< BasicJsonType >::UTF8_ACCEPT = 0
+
+staticprivate
+
+ +

Definition at line 15990 of file json.hpp.

+ +
+
+ +

◆ UTF8_REJECT

+ +
+
+
+template<typename BasicJsonType >
+ + + + + +
+ + + + +
constexpr std::uint8_t nlohmann::detail::serializer< BasicJsonType >::UTF8_REJECT = 1
+
+staticprivate
+
+ +

Definition at line 15991 of file json.hpp.

+ +
+
+
The documentation for this class was generated from the following file: +
+
+ + + + diff --git a/docs/d4/d0a/classnlohmann_1_1detail_1_1serializer.js b/docs/d4/d0a/classnlohmann_1_1detail_1_1serializer.js new file mode 100644 index 00000000..04d91504 --- /dev/null +++ b/docs/d4/d0a/classnlohmann_1_1detail_1_1serializer.js @@ -0,0 +1,34 @@ +var classnlohmann_1_1detail_1_1serializer = +[ + [ "binary_char_t", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#aaaec32f2fec57db422019a11994f7bb5", null ], + [ "number_float_t", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a460c6794fbabbb2ae83380e987a6c030", null ], + [ "number_integer_t", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ae7b1df1c70bdec1371f297567726a198", null ], + [ "number_unsigned_t", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a16c7b7a726a38ff0c06dce7ba7968391", null ], + [ "string_t", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ad08aa54fac1dd0a453320c54137d45ba", null ], + [ "serializer", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ac010525281d97867ee842da37294fe83", null ], + [ "serializer", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ae3771351ec4cb892bec707edeb56dc31", null ], + [ "serializer", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a28081304e70cca6b3042c101ee5c498c", null ], + [ "~serializer", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#aa6c62b51cbebb185307df851dc0167f0", null ], + [ "dump", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a95460ebd1a535a543e5a0ec52e00f48b", null ], + [ "for", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ab14b8ec1f8102aa4c7e3c349f317654e", null ], + [ "if", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a6705bbf2de3070ec50a810a32e72309f", null ], + [ "operator=", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a5f14c33012477b9f9876dc54d97009a0", null ], + [ "operator=", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#acaafe3436ee5fb74777eb4132a88c513", null ], + [ "__pad0__", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#af15da74dab5b01150eabfed0be7d75df", null ], + [ "bytes", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a4239a42672c7378a6b449ee010e6dace", null ], + [ "bytes_after_last_accept", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a9ae3daaea1941fd02d4c3c1b0f5fbe68", null ], + [ "decimal_point", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a311e5d6f4b31d5be0eb3c0cb20b6965a", null ], + [ "else", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ae510f640d26ce0f7d5eb8191b31591c0", null ], + [ "ensure_ascii", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ab4c340f2a5230f766a833366603a0049", null ], + [ "error_handler", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a09d5a046fb0f7cb61977d6e5fbe8b3a1", null ], + [ "indent_char", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a9a55e6b028d09676fe35aefa0c72ea5b", null ], + [ "indent_string", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ae9268a10d88a5526e32735a55a132fc6", null ], + [ "loc", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a1952945b7652afb59d3903cc8457a589", null ], + [ "number_buffer", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a1a9d8b344a6cb47728a3519693ec03d1", null ], + [ "state", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a39b0975f219b542d7ca633652e925b4c", null ], + [ "string_buffer", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a9c9b7ca63a66e59e5e7ffe8a2acf5c8f", null ], + [ "thousands_sep", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a78a6ae833bb6cf7f00cb0d51db114b14", null ], + [ "undumped_chars", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a814f27bba20f0e109d0dbcaa4a399415", null ], + [ "UTF8_ACCEPT", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a2311a8c756c4a119aa82cd55301d13bc", null ], + [ "UTF8_REJECT", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a833bd5805e4380549f4e21c304820d6d", null ] +]; \ No newline at end of file diff --git a/docs/d4/d13/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4__coll__graph.map b/docs/d4/d13/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4__coll__graph.map new file mode 100644 index 00000000..0365e21e --- /dev/null +++ b/docs/d4/d13/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d4/d13/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4__coll__graph.md5 b/docs/d4/d13/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4__coll__graph.md5 new file mode 100644 index 00000000..fb910bd4 --- /dev/null +++ b/docs/d4/d13/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4__coll__graph.md5 @@ -0,0 +1 @@ +636b0f74050de81a46c99521bd47828d \ No newline at end of file diff --git a/docs/d4/d13/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4__coll__graph.png b/docs/d4/d13/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4__coll__graph.png new file mode 100644 index 00000000..c0b7368b Binary files /dev/null and b/docs/d4/d13/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4__coll__graph.png differ diff --git a/docs/d4/d16/classnlohmann_1_1detail_1_1out__of__range__coll__graph.map b/docs/d4/d16/classnlohmann_1_1detail_1_1out__of__range__coll__graph.map new file mode 100644 index 00000000..3a7b3448 --- /dev/null +++ b/docs/d4/d16/classnlohmann_1_1detail_1_1out__of__range__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d4/d16/classnlohmann_1_1detail_1_1out__of__range__coll__graph.md5 b/docs/d4/d16/classnlohmann_1_1detail_1_1out__of__range__coll__graph.md5 new file mode 100644 index 00000000..e9fba9c5 --- /dev/null +++ b/docs/d4/d16/classnlohmann_1_1detail_1_1out__of__range__coll__graph.md5 @@ -0,0 +1 @@ +1cfc229765aeedef405e26362bef7fb2 \ No newline at end of file diff --git a/docs/d4/d16/classnlohmann_1_1detail_1_1out__of__range__coll__graph.png b/docs/d4/d16/classnlohmann_1_1detail_1_1out__of__range__coll__graph.png new file mode 100644 index 00000000..b06d4d52 Binary files /dev/null and b/docs/d4/d16/classnlohmann_1_1detail_1_1out__of__range__coll__graph.png differ diff --git a/docs/d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html b/docs/d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html index 4e2da94c..55ba5a5c 100644 --- a/docs/d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html +++ b/docs/d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html @@ -142,7 +142,7 @@ ManagedOpaqueDescriptor get_desc () const  Returns a copy of underlying managed descriptor. More...
  -cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type) +cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type)  Initializes the underlying managed descriptor. More...
  diff --git a/docs/d4/d27/structnlohmann_1_1detail_1_1detector-members.html b/docs/d4/d27/structnlohmann_1_1detail_1_1detector-members.html new file mode 100644 index 00000000..c3473343 --- /dev/null +++ b/docs/d4/d27/structnlohmann_1_1detail_1_1detector-members.html @@ -0,0 +1,103 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
+
+
+ + + + + +
+
CUDNN Frontend API +  8.2.0 +
+
+
+ + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+ +
+ +
+
+
nlohmann::detail::detector< Default, AlwaysVoid, Op, Args > Member List
+
+ +
+ + + + diff --git a/docs/d4/d2e/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4__coll__graph.map b/docs/d4/d2e/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4__coll__graph.map new file mode 100644 index 00000000..ea4c3719 --- /dev/null +++ b/docs/d4/d2e/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d4/d2e/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4__coll__graph.md5 b/docs/d4/d2e/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4__coll__graph.md5 new file mode 100644 index 00000000..89b4d3dd --- /dev/null +++ b/docs/d4/d2e/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4__coll__graph.md5 @@ -0,0 +1 @@ +d77e0c8cf983c4b350146ef297fc4607 \ No newline at end of file diff --git a/docs/d4/d2e/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4__coll__graph.png b/docs/d4/d2e/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4__coll__graph.png new file mode 100644 index 00000000..11042068 Binary files /dev/null and b/docs/d4/d2e/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4__coll__graph.png differ diff --git a/docs/d4/d30/classcudnn__frontend_1_1Operation__v8.html b/docs/d4/d30/classcudnn__frontend_1_1Operation__v8.html index ebe65e01..f533ad80 100644 --- a/docs/d4/d30/classcudnn__frontend_1_1Operation__v8.html +++ b/docs/d4/d30/classcudnn__frontend_1_1Operation__v8.html @@ -142,7 +142,7 @@ ManagedOpaqueDescriptor get_desc () const  Returns a copy of underlying managed descriptor. More...
  -cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type) +cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type)  Initializes the underlying managed descriptor. More...
  @@ -185,6 +185,8 @@ + + @@ -248,13 +250,14 @@
  • cmatdesc
  • pwdesc
  • matmuldesc
  • +
  • reductiondesc
  • alpha
  • beta
  • alpha2
  • Use OperationBuilder_v8 to build this class. Describe returns a string describing the convolution operation

    -

    Definition at line 65 of file cudnn_frontend_Operation.h.

    +

    Definition at line 67 of file cudnn_frontend_Operation.h.

    Constructor & Destructor Documentation

    ◆ Operation_v8() [1/3]

    @@ -280,7 +283,7 @@

    -

    Definition at line 92 of file cudnn_frontend_Operation.h.

    +

    Definition at line 95 of file cudnn_frontend_Operation.h.

    @@ -307,7 +310,7 @@

    -

    Referenced by getTag().

    +

    Referenced by getTag().

    @@ -334,7 +337,7 @@

    -

    Referenced by getTag().

    +

    Referenced by getTag().

    @@ -392,9 +395,9 @@

    cudnn_frontend::BackendDescriptor.

    -

    Definition at line 69 of file cudnn_frontend_Operation.h.

    +

    Definition at line 71 of file cudnn_frontend_Operation.h.

    -

    References alpha2_d, alpha2_s, alpha_d, alpha_s, alphabetaType, amatdesc, bdesc, beta_d, beta_s, bmatdesc, cdesc, cmatdesc, dwdesc, dxdesc, dydesc, matmuldesc, op_mode, pwdesc, wdesc, xdesc, and ydesc.

    +

    References alpha2_d, alpha2_s, alpha_d, alpha_s, alphabetaType, amatdesc, bdesc, beta_d, beta_s, bmatdesc, cdesc, cmatdesc, dwdesc, dxdesc, dydesc, matmuldesc, op_mode, pwdesc, reductiondesc, nlohmann::to_string(), wdesc, xdesc, and ydesc.

    @@ -421,9 +424,9 @@

    -

    Definition at line 120 of file cudnn_frontend_Operation.h.

    +

    Definition at line 124 of file cudnn_frontend_Operation.h.

    -

    References cmatdesc, op_mode, and ydesc.

    +

    References cmatdesc, op_mode, and ydesc.

    @@ -450,9 +453,9 @@

    -

    Definition at line 125 of file cudnn_frontend_Operation.h.

    +

    Definition at line 129 of file cudnn_frontend_Operation.h.

    -

    References Operation_v8(), operationTag, operator=(), and ~Operation_v8().

    +

    References Operation_v8(), operationTag, operator=(), and ~Operation_v8().

    @@ -480,7 +483,7 @@

    -

    Referenced by getTag().

    +

    Referenced by getTag().

    @@ -505,7 +508,7 @@

    -

    Definition at line 67 of file cudnn_frontend_Operation.h.

    +

    Definition at line 69 of file cudnn_frontend_Operation.h.

    @@ -530,9 +533,9 @@

    -

    Definition at line 155 of file cudnn_frontend_Operation.h.

    +

    Definition at line 160 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setAlpha2().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setAlpha2().

    @@ -556,9 +559,9 @@

    -

    Definition at line 154 of file cudnn_frontend_Operation.h.

    +

    Definition at line 159 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setAlpha2().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setAlpha2().

    @@ -582,9 +585,9 @@

    -

    Definition at line 155 of file cudnn_frontend_Operation.h.

    +

    Definition at line 160 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setAlpha().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setAlpha().

    @@ -608,9 +611,9 @@

    -

    Definition at line 154 of file cudnn_frontend_Operation.h.

    +

    Definition at line 159 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setAlpha().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setAlpha().

    @@ -634,9 +637,9 @@

    -

    Definition at line 153 of file cudnn_frontend_Operation.h.

    +

    Definition at line 158 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), cudnn_frontend::OperationBuilder_v8::setAlpha(), cudnn_frontend::OperationBuilder_v8::setAlpha2(), and cudnn_frontend::OperationBuilder_v8::setBeta().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), cudnn_frontend::OperationBuilder_v8::setAlpha(), cudnn_frontend::OperationBuilder_v8::setAlpha2(), and cudnn_frontend::OperationBuilder_v8::setBeta().

    @@ -660,9 +663,9 @@

    -

    Definition at line 147 of file cudnn_frontend_Operation.h.

    +

    Definition at line 151 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setaMatDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setaMatDesc().

    @@ -686,9 +689,9 @@

    -

    Definition at line 142 of file cudnn_frontend_Operation.h.

    +

    Definition at line 146 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setbDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setbDesc().

    @@ -712,9 +715,9 @@

    -

    Definition at line 155 of file cudnn_frontend_Operation.h.

    +

    Definition at line 160 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setBeta().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setBeta().

    @@ -738,9 +741,9 @@

    -

    Definition at line 154 of file cudnn_frontend_Operation.h.

    +

    Definition at line 159 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setBeta().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setBeta().

    @@ -764,9 +767,9 @@

    -

    Definition at line 148 of file cudnn_frontend_Operation.h.

    +

    Definition at line 152 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setbMatDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setbMatDesc().

    @@ -790,9 +793,9 @@

    -

    Definition at line 146 of file cudnn_frontend_Operation.h.

    +

    Definition at line 150 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setcDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setcDesc().

    @@ -816,9 +819,9 @@

    -

    Definition at line 149 of file cudnn_frontend_Operation.h.

    +

    Definition at line 153 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), getOutputTensor(), and cudnn_frontend::OperationBuilder_v8::setcMatDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), getOutputTensor(), and cudnn_frontend::OperationBuilder_v8::setcMatDesc().

    @@ -842,9 +845,9 @@

    -

    Definition at line 145 of file cudnn_frontend_Operation.h.

    +

    Definition at line 149 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setdwDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setdwDesc().

    @@ -868,9 +871,9 @@

    -

    Definition at line 144 of file cudnn_frontend_Operation.h.

    +

    Definition at line 148 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setdxDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setdxDesc().

    @@ -894,9 +897,9 @@

    -

    Definition at line 143 of file cudnn_frontend_Operation.h.

    +

    Definition at line 147 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setdyDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setdyDesc().

    @@ -920,9 +923,9 @@

    -

    Definition at line 159 of file cudnn_frontend_Operation.h.

    +

    Definition at line 164 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), and cudnn_frontend::OperationBuilder_v8::setpwDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), and cudnn_frontend::OperationBuilder_v8::setpwDesc().

    @@ -946,9 +949,9 @@

    -

    Definition at line 158 of file cudnn_frontend_Operation.h.

    +

    Definition at line 163 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), and cudnn_frontend::OperationBuilder_v8::setpwDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), and cudnn_frontend::OperationBuilder_v8::setpwDesc().

    @@ -972,9 +975,9 @@

    -

    Definition at line 160 of file cudnn_frontend_Operation.h.

    +

    Definition at line 165 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), and cudnn_frontend::OperationBuilder_v8::setpwDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), and cudnn_frontend::OperationBuilder_v8::setpwDesc().

    @@ -998,9 +1001,9 @@

    -

    Definition at line 151 of file cudnn_frontend_Operation.h.

    +

    Definition at line 155 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setmatmulDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setmatmulDesc().

    @@ -1024,9 +1027,9 @@

    -

    Definition at line 137 of file cudnn_frontend_Operation.h.

    +

    Definition at line 141 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), getOutputTensor(), and cudnn_frontend::OperationBuilder_v8::OperationBuilder_v8().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), getOutputTensor(), and cudnn_frontend::OperationBuilder_v8::OperationBuilder_v8().

    @@ -1050,9 +1053,9 @@

    -

    Definition at line 161 of file cudnn_frontend_Operation.h.

    +

    Definition at line 166 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), and getTag().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), and getTag().

    @@ -1076,9 +1079,9 @@

    -

    Definition at line 157 of file cudnn_frontend_Operation.h.

    +

    Definition at line 162 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), and cudnn_frontend::OperationBuilder_v8::setpwDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), and cudnn_frontend::OperationBuilder_v8::setpwDesc().

    @@ -1102,9 +1105,9 @@

    -

    Definition at line 156 of file cudnn_frontend_Operation.h.

    +

    Definition at line 161 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), and cudnn_frontend::OperationBuilder_v8::setpwDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), and cudnn_frontend::OperationBuilder_v8::setpwDesc().

    @@ -1128,9 +1131,35 @@

    -

    Definition at line 150 of file cudnn_frontend_Operation.h.

    +

    Definition at line 154 of file cudnn_frontend_Operation.h.

    + +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setpwDesc().

    + + + + +

    ◆ reductiondesc

    + +
    +
    +

     
    ManagedOpaqueDescriptor matmuldesc = nullptr
     
    ManagedOpaqueDescriptor reductiondesc = nullptr
     
    cudnnBackendAttributeType_t alphabetaType = CUDNN_TYPE_FLOAT
     
    float alpha_s = 1.0f
    + + + + +
    + + + + +
    ManagedOpaqueDescriptor cudnn_frontend::Operation_v8::reductiondesc = nullptr
    +
    +private
    +
    @@ -1154,9 +1183,9 @@

    -

    Definition at line 141 of file cudnn_frontend_Operation.h.

    +

    Definition at line 145 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setwDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setwDesc().

    @@ -1180,9 +1209,9 @@

    -

    Definition at line 139 of file cudnn_frontend_Operation.h.

    +

    Definition at line 143 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setxDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), and cudnn_frontend::OperationBuilder_v8::setxDesc().

    @@ -1206,9 +1235,9 @@

    -

    Definition at line 140 of file cudnn_frontend_Operation.h.

    +

    Definition at line 144 of file cudnn_frontend_Operation.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), getOutputTensor(), and cudnn_frontend::OperationBuilder_v8::setyDesc().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), describe(), getOutputTensor(), and cudnn_frontend::OperationBuilder_v8::setyDesc().

    diff --git a/docs/d4/d30/classcudnn__frontend_1_1Operation__v8.js b/docs/d4/d30/classcudnn__frontend_1_1Operation__v8.js index 6af91fb7..08f1e67a 100644 --- a/docs/d4/d30/classcudnn__frontend_1_1Operation__v8.js +++ b/docs/d4/d30/classcudnn__frontend_1_1Operation__v8.js @@ -33,6 +33,7 @@ var classcudnn__frontend_1_1Operation__v8 = [ "pointwise_mode", "d4/d30/classcudnn__frontend_1_1Operation__v8.html#a09f5151a90f805d81550a30617bcec0c", null ], [ "pointwise_port_count", "d4/d30/classcudnn__frontend_1_1Operation__v8.html#a5c6b2986d2d703c672b5fc461f2eee05", null ], [ "pwdesc", "d4/d30/classcudnn__frontend_1_1Operation__v8.html#aac54965185417e264093156b143a3751", null ], + [ "reductiondesc", "d4/d30/classcudnn__frontend_1_1Operation__v8.html#a99735bf6f673f0e3346e9be611125e2f", null ], [ "wdesc", "d4/d30/classcudnn__frontend_1_1Operation__v8.html#ad26bd872d417f6a9bff65768bb02e05f", null ], [ "xdesc", "d4/d30/classcudnn__frontend_1_1Operation__v8.html#a01d1997ae84b86c0565351910bba3416", null ], [ "ydesc", "d4/d30/classcudnn__frontend_1_1Operation__v8.html#a81e9b10c7231ba9ffba37f7fab531a69", null ] diff --git a/docs/d4/d33/structnlohmann_1_1detail_1_1is__default__constructible__coll__graph.map b/docs/d4/d33/structnlohmann_1_1detail_1_1is__default__constructible__coll__graph.map new file mode 100644 index 00000000..14bc493c --- /dev/null +++ b/docs/d4/d33/structnlohmann_1_1detail_1_1is__default__constructible__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d4/d33/structnlohmann_1_1detail_1_1is__default__constructible__coll__graph.md5 b/docs/d4/d33/structnlohmann_1_1detail_1_1is__default__constructible__coll__graph.md5 new file mode 100644 index 00000000..729f0eb8 --- /dev/null +++ b/docs/d4/d33/structnlohmann_1_1detail_1_1is__default__constructible__coll__graph.md5 @@ -0,0 +1 @@ +acd94ab8be267a90a19124a9ea642a47 \ No newline at end of file diff --git a/docs/d4/d33/structnlohmann_1_1detail_1_1is__default__constructible__coll__graph.png b/docs/d4/d33/structnlohmann_1_1detail_1_1is__default__constructible__coll__graph.png new file mode 100644 index 00000000..9e3a9b69 Binary files /dev/null and b/docs/d4/d33/structnlohmann_1_1detail_1_1is__default__constructible__coll__graph.png differ diff --git a/docs/d4/d37/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.map b/docs/d4/d37/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.map new file mode 100644 index 00000000..8f607251 --- /dev/null +++ b/docs/d4/d37/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d4/d37/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.md5 b/docs/d4/d37/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.md5 new file mode 100644 index 00000000..a62422bc --- /dev/null +++ b/docs/d4/d37/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.md5 @@ -0,0 +1 @@ +dc2060c2571c3f3945f7a832d63f7f40 \ No newline at end of file diff --git a/docs/d4/d37/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.png b/docs/d4/d37/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.png new file mode 100644 index 00000000..2257a38c Binary files /dev/null and b/docs/d4/d37/structnlohmann_1_1detail_1_1has__non__default__from__json__coll__graph.png differ diff --git a/docs/d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html b/docs/d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html index 5b2544ab..03b05e90 100644 --- a/docs/d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html +++ b/docs/d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html @@ -95,7 +95,7 @@
    Collaboration graph
    - + @@ -132,7 +132,7 @@

    Detailed Description

    OperationGraphBuilder_v8 Class Helper class used to build OperationGraph_v8 class

    -

    Definition at line 114 of file cudnn_frontend_OperationGraph.h.

    +

    Definition at line 119 of file cudnn_frontend_OperationGraph.h.

    Constructor & Destructor Documentation

    ◆ OperationGraphBuilder_v8() [1/3]

    @@ -261,7 +261,7 @@

    constructs the OperationGraph_v8 by calling the cudnn API Throws the appropriate error message

    -

    Definition at line 141 of file cudnn_frontend_OperationGraph.h.

    +

    Definition at line 146 of file cudnn_frontend_OperationGraph.h.

    References cudnn_frontend::OperationGraph_v8::OperationGraphBuilder_v8, cudnn_frontend::OperationGraph_v8::operator=(), cudnn_frontend::set_error_and_throw_exception(), and cudnn_frontend::BackendDescriptor::status.

    @@ -314,7 +314,7 @@

    -

    Definition at line 221 of file cudnn_frontend_OperationGraph.h.

    +

    Definition at line 226 of file cudnn_frontend_OperationGraph.h.

    diff --git a/docs/d4/d40/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.map b/docs/d4/d40/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.map new file mode 100644 index 00000000..cfb417a2 --- /dev/null +++ b/docs/d4/d40/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d4/d40/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.md5 b/docs/d4/d40/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.md5 new file mode 100644 index 00000000..8f08060f --- /dev/null +++ b/docs/d4/d40/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.md5 @@ -0,0 +1 @@ +dd9be5f49947ccce3521ec730db3fb85 \ No newline at end of file diff --git a/docs/d4/d40/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.png b/docs/d4/d40/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.png new file mode 100644 index 00000000..d6742b69 Binary files /dev/null and b/docs/d4/d40/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4__coll__graph.png differ diff --git a/docs/d4/d4d/classcudnn__frontend_1_1ReductionDesc__v8-members.html b/docs/d4/d4d/classcudnn__frontend_1_1ReductionDesc__v8-members.html new file mode 100644 index 00000000..44e57ece --- /dev/null +++ b/docs/d4/d4d/classcudnn__frontend_1_1ReductionDesc__v8-members.html @@ -0,0 +1,122 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    cudnn_frontend::ReductionDesc_v8 Member List
    +
    +
    + +

    This is the complete list of members for cudnn_frontend::ReductionDesc_v8, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + +
    BackendDescriptor(ManagedOpaqueDescriptor pointer_, cudnnStatus_t status_, std::string err_msg_)cudnn_frontend::BackendDescriptorinlineprotected
    BackendDescriptor()=defaultcudnn_frontend::BackendDescriptorprotected
    describe() const overridecudnn_frontend::ReductionDesc_v8inlinevirtual
    err_msgcudnn_frontend::BackendDescriptormutableprotected
    get_desc() constcudnn_frontend::BackendDescriptorinline
    get_error() constcudnn_frontend::BackendDescriptorinline
    get_raw_desc() constcudnn_frontend::BackendDescriptorinline
    get_status() constcudnn_frontend::BackendDescriptorinline
    initialize_managed_backend_pointer(cudnnBackendDescriptorType_t type)cudnn_frontend::BackendDescriptorinline
    math_precisioncudnn_frontend::ReductionDesc_v8private
    operator=(ReductionDesc_v8 const &)=deletecudnn_frontend::ReductionDesc_v8private
    pointercudnn_frontend::BackendDescriptorprotected
    reduction_opcudnn_frontend::ReductionDesc_v8private
    ReductionDesc_v8(ReductionDesc_v8 &&from)cudnn_frontend::ReductionDesc_v8inline
    ReductionDesc_v8()=defaultcudnn_frontend::ReductionDesc_v8private
    ReductionDesc_v8(ReductionDesc_v8 const &)=deletecudnn_frontend::ReductionDesc_v8private
    ReductionDescBuilder_v8 classcudnn_frontend::ReductionDesc_v8friend
    set_error(const char *message) constcudnn_frontend::BackendDescriptorinline
    set_status(cudnnStatus_t const status_) constcudnn_frontend::BackendDescriptorinline
    statuscudnn_frontend::BackendDescriptormutableprotected
    ~ReductionDesc_v8()=defaultcudnn_frontend::ReductionDesc_v8
    +
    + + + + diff --git a/docs/d4/d51/classnlohmann_1_1detail_1_1output__adapter__coll__graph.map b/docs/d4/d51/classnlohmann_1_1detail_1_1output__adapter__coll__graph.map new file mode 100644 index 00000000..54bafc75 --- /dev/null +++ b/docs/d4/d51/classnlohmann_1_1detail_1_1output__adapter__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d4/d51/classnlohmann_1_1detail_1_1output__adapter__coll__graph.md5 b/docs/d4/d51/classnlohmann_1_1detail_1_1output__adapter__coll__graph.md5 new file mode 100644 index 00000000..bd2abdd7 --- /dev/null +++ b/docs/d4/d51/classnlohmann_1_1detail_1_1output__adapter__coll__graph.md5 @@ -0,0 +1 @@ +8860ca1c24a49a4c6e9250fe17670de7 \ No newline at end of file diff --git a/docs/d4/d51/classnlohmann_1_1detail_1_1output__adapter__coll__graph.png b/docs/d4/d51/classnlohmann_1_1detail_1_1output__adapter__coll__graph.png new file mode 100644 index 00000000..9a0f57c0 Binary files /dev/null and b/docs/d4/d51/classnlohmann_1_1detail_1_1output__adapter__coll__graph.png differ diff --git a/docs/d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html b/docs/d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html new file mode 100644 index 00000000..68991166 --- /dev/null +++ b/docs/d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html @@ -0,0 +1,414 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::dtoa_impl::diyfp Struct Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::dtoa_impl::diyfp Struct Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::dtoa_impl::diyfp:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Public Member Functions

    constexpr diyfp (std::uint64_t f_, int e_) noexcept
     
    + + + + + + + + + + + + + +

    +Static Public Member Functions

    static diyfp sub (const diyfp &x, const diyfp &y) noexcept
     returns x - y More...
     
    static diyfp mul (const diyfp &x, const diyfp &y) noexcept
     returns x * y More...
     
    static diyfp normalize (diyfp x) noexcept
     normalize x such that the significand is >= 2^(q-1) More...
     
    static diyfp normalize_to (const diyfp &x, const int target_exponent) noexcept
     normalize x such that the result has the exponent E More...
     
    + + + + + +

    +Public Attributes

    std::uint64_t f = 0
     
    int e = 0
     
    + + + +

    +Static Public Attributes

    static constexpr int kPrecision = 64
     
    +

    Detailed Description

    +
    +

    Definition at line 14897 of file json.hpp.

    +

    Constructor & Destructor Documentation

    + +

    ◆ diyfp()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    constexpr nlohmann::detail::dtoa_impl::diyfp::diyfp (std::uint64_t f_,
    int e_ 
    )
    +
    +inlinenoexcept
    +
    + +

    Definition at line 14904 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ mul()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static diyfp nlohmann::detail::dtoa_impl::diyfp::mul (const diyfpx,
    const diyfpy 
    )
    +
    +inlinestaticnoexcept
    +
    + +

    returns x * y

    +
    Note
    The result is rounded. (Only the upper q bits are returned.)
    + +

    Definition at line 14922 of file json.hpp.

    + +
    +
    + +

    ◆ normalize()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static diyfp nlohmann::detail::dtoa_impl::diyfp::normalize (diyfp x)
    +
    +inlinestaticnoexcept
    +
    + +

    normalize x such that the significand is >= 2^(q-1)

    +
    Precondition
    x.f != 0
    + +

    Definition at line 14987 of file json.hpp.

    + +

    References JSON_ASSERT.

    + +
    +
    + +

    ◆ normalize_to()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static diyfp nlohmann::detail::dtoa_impl::diyfp::normalize_to (const diyfpx,
    const int target_exponent 
    )
    +
    +inlinestaticnoexcept
    +
    + +

    normalize x such that the result has the exponent E

    +
    Precondition
    e >= x.e and the upper e - x.e bits of x.f must be zero.
    + +

    Definition at line 15004 of file json.hpp.

    + +

    References e, and JSON_ASSERT.

    + +
    +
    + +

    ◆ sub()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static diyfp nlohmann::detail::dtoa_impl::diyfp::sub (const diyfpx,
    const diyfpy 
    )
    +
    +inlinestaticnoexcept
    +
    + +

    returns x - y

    +
    Precondition
    x.e == y.e and x.f >= y.f
    + +

    Definition at line 14910 of file json.hpp.

    + +

    References JSON_ASSERT.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ e

    + +
    +
    + + + + +
    int nlohmann::detail::dtoa_impl::diyfp::e = 0
    +
    +
    + +

    ◆ f

    + +
    +
    + + + + +
    std::uint64_t nlohmann::detail::dtoa_impl::diyfp::f = 0
    +
    +
    + +

    ◆ kPrecision

    + +
    +
    + + + + + +
    + + + + +
    constexpr int nlohmann::detail::dtoa_impl::diyfp::kPrecision = 64
    +
    +static
    +
    + +

    Definition at line 14899 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.js b/docs/d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.js new file mode 100644 index 00000000..98df9b94 --- /dev/null +++ b/docs/d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.js @@ -0,0 +1,11 @@ +var structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp = +[ + [ "diyfp", "d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#ad8798a8823a49c8412f0fada9892c918", null ], + [ "mul", "d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#aa5f250d12ce89c81fdb08900c6a823e8", null ], + [ "normalize", "d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#a2246b5b40c7c6992153ef174063d6aa6", null ], + [ "normalize_to", "d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#a6b6665e467ebabe0c0f7418d3fe4b118", null ], + [ "sub", "d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#aeb26771af54ad73598c1a0430d65d884", null ], + [ "e", "d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#ae22e170815983961447c429f324c944d", null ], + [ "f", "d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#aea90459e340a231ca31d46946803ef51", null ], + [ "kPrecision", "d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#a03682754b06ed4f30b263119eecc2d52", null ] +]; \ No newline at end of file diff --git a/docs/d4/d57/cudnn__frontend__EngineConfigGenerator_8h__incl.map b/docs/d4/d57/cudnn__frontend__EngineConfigGenerator_8h__incl.map index ab09ce88..e50b0ffd 100644 --- a/docs/d4/d57/cudnn__frontend__EngineConfigGenerator_8h__incl.map +++ b/docs/d4/d57/cudnn__frontend__EngineConfigGenerator_8h__incl.map @@ -1,18 +1,21 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/docs/d4/d57/cudnn__frontend__EngineConfigGenerator_8h__incl.md5 b/docs/d4/d57/cudnn__frontend__EngineConfigGenerator_8h__incl.md5 index 8c83cabb..3718c20e 100644 --- a/docs/d4/d57/cudnn__frontend__EngineConfigGenerator_8h__incl.md5 +++ b/docs/d4/d57/cudnn__frontend__EngineConfigGenerator_8h__incl.md5 @@ -1 +1 @@ -60df53963556d3563489debf6ab82e56 \ No newline at end of file +6dddb6fd241e9a04e253f04ba7f2c0fe \ No newline at end of file diff --git a/docs/d4/d57/cudnn__frontend__EngineConfigGenerator_8h__incl.png b/docs/d4/d57/cudnn__frontend__EngineConfigGenerator_8h__incl.png index 9216c791..508b4d4f 100644 Binary files a/docs/d4/d57/cudnn__frontend__EngineConfigGenerator_8h__incl.png and b/docs/d4/d57/cudnn__frontend__EngineConfigGenerator_8h__incl.png differ diff --git a/docs/d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html b/docs/d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html new file mode 100644 index 00000000..4799fe23 --- /dev/null +++ b/docs/d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html @@ -0,0 +1,301 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::invalid_iterator Class Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::invalid_iterator Class Reference
    +
    +
    + +

    exception indicating errors with iterators + More...

    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::invalid_iterator:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::invalid_iterator:
    +
    +
    Collaboration graph
    + + + + + +
    + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static invalid_iterator create (int id_, const std::string &what_arg, const BasicJsonType &context)
     
    + + + +

    +Private Member Functions

     invalid_iterator (int id_, const char *what_arg)
     
    + + + + + + + + + + + + + + + + + + +

    +Additional Inherited Members

    - Public Member Functions inherited from nlohmann::detail::exception
    const char * what () const noexcept override
     returns the explanatory string More...
     
    - Public Attributes inherited from nlohmann::detail::exception
    const int id
     the id of the exception More...
     
    - Protected Member Functions inherited from nlohmann::detail::exception
     exception (int id_, const char *what_arg)
     
    - Static Protected Member Functions inherited from nlohmann::detail::exception
    static std::string name (const std::string &ename, int id_)
     
    template<typename BasicJsonType >
    static std::string diagnostics (const BasicJsonType &leaf_element)
     
    +

    Detailed Description

    +

    exception indicating errors with iterators

    +

    This exception is thrown if iterators passed to a library function do not match the expected semantics.

    +

    Exceptions have ids 2xx.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name / id example message description
    json.exception.invalid_iterator.201 iterators are not compatible The iterators passed to constructor basic_json(InputIT first, InputIT last) are not compatible, meaning they do not belong to the same container. Therefore, the range (first, last) is invalid.
    json.exception.invalid_iterator.202 iterator does not fit current value In an erase or insert function, the passed iterator pos does not belong to the JSON value for which the function was called. It hence does not define a valid position for the deletion/insertion.
    json.exception.invalid_iterator.203 iterators do not fit current value Either iterator passed to function erase(IteratorType first, IteratorType last) does not belong to the JSON value from which values shall be erased. It hence does not define a valid range to delete values from.
    json.exception.invalid_iterator.204 iterators out of range When an iterator range for a primitive type (number, boolean, or string) is passed to a constructor or an erase function, this range has to be exactly (begin(), end()), because this is the only way the single stored value is expressed. All other ranges are invalid.
    json.exception.invalid_iterator.205 iterator out of range When an iterator for a primitive type (number, boolean, or string) is passed to an erase function, the iterator has to be the begin() iterator, because it is the only way to address the stored value. All other iterators are invalid.
    json.exception.invalid_iterator.206 cannot construct with iterators from null The iterators passed to constructor basic_json(InputIT first, InputIT last) belong to a JSON null value and hence to not define a valid range.
    json.exception.invalid_iterator.207 cannot use key() for non-object iterators The key() member function can only be used on iterators belonging to a JSON object, because other types do not have a concept of a key.
    json.exception.invalid_iterator.208 cannot use operator[] for object iterators The operator[] to specify a concrete offset cannot be used on iterators belonging to a JSON object, because JSON objects are unordered.
    json.exception.invalid_iterator.209 cannot use offsets with object iterators The offset operators (+, -, +=, -=) cannot be used on iterators belonging to a JSON object, because JSON objects are unordered.
    json.exception.invalid_iterator.210 iterators do not fit The iterator range passed to the insert function are not compatible, meaning they do not belong to the same container. Therefore, the range (first, last) is invalid.
    json.exception.invalid_iterator.211 passed iterators may not belong to container The iterator range passed to the insert function must not be a subrange of the container to insert to.
    json.exception.invalid_iterator.212 cannot compare iterators of different containers When two iterators are compared, they must belong to the same container.
    json.exception.invalid_iterator.213 cannot compare order of object iterators The order of object iterators cannot be compared, because JSON objects are unordered.
    json.exception.invalid_iterator.214 cannot get value Cannot get value for iterator: Either the iterator belongs to a null value or it is an iterator to a primitive type (number, boolean, or string), but the iterator is different to begin().
    +

    {The following code shows how an invalid_iterator exception can be caught.,invalid_iterator}

    +
    See also
    - exception for the base class of the library exceptions
    +
    +- parse_error for exceptions indicating a parse error
    +
    +- type_error for exceptions indicating executing a member function with a wrong type
    +
    +- out_of_range for exceptions indicating access out of the defined range
    +
    +- other_error for exceptions indicating other library errors
    +
    Since
    version 3.0.0
    + +

    Definition at line 2857 of file json.hpp.

    +

    Constructor & Destructor Documentation

    + +

    ◆ invalid_iterator()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    nlohmann::detail::invalid_iterator::invalid_iterator (int id_,
    const char * what_arg 
    )
    +
    +inlineprivate
    +
    + +

    Definition at line 2869 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ create()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static invalid_iterator nlohmann::detail::invalid_iterator::create (int id_,
    const std::stringwhat_arg,
    const BasicJsonType & context 
    )
    +
    +inlinestatic
    +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.js b/docs/d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.js new file mode 100644 index 00000000..526bf5b5 --- /dev/null +++ b/docs/d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.js @@ -0,0 +1,5 @@ +var classnlohmann_1_1detail_1_1invalid__iterator = +[ + [ "invalid_iterator", "d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html#adf4a6697420f3bddb4addfc0b98f6ee2", null ], + [ "create", "d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html#a34104b98ab00564e564176b4d2ba7c3c", null ] +]; \ No newline at end of file diff --git a/docs/d4/d64/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4__coll__graph.map b/docs/d4/d64/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4__coll__graph.map new file mode 100644 index 00000000..c410854f --- /dev/null +++ b/docs/d4/d64/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d4/d64/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4__coll__graph.md5 b/docs/d4/d64/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4__coll__graph.md5 new file mode 100644 index 00000000..ef038daa --- /dev/null +++ b/docs/d4/d64/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4__coll__graph.md5 @@ -0,0 +1 @@ +d7b0cc6877c26caf87f61717972e0879 \ No newline at end of file diff --git a/docs/d4/d64/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4__coll__graph.png b/docs/d4/d64/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4__coll__graph.png new file mode 100644 index 00000000..82172a48 Binary files /dev/null and b/docs/d4/d64/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4__coll__graph.png differ diff --git a/docs/d4/d65/classnlohmann_1_1detail_1_1primitive__iterator__t__coll__graph.map b/docs/d4/d65/classnlohmann_1_1detail_1_1primitive__iterator__t__coll__graph.map new file mode 100644 index 00000000..64f7a342 --- /dev/null +++ b/docs/d4/d65/classnlohmann_1_1detail_1_1primitive__iterator__t__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d4/d65/classnlohmann_1_1detail_1_1primitive__iterator__t__coll__graph.md5 b/docs/d4/d65/classnlohmann_1_1detail_1_1primitive__iterator__t__coll__graph.md5 new file mode 100644 index 00000000..3f87d879 --- /dev/null +++ b/docs/d4/d65/classnlohmann_1_1detail_1_1primitive__iterator__t__coll__graph.md5 @@ -0,0 +1 @@ +70c8f8f9be8b757164cf032ee6466497 \ No newline at end of file diff --git a/docs/d4/d65/classnlohmann_1_1detail_1_1primitive__iterator__t__coll__graph.png b/docs/d4/d65/classnlohmann_1_1detail_1_1primitive__iterator__t__coll__graph.png new file mode 100644 index 00000000..c7694fd5 Binary files /dev/null and b/docs/d4/d65/classnlohmann_1_1detail_1_1primitive__iterator__t__coll__graph.png differ diff --git a/docs/d4/d6b/group__EngineFallbackListBuilder__v8.html b/docs/d4/d6b/group__EngineFallbackListBuilder__v8.html index 2356c399..5410ae89 100644 --- a/docs/d4/d6b/group__EngineFallbackListBuilder__v8.html +++ b/docs/d4/d6b/group__EngineFallbackListBuilder__v8.html @@ -122,9 +122,9 @@

    -

    Definition at line 122 of file cudnn_frontend_EngineFallbackList.h.

    +

    Definition at line 135 of file cudnn_frontend_EngineFallbackList.h.

    -

    References cudnn_frontend::EngineFallbackList_v8::mode.

    +

    References cudnn_frontend::EngineFallbackList_v8::mode.

    @@ -154,7 +154,7 @@

    Definition at line 116 of file cudnn_frontend_EngineFallbackList.h.

    +

    Definition at line 128 of file cudnn_frontend_EngineFallbackList.h.

    diff --git a/docs/d4/d73/structnlohmann_1_1detail_1_1is__sax__static__asserts-members.html b/docs/d4/d73/structnlohmann_1_1detail_1_1is__sax__static__asserts-members.html new file mode 100644 index 00000000..ec6bdebc --- /dev/null +++ b/docs/d4/d73/structnlohmann_1_1detail_1_1is__sax__static__asserts-members.html @@ -0,0 +1,107 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + diff --git a/docs/d4/d7d/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.map b/docs/d4/d7d/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.map new file mode 100644 index 00000000..13885899 --- /dev/null +++ b/docs/d4/d7d/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d4/d7d/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.md5 b/docs/d4/d7d/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.md5 new file mode 100644 index 00000000..3422a7e1 --- /dev/null +++ b/docs/d4/d7d/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.md5 @@ -0,0 +1 @@ +0c042ded1ba32103ebd275681b343f94 \ No newline at end of file diff --git a/docs/d4/d7d/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.png b/docs/d4/d7d/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.png new file mode 100644 index 00000000..30c5ca44 Binary files /dev/null and b/docs/d4/d7d/structnlohmann_1_1detail_1_1is__constructible__string__type__coll__graph.png differ diff --git a/docs/d4/d81/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4-members.html b/docs/d4/d81/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4-members.html new file mode 100644 index 00000000..113f2b68 --- /dev/null +++ b/docs/d4/d81/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > > Member List
    +
    + +
    + + + + diff --git a/docs/d4/d88/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.map b/docs/d4/d88/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.map new file mode 100644 index 00000000..f25d30fb --- /dev/null +++ b/docs/d4/d88/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d4/d88/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.md5 b/docs/d4/d88/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.md5 new file mode 100644 index 00000000..2b3c02cd --- /dev/null +++ b/docs/d4/d88/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +d1e7d2ba35a51c2023cfdb5dbede9e23 \ No newline at end of file diff --git a/docs/d4/d88/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.png b/docs/d4/d88/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.png new file mode 100644 index 00000000..0e942079 Binary files /dev/null and b/docs/d4/d88/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__inherit__graph.png differ diff --git a/docs/d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html b/docs/d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html new file mode 100644 index 00000000..275e0b17 --- /dev/null +++ b/docs/d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html @@ -0,0 +1,232 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + +

    +Public Types

    using iterator_type = IteratorType
     
    using char_type = typename std::iterator_traits< iterator_type >::value_type
     
    using adapter_type = iterator_input_adapter< iterator_type >
     
    + + + +

    +Static Public Member Functions

    static adapter_type create (IteratorType first, IteratorType last)
     
    +

    Detailed Description

    +

    template<typename IteratorType, typename Enable = void>
    +struct nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >

    + + +

    Definition at line 5556 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ adapter_type

    + +
    +
    +
    +template<typename IteratorType, typename Enable = void>
    + + + + +
    using nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >::adapter_type = iterator_input_adapter<iterator_type>
    +
    + +

    Definition at line 5560 of file json.hpp.

    + +
    +
    + +

    ◆ char_type

    + +
    +
    +
    +template<typename IteratorType, typename Enable = void>
    + + + + +
    using nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >::char_type = typename std::iterator_traits<iterator_type>::value_type
    +
    + +

    Definition at line 5559 of file json.hpp.

    + +
    +
    + +

    ◆ iterator_type

    + +
    +
    +
    +template<typename IteratorType, typename Enable = void>
    + + + + +
    using nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >::iterator_type = IteratorType
    +
    + +

    Definition at line 5558 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ create()

    + +
    +
    +
    +template<typename IteratorType, typename Enable = void>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static adapter_type nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >::create (IteratorType first,
    IteratorType last 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 5562 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.js b/docs/d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.js new file mode 100644 index 00000000..57450b9b --- /dev/null +++ b/docs/d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.js @@ -0,0 +1,7 @@ +var structnlohmann_1_1detail_1_1iterator__input__adapter__factory = +[ + [ "adapter_type", "d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a264935c57ca29dfb5153ade55266d1fa", null ], + [ "char_type", "d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a1439c0eda85f5f67199374d3254b8f2a", null ], + [ "iterator_type", "d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a37663ca283012236415d53145da1a0f9", null ], + [ "create", "d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a1d3a80249cf837448966319310be9ec4", null ] +]; \ No newline at end of file diff --git a/docs/d4/d90/classnlohmann_1_1json__pointer__coll__graph.map b/docs/d4/d90/classnlohmann_1_1json__pointer__coll__graph.map new file mode 100644 index 00000000..dc3f0969 --- /dev/null +++ b/docs/d4/d90/classnlohmann_1_1json__pointer__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d4/d90/classnlohmann_1_1json__pointer__coll__graph.md5 b/docs/d4/d90/classnlohmann_1_1json__pointer__coll__graph.md5 new file mode 100644 index 00000000..5bd2ae41 --- /dev/null +++ b/docs/d4/d90/classnlohmann_1_1json__pointer__coll__graph.md5 @@ -0,0 +1 @@ +f4402d0d71fa73396fe59d4d7d15d17c \ No newline at end of file diff --git a/docs/d4/d90/classnlohmann_1_1json__pointer__coll__graph.png b/docs/d4/d90/classnlohmann_1_1json__pointer__coll__graph.png new file mode 100644 index 00000000..af96af98 Binary files /dev/null and b/docs/d4/d90/classnlohmann_1_1json__pointer__coll__graph.png differ diff --git a/docs/d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html b/docs/d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html new file mode 100644 index 00000000..326c6dab --- /dev/null +++ b/docs/d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html @@ -0,0 +1,350 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::external_constructor< value_t::array > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::external_constructor< value_t::array > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::external_constructor< value_t::array >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + + + + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, const typename BasicJsonType::array_t &arr)
     
    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, typename BasicJsonType::array_t &&arr)
     
    template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< !std::is_same< CompatibleArrayType, typename BasicJsonType::array_t >::value, int > = 0>
    static void construct (BasicJsonType &j, const CompatibleArrayType &arr)
     
    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, const std::vector< bool > &arr)
     
    template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0>
    static void construct (BasicJsonType &j, const std::valarray< T > &arr)
     
    +

    Detailed Description

    +

    template<>
    +struct nlohmann::detail::external_constructor< value_t::array >

    + + +

    Definition at line 4582 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ construct() [1/5]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::external_constructor< value_t::array >::construct (BasicJsonType & j,
    const typename BasicJsonType::array_t & arr 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 4585 of file json.hpp.

    + +

    References nlohmann::detail::array.

    + +
    +
    + +

    ◆ construct() [2/5]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::external_constructor< value_t::array >::construct (BasicJsonType & j,
    typename BasicJsonType::array_t && arr 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 4594 of file json.hpp.

    + +

    References nlohmann::detail::array.

    + +
    +
    + +

    ◆ construct() [3/5]

    + +
    +
    +
    +template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< !std::is_same< CompatibleArrayType, typename BasicJsonType::array_t >::value, int > = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::external_constructor< value_t::array >::construct (BasicJsonType & j,
    const CompatibleArrayType & arr 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 4605 of file json.hpp.

    + +

    References nlohmann::detail::array.

    + +
    +
    + +

    ◆ construct() [4/5]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::external_constructor< value_t::array >::construct (BasicJsonType & j,
    const std::vector< bool > & arr 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 4616 of file json.hpp.

    + +

    References nlohmann::detail::array.

    + +
    +
    + +

    ◆ construct() [5/5]

    + +
    +
    +
    +template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::external_constructor< value_t::array >::construct (BasicJsonType & j,
    const std::valarray< T > & arr 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 4631 of file json.hpp.

    + +

    References nlohmann::detail::array.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.js b/docs/d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.js new file mode 100644 index 00000000..b28b4114 --- /dev/null +++ b/docs/d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.js @@ -0,0 +1,8 @@ +var structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4 = +[ + [ "construct", "d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#abfb2a6eec0bc21e8a7438546aebc55d8", null ], + [ "construct", "d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a50474d6624957a630a1d398cac1e7bfa", null ], + [ "construct", "d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a110f50fd5378da876d9a6d6a8d945e37", null ], + [ "construct", "d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a4ebb19b1cb84b4cb224a4c5322e16f14", null ], + [ "construct", "d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a1b9226304e6492141080b4ebf228ddac", null ] +]; \ No newline at end of file diff --git a/docs/d4/d97/classnlohmann_1_1detail_1_1lexer__inherit__graph.map b/docs/d4/d97/classnlohmann_1_1detail_1_1lexer__inherit__graph.map new file mode 100644 index 00000000..305cd532 --- /dev/null +++ b/docs/d4/d97/classnlohmann_1_1detail_1_1lexer__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d4/d97/classnlohmann_1_1detail_1_1lexer__inherit__graph.md5 b/docs/d4/d97/classnlohmann_1_1detail_1_1lexer__inherit__graph.md5 new file mode 100644 index 00000000..e51c1c1b --- /dev/null +++ b/docs/d4/d97/classnlohmann_1_1detail_1_1lexer__inherit__graph.md5 @@ -0,0 +1 @@ +b3012159f709484b501e7d892b4f8130 \ No newline at end of file diff --git a/docs/d4/d97/classnlohmann_1_1detail_1_1lexer__inherit__graph.png b/docs/d4/d97/classnlohmann_1_1detail_1_1lexer__inherit__graph.png new file mode 100644 index 00000000..af97cfca Binary files /dev/null and b/docs/d4/d97/classnlohmann_1_1detail_1_1lexer__inherit__graph.png differ diff --git a/docs/d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html b/docs/d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html new file mode 100644 index 00000000..42fcbfdf --- /dev/null +++ b/docs/d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html @@ -0,0 +1,358 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::iterator_input_adapter< IteratorType > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::iterator_input_adapter< IteratorType > Class Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::iterator_input_adapter< IteratorType >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Public Types

    using char_type = typename std::iterator_traits< IteratorType >::value_type
     
    + + + + + +

    +Public Member Functions

     iterator_input_adapter (IteratorType first, IteratorType last)
     
    std::char_traits< char_type >::int_type get_character ()
     
    + + + +

    +Private Member Functions

    bool empty () const
     
    + + + + + +

    +Private Attributes

    IteratorType current
     
    IteratorType end
     
    + + + + +

    +Friends

    template<typename BaseInputAdapter , size_t T>
    struct wide_string_input_helper
     
    +

    Detailed Description

    +

    template<typename IteratorType>
    +class nlohmann::detail::iterator_input_adapter< IteratorType >

    + + +

    Definition at line 5351 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ char_type

    + +
    +
    +
    +template<typename IteratorType >
    + + + + +
    using nlohmann::detail::iterator_input_adapter< IteratorType >::char_type = typename std::iterator_traits<IteratorType>::value_type
    +
    + +

    Definition at line 5354 of file json.hpp.

    + +
    +
    +

    Constructor & Destructor Documentation

    + +

    ◆ iterator_input_adapter()

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    nlohmann::detail::iterator_input_adapter< IteratorType >::iterator_input_adapter (IteratorType first,
    IteratorType last 
    )
    +
    +inline
    +
    + +

    Definition at line 5356 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ empty()

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + +
    bool nlohmann::detail::iterator_input_adapter< IteratorType >::empty () const
    +
    +inlineprivate
    +
    + +

    Definition at line 5379 of file json.hpp.

    + +
    +
    + +

    ◆ get_character()

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + +
    std::char_traits<char_type>::int_type nlohmann::detail::iterator_input_adapter< IteratorType >::get_character ()
    +
    +inline
    +
    + +

    Definition at line 5360 of file json.hpp.

    + +

    References JSON_HEDLEY_LIKELY.

    + +
    +
    +

    Friends And Related Function Documentation

    + +

    ◆ wide_string_input_helper

    + +
    +
    +
    +template<typename IteratorType >
    +
    +template<typename BaseInputAdapter , size_t T>
    + + + + + +
    + + + + +
    friend struct wide_string_input_helper
    +
    +friend
    +
    + +

    Definition at line 5377 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ current

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + +
    IteratorType nlohmann::detail::iterator_input_adapter< IteratorType >::current
    +
    +private
    +
    + +

    Definition at line 5373 of file json.hpp.

    + +
    +
    + +

    ◆ end

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + +
    IteratorType nlohmann::detail::iterator_input_adapter< IteratorType >::end
    +
    +private
    +
    + +

    Definition at line 5374 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.js b/docs/d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.js new file mode 100644 index 00000000..6f00fc98 --- /dev/null +++ b/docs/d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.js @@ -0,0 +1,10 @@ +var classnlohmann_1_1detail_1_1iterator__input__adapter = +[ + [ "char_type", "d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a7cc60e68767005322ab4b692c9dff283", null ], + [ "iterator_input_adapter", "d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a9423d7166b9e3092f149266acd064ba7", null ], + [ "empty", "d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#ace7ba18b59cde50cbc53687034f649be", null ], + [ "get_character", "d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a01706f07681df083c2174d236ff3d643", null ], + [ "wide_string_input_helper", "d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#ab86106ba230f1542b94dcd96e6ab3221", null ], + [ "current", "d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a8abccad27590d381a94e474b16161938", null ], + [ "end", "d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a8aa29994ca6fdc0f8c96abf9151738ab", null ] +]; \ No newline at end of file diff --git a/docs/d4/dc6/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__5d44cf8fe8fc20db880cdda000bcf872.map b/docs/d4/dc6/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__5d44cf8fe8fc20db880cdda000bcf872.map new file mode 100644 index 00000000..d5992c96 --- /dev/null +++ b/docs/d4/dc6/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__5d44cf8fe8fc20db880cdda000bcf872.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d4/dc6/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__5d44cf8fe8fc20db880cdda000bcf872.md5 b/docs/d4/dc6/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__5d44cf8fe8fc20db880cdda000bcf872.md5 new file mode 100644 index 00000000..9fbaf434 --- /dev/null +++ b/docs/d4/dc6/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__5d44cf8fe8fc20db880cdda000bcf872.md5 @@ -0,0 +1 @@ +90cb2b1bd5f59e04afe179d950f78e21 \ No newline at end of file diff --git a/docs/d4/dc6/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__5d44cf8fe8fc20db880cdda000bcf872.png b/docs/d4/dc6/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__5d44cf8fe8fc20db880cdda000bcf872.png new file mode 100644 index 00000000..6d2b8b3a Binary files /dev/null and b/docs/d4/dc6/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__5d44cf8fe8fc20db880cdda000bcf872.png differ diff --git a/docs/d4/dcc/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.map b/docs/d4/dcc/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.map new file mode 100644 index 00000000..234f255f --- /dev/null +++ b/docs/d4/dcc/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d4/dcc/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.md5 b/docs/d4/dcc/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.md5 new file mode 100644 index 00000000..cbc4bdf2 --- /dev/null +++ b/docs/d4/dcc/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.md5 @@ -0,0 +1 @@ +acbc51dbb40f6f56f31a801929c176dd \ No newline at end of file diff --git a/docs/d4/dcc/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.png b/docs/d4/dcc/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.png new file mode 100644 index 00000000..5aab4083 Binary files /dev/null and b/docs/d4/dcc/structnlohmann_1_1detail_1_1has__to__json__inherit__graph.png differ diff --git a/docs/d4/dcd/structnlohmann_1_1detail_1_1is__iterator__of__multibyte__coll__graph.map b/docs/d4/dcd/structnlohmann_1_1detail_1_1is__iterator__of__multibyte__coll__graph.map new file mode 100644 index 00000000..d5a40350 --- /dev/null +++ b/docs/d4/dcd/structnlohmann_1_1detail_1_1is__iterator__of__multibyte__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d4/dcd/structnlohmann_1_1detail_1_1is__iterator__of__multibyte__coll__graph.md5 b/docs/d4/dcd/structnlohmann_1_1detail_1_1is__iterator__of__multibyte__coll__graph.md5 new file mode 100644 index 00000000..8f748a9b --- /dev/null +++ b/docs/d4/dcd/structnlohmann_1_1detail_1_1is__iterator__of__multibyte__coll__graph.md5 @@ -0,0 +1 @@ +ac4a1d1c69a451d49372e1b1f06f2a7b \ No newline at end of file diff --git a/docs/d4/dcd/structnlohmann_1_1detail_1_1is__iterator__of__multibyte__coll__graph.png b/docs/d4/dcd/structnlohmann_1_1detail_1_1is__iterator__of__multibyte__coll__graph.png new file mode 100644 index 00000000..2d8bd149 Binary files /dev/null and b/docs/d4/dcd/structnlohmann_1_1detail_1_1is__iterator__of__multibyte__coll__graph.png differ diff --git a/docs/d4/ddb/classnlohmann_1_1byte__container__with__subtype__coll__graph.map b/docs/d4/ddb/classnlohmann_1_1byte__container__with__subtype__coll__graph.map new file mode 100644 index 00000000..9e790120 --- /dev/null +++ b/docs/d4/ddb/classnlohmann_1_1byte__container__with__subtype__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d4/ddb/classnlohmann_1_1byte__container__with__subtype__coll__graph.md5 b/docs/d4/ddb/classnlohmann_1_1byte__container__with__subtype__coll__graph.md5 new file mode 100644 index 00000000..f30920a1 --- /dev/null +++ b/docs/d4/ddb/classnlohmann_1_1byte__container__with__subtype__coll__graph.md5 @@ -0,0 +1 @@ +33bb23f64bbf437ab456d84397385ce8 \ No newline at end of file diff --git a/docs/d4/ddb/classnlohmann_1_1byte__container__with__subtype__coll__graph.png b/docs/d4/ddb/classnlohmann_1_1byte__container__with__subtype__coll__graph.png new file mode 100644 index 00000000..56538c70 Binary files /dev/null and b/docs/d4/ddb/classnlohmann_1_1byte__container__with__subtype__coll__graph.png differ diff --git a/docs/d4/de4/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.map b/docs/d4/de4/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.map new file mode 100644 index 00000000..cfde6fee --- /dev/null +++ b/docs/d4/de4/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d4/de4/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.md5 b/docs/d4/de4/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.md5 new file mode 100644 index 00000000..810bbbd3 --- /dev/null +++ b/docs/d4/de4/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +bc5cec8f621100ac03bac81a77d05f13 \ No newline at end of file diff --git a/docs/d4/de4/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.png b/docs/d4/de4/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.png new file mode 100644 index 00000000..542feace Binary files /dev/null and b/docs/d4/de4/structnlohmann_1_1detail_1_1is__constructible__array__type__impl__inherit__graph.png differ diff --git a/docs/d4/def/classnlohmann_1_1detail_1_1iterator__input__adapter__coll__graph.map b/docs/d4/def/classnlohmann_1_1detail_1_1iterator__input__adapter__coll__graph.map new file mode 100644 index 00000000..c825b95e --- /dev/null +++ b/docs/d4/def/classnlohmann_1_1detail_1_1iterator__input__adapter__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d4/def/classnlohmann_1_1detail_1_1iterator__input__adapter__coll__graph.md5 b/docs/d4/def/classnlohmann_1_1detail_1_1iterator__input__adapter__coll__graph.md5 new file mode 100644 index 00000000..162c24c9 --- /dev/null +++ b/docs/d4/def/classnlohmann_1_1detail_1_1iterator__input__adapter__coll__graph.md5 @@ -0,0 +1 @@ +3464cdfa59d94d1243e01044649996eb \ No newline at end of file diff --git a/docs/d4/def/classnlohmann_1_1detail_1_1iterator__input__adapter__coll__graph.png b/docs/d4/def/classnlohmann_1_1detail_1_1iterator__input__adapter__coll__graph.png new file mode 100644 index 00000000..8c864593 Binary files /dev/null and b/docs/d4/def/classnlohmann_1_1detail_1_1iterator__input__adapter__coll__graph.png differ diff --git a/docs/d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html b/docs/d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html new file mode 100644 index 00000000..73543a8a --- /dev/null +++ b/docs/d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html @@ -0,0 +1,459 @@ + + + + + + + +CUDNN Frontend API: cudnn_frontend::ReductionDesc_v8 Class Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    cudnn_frontend::ReductionDesc_v8 Class Reference
    +
    +
    + +

    #include <cudnn_frontend_ReductionDesc.h>

    +
    +Inheritance diagram for cudnn_frontend::ReductionDesc_v8:
    +
    +
    Inheritance graph
    + + + +
    +
    +Collaboration diagram for cudnn_frontend::ReductionDesc_v8:
    +
    +
    Collaboration graph
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    std::string describe () const override
     Return a string describing the backend Descriptor. More...
     
     ReductionDesc_v8 (ReductionDesc_v8 &&from)
     
     ~ReductionDesc_v8 ()=default
     
    - Public Member Functions inherited from cudnn_frontend::BackendDescriptor
    cudnnBackendDescriptor_t get_raw_desc () const
     
    cudnnStatus_t get_status () const
     Current status of the descriptor. More...
     
    void set_status (cudnnStatus_t const status_) const
     Set status of the descriptor. More...
     
    void set_error (const char *message) const
     Set Diagonistic error message. More...
     
    const char * get_error () const
     Diagonistic error message if any. More...
     
    ManagedOpaqueDescriptor get_desc () const
     Returns a copy of underlying managed descriptor. More...
     
    cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type)
     Initializes the underlying managed descriptor. More...
     
    + + + + + + + +

    +Private Member Functions

     ReductionDesc_v8 ()=default
     
     ReductionDesc_v8 (ReductionDesc_v8 const &)=delete
     
    ReductionDesc_v8operator= (ReductionDesc_v8 const &)=delete
     
    + + + + + +

    +Private Attributes

    cudnnDataType_t math_precision = CUDNN_DATA_FLOAT
     
    cudnnReduceTensorOp_t reduction_op = CUDNN_REDUCE_TENSOR_ADD
     
    + + + +

    +Friends

    class ReductionDescBuilder_v8
     
    + + + + + + + + + + + + + + + +

    +Additional Inherited Members

    - Protected Member Functions inherited from cudnn_frontend::BackendDescriptor
     BackendDescriptor (ManagedOpaqueDescriptor pointer_, cudnnStatus_t status_, std::string err_msg_)
     
     BackendDescriptor ()=default
     
    - Protected Attributes inherited from cudnn_frontend::BackendDescriptor
    ManagedOpaqueDescriptor pointer
     
    cudnnStatus_t status = CUDNN_STATUS_SUCCESS
     Shared pointer of the OpaqueBackendPointer. More...
     
    std::string err_msg
     Error message if any being set. More...
     
    +

    Detailed Description

    +

    ReductionDesc Descriptor Class This class tells the properties of the Reduction operation Properties:

      +
    • math_precision
    • +
    • reduction_op
    • +
    +

    Use ReductionDesc_v8 to build this class. Describe returns a string describing the Reduction operation

    + +

    Definition at line 48 of file cudnn_frontend_ReductionDesc.h.

    +

    Constructor & Destructor Documentation

    + +

    ◆ ReductionDesc_v8() [1/3]

    + +
    +
    + + + + + +
    + + + + + + + + +
    cudnn_frontend::ReductionDesc_v8::ReductionDesc_v8 (ReductionDesc_v8 && from)
    +
    +inline
    +
    + +

    Definition at line 59 of file cudnn_frontend_ReductionDesc.h.

    + +

    References operator=(), ReductionDesc_v8(), and ~ReductionDesc_v8().

    + +
    +
    + +

    ◆ ~ReductionDesc_v8()

    + +
    +
    + + + + + +
    + + + + + + + +
    cudnn_frontend::ReductionDesc_v8::~ReductionDesc_v8 ()
    +
    +default
    +
    + +

    Referenced by ReductionDesc_v8().

    + +
    +
    + +

    ◆ ReductionDesc_v8() [2/3]

    + +
    +
    + + + + + +
    + + + + + + + +
    cudnn_frontend::ReductionDesc_v8::ReductionDesc_v8 ()
    +
    +privatedefault
    +
    + +

    Referenced by ReductionDesc_v8().

    + +
    +
    + +

    ◆ ReductionDesc_v8() [3/3]

    + +
    +
    + + + + + +
    + + + + + + + + +
    cudnn_frontend::ReductionDesc_v8::ReductionDesc_v8 (ReductionDesc_v8 const & )
    +
    +privatedelete
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ describe()

    + +
    +
    + + + + + +
    + + + + + + + +
    std::string cudnn_frontend::ReductionDesc_v8::describe () const
    +
    +inlineoverridevirtual
    +
    + +

    Return a string describing the backend Descriptor.

    + +

    Implements cudnn_frontend::BackendDescriptor.

    + +

    Definition at line 52 of file cudnn_frontend_ReductionDesc.h.

    + +

    References math_precision, and reduction_op.

    + +
    +
    + +

    ◆ operator=()

    + +
    +
    + + + + + +
    + + + + + + + + +
    ReductionDesc_v8& cudnn_frontend::ReductionDesc_v8::operator= (ReductionDesc_v8 const & )
    +
    +privatedelete
    +
    +
    +

    Friends And Related Function Documentation

    + +

    ◆ ReductionDescBuilder_v8

    + +
    +
    + + + + + +
    + + + + +
    friend class ReductionDescBuilder_v8
    +
    +friend
    +
    + +

    Definition at line 50 of file cudnn_frontend_ReductionDesc.h.

    + +

    Referenced by cudnn_frontend::ReductionDescBuilder_v8::build().

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ math_precision

    + +
    +
    + + + + + +
    + + + + +
    cudnnDataType_t cudnn_frontend::ReductionDesc_v8::math_precision = CUDNN_DATA_FLOAT
    +
    +private
    +
    + +

    Definition at line 72 of file cudnn_frontend_ReductionDesc.h.

    + +

    Referenced by describe().

    + +
    +
    + +

    ◆ reduction_op

    + +
    +
    + + + + + +
    + + + + +
    cudnnReduceTensorOp_t cudnn_frontend::ReductionDesc_v8::reduction_op = CUDNN_REDUCE_TENSOR_ADD
    +
    +private
    +
    + +

    Definition at line 73 of file cudnn_frontend_ReductionDesc.h.

    + +

    Referenced by describe().

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.js b/docs/d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.js new file mode 100644 index 00000000..7dac1d0e --- /dev/null +++ b/docs/d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.js @@ -0,0 +1,12 @@ +var classcudnn__frontend_1_1ReductionDesc__v8 = +[ + [ "ReductionDesc_v8", "d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#aa88b55d2bdfc1d3cdd15784b091eb3d4", null ], + [ "~ReductionDesc_v8", "d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a2f878e63e294f06ac57a614db0a6c749", null ], + [ "ReductionDesc_v8", "d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#ad85b9113cca58bfeacc1ca33752cb578", null ], + [ "ReductionDesc_v8", "d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a51ff940ebdc71d701b7a3cbea9fe9825", null ], + [ "describe", "d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#ad4d7570552aaf140e380e7a44e7785af", null ], + [ "operator=", "d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a51f082e952ed5e01ddc9ef3f02f32f3b", null ], + [ "ReductionDescBuilder_v8", "d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a2d40c33ae24254be60d002d429637d22", null ], + [ "math_precision", "d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#ab20fbdc2c97f07ff305cc6693adc242f", null ], + [ "reduction_op", "d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a7de6c8f64b486904b1e7542eb6b40281", null ] +]; \ No newline at end of file diff --git a/docs/d4/df4/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html b/docs/d4/df4/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html new file mode 100644 index 00000000..5a4e0aae --- /dev/null +++ b/docs/d4/df4/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html @@ -0,0 +1,130 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible< std::pair< T1, T2 > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_constructible< std::pair< T1, T2 > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_constructible< std::pair< T1, T2 > >:
    +
    +
    Inheritance graph
    + + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_constructible< std::pair< T1, T2 > >:
    +
    +
    Collaboration graph
    + + + + + +
    +

    Detailed Description

    +

    template<typename T1, typename T2>
    +struct nlohmann::detail::is_constructible< std::pair< T1, T2 > >

    + + +

    Definition at line 3582 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d4/df6/structnlohmann_1_1detail_1_1is__basic__json.html b/docs/d4/df6/structnlohmann_1_1detail_1_1is__basic__json.html new file mode 100644 index 00000000..5f1d187b --- /dev/null +++ b/docs/d4/df6/structnlohmann_1_1detail_1_1is__basic__json.html @@ -0,0 +1,124 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_basic_json< typename > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_basic_json< typename > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_basic_json< typename >:
    +
    +
    Inheritance graph
    + + +
    +
    +Collaboration diagram for nlohmann::detail::is_basic_json< typename >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename>
    +struct nlohmann::detail::is_basic_json< typename >

    + + +

    Definition at line 3434 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d4/dfe/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatiblee89f2e4ea218ad02a7f448ec0628ed54.map b/docs/d4/dfe/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatiblee89f2e4ea218ad02a7f448ec0628ed54.map new file mode 100644 index 00000000..4b4a673f --- /dev/null +++ b/docs/d4/dfe/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatiblee89f2e4ea218ad02a7f448ec0628ed54.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d4/dfe/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatiblee89f2e4ea218ad02a7f448ec0628ed54.md5 b/docs/d4/dfe/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatiblee89f2e4ea218ad02a7f448ec0628ed54.md5 new file mode 100644 index 00000000..6546f2f9 --- /dev/null +++ b/docs/d4/dfe/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatiblee89f2e4ea218ad02a7f448ec0628ed54.md5 @@ -0,0 +1 @@ +8cf8a0f82ae5833b8239db5561b1d369 \ No newline at end of file diff --git a/docs/d4/dfe/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatiblee89f2e4ea218ad02a7f448ec0628ed54.png b/docs/d4/dfe/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatiblee89f2e4ea218ad02a7f448ec0628ed54.png new file mode 100644 index 00000000..c54314ae Binary files /dev/null and b/docs/d4/dfe/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatiblee89f2e4ea218ad02a7f448ec0628ed54.png differ diff --git a/docs/d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html b/docs/d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html index 6f79275f..228e06c9 100644 --- a/docs/d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html +++ b/docs/d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html @@ -111,7 +111,7 @@  Set upper and lower limits for the RELU activation. More...
      auto setMode (cudnnPointwiseMode_t mode_) -> PointWiseDescBuilder_v8 & - Set upper and lower limits for the RELU activation. More...
    + Set pointwise mode for the activation. More...
      auto setMode (cudnnNanPropagation_t nan_mode_) -> PointWiseDescBuilder_v8 &  Set NaN propagation mode. More...
    diff --git a/docs/d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html b/docs/d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html index a19bc817..c7c242b2 100644 --- a/docs/d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html +++ b/docs/d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html @@ -143,7 +143,7 @@ ManagedOpaqueDescriptor get_desc () const  Returns a copy of underlying managed descriptor. More...
      -cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type) +cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type)  Initializes the underlying managed descriptor. More...
      diff --git a/docs/d5/d10/structnlohmann_1_1detail_1_1is__sax-members.html b/docs/d5/d10/structnlohmann_1_1detail_1_1is__sax-members.html new file mode 100644 index 00000000..8fe91309 --- /dev/null +++ b/docs/d5/d10/structnlohmann_1_1detail_1_1is__sax-members.html @@ -0,0 +1,108 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    +
    + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    + + + + + + + + + +
    + +
    +
    +
    + + + + + + diff --git a/docs/d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html b/docs/d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html index b0016095..af810d82 100644 --- a/docs/d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html +++ b/docs/d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html @@ -105,7 +105,7 @@    OpaqueBackendPointer (OpaqueBackendPointer &&)=default   - OpaqueBackendPointer (cudnnBackendDescriptorType_t type) + OpaqueBackendPointer (cudnnBackendDescriptorType_t type)    ~OpaqueBackendPointer ()   diff --git a/docs/d5/d14/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.map b/docs/d5/d14/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.map new file mode 100644 index 00000000..128681db --- /dev/null +++ b/docs/d5/d14/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d5/d14/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.md5 b/docs/d5/d14/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.md5 new file mode 100644 index 00000000..06bb185c --- /dev/null +++ b/docs/d5/d14/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.md5 @@ -0,0 +1 @@ +29b992b3520ce7df2dc2de35e6e89fc0 \ No newline at end of file diff --git a/docs/d5/d14/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.png b/docs/d5/d14/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.png new file mode 100644 index 00000000..107a3050 Binary files /dev/null and b/docs/d5/d14/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__coll__graph.png differ diff --git a/docs/d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html b/docs/d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html new file mode 100644 index 00000000..1e12b7e9 --- /dev/null +++ b/docs/d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html @@ -0,0 +1,181 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Static Public Member Functions

    static void fill_buffer (BaseInputAdapter &input, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)
     
    +

    Detailed Description

    +

    template<typename BaseInputAdapter>
    +struct nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >

    + + +

    Definition at line 5390 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ fill_buffer()

    + +
    +
    +
    +template<typename BaseInputAdapter >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >::fill_buffer (BaseInputAdapter & input,
    std::array< std::char_traits< char >::int_type, 4 > & utf8_bytes,
    size_t & utf8_bytes_index,
    size_t & utf8_bytes_filled 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 5393 of file json.hpp.

    + +

    References JSON_HEDLEY_UNLIKELY.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.js b/docs/d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.js new file mode 100644 index 00000000..8d73b816 --- /dev/null +++ b/docs/d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4 = +[ + [ "fill_buffer", "d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html#a0ff95d2f31684b6477abcd783975b7c1", null ] +]; \ No newline at end of file diff --git a/docs/d5/d1a/classnlohmann_1_1detail_1_1parse__error.html b/docs/d5/d1a/classnlohmann_1_1detail_1_1parse__error.html new file mode 100644 index 00000000..c26c2d84 --- /dev/null +++ b/docs/d5/d1a/classnlohmann_1_1detail_1_1parse__error.html @@ -0,0 +1,448 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::parse_error Class Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    exception indicating a parse error + More...

    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::parse_error:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::parse_error:
    +
    +
    Collaboration graph
    + + + + + +
    + + + + + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static parse_error create (int id_, const position_t &pos, const std::string &what_arg, const BasicJsonType &context)
     create a parse error exception More...
     
    template<typename BasicJsonType >
    static parse_error create (int id_, std::size_t byte_, const std::string &what_arg, const BasicJsonType &context)
     
    + + + + + + + + +

    +Public Attributes

    const std::size_t byte
     byte index of the parse error More...
     
    - Public Attributes inherited from nlohmann::detail::exception
    const int id
     the id of the exception More...
     
    + + + +

    +Private Member Functions

     parse_error (int id_, std::size_t byte_, const char *what_arg)
     
    + + + +

    +Static Private Member Functions

    static std::string position_string (const position_t &pos)
     
    + + + + + + + + + + + + + + +

    +Additional Inherited Members

    - Public Member Functions inherited from nlohmann::detail::exception
    const char * what () const noexcept override
     returns the explanatory string More...
     
    - Protected Member Functions inherited from nlohmann::detail::exception
     exception (int id_, const char *what_arg)
     
    - Static Protected Member Functions inherited from nlohmann::detail::exception
    static std::string name (const std::string &ename, int id_)
     
    template<typename BasicJsonType >
    static std::string diagnostics (const BasicJsonType &leaf_element)
     
    +

    Detailed Description

    +

    exception indicating a parse error

    +

    This exception is thrown by the library when a parse error occurs. Parse errors can occur during the deserialization of JSON text, CBOR, MessagePack, as well as when using JSON Patch.

    +

    Member byte holds the byte index of the last read character in the input file.

    +

    Exceptions have ids 1xx.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name / id example message description
    json.exception.parse_error.101 parse error at 2: unexpected end of input; expected string literal This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member byte indicates the error position.
    json.exception.parse_error.102 parse error at 14: missing or wrong low surrogate JSON uses the \uxxxx format to describe Unicode characters. Code points above above 0xFFFF are split into two \uxxxx entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point.
    json.exception.parse_error.103 parse error: code points above 0x10FFFF are invalid Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid.
    json.exception.parse_error.104 parse error: JSON patch must be an array of objects RFC 6902 requires a JSON Patch document to be a JSON document that represents an array of objects.
    json.exception.parse_error.105 parse error: operation must have string member 'op' An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors.
    json.exception.parse_error.106 parse error: array index '01' must not begin with '0' An array index in a JSON Pointer (RFC 6901) may be 0 or any number without a leading 0.
    json.exception.parse_error.107 parse error: JSON pointer must be empty or begin with '/' - was: 'foo' A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a / character.
    json.exception.parse_error.108 parse error: escape character '~' must be followed with '0' or '1' In a JSON Pointer, only ~0 and ~1 are valid escape sequences.
    json.exception.parse_error.109 parse error: array index 'one' is not a number A JSON Pointer array index must be a number.
    json.exception.parse_error.110 parse error at 1: cannot read 2 bytes from vector When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read.
    json.exception.parse_error.112 parse error at 1: error reading CBOR; last byte: 0xF8 Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read.
    json.exception.parse_error.113 parse error at 2: expected a CBOR string; last byte: 0x98 While parsing a map key, a value that is not a string has been read.
    json.exception.parse_error.114 parse error: Unsupported BSON record type 0x0F The parsing of the corresponding BSON record type is not implemented (yet).
    json.exception.parse_error.115 parse error at byte 5: syntax error while parsing UBJSON high-precision number: invalid number text: 1A A UBJSON high-precision number could not be parsed.
    +
    Note
    For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack).
    +

    {The following code shows how a parse_error exception can be caught.,parse_error}

    +
    See also
    - exception for the base class of the library exceptions
    +
    +- invalid_iterator for exceptions indicating errors with iterators
    +
    +- type_error for exceptions indicating executing a member function with a wrong type
    +
    +- out_of_range for exceptions indicating access out of the defined range
    +
    +- other_error for exceptions indicating other library errors
    +
    Since
    version 3.0.0
    + +

    Definition at line 2769 of file json.hpp.

    +

    Constructor & Destructor Documentation

    + +

    ◆ parse_error()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    nlohmann::detail::parse_error::parse_error (int id_,
    std::size_t byte_,
    const char * what_arg 
    )
    +
    +inlineprivate
    +
    + +

    Definition at line 2810 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ create() [1/2]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static parse_error nlohmann::detail::parse_error::create (int id_,
    const position_tpos,
    const std::stringwhat_arg,
    const BasicJsonType & context 
    )
    +
    +inlinestatic
    +
    + +

    create a parse error exception

    +
    Parameters
    + + + + +
    [in]id_the id of the exception
    [in]posthe position where the error occurred (or with chars_read_total=0 if the position cannot be determined)
    [in]what_argthe explanatory string
    +
    +
    +
    Returns
    parse_error object
    + +

    Definition at line 2782 of file json.hpp.

    + +

    References nlohmann::detail::position_t::chars_read_total, nlohmann::detail::exception::diagnostics(), nlohmann::detail::exception::name(), and nlohmann::detail::string.

    + +

    Referenced by nlohmann::json_pointer< BasicJsonType >::array_index(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_binary(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_string(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_binary(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_string(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_string(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_high_precision_number(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_type(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_value(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_string(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_value(), nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parse(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_element_internal(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_cbor_internal(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_msgpack_internal(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax_parse(), nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse(), nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal(), nlohmann::json_pointer< BasicJsonType >::split(), and nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::unexpect_eof().

    + +
    +
    + +

    ◆ create() [2/2]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static parse_error nlohmann::detail::parse_error::create (int id_,
    std::size_t byte_,
    const std::stringwhat_arg,
    const BasicJsonType & context 
    )
    +
    +inlinestatic
    +
    +
    + +

    ◆ position_string()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static std::string nlohmann::detail::parse_error::position_string (const position_tpos)
    +
    +inlinestaticprivate
    +
    +
    +

    Member Data Documentation

    + +

    ◆ byte

    + +
    +
    + + + + +
    const std::size_t nlohmann::detail::parse_error::byte
    +
    + +

    byte index of the parse error

    +

    The byte index of the last read character in the input file.

    +
    Note
    For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack).
    + +

    Definition at line 2807 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/d5/d1a/classnlohmann_1_1detail_1_1parse__error.js b/docs/d5/d1a/classnlohmann_1_1detail_1_1parse__error.js new file mode 100644 index 00000000..ff866ebc --- /dev/null +++ b/docs/d5/d1a/classnlohmann_1_1detail_1_1parse__error.js @@ -0,0 +1,8 @@ +var classnlohmann_1_1detail_1_1parse__error = +[ + [ "parse_error", "d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#a0ea816ea3521d7109407948cb1b850f7", null ], + [ "create", "d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#ae77bd584cb9101140790219af7fec1ce", null ], + [ "create", "d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#a90fbaaeeb00838e65b8d04885017ef0c", null ], + [ "position_string", "d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#aefe74adeaa48781464ba2fd2ec63d221", null ], + [ "byte", "d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#a9505aaa1ca943be927eec7cc579592ff", null ] +]; \ No newline at end of file diff --git a/docs/d5/d1b/classnlohmann_1_1detail_1_1other__error.html b/docs/d5/d1b/classnlohmann_1_1detail_1_1other__error.html new file mode 100644 index 00000000..f996d577 --- /dev/null +++ b/docs/d5/d1b/classnlohmann_1_1detail_1_1other__error.html @@ -0,0 +1,275 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::other_error Class Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::other_error Class Reference
    +
    +
    + +

    exception indicating other library errors + More...

    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::other_error:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::other_error:
    +
    +
    Collaboration graph
    + + + + + +
    + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static other_error create (int id_, const std::string &what_arg, const BasicJsonType &context)
     
    + + + +

    +Private Member Functions

     other_error (int id_, const char *what_arg)
     
    + + + + + + + + + + + + + + + + + + +

    +Additional Inherited Members

    - Public Member Functions inherited from nlohmann::detail::exception
    const char * what () const noexcept override
     returns the explanatory string More...
     
    - Public Attributes inherited from nlohmann::detail::exception
    const int id
     the id of the exception More...
     
    - Protected Member Functions inherited from nlohmann::detail::exception
     exception (int id_, const char *what_arg)
     
    - Static Protected Member Functions inherited from nlohmann::detail::exception
    static std::string name (const std::string &ename, int id_)
     
    template<typename BasicJsonType >
    static std::string diagnostics (const BasicJsonType &leaf_element)
     
    +

    Detailed Description

    +

    exception indicating other library errors

    +

    This exception is thrown in case of errors that cannot be classified with the other exception types.

    +

    Exceptions have ids 5xx.

    + + + + + +
    name / id example message description
    json.exception.other_error.501 unsuccessful: {"op":"test","path":"/baz", "value":"bar"} A JSON Patch operation 'test' failed. The unsuccessful operation is also printed.
    +
    See also
    - exception for the base class of the library exceptions
    +
    +- parse_error for exceptions indicating a parse error
    +
    +- invalid_iterator for exceptions indicating errors with iterators
    +
    +- type_error for exceptions indicating executing a member function with a wrong type
    +
    +- out_of_range for exceptions indicating access out of the defined range
    +

    {The following code shows how an other_error exception can be caught.,other_error}

    +
    Since
    version 3.0.0
    + +

    Definition at line 2999 of file json.hpp.

    +

    Constructor & Destructor Documentation

    + +

    ◆ other_error()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    nlohmann::detail::other_error::other_error (int id_,
    const char * what_arg 
    )
    +
    +inlineprivate
    +
    + +

    Definition at line 3011 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ create()

    + + +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/d5/d1b/classnlohmann_1_1detail_1_1other__error.js b/docs/d5/d1b/classnlohmann_1_1detail_1_1other__error.js new file mode 100644 index 00000000..793be49e --- /dev/null +++ b/docs/d5/d1b/classnlohmann_1_1detail_1_1other__error.js @@ -0,0 +1,5 @@ +var classnlohmann_1_1detail_1_1other__error = +[ + [ "other_error", "d5/d1b/classnlohmann_1_1detail_1_1other__error.html#adf9227d6ca5161508f6a598a0dc6e7cd", null ], + [ "create", "d5/d1b/classnlohmann_1_1detail_1_1other__error.html#a3a25fa67a0ec36b5d36cbc4424eb901d", null ] +]; \ No newline at end of file diff --git a/docs/d5/d23/classB1__inherit__graph.map b/docs/d5/d23/classB1__inherit__graph.map new file mode 100644 index 00000000..bfa5c2d4 --- /dev/null +++ b/docs/d5/d23/classB1__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d5/d23/classB1__inherit__graph.md5 b/docs/d5/d23/classB1__inherit__graph.md5 new file mode 100644 index 00000000..b11dd8d1 --- /dev/null +++ b/docs/d5/d23/classB1__inherit__graph.md5 @@ -0,0 +1 @@ +388342a3270dd27b098a9094faf4d848 \ No newline at end of file diff --git a/docs/d5/d23/classB1__inherit__graph.png b/docs/d5/d23/classB1__inherit__graph.png new file mode 100644 index 00000000..2ba63a9b Binary files /dev/null and b/docs/d5/d23/classB1__inherit__graph.png differ diff --git a/docs/d5/d30/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.map b/docs/d5/d30/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.map new file mode 100644 index 00000000..f6c229f2 --- /dev/null +++ b/docs/d5/d30/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d5/d30/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.md5 b/docs/d5/d30/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.md5 new file mode 100644 index 00000000..12857069 --- /dev/null +++ b/docs/d5/d30/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.md5 @@ -0,0 +1 @@ +c5c09debdcbb3387912d13da5cca8572 \ No newline at end of file diff --git a/docs/d5/d30/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.png b/docs/d5/d30/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.png new file mode 100644 index 00000000..98065eec Binary files /dev/null and b/docs/d5/d30/classnlohmann_1_1detail_1_1invalid__iterator__inherit__graph.png differ diff --git a/docs/d5/d36/cudnn__frontend__Filters_8h_source.html b/docs/d5/d36/cudnn__frontend__Filters_8h_source.html index 40d34f7b..a3d89964 100644 --- a/docs/d5/d36/cudnn__frontend__Filters_8h_source.html +++ b/docs/d5/d36/cudnn__frontend__Filters_8h_source.html @@ -84,7 +84,7 @@
    cudnn_frontend_Filters.h
    -Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <cudnn.h>
    26 
    27 namespace cudnn_frontend {
    28 
    29 // If filter_fn returns true
    30 // The engine config will be filtered out and will
    31 // not be part of the to list.
    32 static void
    33 filter(EngineConfigList &from, EngineConfigList &to, std::function<bool(cudnnBackendDescriptor_t)> filter_fn) {
    34  auto p = std::stable_partition(from.begin(), from.end(), [filter_fn](ManagedOpaqueDescriptor &p) {
    35  return filter_fn(const_cast<cudnnBackendDescriptor_t>(p->get_backend_descriptor()));
    36  });
    37  // range insert with move
    38  to.insert(to.end(), std::make_move_iterator(p), std::make_move_iterator(from.end()));
    39  // erase the moved-from elements.
    40  from.erase(p, from.end());
    41 }
    42 
    43 template <cudnnBackendNumericalNote_t NUMERIC_NOTE>
    44 bool
    45 hasNumericalNote(cudnnBackendDescriptor_t engine_config) {
    46  bool hasNumerics = false;
    47  auto status = CUDNN_STATUS_SUCCESS;
    48  ManagedOpaqueDescriptor engine = make_shared_backend_pointer(CUDNN_BACKEND_ENGINE_DESCRIPTOR);
    49  cudnnBackendDescriptor_t engine_ = engine->get_backend_descriptor();
    50  int64_t engine_count = -1;
    51  status = cudnnBackendGetAttribute(
    52  engine_config, CUDNN_ATTR_ENGINECFG_ENGINE, CUDNN_TYPE_BACKEND_DESCRIPTOR, 1, &engine_count, &engine_);
    53  if (status == CUDNN_STATUS_SUCCESS) {
    54  cudnnBackendNumericalNote_t notes[CUDNN_NUMERICAL_NOTE_TYPE_COUNT];
    55  int64_t elem_count = 0;
    56  cudnnBackendGetAttribute(engine->get_backend_descriptor(),
    57  CUDNN_ATTR_ENGINE_NUMERICAL_NOTE,
    58  CUDNN_TYPE_NUMERICAL_NOTE,
    59  CUDNN_NUMERICAL_NOTE_TYPE_COUNT,
    60  &elem_count,
    61  notes);
    62  if (std::any_of(
    63  notes, notes + elem_count, [](cudnnBackendNumericalNote_t note) { return note == NUMERIC_NOTE; })) {
    64  hasNumerics = true;
    65  }
    66  }
    67  return hasNumerics;
    68 }
    69 }
    static ManagedOpaqueDescriptor make_shared_backend_pointer(cudnnBackendDescriptorType_t type)
    +Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <cudnn.h>
    26 
    27 namespace cudnn_frontend {
    28 
    29 // If filter_fn returns true
    30 // The engine config will be filtered out and will
    31 // not be part of the to list.
    32 static void
    33 filter(EngineConfigList &from, EngineConfigList &to, std::function<bool(cudnnBackendDescriptor_t)> filter_fn) {
    34  auto p = std::stable_partition(from.begin(), from.end(), [filter_fn](ManagedOpaqueDescriptor &p) {
    35  return filter_fn(const_cast<cudnnBackendDescriptor_t>(p->get_backend_descriptor()));
    36  });
    37  // range insert with move
    38  to.insert(to.end(), std::make_move_iterator(p), std::make_move_iterator(from.end()));
    39  // erase the moved-from elements.
    40  from.erase(p, from.end());
    41 }
    42 
    43 template <cudnnBackendNumericalNote_t NUMERIC_NOTE>
    44 bool
    45 hasNumericalNote(cudnnBackendDescriptor_t engine_config) {
    46  bool hasNumerics = false;
    47  auto status = CUDNN_STATUS_SUCCESS;
    48  ManagedOpaqueDescriptor engine = make_shared_backend_pointer(CUDNN_BACKEND_ENGINE_DESCRIPTOR);
    49  cudnnBackendDescriptor_t engine_ = engine->get_backend_descriptor();
    50  int64_t engine_count = -1;
    51  status = cudnnBackendGetAttribute(
    52  engine_config, CUDNN_ATTR_ENGINECFG_ENGINE, CUDNN_TYPE_BACKEND_DESCRIPTOR, 1, &engine_count, &engine_);
    53  if (status == CUDNN_STATUS_SUCCESS) {
    54  cudnnBackendNumericalNote_t notes[CUDNN_NUMERICAL_NOTE_TYPE_COUNT];
    55  int64_t elem_count = 0;
    56  cudnnBackendGetAttribute(engine->get_backend_descriptor(),
    57  CUDNN_ATTR_ENGINE_NUMERICAL_NOTE,
    58  CUDNN_TYPE_NUMERICAL_NOTE,
    59  CUDNN_NUMERICAL_NOTE_TYPE_COUNT,
    60  &elem_count,
    61  notes);
    62  if (std::any_of(
    63  notes, notes + elem_count, [](cudnnBackendNumericalNote_t note) { return note == NUMERIC_NOTE; })) {
    64  hasNumerics = true;
    65  }
    66  }
    67  return hasNumerics;
    68 }
    69 
    70 #if (CUDNN_VERSION >= 8200)
    71 template <cudnnBackendBehaviorNote_t BEHAVIOR_NOTE>
    72 bool
    73 hasBehaviorNote(cudnnBackendDescriptor_t engine_config) {
    74  bool hasBehavior = false;
    75  auto status = CUDNN_STATUS_SUCCESS;
    76  ManagedOpaqueDescriptor engine = make_shared_backend_pointer(CUDNN_BACKEND_ENGINE_DESCRIPTOR);
    77  cudnnBackendDescriptor_t engine_ = engine->get_backend_descriptor();
    78  int64_t engine_count = -1;
    79  status = cudnnBackendGetAttribute(
    80  engine_config, CUDNN_ATTR_ENGINECFG_ENGINE, CUDNN_TYPE_BACKEND_DESCRIPTOR, 1, &engine_count, &engine_);
    81  if (status == CUDNN_STATUS_SUCCESS) {
    82  cudnnBackendBehaviorNote_t notes[CUDNN_BEHAVIOR_NOTE_TYPE_COUNT];
    83  int64_t elem_count = 0;
    84  cudnnBackendGetAttribute(engine->get_backend_descriptor(),
    85  CUDNN_ATTR_ENGINE_BEHAVIOR_NOTE,
    86  CUDNN_TYPE_BEHAVIOR_NOTE,
    87  CUDNN_BEHAVIOR_NOTE_TYPE_COUNT,
    88  &elem_count,
    89  notes);
    90  if (std::any_of(
    91  notes, notes + elem_count, [](cudnnBackendBehaviorNote_t note) { return note == BEHAVIOR_NOTE; })) {
    92  hasBehavior = true;
    93  }
    94  }
    95  return hasBehavior;
    96 }
    97 #endif
    98 }
    static ManagedOpaqueDescriptor make_shared_backend_pointer(cudnnBackendDescriptorType_t type)
    bool hasNumericalNote(cudnnBackendDescriptor_t engine_config)
    std::shared_ptr< OpaqueBackendPointer > ManagedOpaqueDescriptor
    diff --git a/docs/d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html b/docs/d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html new file mode 100644 index 00000000..c3878bc1 --- /dev/null +++ b/docs/d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html @@ -0,0 +1,170 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::external_constructor< value_t::boolean > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::external_constructor< value_t::boolean > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::external_constructor< value_t::boolean >:
    +
    +
    Collaboration graph
    + + +
    + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, typename BasicJsonType::boolean_t b) noexcept
     
    +

    Detailed Description

    +

    template<>
    +struct nlohmann::detail::external_constructor< value_t::boolean >

    + + +

    Definition at line 4484 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ construct()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::external_constructor< value_t::boolean >::construct (BasicJsonType & j,
    typename BasicJsonType::boolean_t b 
    )
    +
    +inlinestaticnoexcept
    +
    + +

    Definition at line 4487 of file json.hpp.

    + +

    References nlohmann::detail::boolean.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.js b/docs/d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.js new file mode 100644 index 00000000..505a0d47 --- /dev/null +++ b/docs/d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4 = +[ + [ "construct", "d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html#a867122bcf0856c757bd6bcbfb8be74bc", null ] +]; \ No newline at end of file diff --git a/docs/d5/d3c/structnlohmann_1_1detail_1_1iterator__types.html b/docs/d5/d3c/structnlohmann_1_1detail_1_1iterator__types.html new file mode 100644 index 00000000..e251b042 --- /dev/null +++ b/docs/d5/d3c/structnlohmann_1_1detail_1_1iterator__types.html @@ -0,0 +1,126 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::iterator_types< It, typename > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::iterator_types< It, typename > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::iterator_types< It, typename >:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::iterator_types< It, typename >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename It, typename = void>
    +struct nlohmann::detail::iterator_types< It, typename >

    + + +

    Definition at line 3223 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.html b/docs/d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.html new file mode 100644 index 00000000..97da7686 --- /dev/null +++ b/docs/d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.html @@ -0,0 +1,168 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::from_json_fn Struct Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::from_json_fn Struct Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::from_json_fn:
    +
    +
    Collaboration graph
    + + +
    + + + + + +

    +Public Member Functions

    template<typename BasicJsonType , typename T >
    auto operator() (const BasicJsonType &j, T &&val) const noexcept(noexcept(from_json(j, std::forward< T >(val)))) -> decltype(from_json(j, std::forward< T >(val)))
     
    +

    Detailed Description

    +
    +

    Definition at line 4248 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ operator()()

    + +
    +
    +
    +template<typename BasicJsonType , typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    auto nlohmann::detail::from_json_fn::operator() (const BasicJsonType & j,
    T && val 
    ) const -> decltype(from_json(j, std::forward<T>(val))) +
    +
    +inlinenoexcept
    +
    + +

    Definition at line 4251 of file json.hpp.

    + +

    References nlohmann::detail::from_json().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.js b/docs/d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.js new file mode 100644 index 00000000..b23d565f --- /dev/null +++ b/docs/d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1from__json__fn = +[ + [ "operator()", "d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.html#a4ab8572670a673d64b783589cf658270", null ] +]; \ No newline at end of file diff --git a/docs/d5/d62/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power__coll__graph.map b/docs/d5/d62/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power__coll__graph.map new file mode 100644 index 00000000..3cfb1fda --- /dev/null +++ b/docs/d5/d62/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d5/d62/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power__coll__graph.md5 b/docs/d5/d62/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power__coll__graph.md5 new file mode 100644 index 00000000..13c1bf92 --- /dev/null +++ b/docs/d5/d62/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power__coll__graph.md5 @@ -0,0 +1 @@ +e28bee13396ee78baf2aafeed65cfa8b \ No newline at end of file diff --git a/docs/d5/d62/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power__coll__graph.png b/docs/d5/d62/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power__coll__graph.png new file mode 100644 index 00000000..fc49e4b9 Binary files /dev/null and b/docs/d5/d62/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power__coll__graph.png differ diff --git a/docs/d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html b/docs/d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html new file mode 100644 index 00000000..3a8f5b10 --- /dev/null +++ b/docs/d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html @@ -0,0 +1,298 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::output_vector_adapter< CharType > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::output_vector_adapter< CharType > Class Template Reference
    +
    +
    + +

    output adapter for byte vectors + More...

    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::output_vector_adapter< CharType >:
    +
    +
    Inheritance graph
    + + + +
    +
    +Collaboration diagram for nlohmann::detail::output_vector_adapter< CharType >:
    +
    +
    Collaboration graph
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     output_vector_adapter (std::vector< CharType > &vec) noexcept
     
    void write_character (CharType c) override
     
    void write_characters (const CharType *s, std::size_t length) override
     
    - Public Member Functions inherited from nlohmann::detail::output_adapter_protocol< CharType >
    virtual ~output_adapter_protocol ()=default
     
     output_adapter_protocol ()=default
     
     output_adapter_protocol (const output_adapter_protocol &)=default
     
     output_adapter_protocol (output_adapter_protocol &&) noexcept=default
     
    output_adapter_protocoloperator= (const output_adapter_protocol &)=default
     
    output_adapter_protocoloperator= (output_adapter_protocol &&) noexcept=default
     
    + + + +

    +Private Attributes

    std::vector< CharType > & v
     
    +

    Detailed Description

    +

    template<typename CharType>
    +class nlohmann::detail::output_vector_adapter< CharType >

    + +

    output adapter for byte vectors

    + +

    Definition at line 13155 of file json.hpp.

    +

    Constructor & Destructor Documentation

    + +

    ◆ output_vector_adapter()

    + +
    +
    +
    +template<typename CharType >
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::output_vector_adapter< CharType >::output_vector_adapter (std::vector< CharType > & vec)
    +
    +inlineexplicitnoexcept
    +
    + +

    Definition at line 13158 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ write_character()

    + +
    +
    +
    +template<typename CharType >
    + + + + + +
    + + + + + + + + +
    void nlohmann::detail::output_vector_adapter< CharType >::write_character (CharType c)
    +
    +inlineoverridevirtual
    +
    + +

    Implements nlohmann::detail::output_adapter_protocol< CharType >.

    + +

    Definition at line 13162 of file json.hpp.

    + +

    References JSON_HEDLEY_NON_NULL.

    + +
    +
    + +

    ◆ write_characters()

    + +
    +
    +
    +template<typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::output_vector_adapter< CharType >::write_characters (const CharType * s,
    std::size_t length 
    )
    +
    +inlineoverridevirtual
    +
    + +

    Implements nlohmann::detail::output_adapter_protocol< CharType >.

    + +

    Definition at line 13168 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ v

    + +
    +
    +
    +template<typename CharType >
    + + + + + +
    + + + + +
    std::vector<CharType>& nlohmann::detail::output_vector_adapter< CharType >::v
    +
    +private
    +
    + +

    Definition at line 13174 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.js b/docs/d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.js new file mode 100644 index 00000000..cfb5796f --- /dev/null +++ b/docs/d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.js @@ -0,0 +1,7 @@ +var classnlohmann_1_1detail_1_1output__vector__adapter = +[ + [ "output_vector_adapter", "d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html#a9c4fbf88fda356837038ec30a264cd3e", null ], + [ "write_character", "d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html#af6a22d4210bb7bc2da66021300ddd6db", null ], + [ "write_characters", "d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html#ad6f6c461dec7bedd5359454dc22fc9aa", null ], + [ "v", "d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html#a9b1ed9fba14e671ae1abb6692560ef3f", null ] +]; \ No newline at end of file diff --git a/docs/d5/d68/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.map b/docs/d5/d68/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.map new file mode 100644 index 00000000..49c444d7 --- /dev/null +++ b/docs/d5/d68/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d5/d68/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.md5 b/docs/d5/d68/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.md5 new file mode 100644 index 00000000..2fbe625e --- /dev/null +++ b/docs/d5/d68/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.md5 @@ -0,0 +1 @@ +c28c37609e36a02e6f372834d9ecaae4 \ No newline at end of file diff --git a/docs/d5/d68/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.png b/docs/d5/d68/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.png new file mode 100644 index 00000000..b9055321 Binary files /dev/null and b/docs/d5/d68/structnlohmann_1_1detail_1_1is__iterator__traits__coll__graph.png differ diff --git a/docs/d5/d69/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.map b/docs/d5/d69/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.map new file mode 100644 index 00000000..6c025d1b --- /dev/null +++ b/docs/d5/d69/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d5/d69/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.md5 b/docs/d5/d69/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.md5 new file mode 100644 index 00000000..c6df8df5 --- /dev/null +++ b/docs/d5/d69/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.md5 @@ -0,0 +1 @@ +bed24dce3e5ff15b2ce557a54d18d1da \ No newline at end of file diff --git a/docs/d5/d69/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.png b/docs/d5/d69/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.png new file mode 100644 index 00000000..59d40bd8 Binary files /dev/null and b/docs/d5/d69/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__coll__graph.png differ diff --git a/docs/d5/d9a/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4-members.html b/docs/d5/d9a/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4-members.html new file mode 100644 index 00000000..13f4a9c9 --- /dev/null +++ b/docs/d5/d9a/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >, including all inherited members.

    + + +
    fill_buffer(BaseInputAdapter &input, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >inlinestatic
    +
    + + + + diff --git a/docs/d5/d9b/structnlohmann_1_1detail_1_1iterator__input__adapter__factory-members.html b/docs/d5/d9b/structnlohmann_1_1detail_1_1iterator__input__adapter__factory-members.html new file mode 100644 index 00000000..c0b93316 --- /dev/null +++ b/docs/d5/d9b/structnlohmann_1_1detail_1_1iterator__input__adapter__factory-members.html @@ -0,0 +1,105 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable > Member List
    +
    + +
    + + + + diff --git a/docs/d5/da3/structnlohmann_1_1adl__serializer__coll__graph.map b/docs/d5/da3/structnlohmann_1_1adl__serializer__coll__graph.map new file mode 100644 index 00000000..598d49bb --- /dev/null +++ b/docs/d5/da3/structnlohmann_1_1adl__serializer__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d5/da3/structnlohmann_1_1adl__serializer__coll__graph.md5 b/docs/d5/da3/structnlohmann_1_1adl__serializer__coll__graph.md5 new file mode 100644 index 00000000..9d7c78a0 --- /dev/null +++ b/docs/d5/da3/structnlohmann_1_1adl__serializer__coll__graph.md5 @@ -0,0 +1 @@ +913ccfee4ad9c7c2ae872e1207321328 \ No newline at end of file diff --git a/docs/d5/da3/structnlohmann_1_1adl__serializer__coll__graph.png b/docs/d5/da3/structnlohmann_1_1adl__serializer__coll__graph.png new file mode 100644 index 00000000..5c95f473 Binary files /dev/null and b/docs/d5/da3/structnlohmann_1_1adl__serializer__coll__graph.png differ diff --git a/docs/d5/da3/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_3_01T_01_4_1_1value_01_4_01_4.html b/docs/d5/da3/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_3_01T_01_4_1_1value_01_4_01_4.html new file mode 100644 index 00000000..c076d28f --- /dev/null +++ b/docs/d5/da3/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_3_01T_01_4_1_1value_01_4_01_4.html @@ -0,0 +1,128 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >:
    +
    +
    Collaboration graph
    + + + + +
    +

    Detailed Description

    +

    template<typename T>
    +struct nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >

    + + +

    Definition at line 3246 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d5/dab/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.map b/docs/d5/dab/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.map new file mode 100644 index 00000000..ba31d696 --- /dev/null +++ b/docs/d5/dab/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d5/dab/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.md5 b/docs/d5/dab/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.md5 new file mode 100644 index 00000000..b30c8faf --- /dev/null +++ b/docs/d5/dab/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.md5 @@ -0,0 +1 @@ +e5425a87080be6e396863242337e811c \ No newline at end of file diff --git a/docs/d5/dab/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.png b/docs/d5/dab/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.png new file mode 100644 index 00000000..767bf2aa Binary files /dev/null and b/docs/d5/dab/classnlohmann_1_1detail_1_1output__string__adapter__coll__graph.png differ diff --git a/docs/d5/db0/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4.html b/docs/d5/db0/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4.html new file mode 100644 index 00000000..57cd2d62 --- /dev/null +++ b/docs/d5/db0/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4.html @@ -0,0 +1,126 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::conjunction< B1, Bn... > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::conjunction< B1, Bn... > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::conjunction< B1, Bn... >:
    +
    +
    Inheritance graph
    + + + +
    +
    +Collaboration diagram for nlohmann::detail::conjunction< B1, Bn... >:
    +
    +
    Collaboration graph
    + + + +
    +

    Detailed Description

    +

    template<class B1, class... Bn>
    +struct nlohmann::detail::conjunction< B1, Bn... >

    + + +

    Definition at line 3552 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d5/db4/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_9a6352a6d7bc32b815455d253d1f1f62.html b/docs/d5/db4/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_9a6352a6d7bc32b815455d253d1f1f62.html new file mode 100644 index 00000000..a16f0e05 --- /dev/null +++ b/docs/d5/db4/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_9a6352a6d7bc32b815455d253d1f1f62.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > > Member List
    +
    + +
    + + + + diff --git a/docs/d5/db8/json_8hpp.html b/docs/d5/db8/json_8hpp.html new file mode 100644 index 00000000..e191bc5b --- /dev/null +++ b/docs/d5/db8/json_8hpp.html @@ -0,0 +1,19351 @@ + + + + + + + +CUDNN Frontend API: json.hpp File Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    json.hpp File Reference
    +
    +
    +
    #include <algorithm>
    +#include <cstddef>
    +#include <functional>
    +#include <initializer_list>
    +#include <iosfwd>
    +#include <iterator>
    +#include <memory>
    +#include <numeric>
    +#include <string>
    +#include <utility>
    +#include <vector>
    +#include <type_traits>
    +#include <array>
    +#include <forward_list>
    +#include <map>
    +#include <tuple>
    +#include <unordered_map>
    +#include <valarray>
    +#include <exception>
    +#include <stdexcept>
    +#include <cstdint>
    +#include <cstdlib>
    +#include <cassert>
    +#include <limits>
    +#include <cmath>
    +#include <cstdio>
    +#include <cstring>
    +#include <istream>
    +#include <clocale>
    +#include <cctype>
    +#include <ios>
    +#include <ostream>
    +
    +Include dependency graph for json.hpp:
    +
    +
    + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Classes

    struct  nlohmann::detail::position_t
     struct to capture the start position of the current token More...
     
    class  nlohmann::detail::exception
     general exception of the basic_json class More...
     
    class  nlohmann::detail::parse_error
     exception indicating a parse error More...
     
    class  nlohmann::detail::invalid_iterator
     exception indicating errors with iterators More...
     
    class  nlohmann::detail::type_error
     exception indicating executing a member function with a wrong type More...
     
    class  nlohmann::detail::out_of_range
     exception indicating access out of the defined range More...
     
    class  nlohmann::detail::other_error
     exception indicating other library errors More...
     
    struct  nlohmann::detail::integer_sequence< T, Ints >
     
    struct  nlohmann::detail::utility_internal::Extend< Seq, SeqSize, Rem >
     
    struct  nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 >
     
    struct  nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 >
     
    struct  nlohmann::detail::utility_internal::Gen< T, N >
     
    struct  nlohmann::detail::utility_internal::Gen< T, 0 >
     
    struct  nlohmann::detail::priority_tag< N >
     
    struct  nlohmann::detail::priority_tag< 0 >
     
    struct  nlohmann::detail::static_const< T >
     
    struct  nlohmann::detail::identity_tag< T >
     
    struct  nlohmann::detail::make_void< Ts >
     
    struct  nlohmann::detail::iterator_types< It, typename >
     
    struct  nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
     
    struct  nlohmann::detail::iterator_traits< T, typename >
     
    struct  nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >
     
    struct  nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >
     
    struct  nlohmann::detail::nonesuch
     
    struct  nlohmann::detail::detector< Default, AlwaysVoid, Op, Args >
     
    struct  nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >
     
    struct  nlohmann::adl_serializer< ValueType, typename >
     default JSONSerializer template argument More...
     
    class  nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
     a class to store JSON values More...
     
    class  nlohmann::json_pointer< BasicJsonType >
     JSON Pointer. More...
     
    struct  nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >
     
    struct  nlohmann::detail::is_basic_json< typename >
     
    struct  nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL >
     
    class  nlohmann::detail::json_ref< BasicJsonType >
     
    struct  nlohmann::detail::is_json_ref< typename >
     
    struct  nlohmann::detail::is_json_ref< json_ref< T > >
     
    struct  nlohmann::detail::has_from_json< BasicJsonType, T, typename >
     
    struct  nlohmann::detail::is_getable< BasicJsonType, T >
     
    struct  nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
     
    struct  nlohmann::detail::has_non_default_from_json< BasicJsonType, T, typename >
     
    struct  nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
     
    struct  nlohmann::detail::has_to_json< BasicJsonType, T, typename >
     
    struct  nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
     
    struct  nlohmann::detail::conjunction<... >
     
    struct  nlohmann::detail::conjunction< B1 >
     
    struct  nlohmann::detail::conjunction< B1, Bn... >
     
    struct  nlohmann::detail::is_default_constructible< T >
     
    struct  nlohmann::detail::is_default_constructible< std::pair< T1, T2 > >
     
    struct  nlohmann::detail::is_default_constructible< const std::pair< T1, T2 > >
     
    struct  nlohmann::detail::is_default_constructible< std::tuple< Ts... > >
     
    struct  nlohmann::detail::is_default_constructible< const std::tuple< Ts... > >
     
    struct  nlohmann::detail::is_constructible< T, Args >
     
    struct  nlohmann::detail::is_constructible< std::pair< T1, T2 > >
     
    struct  nlohmann::detail::is_constructible< const std::pair< T1, T2 > >
     
    struct  nlohmann::detail::is_constructible< std::tuple< Ts... > >
     
    struct  nlohmann::detail::is_constructible< const std::tuple< Ts... > >
     
    struct  nlohmann::detail::is_iterator_traits< T, typename >
     
    struct  nlohmann::detail::is_iterator_traits< iterator_traits< T > >
     
    struct  nlohmann::detail::is_complete_type< T, typename >
     
    struct  nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))>
     
    struct  nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, typename >
     
    struct  nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >
     
    struct  nlohmann::detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType >
     
    struct  nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, typename >
     
    struct  nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >
     
    struct  nlohmann::detail::is_constructible_object_type< BasicJsonType, ConstructibleObjectType >
     
    struct  nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, typename >
     
    struct  nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >
     
    struct  nlohmann::detail::is_compatible_string_type< BasicJsonType, ConstructibleStringType >
     
    struct  nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, typename >
     
    struct  nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >
     
    struct  nlohmann::detail::is_constructible_string_type< BasicJsonType, ConstructibleStringType >
     
    struct  nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, typename >
     
    struct  nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >
     
    struct  nlohmann::detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType >
     
    struct  nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, typename >
     
    struct  nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >
     
    struct  nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >
     
    struct  nlohmann::detail::is_constructible_array_type< BasicJsonType, ConstructibleArrayType >
     
    struct  nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, typename >
     
    struct  nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >
     
    struct  nlohmann::detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >
     
    struct  nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, typename >
     
    struct  nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >
     
    struct  nlohmann::detail::is_compatible_type< BasicJsonType, CompatibleType >
     
    struct  nlohmann::detail::is_constructible_tuple< T1, T2 >
     
    struct  nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > >
     
    struct  nlohmann::detail::from_json_fn
     
    class  nlohmann::detail::iteration_proxy_value< IteratorType >
     
    class  nlohmann::detail::iteration_proxy< IteratorType >
     proxy class for the items() function More...
     
    class  std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >
     
    class  std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >
     
    struct  nlohmann::detail::external_constructor< value_t >
     
    struct  nlohmann::detail::external_constructor< value_t::boolean >
     
    struct  nlohmann::detail::external_constructor< value_t::string >
     
    struct  nlohmann::detail::external_constructor< value_t::binary >
     
    struct  nlohmann::detail::external_constructor< value_t::number_float >
     
    struct  nlohmann::detail::external_constructor< value_t::number_unsigned >
     
    struct  nlohmann::detail::external_constructor< value_t::number_integer >
     
    struct  nlohmann::detail::external_constructor< value_t::array >
     
    struct  nlohmann::detail::external_constructor< value_t::object >
     
    struct  nlohmann::detail::to_json_fn
     
    struct  nlohmann::adl_serializer< ValueType, typename >
     default JSONSerializer template argument More...
     
    class  nlohmann::byte_container_with_subtype< BinaryType >
     an internal type for a backed binary type More...
     
    class  nlohmann::detail::file_input_adapter
     
    class  nlohmann::detail::input_stream_adapter
     
    class  nlohmann::detail::iterator_input_adapter< IteratorType >
     
    struct  nlohmann::detail::wide_string_input_helper< BaseInputAdapter, T >
     
    struct  nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >
     
    struct  nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >
     
    class  nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >
     
    struct  nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >
     
    struct  nlohmann::detail::is_iterator_of_multibyte< T >
     
    struct  nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >
     
    struct  nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, Enable >
     
    struct  nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >
     
    class  nlohmann::detail::span_input_adapter
     
    struct  nlohmann::json_sax< BasicJsonType >
     SAX interface. More...
     
    class  nlohmann::detail::json_sax_dom_parser< BasicJsonType >
     SAX implementation to create a JSON value from SAX events. More...
     
    class  nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
     
    class  nlohmann::detail::json_sax_acceptor< BasicJsonType >
     
    class  nlohmann::detail::lexer_base< BasicJsonType >
     
    class  nlohmann::detail::lexer< BasicJsonType, InputAdapterType >
     lexical analysis More...
     
    struct  nlohmann::detail::is_sax< SAX, BasicJsonType >
     
    struct  nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >
     
    class  nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >
     deserialization of CBOR, MessagePack, and UBJSON values More...
     
    class  nlohmann::detail::parser< BasicJsonType, InputAdapterType >
     syntax analysis More...
     
    class  nlohmann::detail::primitive_iterator_t
     
    struct  nlohmann::detail::internal_iterator< BasicJsonType >
     an iterator value More...
     
    class  nlohmann::detail::iteration_proxy< IteratorType >
     proxy class for the items() function More...
     
    class  nlohmann::detail::iteration_proxy_value< IteratorType >
     
    class  nlohmann::detail::iter_impl< BasicJsonType >
     a template for a bidirectional iterator for the basic_json class This class implements a both iterators (iterator and const_iterator) for the basic_json class. More...
     
    class  nlohmann::detail::json_reverse_iterator< Base >
     a template for a reverse iterator class More...
     
    class  nlohmann::json_pointer< BasicJsonType >
     JSON Pointer. More...
     
    class  nlohmann::detail::json_ref< BasicJsonType >
     
    struct  nlohmann::detail::output_adapter_protocol< CharType >
     abstract output adapter interface More...
     
    class  nlohmann::detail::output_vector_adapter< CharType >
     output adapter for byte vectors More...
     
    class  nlohmann::detail::output_stream_adapter< CharType >
     output adapter for output streams More...
     
    class  nlohmann::detail::output_string_adapter< CharType, StringType >
     output adapter for basic_string More...
     
    class  nlohmann::detail::output_adapter< CharType, StringType >
     
    class  nlohmann::detail::binary_writer< BasicJsonType, CharType >
     serialization to CBOR and MessagePack values More...
     
    struct  nlohmann::detail::dtoa_impl::diyfp
     
    struct  nlohmann::detail::dtoa_impl::boundaries
     
    struct  nlohmann::detail::dtoa_impl::cached_power
     
    class  nlohmann::detail::serializer< BasicJsonType >
     
    struct  nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >
     
    class  nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
     a class to store JSON values More...
     
    struct  std::hash< nlohmann::json >
     hash value for JSON objects More...
     
    struct  std::less<::nlohmann::detail::value_t >
     
    + + + + + + + + + + + + + + +

    +Namespaces

     nlohmann
     namespace for Niels Lohmann
     
     nlohmann::detail
     detail namespace with internal helper functions
     
     nlohmann::detail::utility_internal
     
     nlohmann::detail::container_input_adapter_factory_impl
     
     nlohmann::detail::dtoa_impl
     implements the Grisu2 algorithm for binary to decimal floating-point conversion.
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Macros

    #define NLOHMANN_JSON_VERSION_MAJOR   3
     
    #define NLOHMANN_JSON_VERSION_MINOR   9
     
    #define NLOHMANN_JSON_VERSION_PATCH   1
     
    #define JSON_HEDLEY_VERSION   15
     
    #define JSON_HEDLEY_STRINGIFY_EX(x)   #x
     
    #define JSON_HEDLEY_STRINGIFY(x)   JSON_HEDLEY_STRINGIFY_EX(x)
     
    #define JSON_HEDLEY_CONCAT_EX(a, b)   a##b
     
    #define JSON_HEDLEY_CONCAT(a, b)   JSON_HEDLEY_CONCAT_EX(a,b)
     
    #define JSON_HEDLEY_CONCAT3_EX(a, b, c)   a##b##c
     
    #define JSON_HEDLEY_CONCAT3(a, b, c)   JSON_HEDLEY_CONCAT3_EX(a,b,c)
     
    #define JSON_HEDLEY_VERSION_ENCODE(major, minor, revision)   (((major) * 1000000) + ((minor) * 1000) + (revision))
     
    #define JSON_HEDLEY_VERSION_DECODE_MAJOR(version)   ((version) / 1000000)
     
    #define JSON_HEDLEY_VERSION_DECODE_MINOR(version)   (((version) % 1000000) / 1000)
     
    #define JSON_HEDLEY_VERSION_DECODE_REVISION(version)   ((version) % 1000)
     
    #define JSON_HEDLEY_GNUC_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_MSVC_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_INTEL_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_PGI_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_ARM_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_IBM_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_TI_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_CRAY_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_IAR_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_TINYC_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_DMC_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_PELLES_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_GCC_VERSION_CHECK(major, minor, patch)   (0)
     
    #define JSON_HEDLEY_HAS_ATTRIBUTE(attribute)   (0)
     
    #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
     
    #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
     
    #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)   (0)
     
    #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns, attribute)   (0)
     
    #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
     
    #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
     
    #define JSON_HEDLEY_HAS_BUILTIN(builtin)   (0)
     
    #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
     
    #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
     
    #define JSON_HEDLEY_HAS_FEATURE(feature)   (0)
     
    #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
     
    #define JSON_HEDLEY_GCC_HAS_FEATURE(feature, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
     
    #define JSON_HEDLEY_HAS_EXTENSION(extension)   (0)
     
    #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
     
    #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
     
    #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)   (0)
     
    #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
     
    #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
     
    #define JSON_HEDLEY_HAS_WARNING(warning)   (0)
     
    #define JSON_HEDLEY_GNUC_HAS_WARNING(warning, major, minor, patch)   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
     
    #define JSON_HEDLEY_GCC_HAS_WARNING(warning, major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
     
    #define JSON_HEDLEY_PRAGMA(value)
     
    #define JSON_HEDLEY_DIAGNOSTIC_PUSH
     
    #define JSON_HEDLEY_DIAGNOSTIC_POP
     
    #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x)   x
     
    #define JSON_HEDLEY_CONST_CAST(T, expr)   ((T) (expr))
     
    #define JSON_HEDLEY_REINTERPRET_CAST(T, expr)   ((T) (expr))
     
    #define JSON_HEDLEY_STATIC_CAST(T, expr)   ((T) (expr))
     
    #define JSON_HEDLEY_CPP_CAST(T, expr)   (expr)
     
    #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
     
    #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
     
    #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
     
    #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
     
    #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION
     
    #define JSON_HEDLEY_DEPRECATED(since)
     
    #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
     
    #define JSON_HEDLEY_UNAVAILABLE(available_since)
     
    #define JSON_HEDLEY_WARN_UNUSED_RESULT
     
    #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)
     
    #define JSON_HEDLEY_SENTINEL(position)
     
    #define JSON_HEDLEY_NO_RETURN
     
    #define JSON_HEDLEY_NO_ESCAPE
     
    #define JSON_HEDLEY_ASSUME(expr)   JSON_HEDLEY_STATIC_CAST(void, expr)
     
    #define JSON_HEDLEY_UNREACHABLE_RETURN(value)   return (value)
     
    #define JSON_HEDLEY_UNREACHABLE()   JSON_HEDLEY_ASSUME(0)
     
    #define JSON_HEDLEY_NON_NULL(...)
     
    #define JSON_HEDLEY_PRINTF_FORMAT(string_idx, first_to_check)
     
    #define JSON_HEDLEY_CONSTEXPR
     
    #define JSON_HEDLEY_PREDICT(expr, expected, probability)   (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))
     
    #define JSON_HEDLEY_PREDICT_TRUE(expr, probability)   (!!(expr))
     
    #define JSON_HEDLEY_PREDICT_FALSE(expr, probability)   (!!(expr))
     
    #define JSON_HEDLEY_LIKELY(expr)   (!!(expr))
     
    #define JSON_HEDLEY_UNLIKELY(expr)   (!!(expr))
     
    #define JSON_HEDLEY_UNPREDICTABLE(expr)   JSON_HEDLEY_PREDICT(expr, 1, 0.5)
     
    #define JSON_HEDLEY_MALLOC
     
    #define JSON_HEDLEY_PURE
     
    #define JSON_HEDLEY_CONST   JSON_HEDLEY_PURE
     
    #define JSON_HEDLEY_RESTRICT
     
    #define JSON_HEDLEY_INLINE
     
    #define JSON_HEDLEY_ALWAYS_INLINE   JSON_HEDLEY_INLINE
     
    #define JSON_HEDLEY_NEVER_INLINE
     
    #define JSON_HEDLEY_PRIVATE
     
    #define JSON_HEDLEY_PUBLIC
     
    #define JSON_HEDLEY_IMPORT   extern
     
    #define JSON_HEDLEY_NO_THROW
     
    #define JSON_HEDLEY_FALL_THROUGH
     
    #define JSON_HEDLEY_RETURNS_NON_NULL
     
    #define JSON_HEDLEY_ARRAY_PARAM(name)
     
    #define JSON_HEDLEY_IS_CONSTANT(expr)   (0)
     
    #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr)   (expr)
     
    #define JSON_HEDLEY_BEGIN_C_DECLS
     
    #define JSON_HEDLEY_END_C_DECLS
     
    #define JSON_HEDLEY_C_DECL
     
    #define JSON_HEDLEY_STATIC_ASSERT(expr, message)
     
    #define JSON_HEDLEY_NULL   ((void*) 0)
     
    #define JSON_HEDLEY_MESSAGE(msg)
     
    #define JSON_HEDLEY_WARNING(msg)   JSON_HEDLEY_MESSAGE(msg)
     
    #define JSON_HEDLEY_REQUIRE(expr)
     
    #define JSON_HEDLEY_REQUIRE_MSG(expr, msg)
     
    #define JSON_HEDLEY_FLAGS
     
    #define JSON_HEDLEY_FLAGS_CAST(T, expr)   JSON_HEDLEY_STATIC_CAST(T, expr)
     
    #define JSON_HEDLEY_EMPTY_BASES
     
    #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major, minor, patch)   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
     
    #define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute)   JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
     
    #define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute)   JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
     
    #define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin)   JSON_HEDLEY_HAS_BUILTIN(builtin)
     
    #define JSON_HEDLEY_CLANG_HAS_FEATURE(feature)   JSON_HEDLEY_HAS_FEATURE(feature)
     
    #define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension)   JSON_HEDLEY_HAS_EXTENSION(extension)
     
    #define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute)   JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
     
    #define JSON_HEDLEY_CLANG_HAS_WARNING(warning)   JSON_HEDLEY_HAS_WARNING(warning)
     
    #define JSON_HAS_CPP_11
     
    #define JSON_THROW(exception)   std::abort()
     
    #define JSON_TRY   if(true)
     
    #define JSON_CATCH(exception)   if(false)
     
    #define JSON_INTERNAL_CATCH(exception)   if(false)
     
    #define JSON_ASSERT(x)   assert(x)
     
    #define JSON_PRIVATE_UNLESS_TESTED   private
     
    #define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...)
     macro to briefly define a mapping between an enum and JSON More...
     
    #define NLOHMANN_BASIC_JSON_TPL_DECLARATION
     
    #define NLOHMANN_BASIC_JSON_TPL
     
    #define NLOHMANN_JSON_EXPAND(x)   x
     
    #define NLOHMANN_JSON_GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, NAME, ...)   NAME
     
    #define NLOHMANN_JSON_PASTE(...)
     
    #define NLOHMANN_JSON_PASTE2(func, v1)   func(v1)
     
    #define NLOHMANN_JSON_PASTE3(func, v1, v2)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2)
     
    #define NLOHMANN_JSON_PASTE4(func, v1, v2, v3)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3)
     
    #define NLOHMANN_JSON_PASTE5(func, v1, v2, v3, v4)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4)
     
    #define NLOHMANN_JSON_PASTE6(func, v1, v2, v3, v4, v5)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5)
     
    #define NLOHMANN_JSON_PASTE7(func, v1, v2, v3, v4, v5, v6)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6)
     
    #define NLOHMANN_JSON_PASTE8(func, v1, v2, v3, v4, v5, v6, v7)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7)
     
    #define NLOHMANN_JSON_PASTE9(func, v1, v2, v3, v4, v5, v6, v7, v8)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8)
     
    #define NLOHMANN_JSON_PASTE10(func, v1, v2, v3, v4, v5, v6, v7, v8, v9)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9)
     
    #define NLOHMANN_JSON_PASTE11(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10)
     
    #define NLOHMANN_JSON_PASTE12(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11)
     
    #define NLOHMANN_JSON_PASTE13(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12)
     
    #define NLOHMANN_JSON_PASTE14(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13)
     
    #define NLOHMANN_JSON_PASTE15(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14)
     
    #define NLOHMANN_JSON_PASTE16(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15)
     
    #define NLOHMANN_JSON_PASTE17(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16)
     
    #define NLOHMANN_JSON_PASTE18(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17)
     
    #define NLOHMANN_JSON_PASTE19(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18)
     
    #define NLOHMANN_JSON_PASTE20(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19)
     
    #define NLOHMANN_JSON_PASTE21(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20)
     
    #define NLOHMANN_JSON_PASTE22(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21)
     
    #define NLOHMANN_JSON_PASTE23(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22)
     
    #define NLOHMANN_JSON_PASTE24(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23)
     
    #define NLOHMANN_JSON_PASTE25(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24)
     
    #define NLOHMANN_JSON_PASTE26(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25)
     
    #define NLOHMANN_JSON_PASTE27(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26)
     
    #define NLOHMANN_JSON_PASTE28(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27)
     
    #define NLOHMANN_JSON_PASTE29(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28)
     
    #define NLOHMANN_JSON_PASTE30(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29)
     
    #define NLOHMANN_JSON_PASTE31(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30)
     
    #define NLOHMANN_JSON_PASTE32(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31)
     
    #define NLOHMANN_JSON_PASTE33(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32)
     
    #define NLOHMANN_JSON_PASTE34(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33)
     
    #define NLOHMANN_JSON_PASTE35(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34)
     
    #define NLOHMANN_JSON_PASTE36(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35)
     
    #define NLOHMANN_JSON_PASTE37(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36)
     
    #define NLOHMANN_JSON_PASTE38(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37)
     
    #define NLOHMANN_JSON_PASTE39(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38)
     
    #define NLOHMANN_JSON_PASTE40(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39)
     
    #define NLOHMANN_JSON_PASTE41(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40)
     
    #define NLOHMANN_JSON_PASTE42(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41)
     
    #define NLOHMANN_JSON_PASTE43(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42)
     
    #define NLOHMANN_JSON_PASTE44(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43)
     
    #define NLOHMANN_JSON_PASTE45(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44)
     
    #define NLOHMANN_JSON_PASTE46(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45)
     
    #define NLOHMANN_JSON_PASTE47(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46)
     
    #define NLOHMANN_JSON_PASTE48(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47)
     
    #define NLOHMANN_JSON_PASTE49(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48)
     
    #define NLOHMANN_JSON_PASTE50(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49)
     
    #define NLOHMANN_JSON_PASTE51(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50)
     
    #define NLOHMANN_JSON_PASTE52(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51)
     
    #define NLOHMANN_JSON_PASTE53(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52)
     
    #define NLOHMANN_JSON_PASTE54(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53)
     
    #define NLOHMANN_JSON_PASTE55(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54)
     
    #define NLOHMANN_JSON_PASTE56(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55)
     
    #define NLOHMANN_JSON_PASTE57(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56)
     
    #define NLOHMANN_JSON_PASTE58(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57)
     
    #define NLOHMANN_JSON_PASTE59(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58)
     
    #define NLOHMANN_JSON_PASTE60(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59)
     
    #define NLOHMANN_JSON_PASTE61(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60)
     
    #define NLOHMANN_JSON_PASTE62(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61)
     
    #define NLOHMANN_JSON_PASTE63(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62)
     
    #define NLOHMANN_JSON_PASTE64(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63)   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63)
     
    #define NLOHMANN_JSON_TO(v1)   nlohmann_json_j[#v1] = nlohmann_json_t.v1;
     
    #define NLOHMANN_JSON_FROM(v1)   nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1);
     
    #define NLOHMANN_DEFINE_TYPE_INTRUSIVE(Type, ...)
     macro More...
     
    #define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type, ...)
     macro More...
     
    #define JSON_USE_IMPLICIT_CONVERSIONS   1
     
    #define JSON_EXPLICIT
     
    #define INCLUDE_NLOHMANN_JSON_FWD_HPP_
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Typedefs

    template<typename T >
    using nlohmann::detail::uncvref_t = typename std::remove_cv< typename std::remove_reference< T >::type >::type
     
    template<bool B, typename T = void>
    using nlohmann::detail::enable_if_t = typename std::enable_if< B, T >::type
     
    template<size_t... Ints>
    using nlohmann::detail::index_sequence = integer_sequence< size_t, Ints... >
     
    template<typename T , T N>
    using nlohmann::detail::make_integer_sequence = typename utility_internal::Gen< T, N >::type
     
    template<size_t N>
    using nlohmann::detail::make_index_sequence = make_integer_sequence< size_t, N >
     
    template<typename... Ts>
    using nlohmann::detail::index_sequence_for = make_index_sequence< sizeof...(Ts)>
     
    template<typename ... Ts>
    using nlohmann::detail::void_t = typename make_void< Ts... >::type
     
    template<template< class... > class Op, class... Args>
    using nlohmann::detail::is_detected = typename detector< nonesuch, void, Op, Args... >::value_t
     
    template<template< class... > class Op, class... Args>
    using nlohmann::detail::detected_t = typename detector< nonesuch, void, Op, Args... >::type
     
    template<class Default , template< class... > class Op, class... Args>
    using nlohmann::detail::detected_or = detector< Default, void, Op, Args... >
     
    template<class Default , template< class... > class Op, class... Args>
    using nlohmann::detail::detected_or_t = typename detected_or< Default, Op, Args... >::type
     
    template<class Expected , template< class... > class Op, class... Args>
    using nlohmann::detail::is_detected_exact = std::is_same< Expected, detected_t< Op, Args... > >
     
    template<class To , template< class... > class Op, class... Args>
    using nlohmann::detail::is_detected_convertible = std::is_convertible< detected_t< Op, Args... >, To >
     
    using nlohmann::json = basic_json<>
     default JSON class More...
     
    using nlohmann::ordered_json = basic_json< nlohmann::ordered_map >
     ordered JSON class More...
     
    template<typename T >
    using nlohmann::detail::mapped_type_t = typename T::mapped_type
     
    template<typename T >
    using nlohmann::detail::key_type_t = typename T::key_type
     
    template<typename T >
    using nlohmann::detail::value_type_t = typename T::value_type
     
    template<typename T >
    using nlohmann::detail::difference_type_t = typename T::difference_type
     
    template<typename T >
    using nlohmann::detail::pointer_t = typename T::pointer
     
    template<typename T >
    using nlohmann::detail::reference_t = typename T::reference
     
    template<typename T >
    using nlohmann::detail::iterator_category_t = typename T::iterator_category
     
    template<typename T >
    using nlohmann::detail::iterator_t = typename T::iterator
     
    template<typename T , typename... Args>
    using nlohmann::detail::to_json_function = decltype(T::to_json(std::declval< Args >()...))
     
    template<typename T , typename... Args>
    using nlohmann::detail::from_json_function = decltype(T::from_json(std::declval< Args >()...))
     
    template<typename T , typename U >
    using nlohmann::detail::get_template_function = decltype(std::declval< T >().template get< U >())
     
    using nlohmann::detail::contiguous_bytes_input_adapter = decltype(input_adapter(std::declval< const char * >(), std::declval< const char * >()))
     
    template<typename T >
    using nlohmann::detail::null_function_t = decltype(std::declval< T & >().null())
     
    template<typename T >
    using nlohmann::detail::boolean_function_t = decltype(std::declval< T & >().boolean(std::declval< bool >()))
     
    template<typename T , typename Integer >
    using nlohmann::detail::number_integer_function_t = decltype(std::declval< T & >().number_integer(std::declval< Integer >()))
     
    template<typename T , typename Unsigned >
    using nlohmann::detail::number_unsigned_function_t = decltype(std::declval< T & >().number_unsigned(std::declval< Unsigned >()))
     
    template<typename T , typename Float , typename String >
    using nlohmann::detail::number_float_function_t = decltype(std::declval< T & >().number_float(std::declval< Float >(), std::declval< const String & >()))
     
    template<typename T , typename String >
    using nlohmann::detail::string_function_t = decltype(std::declval< T & >().string(std::declval< String & >()))
     
    template<typename T , typename Binary >
    using nlohmann::detail::binary_function_t = decltype(std::declval< T & >().binary(std::declval< Binary & >()))
     
    template<typename T >
    using nlohmann::detail::start_object_function_t = decltype(std::declval< T & >().start_object(std::declval< std::size_t >()))
     
    template<typename T , typename String >
    using nlohmann::detail::key_function_t = decltype(std::declval< T & >().key(std::declval< String & >()))
     
    template<typename T >
    using nlohmann::detail::end_object_function_t = decltype(std::declval< T & >().end_object())
     
    template<typename T >
    using nlohmann::detail::start_array_function_t = decltype(std::declval< T & >().start_array(std::declval< std::size_t >()))
     
    template<typename T >
    using nlohmann::detail::end_array_function_t = decltype(std::declval< T & >().end_array())
     
    template<typename T , typename Exception >
    using nlohmann::detail::parse_error_function_t = decltype(std::declval< T & >().parse_error(std::declval< std::size_t >(), std::declval< const std::string & >(), std::declval< const Exception & >()))
     
    template<typename BasicJsonType >
    using nlohmann::detail::parser_callback_t = std::function< bool(int, parse_event_t, BasicJsonType &)>
     
    template<typename CharType >
    using nlohmann::detail::output_adapter_t = std::shared_ptr< output_adapter_protocol< CharType > >
     a type to simplify interfaces More...
     
    + + + + + + + + + + + + + + + +

    +Enumerations

    enum  nlohmann::detail::value_t : std::uint8_t {
    +  nlohmann::detail::value_t::null, +
    +  nlohmann::detail::value_t::object, +
    +  nlohmann::detail::value_t::array, +
    +  nlohmann::detail::value_t::string, +
    +  nlohmann::detail::value_t::boolean, +
    +  nlohmann::detail::value_t::number_integer, +
    +  nlohmann::detail::value_t::number_unsigned, +
    +  nlohmann::detail::value_t::number_float, +
    +  nlohmann::detail::value_t::binary, +
    +  nlohmann::detail::value_t::discarded +
    + }
     the JSON type enumeration More...
     
    enum  nlohmann::detail::input_format_t {
    +  nlohmann::detail::input_format_t::json, +
    +  nlohmann::detail::input_format_t::cbor, +
    +  nlohmann::detail::input_format_t::msgpack, +
    +  nlohmann::detail::input_format_t::ubjson, +
    +  nlohmann::detail::input_format_t::bson +
    + }
     the supported input formats More...
     
    enum  nlohmann::detail::cbor_tag_handler_t {
    +  nlohmann::detail::cbor_tag_handler_t::error, +
    +  nlohmann::detail::cbor_tag_handler_t::ignore +
    + }
     how to treat CBOR tags More...
     
    enum  nlohmann::detail::parse_event_t : uint8_t {
    +  nlohmann::detail::parse_event_t::object_start, +
    +  nlohmann::detail::parse_event_t::object_end, +
    +  nlohmann::detail::parse_event_t::array_start, +
    +  nlohmann::detail::parse_event_t::array_end, +
    +  nlohmann::detail::parse_event_t::key, +
    +  nlohmann::detail::parse_event_t::value +
    + }
     
    enum  nlohmann::detail::error_handler_t {
    +  nlohmann::detail::error_handler_t::strict, +
    +  nlohmann::detail::error_handler_t::replace, +
    +  nlohmann::detail::error_handler_t::ignore +
    + }
     how to treat decoding errors More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    bool nlohmann::detail::operator< (const value_t lhs, const value_t rhs) noexcept
     comparison operator for JSON types More...
     
    void nlohmann::detail::replace_substring (std::string &s, const std::string &f, const std::string &t)
     replace all occurrences of a substring by another string More...
     
    std::string nlohmann::detail::escape (std::string s)
     string escaping as described in RFC 6901 (Sect. 4) More...
     
    static void nlohmann::detail::unescape (std::string &s)
     string unescaping as described in RFC 6901 (Sect. 4) More...
     
    template<typename BasicJsonType >
    void nlohmann::detail::from_json (const BasicJsonType &j, typename std::nullptr_t &n)
     
    template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
    void nlohmann::detail::get_arithmetic_value (const BasicJsonType &j, ArithmeticType &val)
     
    template<typename BasicJsonType >
    void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::boolean_t &b)
     
    template<typename BasicJsonType >
    void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::string_t &s)
     
    template<typename BasicJsonType , typename ConstructibleStringType , enable_if_t< is_constructible_string_type< BasicJsonType, ConstructibleStringType >::value &&!std::is_same< typename BasicJsonType::string_t, ConstructibleStringType >::value, int > = 0>
    void nlohmann::detail::from_json (const BasicJsonType &j, ConstructibleStringType &s)
     
    template<typename BasicJsonType >
    void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_float_t &val)
     
    template<typename BasicJsonType >
    void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val)
     
    template<typename BasicJsonType >
    void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_integer_t &val)
     
    template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
    void nlohmann::detail::from_json (const BasicJsonType &j, EnumType &e)
     
    template<typename BasicJsonType , typename T , typename Allocator , enable_if_t< is_getable< BasicJsonType, T >::value, int > = 0>
    void nlohmann::detail::from_json (const BasicJsonType &j, std::forward_list< T, Allocator > &l)
     
    template<typename BasicJsonType , typename T , enable_if_t< is_getable< BasicJsonType, T >::value, int > = 0>
    void nlohmann::detail::from_json (const BasicJsonType &j, std::valarray< T > &l)
     
    template<typename BasicJsonType , typename T , std::size_t N>
    auto nlohmann::detail::from_json (const BasicJsonType &j, T(&arr)[N]) -> decltype(j.template get< T >(), void())
     
    template<typename BasicJsonType >
    void nlohmann::detail::from_json_array_impl (const BasicJsonType &j, typename BasicJsonType::array_t &arr, priority_tag< 3 >)
     
    template<typename BasicJsonType , typename T , std::size_t N>
    auto nlohmann::detail::from_json_array_impl (const BasicJsonType &j, std::array< T, N > &arr, priority_tag< 2 >) -> decltype(j.template get< T >(), void())
     
    template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< std::is_assignable< ConstructibleArrayType &, ConstructibleArrayType >::value, int > = 0>
    auto nlohmann::detail::from_json_array_impl (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename ConstructibleArrayType::size_type >()), j.template get< typename ConstructibleArrayType::value_type >(), void())
     
    template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< std::is_assignable< ConstructibleArrayType &, ConstructibleArrayType >::value, int > = 0>
    void nlohmann::detail::from_json_array_impl (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 0 >)
     
    template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< is_constructible_array_type< BasicJsonType, ConstructibleArrayType >::value &&!is_constructible_object_type< BasicJsonType, ConstructibleArrayType >::value &&!is_constructible_string_type< BasicJsonType, ConstructibleArrayType >::value &&!std::is_same< ConstructibleArrayType, typename BasicJsonType::binary_t >::value &&!is_basic_json< ConstructibleArrayType >::value, int > = 0>
    auto nlohmann::detail::from_json (const BasicJsonType &j, ConstructibleArrayType &arr) -> decltype(from_json_array_impl(j, arr, priority_tag< 3 >
     
    j template nlohmann::detail::get< typename ConstructibleArrayType::value_type > ()
     
    j template nlohmann::detail::void ())
     
    template<typename BasicJsonType , typename T , std::size_t... Idx>
    std::array< T, sizeof...(Idx)> nlohmann::detail::from_json_inplace_array_impl (BasicJsonType &&j, identity_tag< std::array< T, sizeof...(Idx)>>, index_sequence< Idx... >)
     
    template<typename BasicJsonType , typename T , std::size_t N>
    auto nlohmann::detail::from_json (BasicJsonType &&j, identity_tag< std::array< T, N >> tag) -> decltype(from_json_inplace_array_impl(std::forward< BasicJsonType >(j), tag, make_index_sequence< N >
     
    template<typename BasicJsonType >
    void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::binary_t &bin)
     
    template<typename BasicJsonType , typename ConstructibleObjectType , enable_if_t< is_constructible_object_type< BasicJsonType, ConstructibleObjectType >::value, int > = 0>
    void nlohmann::detail::from_json (const BasicJsonType &j, ConstructibleObjectType &obj)
     
    template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_unsigned_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_integer_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_float_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
    void nlohmann::detail::from_json (const BasicJsonType &j, ArithmeticType &val)
     
    template<typename BasicJsonType , typename... Args, std::size_t... Idx>
    std::tuple< Args... > nlohmann::detail::from_json_tuple_impl_base (BasicJsonType &&j, index_sequence< Idx... >)
     
    template<typename BasicJsonType , class A1 , class A2 >
    std::pair< A1, A2 > nlohmann::detail::from_json_tuple_impl (BasicJsonType &&j, identity_tag< std::pair< A1, A2 >>, priority_tag< 0 >)
     
    template<typename BasicJsonType , typename A1 , typename A2 >
    void nlohmann::detail::from_json_tuple_impl (BasicJsonType &&j, std::pair< A1, A2 > &p, priority_tag< 1 >)
     
    template<typename BasicJsonType , typename... Args>
    std::tuple< Args... > nlohmann::detail::from_json_tuple_impl (BasicJsonType &&j, identity_tag< std::tuple< Args... >>, priority_tag< 2 >)
     
    template<typename BasicJsonType , typename... Args>
    void nlohmann::detail::from_json_tuple_impl (BasicJsonType &&j, std::tuple< Args... > &t, priority_tag< 3 >)
     
    template<typename BasicJsonType , typename TupleRelated >
    auto nlohmann::detail::from_json (BasicJsonType &&j, TupleRelated &&t) -> decltype(from_json_tuple_impl(std::forward< BasicJsonType >(j), std::forward< TupleRelated >(t), priority_tag< 3 >
     
    template<typename BasicJsonType , typename Key , typename Value , typename Compare , typename Allocator , typename = enable_if_t < !std::is_constructible < typename BasicJsonType::string_t, Key >::value >>
    void nlohmann::detail::from_json (const BasicJsonType &j, std::map< Key, Value, Compare, Allocator > &m)
     
    template<typename BasicJsonType , typename Key , typename Value , typename Hash , typename KeyEqual , typename Allocator , typename = enable_if_t < !std::is_constructible < typename BasicJsonType::string_t, Key >::value >>
    void nlohmann::detail::from_json (const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m)
     
    template<typename string_type >
    void nlohmann::detail::int_to_string (string_type &target, std::size_t value)
     
    template<std::size_t N, typename IteratorType , enable_if_t< N==0, int > = 0>
    auto nlohmann::detail::get (const nlohmann::detail::iteration_proxy_value< IteratorType > &i) -> decltype(i.key())
     
    template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, typename BasicJsonType::boolean_t >::value, int > = 0>
    void nlohmann::detail::to_json (BasicJsonType &j, T b) noexcept
     
    template<typename BasicJsonType , typename CompatibleString , enable_if_t< std::is_constructible< typename BasicJsonType::string_t, CompatibleString >::value, int > = 0>
    void nlohmann::detail::to_json (BasicJsonType &j, const CompatibleString &s)
     
    template<typename BasicJsonType >
    void nlohmann::detail::to_json (BasicJsonType &j, typename BasicJsonType::string_t &&s)
     
    template<typename BasicJsonType , typename FloatType , enable_if_t< std::is_floating_point< FloatType >::value, int > = 0>
    void nlohmann::detail::to_json (BasicJsonType &j, FloatType val) noexcept
     
    template<typename BasicJsonType , typename CompatibleNumberUnsignedType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType >::value, int > = 0>
    void nlohmann::detail::to_json (BasicJsonType &j, CompatibleNumberUnsignedType val) noexcept
     
    template<typename BasicJsonType , typename CompatibleNumberIntegerType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType >::value, int > = 0>
    void nlohmann::detail::to_json (BasicJsonType &j, CompatibleNumberIntegerType val) noexcept
     
    template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
    void nlohmann::detail::to_json (BasicJsonType &j, EnumType e) noexcept
     
    template<typename BasicJsonType >
    void nlohmann::detail::to_json (BasicJsonType &j, const std::vector< bool > &e)
     
    template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value &&!is_compatible_object_type< BasicJsonType, CompatibleArrayType >::value &&!is_compatible_string_type< BasicJsonType, CompatibleArrayType >::value &&!std::is_same< typename BasicJsonType::binary_t, CompatibleArrayType >::value &&!is_basic_json< CompatibleArrayType >::value, int > = 0>
    void nlohmann::detail::to_json (BasicJsonType &j, const CompatibleArrayType &arr)
     
    template<typename BasicJsonType >
    void nlohmann::detail::to_json (BasicJsonType &j, const typename BasicJsonType::binary_t &bin)
     
    template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0>
    void nlohmann::detail::to_json (BasicJsonType &j, const std::valarray< T > &arr)
     
    template<typename BasicJsonType >
    void nlohmann::detail::to_json (BasicJsonType &j, typename BasicJsonType::array_t &&arr)
     
    template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value &&!is_basic_json< CompatibleObjectType >::value, int > = 0>
    void nlohmann::detail::to_json (BasicJsonType &j, const CompatibleObjectType &obj)
     
    template<typename BasicJsonType >
    void nlohmann::detail::to_json (BasicJsonType &j, typename BasicJsonType::object_t &&obj)
     
    template<typename BasicJsonType , typename T , std::size_t N, enable_if_t< !std::is_constructible< typename BasicJsonType::string_t, const T(&)[N]>::value, int > = 0>
    void nlohmann::detail::to_json (BasicJsonType &j, const T(&arr)[N])
     
    template<typename BasicJsonType , typename T1 , typename T2 , enable_if_t< std::is_constructible< BasicJsonType, T1 >::value &&std::is_constructible< BasicJsonType, T2 >::value, int > = 0>
    void nlohmann::detail::to_json (BasicJsonType &j, const std::pair< T1, T2 > &p)
     
    template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, iteration_proxy_value< typename BasicJsonType::iterator >>::value, int > = 0>
    void nlohmann::detail::to_json (BasicJsonType &j, const T &b)
     
    template<typename BasicJsonType , typename Tuple , std::size_t... Idx>
    void nlohmann::detail::to_json_tuple_impl (BasicJsonType &j, const Tuple &t, index_sequence< Idx... >)
     
    std::size_t nlohmann::detail::combine (std::size_t seed, std::size_t h) noexcept
     
    template<typename BasicJsonType >
    std::size_t nlohmann::detail::hash (const BasicJsonType &j)
     hash a JSON value More...
     
    template<typename IteratorType >
    iterator_input_adapter_factory< IteratorType >::adapter_type nlohmann::detail::input_adapter (IteratorType first, IteratorType last)
     
    template<typename ContainerType >
    container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType >::adapter_type nlohmann::detail::input_adapter (const ContainerType &container)
     
    file_input_adapter nlohmann::detail::input_adapter (std::FILE *file)
     
    input_stream_adapter nlohmann::detail::input_adapter (std::istream &stream)
     
    input_stream_adapter nlohmann::detail::input_adapter (std::istream &&stream)
     
    template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value &&!std::is_array< CharT >::value &&std::is_integral< typename std::remove_pointer< CharT >::type >::value &&sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
    contiguous_bytes_input_adapter nlohmann::detail::input_adapter (CharT b)
     
    template<typename T , std::size_t N>
    auto nlohmann::detail::input_adapter (T(&array)[N]) -> decltype(input_adapter(array, array+N))
     
    static bool nlohmann::detail::little_endianess (int num=1) noexcept
     determine system byte order More...
     
    template<typename Target , typename Source >
    Target nlohmann::detail::dtoa_impl::reinterpret_bits (const Source source)
     
    template<typename FloatType >
    boundaries nlohmann::detail::dtoa_impl::compute_boundaries (FloatType value)
     
    cached_power nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent (int e)
     
    int nlohmann::detail::dtoa_impl::find_largest_pow10 (const std::uint32_t n, std::uint32_t &pow10)
     
    void nlohmann::detail::dtoa_impl::grisu2_round (char *buf, int len, std::uint64_t dist, std::uint64_t delta, std::uint64_t rest, std::uint64_t ten_k)
     
    void nlohmann::detail::dtoa_impl::grisu2_digit_gen (char *buffer, int &length, int &decimal_exponent, diyfp M_minus, diyfp w, diyfp M_plus)
     
    void nlohmann::detail::dtoa_impl::grisu2 (char *buf, int &len, int &decimal_exponent, diyfp m_minus, diyfp v, diyfp m_plus)
     
    template<typename FloatType >
    void nlohmann::detail::dtoa_impl::grisu2 (char *buf, int &len, int &decimal_exponent, FloatType value)
     
    JSON_HEDLEY_RETURNS_NON_NULL char * nlohmann::detail::dtoa_impl::append_exponent (char *buf, int e)
     appends a decimal representation of e to buf More...
     
    JSON_HEDLEY_RETURNS_NON_NULL char * nlohmann::detail::dtoa_impl::format_buffer (char *buf, int len, int decimal_exponent, int min_exp, int max_exp)
     prettify v = buf * 10^decimal_exponent More...
     
    template<typename FloatType >
    JSON_HEDLEY_RETURNS_NON_NULL char * nlohmann::detail::to_chars (char *first, const char *last, FloatType value)
     generates a decimal representation of the floating-point number value in [first, last). More...
     
    NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string nlohmann::to_string (const NLOHMANN_BASIC_JSON_TPL &j)
     user-defined to_string function for JSON values More...
     
    template<>
    void std::swap< nlohmann::json > (nlohmann::json &j1, nlohmann::json &j2) noexcept(//NOLINT(readability-inconsistent-declaration-parameter-name) is_nothrow_move_constructible< nlohmann::json >::value &&//NOLINT(misc-redundant-expression) is_nothrow_move_assignable< nlohmann::json >::value)
     exchanges the values of two JSON objects More...
     
    nlohmann::json operator"" _json (const char *s, std::size_t n)
     user-defined string literal for JSON values More...
     
    nlohmann::json::json_pointer operator"" _json_pointer (const char *s, std::size_t n)
     user-defined string literal for JSON pointer More...
     
    + + + + + +

    +Variables

    constexpr int nlohmann::detail::dtoa_impl::kAlpha = -60
     
    constexpr int nlohmann::detail::dtoa_impl::kGamma = -32
     
    +

    Macro Definition Documentation

    + +

    ◆ INCLUDE_NLOHMANN_JSON_FWD_HPP_

    + +
    +
    + + + + +
    #define INCLUDE_NLOHMANN_JSON_FWD_HPP_
    +
    + +

    Definition at line 3330 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_ASSERT

    + +
    +
    + + + + + + + + +
    #define JSON_ASSERT( x)   assert(x)
    +
    + +

    Definition at line 2292 of file json.hpp.

    + +

    Referenced by nlohmann::detail::dtoa_impl::append_exponent(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::assert_invariant(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json(), nlohmann::detail::binary_writer< BasicJsonType, CharType >::binary_writer(), nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_element_size(), nlohmann::detail::dtoa_impl::compute_boundaries(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::create(), nlohmann::detail::serializer< BasicJsonType >::dump(), nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::end_array(), nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::end_object(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::exception_message(), nlohmann::detail::serializer< BasicJsonType >::for(), nlohmann::detail::dtoa_impl::format_buffer(), nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent(), nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::get_character(), nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_codepoint(), nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_decimal_point(), nlohmann::detail::dtoa_impl::grisu2(), nlohmann::detail::dtoa_impl::grisu2_digit_gen(), nlohmann::detail::dtoa_impl::grisu2_round(), nlohmann::detail::json_sax_dom_parser< BasicJsonType >::handle_value(), nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::handle_value(), nlohmann::detail::hash(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert_iterator(), nlohmann::detail::iter_impl< BasicJsonType >::iter_impl(), nlohmann::detail::iteration_proxy_value< IteratorType >::key(), nlohmann::detail::iter_impl< BasicJsonType >::key(), nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::next_byte_in_range(), nlohmann::detail::dtoa_impl::diyfp::normalize(), nlohmann::detail::dtoa_impl::diyfp::normalize_to(), nlohmann::detail::iter_impl< BasicJsonType >::operator*(), nlohmann::detail::iter_impl< BasicJsonType >::operator++(), nlohmann::detail::iter_impl< BasicJsonType >::operator+=(), nlohmann::detail::iter_impl< BasicJsonType >::operator-(), nlohmann::detail::iter_impl< BasicJsonType >::operator--(), nlohmann::detail::iter_impl< BasicJsonType >::operator->(), nlohmann::detail::iter_impl< BasicJsonType >::operator<(), nlohmann::detail::iter_impl< BasicJsonType >::operator==(), nlohmann::detail::iter_impl< BasicJsonType >::operator[](), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[](), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_cbor_internal(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch(), nlohmann::detail::replace_substring(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax_parse(), nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal(), nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_literal(), nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_number(), nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_string(), nlohmann::detail::iter_impl< BasicJsonType >::set_end(), nlohmann::json_pointer< BasicJsonType >::split(), nlohmann::detail::dtoa_impl::diyfp::sub(), nlohmann::detail::to_chars(), nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::unget(), nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_element(), and nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_ubjson().

    + +
    +
    + +

    ◆ JSON_CATCH

    + + + +

    ◆ JSON_EXPLICIT

    + +
    +
    + + + + +
    #define JSON_EXPLICIT
    +
    + +

    Definition at line 2509 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HAS_CPP_11

    + +
    +
    + + + + +
    #define JSON_HAS_CPP_11
    +
    + +

    Definition at line 2246 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_ALWAYS_INLINE

    + +
    +
    + + + + +
    #define JSON_HEDLEY_ALWAYS_INLINE   JSON_HEDLEY_INLINE
    +
    + +

    Definition at line 1767 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_ARM_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_ARM_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 385 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_ARRAY_PARAM

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_ARRAY_PARAM( name)
    +
    + +

    Definition at line 1911 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_ASSUME

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_ASSUME( expr)   JSON_HEDLEY_STATIC_CAST(void, expr)
    +
    + +

    Definition at line 1414 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_BEGIN_C_DECLS

    + +
    +
    + + + + +
    #define JSON_HEDLEY_BEGIN_C_DECLS
    +
    + +

    Definition at line 2018 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_C_DECL

    + +
    +
    + + + + +
    #define JSON_HEDLEY_C_DECL
    +
    + +

    Definition at line 2020 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_CLANG_HAS_ATTRIBUTE

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE( attribute)   JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
    +
    + +

    Definition at line 2181 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_CLANG_HAS_BUILTIN

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_CLANG_HAS_BUILTIN( builtin)   JSON_HEDLEY_HAS_BUILTIN(builtin)
    +
    + +

    Definition at line 2191 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE( attribute)   JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
    +
    + +

    Definition at line 2186 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE( attribute)   JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
    +
    + +

    Definition at line 2206 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_CLANG_HAS_EXTENSION

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_CLANG_HAS_EXTENSION( extension)   JSON_HEDLEY_HAS_EXTENSION(extension)
    +
    + +

    Definition at line 2201 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_CLANG_HAS_FEATURE

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_CLANG_HAS_FEATURE( feature)   JSON_HEDLEY_HAS_FEATURE(feature)
    +
    + +

    Definition at line 2196 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_CLANG_HAS_WARNING

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_CLANG_HAS_WARNING( warning)   JSON_HEDLEY_HAS_WARNING(warning)
    +
    + +

    Definition at line 2211 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_COMPCERT_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_COMPCERT_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 613 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_CONCAT

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_CONCAT( a,
     
    )   JSON_HEDLEY_CONCAT_EX(a,b)
    +
    + +

    Definition at line 208 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_CONCAT3

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_CONCAT3( a,
     b,
     
    )   JSON_HEDLEY_CONCAT3_EX(a,b,c)
    +
    + +

    Definition at line 218 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_CONCAT3_EX

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_CONCAT3_EX( a,
     b,
     
    )   a##b##c
    +
    + +

    Definition at line 213 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_CONCAT_EX

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_CONCAT_EX( a,
     
    )   a##b
    +
    + +

    Definition at line 203 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_CONST

    + +
    +
    + + + + +
    #define JSON_HEDLEY_CONST   JSON_HEDLEY_PURE
    +
    + +

    Definition at line 1668 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_CONST_CAST

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_CONST_CAST( T,
     expr 
    )   ((T) (expr))
    +
    + +

    Definition at line 1009 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_CONSTEXPR

    + +
    +
    + + + + +
    #define JSON_HEDLEY_CONSTEXPR
    +
    + +

    Definition at line 1501 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_CPP_CAST

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_CPP_CAST( T,
     expr 
    )   (expr)
    +
    + +

    Definition at line 1049 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_CRAY_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_CRAY_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 545 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_DEPRECATED

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_DEPRECATED( since)
    +
    + +

    Definition at line 1245 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_DEPRECATED_FOR

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_DEPRECATED_FOR( since,
     replacement 
    )
    +
    + +

    Definition at line 1246 of file json.hpp.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::accept(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::crend(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_bson(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_cbor(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_msgpack(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_ubjson(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::iterator_wrapper(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::sax_parse().

    + +
    +
    + +

    ◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL

    + +
    +
    + + + + +
    #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
    +
    + +

    Definition at line 1169 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_( x)   x
    +
    + +

    Definition at line 990 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED

    + +
    +
    + + + + +
    #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
    +
    + +

    Definition at line 1093 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES

    + +
    +
    + + + + +
    #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
    +
    + +

    Definition at line 1156 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS

    + +
    +
    + + + + +
    #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
    +
    + +

    Definition at line 1124 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION

    + +
    +
    + + + + +
    #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION
    +
    + +

    Definition at line 1184 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_DIAGNOSTIC_POP

    + +
    +
    + + + + +
    #define JSON_HEDLEY_DIAGNOSTIC_POP
    +
    + +

    Definition at line 953 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_DIAGNOSTIC_PUSH

    + +
    +
    + + + + +
    #define JSON_HEDLEY_DIAGNOSTIC_PUSH
    +
    + +

    Definition at line 952 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_DMC_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_DMC_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 597 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_EMPTY_BASES

    + +
    +
    + + + + +
    #define JSON_HEDLEY_EMPTY_BASES
    +
    + +

    Definition at line 2164 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 367 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_END_C_DECLS

    + +
    +
    + + + + +
    #define JSON_HEDLEY_END_C_DECLS
    +
    + +

    Definition at line 2019 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_FALL_THROUGH

    + +
    +
    + + + + +
    #define JSON_HEDLEY_FALL_THROUGH
    +
    + +

    Definition at line 1883 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_FLAGS

    + +
    +
    + + + + +
    #define JSON_HEDLEY_FLAGS
    +
    + +

    Definition at line 2139 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_FLAGS_CAST

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_FLAGS_CAST( T,
     expr 
    )   JSON_HEDLEY_STATIC_CAST(T, expr)
    +
    + +

    Definition at line 2153 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GCC_HAS_ATTRIBUTE

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE( attribute,
     major,
     minor,
     patch 
    )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
    +
    + +

    Definition at line 707 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GCC_HAS_BUILTIN

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GCC_HAS_BUILTIN( builtin,
     major,
     minor,
     patch 
    )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
    +
    + +

    Definition at line 779 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE( attribute,
     major,
     minor,
     patch 
    )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
    +
    + +

    Definition at line 752 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE( attribute,
     major,
     minor,
     patch 
    )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
    +
    + +

    Definition at line 860 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GCC_HAS_EXTENSION

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GCC_HAS_EXTENSION( extension,
     major,
     minor,
     patch 
    )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
    +
    + +

    Definition at line 833 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GCC_HAS_FEATURE

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GCC_HAS_FEATURE( feature,
     major,
     minor,
     patch 
    )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
    +
    + +

    Definition at line 806 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GCC_HAS_WARNING

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GCC_HAS_WARNING( warning,
     major,
     minor,
     patch 
    )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
    +
    + +

    Definition at line 887 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK( major,
     minor,
     patch 
    )   JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
    +
    + +

    Definition at line 2175 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GCC_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GCC_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 676 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GNUC_HAS_ATTRIBUTE

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE( attribute,
     major,
     minor,
     patch 
    )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
    +
    + +

    Definition at line 698 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GNUC_HAS_BUILTIN

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GNUC_HAS_BUILTIN( builtin,
     major,
     minor,
     patch 
    )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
    +
    + +

    Definition at line 770 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE( attribute,
     major,
     minor,
     patch 
    )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
    +
    + +

    Definition at line 743 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE( attribute,
     major,
     minor,
     patch 
    )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
    +
    + +

    Definition at line 851 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GNUC_HAS_EXTENSION

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GNUC_HAS_EXTENSION( extension,
     major,
     minor,
     patch 
    )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
    +
    + +

    Definition at line 824 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GNUC_HAS_FEATURE

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GNUC_HAS_FEATURE( feature,
     major,
     minor,
     patch 
    )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
    +
    + +

    Definition at line 797 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GNUC_HAS_WARNING

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GNUC_HAS_WARNING( warning,
     major,
     minor,
     patch 
    )   JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
    +
    + +

    Definition at line 878 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_GNUC_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_GNUC_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 255 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_HAS_ATTRIBUTE

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_HAS_ATTRIBUTE( attribute)   (0)
    +
    + +

    Definition at line 689 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_HAS_BUILTIN

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_HAS_BUILTIN( builtin)   (0)
    +
    + +

    Definition at line 761 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_HAS_CPP_ATTRIBUTE

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE( attribute)   (0)
    +
    + +

    Definition at line 719 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS( ns,
     attribute 
    )   (0)
    +
    + +

    Definition at line 726 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE( attribute)   (0)
    +
    + +

    Definition at line 842 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_HAS_EXTENSION

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_HAS_EXTENSION( extension)   (0)
    +
    + +

    Definition at line 815 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_HAS_FEATURE

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_HAS_FEATURE( feature)   (0)
    +
    + +

    Definition at line 788 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_HAS_WARNING

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_HAS_WARNING( warning)   (0)
    +
    + +

    Definition at line 869 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_IAR_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_IAR_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 565 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_IBM_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_IBM_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 405 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_IMPORT

    + +
    +
    + + + + +
    #define JSON_HEDLEY_IMPORT   extern
    +
    + +

    Definition at line 1847 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_INLINE

    + +
    +
    + + + + +
    #define JSON_HEDLEY_INLINE
    +
    + +

    Definition at line 1723 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_INTEL_CL_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 313 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_INTEL_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_INTEL_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 297 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_IS_CONSTANT

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_IS_CONSTANT( expr)   (0)
    +
    + +

    Definition at line 1999 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_LIKELY

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_LIKELY( expr)   (!!(expr))
    +
    + +

    Definition at line 1563 of file json.hpp.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase(), nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get(), nlohmann::detail::iterator_input_adapter< IteratorType >::get_character(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ref_impl(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert(), nlohmann::detail::iter_impl< BasicJsonType >::key(), nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::next_byte_in_range(), nlohmann::detail::iter_impl< BasicJsonType >::operator*(), nlohmann::detail::iter_impl< BasicJsonType >::operator->(), nlohmann::detail::iter_impl< BasicJsonType >::operator[](), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[](), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch(), nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal(), nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_string(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap(), nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::unget(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value().

    + +
    +
    + +

    ◆ JSON_HEDLEY_MALLOC

    + +
    +
    + + + + +
    #define JSON_HEDLEY_MALLOC
    +
    + +

    Definition at line 1600 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_MCST_LCC_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 645 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_MESSAGE

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_MESSAGE( msg)
    +
    + +

    Definition at line 2081 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_MSVC_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_MSVC_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 273 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_NEVER_INLINE

    + +
    +
    + + + + +
    #define JSON_HEDLEY_NEVER_INLINE
    +
    + +

    Definition at line 1809 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_NO_ESCAPE

    + +
    +
    + + + + +
    #define JSON_HEDLEY_NO_ESCAPE
    +
    + +

    Definition at line 1370 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_NO_RETURN

    + +
    +
    + + + + +
    #define JSON_HEDLEY_NO_RETURN
    +
    + +

    Definition at line 1361 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_NO_THROW

    + +
    +
    + + + + +
    #define JSON_HEDLEY_NO_THROW
    +
    + +

    Definition at line 1865 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_NON_NULL

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_NON_NULL( ...)
    +
    + +

    Definition at line 1456 of file json.hpp.

    + +

    Referenced by nlohmann::detail::parser< BasicJsonType, InputAdapterType >::accept(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::accept(), nlohmann::detail::dtoa_impl::append_exponent(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::binary_reader(), nlohmann::detail::invalid_iterator::create(), nlohmann::detail::type_error::create(), nlohmann::detail::out_of_range::create(), nlohmann::detail::other_error::create(), nlohmann::detail::dtoa_impl::format_buffer(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_binary(), nlohmann::detail::dtoa_impl::grisu2(), nlohmann::detail::dtoa_impl::grisu2_digit_gen(), operator"" _json(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[](), nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::sax_parse(), nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_comment(), nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_number(), nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::strtof(), std::swap< nlohmann::json >(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value(), nlohmann::detail::output_vector_adapter< CharType >::write_character(), nlohmann::detail::output_stream_adapter< CharType >::write_character(), and nlohmann::detail::output_string_adapter< CharType, StringType >::write_character().

    + +
    +
    + +

    ◆ JSON_HEDLEY_NULL

    + +
    +
    + + + + +
    #define JSON_HEDLEY_NULL   ((void*) 0)
    +
    + +

    Definition at line 2058 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_PELLES_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_PELLES_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 629 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_PGI_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_PGI_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 329 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_PRAGMA

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_PRAGMA( value)
    +
    + +

    Definition at line 913 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_PREDICT

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_PREDICT( expr,
     expected,
     probability 
    )   (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))
    +
    + +

    Definition at line 1560 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_PREDICT_FALSE

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_PREDICT_FALSE( expr,
     probability 
    )   (!!(expr))
    +
    + +

    Definition at line 1562 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_PREDICT_TRUE

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_PREDICT_TRUE( expr,
     probability 
    )   (!!(expr))
    +
    + +

    Definition at line 1561 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_PRINTF_FORMAT

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_PRINTF_FORMAT( string_idx,
     first_to_check 
    )
    +
    + +

    Definition at line 1489 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_PRIVATE

    + +
    +
    + + + + +
    #define JSON_HEDLEY_PRIVATE
    +
    + +

    Definition at line 1844 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_PUBLIC

    + +
    +
    + + + + +
    #define JSON_HEDLEY_PUBLIC
    +
    + +

    Definition at line 1845 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_PURE

    + +
    +
    + + + + +
    #define JSON_HEDLEY_PURE
    +
    + +

    Definition at line 1637 of file json.hpp.

    + +

    Referenced by nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::lexer().

    + +
    +
    + +

    ◆ JSON_HEDLEY_REINTERPRET_CAST

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_REINTERPRET_CAST( T,
     expr 
    )   ((T) (expr))
    +
    + +

    Definition at line 1018 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_REQUIRE

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_REQUIRE( expr)
    +
    + +

    Definition at line 2129 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_REQUIRE_CONSTEXPR

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_REQUIRE_CONSTEXPR( expr)   (expr)
    +
    + +

    Definition at line 2001 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_REQUIRE_MSG

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_REQUIRE_MSG( expr,
     msg 
    )
    +
    + +

    Definition at line 2130 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_RESTRICT

    + +
    +
    + + + + +
    #define JSON_HEDLEY_RESTRICT
    +
    + +

    Definition at line 1696 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_RETURNS_NON_NULL

    + + + +

    ◆ JSON_HEDLEY_SENTINEL

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_SENTINEL( position)
    +
    + +

    Definition at line 1313 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_STATIC_ASSERT

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_STATIC_ASSERT( expr,
     message 
    )
    +
    + +

    Definition at line 2041 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_STATIC_CAST

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_STATIC_CAST( T,
     expr 
    )   ((T) (expr))
    +
    + +

    Definition at line 1027 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_STRINGIFY

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_STRINGIFY( x)   JSON_HEDLEY_STRINGIFY_EX(x)
    +
    + +

    Definition at line 198 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_STRINGIFY_EX

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_STRINGIFY_EX( x)   #x
    +
    + +

    Definition at line 193 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_SUNPRO_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_SUNPRO_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 351 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_TI_ARMCL_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 477 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_TI_CL2000_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 445 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_TI_CL430_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_TI_CL430_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 461 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_TI_CL6X_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 493 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_TI_CL7X_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 509 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_TI_CLPRU_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 525 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_TI_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_TI_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 429 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_TINYC_VERSION_CHECK

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_TINYC_VERSION_CHECK( major,
     minor,
     patch 
    )   (0)
    +
    + +

    Definition at line 581 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_UNAVAILABLE

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_UNAVAILABLE( available_since)
    +
    + +

    Definition at line 1259 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_UNLIKELY

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_UNLIKELY( expr)   (!!(expr))
    +
    + +

    Definition at line 1564 of file json.hpp.

    + +

    Referenced by nlohmann::json_pointer< BasicJsonType >::array_index(), nlohmann::json_pointer< BasicJsonType >::back(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json(), nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_entry_header_size(), nlohmann::json_pointer< BasicJsonType >::contains(), nlohmann::detail::serializer< BasicJsonType >::dump(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::emplace(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::emplace_back(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase(), nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >::fill_buffer(), nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >::fill_buffer(), nlohmann::detail::from_json(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_binary(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_binary(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_cstr(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_string(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_array(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_binary(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_object(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_string(), nlohmann::detail::input_stream_adapter::get_character(), nlohmann::json_pointer< BasicJsonType >::get_checked(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_array(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_object(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_string(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_number(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_string(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_array(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_high_precision_number(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_object(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_type(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_value(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_string(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_value(), nlohmann::json_pointer< BasicJsonType >::get_unchecked(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value(), nlohmann::detail::iter_impl< BasicJsonType >::operator<(), nlohmann::detail::iter_impl< BasicJsonType >::operator==(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_array(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_element_list(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_internal(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_cbor_internal(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch(), nlohmann::json_pointer< BasicJsonType >::pop_back(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax_parse(), nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal(), nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_literal(), nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_string(), nlohmann::json_pointer< BasicJsonType >::split(), nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_array(), nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_array(), nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_object(), nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_object(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::unexpect_eof(), nlohmann::json_pointer< BasicJsonType >::unflatten(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update(), and nlohmann::detail::void().

    + +
    +
    + +

    ◆ JSON_HEDLEY_UNPREDICTABLE

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_UNPREDICTABLE( expr)   JSON_HEDLEY_PREDICT(expr, 1, 0.5)
    +
    + +

    Definition at line 1567 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_UNREACHABLE

    + +
    +
    + + + + + + + +
    #define JSON_HEDLEY_UNREACHABLE()   JSON_HEDLEY_ASSUME(0)
    +
    + +

    Definition at line 1429 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_UNREACHABLE_RETURN

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_UNREACHABLE_RETURN( value)   return (value)
    +
    + +

    Definition at line 1426 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_VERSION

    + +
    +
    + + + + +
    #define JSON_HEDLEY_VERSION   15
    +
    + +

    Definition at line 188 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_VERSION_DECODE_MAJOR

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_VERSION_DECODE_MAJOR( version)   ((version) / 1000000)
    +
    + +

    Definition at line 228 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_VERSION_DECODE_MINOR

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_VERSION_DECODE_MINOR( version)   (((version) % 1000000) / 1000)
    +
    + +

    Definition at line 233 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_VERSION_DECODE_REVISION

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_VERSION_DECODE_REVISION( version)   ((version) % 1000)
    +
    + +

    Definition at line 238 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_VERSION_ENCODE

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define JSON_HEDLEY_VERSION_ENCODE( major,
     minor,
     revision 
    )   (((major) * 1000000) + ((minor) * 1000) + (revision))
    +
    + +

    Definition at line 223 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_WARN_UNUSED_RESULT

    + +
    +
    + + + + +
    #define JSON_HEDLEY_WARN_UNUSED_RESULT
    +
    + +

    Definition at line 1298 of file json.hpp.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::accept(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::array(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_bson(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_cbor(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_msgpack(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_ubjson(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_allocator(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_bson().

    + +
    +
    + +

    ◆ JSON_HEDLEY_WARN_UNUSED_RESULT_MSG

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG( msg)
    +
    + +

    Definition at line 1299 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_HEDLEY_WARNING

    + +
    +
    + + + + + + + + +
    #define JSON_HEDLEY_WARNING( msg)   JSON_HEDLEY_MESSAGE(msg)
    +
    + +

    Definition at line 2103 of file json.hpp.

    + +
    +
    + +

    ◆ JSON_INTERNAL_CATCH

    + + + +

    ◆ JSON_PRIVATE_UNLESS_TESTED

    + + + +

    ◆ JSON_THROW

    + +
    +
    + + + + + + + + +
    #define JSON_THROW( exception)   std::abort()
    +
    + +

    Definition at line 2263 of file json.hpp.

    + +

    Referenced by nlohmann::json_pointer< BasicJsonType >::array_index(), nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::at(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at(), nlohmann::json_pointer< BasicJsonType >::back(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json(), nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_entry_header_size(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::emplace(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::emplace_back(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase(), nlohmann::detail::serializer< BasicJsonType >::for(), nlohmann::detail::from_json(), nlohmann::json_pointer< BasicJsonType >::get_and_create(), nlohmann::detail::get_arithmetic_value(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_binary(), nlohmann::json_pointer< BasicJsonType >::get_checked(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ref_impl(), nlohmann::json_pointer< BasicJsonType >::get_unchecked(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value(), nlohmann::detail::iter_impl< BasicJsonType >::key(), nlohmann::detail::iter_impl< BasicJsonType >::operator*(), nlohmann::detail::iter_impl< BasicJsonType >::operator+=(), nlohmann::detail::iter_impl< BasicJsonType >::operator-(), nlohmann::detail::iter_impl< BasicJsonType >::operator->(), nlohmann::detail::iter_impl< BasicJsonType >::operator<(), nlohmann::detail::iter_impl< BasicJsonType >::operator==(), nlohmann::detail::iter_impl< BasicJsonType >::operator[](), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[](), nlohmann::detail::json_sax_dom_parser< BasicJsonType >::parse_error(), nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parse_error(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch(), nlohmann::json_pointer< BasicJsonType >::pop_back(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back(), nlohmann::json_pointer< BasicJsonType >::split(), nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_array(), nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_array(), nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_object(), nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_object(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap(), nlohmann::json_pointer< BasicJsonType >::unflatten(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value(), nlohmann::detail::void(), nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson(), and nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_unsigned().

    + +
    +
    + +

    ◆ JSON_TRY

    + + + +

    ◆ JSON_USE_IMPLICIT_CONVERSIONS

    + +
    +
    + + + + +
    #define JSON_USE_IMPLICIT_CONVERSIONS   1
    +
    + +

    Definition at line 2505 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_BASIC_JSON_TPL

    + +
    +
    + + + + +
    #define NLOHMANN_BASIC_JSON_TPL
    +
    +Value:
    basic_json<ObjectType, ArrayType, StringType, BooleanType, \
    NumberIntegerType, NumberUnsignedType, NumberFloatType, \
    AllocatorType, JSONSerializer, BinaryType>
    +
    +

    Definition at line 2345 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_BASIC_JSON_TPL_DECLARATION

    + +
    +
    + + + + +
    #define NLOHMANN_BASIC_JSON_TPL_DECLARATION
    +
    +Value:
    template<template<typename, typename, typename...> class ObjectType, \
    template<typename, typename...> class ArrayType, \
    class StringType, class BooleanType, class NumberIntegerType, \
    class NumberUnsignedType, class NumberFloatType, \
    template<typename> class AllocatorType, \
    template<typename, typename = void> class JSONSerializer, \
    class BinaryType>
    +
    +

    Definition at line 2336 of file json.hpp.

    + +

    Referenced by nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::insert(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::merge_patch(), and nlohmann::detail::json_reverse_iterator< Base >::value().

    + +
    +
    + +

    ◆ NLOHMANN_DEFINE_TYPE_INTRUSIVE

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_DEFINE_TYPE_INTRUSIVE( Type,
     ... 
    )
    +
    +Value:
    friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \
    friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) }
    a class to store JSON values
    Definition: json.hpp:3366
    +
    void to_json(BasicJsonType &j, const T &b)
    Definition: json.hpp:4803
    +
    void from_json(const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m)
    Definition: json.hpp:4231
    +
    #define NLOHMANN_JSON_PASTE(...)
    Definition: json.hpp:2354
    +
    #define NLOHMANN_JSON_FROM(v1)
    Definition: json.hpp:2484
    +
    #define NLOHMANN_JSON_EXPAND(x)
    Definition: json.hpp:2352
    +
    #define NLOHMANN_JSON_TO(v1)
    Definition: json.hpp:2483
    +
    +

    macro

    +
    Since
    version 3.9.0
    + +

    Definition at line 2491 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE( Type,
     ... 
    )
    +
    +Value:
    inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \
    inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) }
    a class to store JSON values
    Definition: json.hpp:3366
    +
    void to_json(BasicJsonType &j, const T &b)
    Definition: json.hpp:4803
    +
    void from_json(const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m)
    Definition: json.hpp:4231
    +
    #define NLOHMANN_JSON_PASTE(...)
    Definition: json.hpp:2354
    +
    #define NLOHMANN_JSON_FROM(v1)
    Definition: json.hpp:2484
    +
    #define NLOHMANN_JSON_EXPAND(x)
    Definition: json.hpp:2352
    +
    #define NLOHMANN_JSON_TO(v1)
    Definition: json.hpp:2483
    +
    +

    macro

    +
    Since
    version 3.9.0
    + +

    Definition at line 2500 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_EXPAND

    + +
    +
    + + + + + + + + +
    #define NLOHMANN_JSON_EXPAND( x)   x
    +
    + +

    Definition at line 2352 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_FROM

    + +
    +
    + + + + + + + + +
    #define NLOHMANN_JSON_FROM( v1)   nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1);
    +
    + +

    Definition at line 2484 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_GET_MACRO

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_GET_MACRO( _1,
     _2,
     _3,
     _4,
     _5,
     _6,
     _7,
     _8,
     _9,
     _10,
     _11,
     _12,
     _13,
     _14,
     _15,
     _16,
     _17,
     _18,
     _19,
     _20,
     _21,
     _22,
     _23,
     _24,
     _25,
     _26,
     _27,
     _28,
     _29,
     _30,
     _31,
     _32,
     _33,
     _34,
     _35,
     _36,
     _37,
     _38,
     _39,
     _40,
     _41,
     _42,
     _43,
     _44,
     _45,
     _46,
     _47,
     _48,
     _49,
     _50,
     _51,
     _52,
     _53,
     _54,
     _55,
     _56,
     _57,
     _58,
     _59,
     _60,
     _61,
     _62,
     _63,
     _64,
     NAME,
     ... 
    )   NAME
    +
    + +

    Definition at line 2353 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE

    + +
    +
    + + + + + + + + +
    #define NLOHMANN_JSON_PASTE( ...)
    +
    + +

    Definition at line 2354 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE10

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE10( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9)
    +
    + +

    Definition at line 2427 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE11

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE11( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10)
    +
    + +

    Definition at line 2428 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE12

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE12( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11)
    +
    + +

    Definition at line 2429 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE13

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE13( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12)
    +
    + +

    Definition at line 2430 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE14

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE14( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13)
    +
    + +

    Definition at line 2431 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE15

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE15( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14)
    +
    + +

    Definition at line 2432 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE16

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE16( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15)
    +
    + +

    Definition at line 2433 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE17

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE17( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16)
    +
    + +

    Definition at line 2434 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE18

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE18( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17)
    +
    + +

    Definition at line 2435 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE19

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE19( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18)
    +
    + +

    Definition at line 2436 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE2

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE2( func,
     v1 
    )   func(v1)
    +
    + +

    Definition at line 2419 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE20

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE20( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19)
    +
    + +

    Definition at line 2437 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE21

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE21( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20)
    +
    + +

    Definition at line 2438 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE22

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE22( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21)
    +
    + +

    Definition at line 2439 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE23

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE23( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22)
    +
    + +

    Definition at line 2440 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE24

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE24( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23)
    +
    + +

    Definition at line 2441 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE25

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE25( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24)
    +
    + +

    Definition at line 2442 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE26

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE26( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25)
    +
    + +

    Definition at line 2443 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE27

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE27( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26)
    +
    + +

    Definition at line 2444 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE28

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE28( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27)
    +
    + +

    Definition at line 2445 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE29

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE29( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28)
    +
    + +

    Definition at line 2446 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE3

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE3( func,
     v1,
     v2 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2)
    +
    + +

    Definition at line 2420 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE30

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE30( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29)
    +
    + +

    Definition at line 2447 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE31

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE31( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30)
    +
    + +

    Definition at line 2448 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE32

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE32( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31)
    +
    + +

    Definition at line 2449 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE33

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE33( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32)
    +
    + +

    Definition at line 2450 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE34

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE34( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33)
    +
    + +

    Definition at line 2451 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE35

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE35( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34)
    +
    + +

    Definition at line 2452 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE36

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE36( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35)
    +
    + +

    Definition at line 2453 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE37

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE37( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36)
    +
    + +

    Definition at line 2454 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE38

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE38( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37)
    +
    + +

    Definition at line 2455 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE39

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE39( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38)
    +
    + +

    Definition at line 2456 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE4

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE4( func,
     v1,
     v2,
     v3 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3)
    +
    + +

    Definition at line 2421 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE40

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE40( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39)
    +
    + +

    Definition at line 2457 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE41

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE41( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40)
    +
    + +

    Definition at line 2458 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE42

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE42( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41)
    +
    + +

    Definition at line 2459 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE43

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE43( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42)
    +
    + +

    Definition at line 2460 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE44

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE44( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43)
    +
    + +

    Definition at line 2461 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE45

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE45( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44)
    +
    + +

    Definition at line 2462 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE46

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE46( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45)
    +
    + +

    Definition at line 2463 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE47

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE47( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46)
    +
    + +

    Definition at line 2464 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE48

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE48( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47)
    +
    + +

    Definition at line 2465 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE49

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE49( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47,
     v48 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48)
    +
    + +

    Definition at line 2466 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE5

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE5( func,
     v1,
     v2,
     v3,
     v4 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4)
    +
    + +

    Definition at line 2422 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE50

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE50( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47,
     v48,
     v49 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49)
    +
    + +

    Definition at line 2467 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE51

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE51( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47,
     v48,
     v49,
     v50 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50)
    +
    + +

    Definition at line 2468 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE52

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE52( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47,
     v48,
     v49,
     v50,
     v51 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51)
    +
    + +

    Definition at line 2469 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE53

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE53( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47,
     v48,
     v49,
     v50,
     v51,
     v52 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52)
    +
    + +

    Definition at line 2470 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE54

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE54( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47,
     v48,
     v49,
     v50,
     v51,
     v52,
     v53 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53)
    +
    + +

    Definition at line 2471 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE55

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE55( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47,
     v48,
     v49,
     v50,
     v51,
     v52,
     v53,
     v54 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54)
    +
    + +

    Definition at line 2472 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE56

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE56( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47,
     v48,
     v49,
     v50,
     v51,
     v52,
     v53,
     v54,
     v55 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55)
    +
    + +

    Definition at line 2473 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE57

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE57( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47,
     v48,
     v49,
     v50,
     v51,
     v52,
     v53,
     v54,
     v55,
     v56 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56)
    +
    + +

    Definition at line 2474 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE58

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE58( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47,
     v48,
     v49,
     v50,
     v51,
     v52,
     v53,
     v54,
     v55,
     v56,
     v57 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57)
    +
    + +

    Definition at line 2475 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE59

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE59( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47,
     v48,
     v49,
     v50,
     v51,
     v52,
     v53,
     v54,
     v55,
     v56,
     v57,
     v58 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58)
    +
    + +

    Definition at line 2476 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE6

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE6( func,
     v1,
     v2,
     v3,
     v4,
     v5 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5)
    +
    + +

    Definition at line 2423 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE60

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE60( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47,
     v48,
     v49,
     v50,
     v51,
     v52,
     v53,
     v54,
     v55,
     v56,
     v57,
     v58,
     v59 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59)
    +
    + +

    Definition at line 2477 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE61

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE61( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47,
     v48,
     v49,
     v50,
     v51,
     v52,
     v53,
     v54,
     v55,
     v56,
     v57,
     v58,
     v59,
     v60 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60)
    +
    + +

    Definition at line 2478 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE62

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE62( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47,
     v48,
     v49,
     v50,
     v51,
     v52,
     v53,
     v54,
     v55,
     v56,
     v57,
     v58,
     v59,
     v60,
     v61 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61)
    +
    + +

    Definition at line 2479 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE63

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE63( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47,
     v48,
     v49,
     v50,
     v51,
     v52,
     v53,
     v54,
     v55,
     v56,
     v57,
     v58,
     v59,
     v60,
     v61,
     v62 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62)
    +
    + +

    Definition at line 2480 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE64

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE64( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8,
     v9,
     v10,
     v11,
     v12,
     v13,
     v14,
     v15,
     v16,
     v17,
     v18,
     v19,
     v20,
     v21,
     v22,
     v23,
     v24,
     v25,
     v26,
     v27,
     v28,
     v29,
     v30,
     v31,
     v32,
     v33,
     v34,
     v35,
     v36,
     v37,
     v38,
     v39,
     v40,
     v41,
     v42,
     v43,
     v44,
     v45,
     v46,
     v47,
     v48,
     v49,
     v50,
     v51,
     v52,
     v53,
     v54,
     v55,
     v56,
     v57,
     v58,
     v59,
     v60,
     v61,
     v62,
     v63 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63)
    +
    + +

    Definition at line 2481 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE7

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE7( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6)
    +
    + +

    Definition at line 2424 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE8

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE8( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7)
    +
    + +

    Definition at line 2425 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_PASTE9

    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_PASTE9( func,
     v1,
     v2,
     v3,
     v4,
     v5,
     v6,
     v7,
     v8 
    )   NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8)
    +
    + +

    Definition at line 2426 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_SERIALIZE_ENUM

    + +
    +
    + + + + + + + + + + + + + + + + + + +
    #define NLOHMANN_JSON_SERIALIZE_ENUM( ENUM_TYPE,
     ... 
    )
    +
    +Value:
    template<typename BasicJsonType> \
    inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \
    { \
    static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
    static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
    auto it = std::find_if(std::begin(m), std::end(m), \
    [e](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
    { \
    return ej_pair.first == e; \
    }); \
    j = ((it != std::end(m)) ? it : std::begin(m))->second; \
    } \
    template<typename BasicJsonType> \
    inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \
    { \
    static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
    static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
    auto it = std::find_if(std::begin(m), std::end(m), \
    [&j](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
    { \
    return ej_pair.second == j; \
    }); \
    e = ((it != std::end(m)) ? it : std::begin(m))->first; \
    }
    void to_json(BasicJsonType &j, const T &b)
    Definition: json.hpp:4803
    +
    void from_json(const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m)
    Definition: json.hpp:4231
    +
    +

    macro to briefly define a mapping between an enum and JSON

    +
    Since
    version 3.4.0
    + +

    Definition at line 2307 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_TO

    + +
    +
    + + + + + + + + +
    #define NLOHMANN_JSON_TO( v1)   nlohmann_json_j[#v1] = nlohmann_json_t.v1;
    +
    + +

    Definition at line 2483 of file json.hpp.

    + +
    +
    + +

    ◆ NLOHMANN_JSON_VERSION_MAJOR

    + + + +

    ◆ NLOHMANN_JSON_VERSION_MINOR

    + + + +

    ◆ NLOHMANN_JSON_VERSION_PATCH

    + + +

    Function Documentation

    + +

    ◆ operator"" _json()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    nlohmann::json operator"" _json (const char * s,
    std::size_t n 
    )
    +
    +inline
    +
    + +

    user-defined string literal for JSON values

    +

    This operator implements a user-defined string literal for JSON objects. It can be used by adding "_json" to a string literal and returns a JSON object if no parse error occurred.

    +
    Parameters
    + + + +
    [in]sa string representation of a JSON object
    [in]nthe length of string s
    +
    +
    +
    Returns
    a JSON object
    +
    Since
    version 1.0.0
    + +

    Definition at line 25936 of file json.hpp.

    + +

    References JSON_HEDLEY_NON_NULL, and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse().

    + +
    +
    + +

    ◆ operator"" _json_pointer()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    nlohmann::json::json_pointer operator"" _json_pointer (const char * s,
    std::size_t n 
    )
    +
    +inline
    +
    + +

    user-defined string literal for JSON pointer

    +

    This operator implements a user-defined string literal for JSON Pointers. It can be used by adding "_json_pointer" to a string literal and returns a JSON pointer object if no parse error occurred.

    +
    Parameters
    + + + +
    [in]sa string representation of a JSON Pointer
    [in]nthe length of string s
    +
    +
    +
    Returns
    a JSON pointer object
    +
    Since
    version 2.0.0
    + +

    Definition at line 25955 of file json.hpp.

    + +

    References nlohmann::detail::string.

    + +
    +
    + +

    ◆ swap< nlohmann::json >()

    + +
    +
    +
    +template<>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void std::swap< nlohmann::json > (nlohmann::jsonj1,
    nlohmann::jsonj2 
    )
    +
    +inlinenoexcept
    +
    + +

    exchanges the values of two JSON objects

    +
    Since
    version 1.0.0
    + +

    Definition at line 25910 of file json.hpp.

    + +

    References JSON_HEDLEY_NON_NULL.

    + +
    +
    +
    +
    + + + + diff --git a/docs/d5/db8/json_8hpp.js b/docs/d5/db8/json_8hpp.js new file mode 100644 index 00000000..c86f44ca --- /dev/null +++ b/docs/d5/db8/json_8hpp.js @@ -0,0 +1,524 @@ +var json_8hpp = +[ + [ "position_t", "d6/d02/structnlohmann_1_1detail_1_1position__t.html", "d6/d02/structnlohmann_1_1detail_1_1position__t" ], + [ "exception", "de/df2/classnlohmann_1_1detail_1_1exception.html", "de/df2/classnlohmann_1_1detail_1_1exception" ], + [ "parse_error", "d5/d1a/classnlohmann_1_1detail_1_1parse__error.html", "d5/d1a/classnlohmann_1_1detail_1_1parse__error" ], + [ "invalid_iterator", "d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html", "d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator" ], + [ "type_error", "da/d1c/classnlohmann_1_1detail_1_1type__error.html", "da/d1c/classnlohmann_1_1detail_1_1type__error" ], + [ "out_of_range", "d2/d67/classnlohmann_1_1detail_1_1out__of__range.html", "d2/d67/classnlohmann_1_1detail_1_1out__of__range" ], + [ "other_error", "d5/d1b/classnlohmann_1_1detail_1_1other__error.html", "d5/d1b/classnlohmann_1_1detail_1_1other__error" ], + [ "integer_sequence", "d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html", "d9/d1c/structnlohmann_1_1detail_1_1integer__sequence" ], + [ "Extend", "d7/d3c/structnlohmann_1_1detail_1_1utility__internal_1_1Extend.html", null ], + [ "Extend< integer_sequence< T, Ints... >, SeqSize, 0 >", "de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.html", "de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842" ], + [ "Extend< integer_sequence< T, Ints... >, SeqSize, 1 >", "d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.html", "d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519" ], + [ "Gen", "d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.html", "d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen" ], + [ "Gen< T, 0 >", "d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.html", "d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4" ], + [ "priority_tag", "d7/d78/structnlohmann_1_1detail_1_1priority__tag.html", null ], + [ "priority_tag< 0 >", "d2/ddd/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html", null ], + [ "static_const", "d1/d9b/structnlohmann_1_1detail_1_1static__const.html", "d1/d9b/structnlohmann_1_1detail_1_1static__const" ], + [ "identity_tag", "d0/db1/structnlohmann_1_1detail_1_1identity__tag.html", null ], + [ "make_void", "d3/d72/structnlohmann_1_1detail_1_1make__void.html", "d3/d72/structnlohmann_1_1detail_1_1make__void" ], + [ "iterator_types", "d5/d3c/structnlohmann_1_1detail_1_1iterator__types.html", null ], + [ "iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >", "d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html", "d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b" ], + [ "iterator_traits", "d8/db6/structnlohmann_1_1detail_1_1iterator__traits.html", null ], + [ "iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >", "d5/da3/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_3_01T_01_4_1_1value_01_4_01_4.html", null ], + [ "iterator_traits< T *, enable_if_t< std::is_object< T >::value > >", "da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html", "da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4" ], + [ "nonesuch", "da/d31/structnlohmann_1_1detail_1_1nonesuch.html", "da/d31/structnlohmann_1_1detail_1_1nonesuch" ], + [ "detector", "dd/d10/structnlohmann_1_1detail_1_1detector.html", "dd/d10/structnlohmann_1_1detail_1_1detector" ], + [ "detector< Default, void_t< Op< Args... > >, Op, Args... >", "d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html", "d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4" ], + [ "adl_serializer", "dc/dc7/structnlohmann_1_1adl__serializer.html", "dc/dc7/structnlohmann_1_1adl__serializer" ], + [ "basic_json", "d9/dcc/classnlohmann_1_1basic__json.html", "d9/dcc/classnlohmann_1_1basic__json" ], + [ "json_pointer", "da/de8/classnlohmann_1_1json__pointer.html", "da/de8/classnlohmann_1_1json__pointer" ], + [ "ordered_map", "d6/da7/structnlohmann_1_1ordered__map.html", "d6/da7/structnlohmann_1_1ordered__map" ], + [ "is_basic_json", "d4/df6/structnlohmann_1_1detail_1_1is__basic__json.html", null ], + [ "is_basic_json< NLOHMANN_BASIC_JSON_TPL >", "d8/d25/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4.html", null ], + [ "json_ref", "da/d10/classnlohmann_1_1detail_1_1json__ref.html", "da/d10/classnlohmann_1_1detail_1_1json__ref" ], + [ "is_json_ref", "d3/d0b/structnlohmann_1_1detail_1_1is__json__ref.html", null ], + [ "is_json_ref< json_ref< T > >", "d0/d8d/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4.html", null ], + [ "has_from_json", "dc/dac/structnlohmann_1_1detail_1_1has__from__json.html", null ], + [ "is_getable", "de/dbc/structnlohmann_1_1detail_1_1is__getable.html", "de/dbc/structnlohmann_1_1detail_1_1is__getable" ], + [ "has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >", "d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html", "d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5" ], + [ "has_non_default_from_json", "d7/d08/structnlohmann_1_1detail_1_1has__non__default__from__json.html", null ], + [ "has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >", "df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html", "df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111" ], + [ "has_to_json", "d9/d6c/structnlohmann_1_1detail_1_1has__to__json.html", null ], + [ "has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >", "d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html", "d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c" ], + [ "conjunction", "dd/dde/structnlohmann_1_1detail_1_1conjunction.html", null ], + [ "conjunction< B1 >", "d1/d96/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4.html", null ], + [ "conjunction< B1, Bn... >", "d5/db0/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4.html", null ], + [ "is_default_constructible", "d2/d91/structnlohmann_1_1detail_1_1is__default__constructible.html", null ], + [ "is_default_constructible< std::pair< T1, T2 > >", "da/dbd/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html", null ], + [ "is_default_constructible< const std::pair< T1, T2 > >", "d7/d7b/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html", null ], + [ "is_default_constructible< std::tuple< Ts... > >", "d5/dc8/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html", null ], + [ "is_default_constructible< const std::tuple< Ts... > >", "dc/dd7/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html", null ], + [ "is_constructible", "d7/d10/structnlohmann_1_1detail_1_1is__constructible.html", null ], + [ "is_constructible< std::pair< T1, T2 > >", "d4/df4/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html", null ], + [ "is_constructible< const std::pair< T1, T2 > >", "d8/da8/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html", null ], + [ "is_constructible< std::tuple< Ts... > >", "dc/d01/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html", null ], + [ "is_constructible< const std::tuple< Ts... > >", "d1/d8d/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html", null ], + [ "is_iterator_traits", "d3/d30/structnlohmann_1_1detail_1_1is__iterator__traits.html", null ], + [ "is_iterator_traits< iterator_traits< T > >", "d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html", "d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4" ], + [ "is_complete_type", "d2/db3/structnlohmann_1_1detail_1_1is__complete__type.html", null ], + [ "is_complete_type< T, decltype(void(sizeof(T)))>", "dd/dcd/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4.html", null ], + [ "is_compatible_object_type_impl", "dc/da5/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html", null ], + [ "is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >", "d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html", "d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9" ], + [ "is_compatible_object_type", "d5/dda/structnlohmann_1_1detail_1_1is__compatible__object__type.html", null ], + [ "is_constructible_object_type_impl", "dd/da4/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.html", null ], + [ "is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >", "d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html", "d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c" ], + [ "is_constructible_object_type", "dc/d11/structnlohmann_1_1detail_1_1is__constructible__object__type.html", null ], + [ "is_compatible_string_type_impl", "d2/d3a/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.html", null ], + [ "is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >", "d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html", "d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6" ], + [ "is_compatible_string_type", "db/d4e/structnlohmann_1_1detail_1_1is__compatible__string__type.html", null ], + [ "is_constructible_string_type_impl", "de/df0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.html", null ], + [ "is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >", "df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html", "df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387" ], + [ "is_constructible_string_type", "d3/d84/structnlohmann_1_1detail_1_1is__constructible__string__type.html", null ], + [ "is_compatible_array_type_impl", "dc/d4b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.html", null ], + [ "is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >", "dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html", "dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d" ], + [ "is_compatible_array_type", "d8/d94/structnlohmann_1_1detail_1_1is__compatible__array__type.html", null ], + [ "is_constructible_array_type_impl", "d8/d8b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl.html", null ], + [ "is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >", "dd/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construce6fa33688da703b95649da4749cdeb98.html", null ], + [ "is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >", "db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.html", "db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52" ], + [ "is_constructible_array_type", "d3/d52/structnlohmann_1_1detail_1_1is__constructible__array__type.html", null ], + [ "is_compatible_integer_type_impl", "dd/d13/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html", null ], + [ "is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >", "d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html", "d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796" ], + [ "is_compatible_integer_type", "d1/d21/structnlohmann_1_1detail_1_1is__compatible__integer__type.html", null ], + [ "is_compatible_type_impl", "d9/d66/structnlohmann_1_1detail_1_1is__compatible__type__impl.html", null ], + [ "is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >", "d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html", "d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703" ], + [ "is_compatible_type", "d3/d71/structnlohmann_1_1detail_1_1is__compatible__type.html", null ], + [ "is_constructible_tuple", "df/d17/structnlohmann_1_1detail_1_1is__constructible__tuple.html", null ], + [ "is_constructible_tuple< T1, std::tuple< Args... > >", "d3/d6a/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html", null ], + [ "from_json_fn", "d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.html", "d5/d4d/structnlohmann_1_1detail_1_1from__json__fn" ], + [ "iteration_proxy_value", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value" ], + [ "iteration_proxy", "db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html", "db/dda/classnlohmann_1_1detail_1_1iteration__proxy" ], + [ "tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >", "da/d86/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html", null ], + [ "tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >", "dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html", "dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4" ], + [ "external_constructor", "d2/df4/structnlohmann_1_1detail_1_1external__constructor.html", null ], + [ "external_constructor< value_t::boolean >", "d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html", "d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4" ], + [ "external_constructor< value_t::string >", "da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html", "da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4" ], + [ "external_constructor< value_t::binary >", "d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html", "d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4" ], + [ "external_constructor< value_t::number_float >", "d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html", "d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4" ], + [ "external_constructor< value_t::number_unsigned >", "d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html", "d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4" ], + [ "external_constructor< value_t::number_integer >", "dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html", "dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4" ], + [ "external_constructor< value_t::array >", "d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html", "d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4" ], + [ "external_constructor< value_t::object >", "d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html", "d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4" ], + [ "to_json_fn", "d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.html", "d2/d7e/structnlohmann_1_1detail_1_1to__json__fn" ], + [ "adl_serializer", "dc/dc7/structnlohmann_1_1adl__serializer.html", "dc/dc7/structnlohmann_1_1adl__serializer" ], + [ "byte_container_with_subtype", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html", "dd/d0d/classnlohmann_1_1byte__container__with__subtype" ], + [ "file_input_adapter", "da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html", "da/d14/classnlohmann_1_1detail_1_1file__input__adapter" ], + [ "input_stream_adapter", "db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html", "db/df0/classnlohmann_1_1detail_1_1input__stream__adapter" ], + [ "iterator_input_adapter", "d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html", "d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter" ], + [ "wide_string_input_helper", "d2/d2c/structnlohmann_1_1detail_1_1wide__string__input__helper.html", null ], + [ "wide_string_input_helper< BaseInputAdapter, 4 >", "d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html", "d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4" ], + [ "wide_string_input_helper< BaseInputAdapter, 2 >", "df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html", "df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4" ], + [ "wide_string_input_adapter", "d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html", "d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter" ], + [ "iterator_input_adapter_factory", "d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html", "d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory" ], + [ "is_iterator_of_multibyte", "d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html", "d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte" ], + [ "iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >", "da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html", "da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902" ], + [ "container_input_adapter_factory", "d1/d62/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory.html", null ], + [ "container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >", "d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html", "d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be" ], + [ "span_input_adapter", "da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html", "da/d7e/classnlohmann_1_1detail_1_1span__input__adapter" ], + [ "json_sax", "d0/d82/structnlohmann_1_1json__sax.html", "d0/d82/structnlohmann_1_1json__sax" ], + [ "json_sax_dom_parser", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser" ], + [ "json_sax_dom_callback_parser", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser" ], + [ "json_sax_acceptor", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor" ], + [ "lexer_base", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html", "de/d77/classnlohmann_1_1detail_1_1lexer__base" ], + [ "lexer", "d8/d22/classnlohmann_1_1detail_1_1lexer.html", "d8/d22/classnlohmann_1_1detail_1_1lexer" ], + [ "is_sax", "dc/dc3/structnlohmann_1_1detail_1_1is__sax.html", "dc/dc3/structnlohmann_1_1detail_1_1is__sax" ], + [ "is_sax_static_asserts", "d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html", "d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts" ], + [ "binary_reader", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html", "d6/d30/classnlohmann_1_1detail_1_1binary__reader" ], + [ "parser", "df/d6b/classnlohmann_1_1detail_1_1parser.html", "df/d6b/classnlohmann_1_1detail_1_1parser" ], + [ "primitive_iterator_t", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t" ], + [ "internal_iterator", "d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html", "d7/d10/structnlohmann_1_1detail_1_1internal__iterator" ], + [ "iteration_proxy", "db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html", "db/dda/classnlohmann_1_1detail_1_1iteration__proxy" ], + [ "iteration_proxy_value", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value" ], + [ "iter_impl", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl" ], + [ "json_reverse_iterator", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator" ], + [ "json_pointer", "da/de8/classnlohmann_1_1json__pointer.html", "da/de8/classnlohmann_1_1json__pointer" ], + [ "json_ref", "da/d10/classnlohmann_1_1detail_1_1json__ref.html", "da/d10/classnlohmann_1_1detail_1_1json__ref" ], + [ "output_adapter_protocol", "dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html", "dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol" ], + [ "output_vector_adapter", "d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html", "d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter" ], + [ "output_stream_adapter", "d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html", "d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter" ], + [ "output_string_adapter", "d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html", "d2/d39/classnlohmann_1_1detail_1_1output__string__adapter" ], + [ "output_adapter", "df/d13/classnlohmann_1_1detail_1_1output__adapter.html", "df/d13/classnlohmann_1_1detail_1_1output__adapter" ], + [ "binary_writer", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html", "df/d1a/classnlohmann_1_1detail_1_1binary__writer" ], + [ "diyfp", "d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html", "d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp" ], + [ "boundaries", "df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html", "df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries" ], + [ "cached_power", "d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html", "d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power" ], + [ "serializer", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html", "d4/d0a/classnlohmann_1_1detail_1_1serializer" ], + [ "ordered_map", "d6/da7/structnlohmann_1_1ordered__map.html", "d6/da7/structnlohmann_1_1ordered__map" ], + [ "basic_json", "d9/dcc/classnlohmann_1_1basic__json.html", "d9/dcc/classnlohmann_1_1basic__json" ], + [ "hash< nlohmann::json >", "dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html", "dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4" ], + [ "less<::nlohmann::detail::value_t >", "df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html", "df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4" ], + [ "INCLUDE_NLOHMANN_JSON_FWD_HPP_", "d5/db8/json_8hpp.html#ae7fdc438c6d6cb1f17c4373bce5a802d", null ], + [ "JSON_ASSERT", "d5/db8/json_8hpp.html#a69f131cff49da1989667220173fbeae6", null ], + [ "JSON_CATCH", "d5/db8/json_8hpp.html#a6954bec49ed2a2dfb938c1131c82740a", null ], + [ "JSON_EXPLICIT", "d5/db8/json_8hpp.html#aefed8cf27cadeea45f12c6f3db3ce774", null ], + [ "JSON_HAS_CPP_11", "d5/db8/json_8hpp.html#ad5cc9b612a6058dd85e97906cc625f9c", null ], + [ "JSON_HEDLEY_ALWAYS_INLINE", "d5/db8/json_8hpp.html#aa8811aa2a21030baad33c103cb04d322", null ], + [ "JSON_HEDLEY_ARM_VERSION_CHECK", "d5/db8/json_8hpp.html#aec1d1b1e286d1610ff11dbb29bf3e8cf", null ], + [ "JSON_HEDLEY_ARRAY_PARAM", "d5/db8/json_8hpp.html#a81c7e3b5b6811abfd89146ad33a93d8f", null ], + [ "JSON_HEDLEY_ASSUME", "d5/db8/json_8hpp.html#a70d7244eea52c8bb5716545e54050bb5", null ], + [ "JSON_HEDLEY_BEGIN_C_DECLS", "d5/db8/json_8hpp.html#ad43f9ae10083194afdfe88516ad876e7", null ], + [ "JSON_HEDLEY_C_DECL", "d5/db8/json_8hpp.html#a378be9b66feb11153979c282c669b12e", null ], + [ "JSON_HEDLEY_CLANG_HAS_ATTRIBUTE", "d5/db8/json_8hpp.html#a940783ca9410ed9dbe4f7abf44a29394", null ], + [ "JSON_HEDLEY_CLANG_HAS_BUILTIN", "d5/db8/json_8hpp.html#a4500e349152e53a3a6f0ab95c6a4a840", null ], + [ "JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE", "d5/db8/json_8hpp.html#a3ce7b30717e453922113c4f62e645e13", null ], + [ "JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE", "d5/db8/json_8hpp.html#afb4bf1280cd8738877e1f0f681a5d96d", null ], + [ "JSON_HEDLEY_CLANG_HAS_EXTENSION", "d5/db8/json_8hpp.html#a8fcc2d27e828fbd8d5ef88ba341e56c0", null ], + [ "JSON_HEDLEY_CLANG_HAS_FEATURE", "d5/db8/json_8hpp.html#a096be2083232d3a3ea9f3aeb25885f60", null ], + [ "JSON_HEDLEY_CLANG_HAS_WARNING", "d5/db8/json_8hpp.html#a6125ffd318b2d6698faad4175a6e7c56", null ], + [ "JSON_HEDLEY_COMPCERT_VERSION_CHECK", "d5/db8/json_8hpp.html#ad8f9aee7d709155d6745cb3f77c6ff0c", null ], + [ "JSON_HEDLEY_CONCAT", "d5/db8/json_8hpp.html#a4ec16c2642fdc5876d8dbeab3445b313", null ], + [ "JSON_HEDLEY_CONCAT3", "d5/db8/json_8hpp.html#ad10e2ad45ace3771e4d2a3807d33f64f", null ], + [ "JSON_HEDLEY_CONCAT3_EX", "d5/db8/json_8hpp.html#a29b325cc7fac302f2488259237d30953", null ], + [ "JSON_HEDLEY_CONCAT_EX", "d5/db8/json_8hpp.html#aee52531ff30270c04958309efa66a5da", null ], + [ "JSON_HEDLEY_CONST", "d5/db8/json_8hpp.html#a0d17bf1a54fc45a04ced6d3aa86a96e3", null ], + [ "JSON_HEDLEY_CONST_CAST", "d5/db8/json_8hpp.html#ab849ba88a6f410da5a46a86f8565b381", null ], + [ "JSON_HEDLEY_CONSTEXPR", "d5/db8/json_8hpp.html#ac317a48664e4099c22d33d8132bef97e", null ], + [ "JSON_HEDLEY_CPP_CAST", "d5/db8/json_8hpp.html#a8c790866b16f58cbe0b3286a7a6238c3", null ], + [ "JSON_HEDLEY_CRAY_VERSION_CHECK", "d5/db8/json_8hpp.html#a5d9ed879aa65e4db12a81ee95529c3e4", null ], + [ "JSON_HEDLEY_DEPRECATED", "d5/db8/json_8hpp.html#a0f2cbf281fa983a844b9279c697b7a0c", null ], + [ "JSON_HEDLEY_DEPRECATED_FOR", "d5/db8/json_8hpp.html#af0469b867b0ec3a1c4b229ce9d087620", null ], + [ "JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL", "d5/db8/json_8hpp.html#a8d412aa5d441b533afa439a89aa4a754", null ], + [ "JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_", "d5/db8/json_8hpp.html#a543a78d9931a92663e3b3fc552a390a4", null ], + [ "JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED", "d5/db8/json_8hpp.html#afe5855242129fa5d1adf55227669a337", null ], + [ "JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES", "d5/db8/json_8hpp.html#ab6e5abd7e400c9a725278206ece33e16", null ], + [ "JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS", "d5/db8/json_8hpp.html#ab67745ae0065d536d8e67969db68d564", null ], + [ "JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION", "d5/db8/json_8hpp.html#a5306714f979551cab30546a0e0e7e9f9", null ], + [ "JSON_HEDLEY_DIAGNOSTIC_POP", "d5/db8/json_8hpp.html#aeedd50a52e1ea565ceab84bb596ec07f", null ], + [ "JSON_HEDLEY_DIAGNOSTIC_PUSH", "d5/db8/json_8hpp.html#a1850f57fcda72becebc7033a2e10e77b", null ], + [ "JSON_HEDLEY_DMC_VERSION_CHECK", "d5/db8/json_8hpp.html#af21c5dbd9df3b2e245ae547e2d940adc", null ], + [ "JSON_HEDLEY_EMPTY_BASES", "d5/db8/json_8hpp.html#ae7a983344e78f37697c2688f1885f9e1", null ], + [ "JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK", "d5/db8/json_8hpp.html#a472a0656b154bb30cf6e8fb8a31b9209", null ], + [ "JSON_HEDLEY_END_C_DECLS", "d5/db8/json_8hpp.html#aca2fc4b765ac5739d680153895b673fb", null ], + [ "JSON_HEDLEY_FALL_THROUGH", "d5/db8/json_8hpp.html#a7056c44a5787e78720407fc97aefbd0f", null ], + [ "JSON_HEDLEY_FLAGS", "d5/db8/json_8hpp.html#a4bdece2f00bf96988662186d7f23ca0f", null ], + [ "JSON_HEDLEY_FLAGS_CAST", "d5/db8/json_8hpp.html#a701eddd8e14dbe617a9ca81b095e88fb", null ], + [ "JSON_HEDLEY_GCC_HAS_ATTRIBUTE", "d5/db8/json_8hpp.html#af33c67f65300eb91494f25bf583f5bd7", null ], + [ "JSON_HEDLEY_GCC_HAS_BUILTIN", "d5/db8/json_8hpp.html#aa210655ec7cc8387bef8ade74c3af647", null ], + [ "JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE", "d5/db8/json_8hpp.html#aaa3c748298e83bf6a67b583b83233c11", null ], + [ "JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE", "d5/db8/json_8hpp.html#a164e098f308804c3bada63613ad75dab", null ], + [ "JSON_HEDLEY_GCC_HAS_EXTENSION", "d5/db8/json_8hpp.html#af488159969a8b7154820cffe04bb4917", null ], + [ "JSON_HEDLEY_GCC_HAS_FEATURE", "d5/db8/json_8hpp.html#ae9f353e2ea047111e419855144b06ab7", null ], + [ "JSON_HEDLEY_GCC_HAS_WARNING", "d5/db8/json_8hpp.html#ab45544391bc41507efde58d48331dfc2", null ], + [ "JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK", "d5/db8/json_8hpp.html#af3737b675cbb70bcdfdaca78c2bc7d4a", null ], + [ "JSON_HEDLEY_GCC_VERSION_CHECK", "d5/db8/json_8hpp.html#aaf82a065634719d57994ef5876e208ff", null ], + [ "JSON_HEDLEY_GNUC_HAS_ATTRIBUTE", "d5/db8/json_8hpp.html#afdf01f41465021815bb6fc4d8c1839fd", null ], + [ "JSON_HEDLEY_GNUC_HAS_BUILTIN", "d5/db8/json_8hpp.html#a92764b738f44272e1b18c3ef1403c894", null ], + [ "JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE", "d5/db8/json_8hpp.html#a938dadb6cadaaaccf72990d09be5dc0a", null ], + [ "JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE", "d5/db8/json_8hpp.html#a005d6f0dbab6f7152e43fb85fc4f4990", null ], + [ "JSON_HEDLEY_GNUC_HAS_EXTENSION", "d5/db8/json_8hpp.html#a2417cc05952936574c0a6ed96d73d8e2", null ], + [ "JSON_HEDLEY_GNUC_HAS_FEATURE", "d5/db8/json_8hpp.html#ad5dab327c783036962c7d921a4144676", null ], + [ "JSON_HEDLEY_GNUC_HAS_WARNING", "d5/db8/json_8hpp.html#a8afa30449fac8b5069e62f26421d4148", null ], + [ "JSON_HEDLEY_GNUC_VERSION_CHECK", "d5/db8/json_8hpp.html#a074e795380699252f28c9526ca83e586", null ], + [ "JSON_HEDLEY_HAS_ATTRIBUTE", "d5/db8/json_8hpp.html#af41dc3300eaa6e5e6a976730d160a268", null ], + [ "JSON_HEDLEY_HAS_BUILTIN", "d5/db8/json_8hpp.html#acf8ab10ce06ffe6f54840b555b15121c", null ], + [ "JSON_HEDLEY_HAS_CPP_ATTRIBUTE", "d5/db8/json_8hpp.html#a2c4e6a04293aaf333a31698dea661b3b", null ], + [ "JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS", "d5/db8/json_8hpp.html#ad5b94be3095ea0549561c1bc951c5998", null ], + [ "JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE", "d5/db8/json_8hpp.html#ac256365345e803d24cbd9651d3cb0274", null ], + [ "JSON_HEDLEY_HAS_EXTENSION", "d5/db8/json_8hpp.html#a320bfe79028a67cd5873f917bc5418dd", null ], + [ "JSON_HEDLEY_HAS_FEATURE", "d5/db8/json_8hpp.html#a752eb648bbfc7bcd8a4624c43f520412", null ], + [ "JSON_HEDLEY_HAS_WARNING", "d5/db8/json_8hpp.html#a472922971d1cd7308a4402042bdafe34", null ], + [ "JSON_HEDLEY_IAR_VERSION_CHECK", "d5/db8/json_8hpp.html#a8788394855e9b5a1cc32327db5a613cb", null ], + [ "JSON_HEDLEY_IBM_VERSION_CHECK", "d5/db8/json_8hpp.html#a66ec7d7c320280d6e75cb3634048cd49", null ], + [ "JSON_HEDLEY_IMPORT", "d5/db8/json_8hpp.html#a29c62e19dfa10fb48bf3aa877c4af21c", null ], + [ "JSON_HEDLEY_INLINE", "d5/db8/json_8hpp.html#af943d68414c7fe0fdfab7e772fa628a8", null ], + [ "JSON_HEDLEY_INTEL_CL_VERSION_CHECK", "d5/db8/json_8hpp.html#a598b8238661e5ae448d5680ae35c4d2f", null ], + [ "JSON_HEDLEY_INTEL_VERSION_CHECK", "d5/db8/json_8hpp.html#ae51b1abb6876168df25d3f36fa335c94", null ], + [ "JSON_HEDLEY_IS_CONSTANT", "d5/db8/json_8hpp.html#a37617841d58aa4d88d0efee4db57ee18", null ], + [ "JSON_HEDLEY_LIKELY", "d5/db8/json_8hpp.html#a355f2770653ff7bdd5c74b204b5a3ad0", null ], + [ "JSON_HEDLEY_MALLOC", "d5/db8/json_8hpp.html#a521367b4e81907450a7ea0bf28028b01", null ], + [ "JSON_HEDLEY_MCST_LCC_VERSION_CHECK", "d5/db8/json_8hpp.html#a6b0ee37cd596951acd0a951a68e0ac21", null ], + [ "JSON_HEDLEY_MESSAGE", "d5/db8/json_8hpp.html#a8419c2b65d28686932087c587eb19157", null ], + [ "JSON_HEDLEY_MSVC_VERSION_CHECK", "d5/db8/json_8hpp.html#ac3dc0b5b04f307fc875f9470c0cc841f", null ], + [ "JSON_HEDLEY_NEVER_INLINE", "d5/db8/json_8hpp.html#aa400dd54d50fd20d7e931e2f08ee6374", null ], + [ "JSON_HEDLEY_NO_ESCAPE", "d5/db8/json_8hpp.html#a9a8fe3009f53d14ac4b48600a2606fc1", null ], + [ "JSON_HEDLEY_NO_RETURN", "d5/db8/json_8hpp.html#a82747e7a15c5cecf1223dbc4eb7a1c6b", null ], + [ "JSON_HEDLEY_NO_THROW", "d5/db8/json_8hpp.html#a99bb53bea18285e3d2ae4385c6c75434", null ], + [ "JSON_HEDLEY_NON_NULL", "d5/db8/json_8hpp.html#a5338981b5ad9027c9e54b1c5597f4344", null ], + [ "JSON_HEDLEY_NULL", "d5/db8/json_8hpp.html#a06449cfb74f25f075a8ea334542f1c65", null ], + [ "JSON_HEDLEY_PELLES_VERSION_CHECK", "d5/db8/json_8hpp.html#a21937c8e7c79a1bef6695691c733e29f", null ], + [ "JSON_HEDLEY_PGI_VERSION_CHECK", "d5/db8/json_8hpp.html#a009a77cb8a9fd33aafff173bb945128d", null ], + [ "JSON_HEDLEY_PRAGMA", "d5/db8/json_8hpp.html#aeb6e382f24fc5453621ae258b72e8775", null ], + [ "JSON_HEDLEY_PREDICT", "d5/db8/json_8hpp.html#a34846d0797b38c1971baee08736dae69", null ], + [ "JSON_HEDLEY_PREDICT_FALSE", "d5/db8/json_8hpp.html#aec5597506417346f8f1c4d1f08c7719f", null ], + [ "JSON_HEDLEY_PREDICT_TRUE", "d5/db8/json_8hpp.html#adb569cea2c5a17c33734f27e8fef2473", null ], + [ "JSON_HEDLEY_PRINTF_FORMAT", "d5/db8/json_8hpp.html#a2e17831d69746d3ee8ad4796e96975a2", null ], + [ "JSON_HEDLEY_PRIVATE", "d5/db8/json_8hpp.html#a034c879888858092ec101e8d02be67c2", null ], + [ "JSON_HEDLEY_PUBLIC", "d5/db8/json_8hpp.html#aa1588f4ea4e7819b5b6e66f07865737f", null ], + [ "JSON_HEDLEY_PURE", "d5/db8/json_8hpp.html#af5c84b7d1a43361bdc14cc6941078000", null ], + [ "JSON_HEDLEY_REINTERPRET_CAST", "d5/db8/json_8hpp.html#a86dd11af75e3f25f5be26cf3c779ba79", null ], + [ "JSON_HEDLEY_REQUIRE", "d5/db8/json_8hpp.html#acbc72fa9390d5e8b7592a81384dfabf3", null ], + [ "JSON_HEDLEY_REQUIRE_CONSTEXPR", "d5/db8/json_8hpp.html#a1136ab0d872379bb18d0839893bede67", null ], + [ "JSON_HEDLEY_REQUIRE_MSG", "d5/db8/json_8hpp.html#a7106fb230747163b5b16121eb6a42b23", null ], + [ "JSON_HEDLEY_RESTRICT", "d5/db8/json_8hpp.html#ad4979e5bc2f252ff6e367fc254ab4e85", null ], + [ "JSON_HEDLEY_RETURNS_NON_NULL", "d5/db8/json_8hpp.html#a5f2aaec3b681d0a72f7d6e90b70cdcd1", null ], + [ "JSON_HEDLEY_SENTINEL", "d5/db8/json_8hpp.html#afe58497d56cda5e4cbf2d33be1bdd91e", null ], + [ "JSON_HEDLEY_STATIC_ASSERT", "d5/db8/json_8hpp.html#a04269935c66fe5a9b6c33fa36037d215", null ], + [ "JSON_HEDLEY_STATIC_CAST", "d5/db8/json_8hpp.html#a2edb8d037ad5cbac818c86aca317226a", null ], + [ "JSON_HEDLEY_STRINGIFY", "d5/db8/json_8hpp.html#a9b2aefadecfe77306599a08b0d8147ca", null ], + [ "JSON_HEDLEY_STRINGIFY_EX", "d5/db8/json_8hpp.html#a8b50e69690eed3a7e11797b1122b4302", null ], + [ "JSON_HEDLEY_SUNPRO_VERSION_CHECK", "d5/db8/json_8hpp.html#a4b6d318de76d6d23850ec1a588bdeffa", null ], + [ "JSON_HEDLEY_TI_ARMCL_VERSION_CHECK", "d5/db8/json_8hpp.html#abbff24b90b5e9f8b586ee0b334baa636", null ], + [ "JSON_HEDLEY_TI_CL2000_VERSION_CHECK", "d5/db8/json_8hpp.html#a1ff3757a45a2cb0c54f78722fd7dc47c", null ], + [ "JSON_HEDLEY_TI_CL430_VERSION_CHECK", "d5/db8/json_8hpp.html#a0c4b607b1dda665174dcd4c6cfe6ce95", null ], + [ "JSON_HEDLEY_TI_CL6X_VERSION_CHECK", "d5/db8/json_8hpp.html#a138095ac760d2964c84f562b23332101", null ], + [ "JSON_HEDLEY_TI_CL7X_VERSION_CHECK", "d5/db8/json_8hpp.html#a6198db3ff6fc72b1fa798229fd025229", null ], + [ "JSON_HEDLEY_TI_CLPRU_VERSION_CHECK", "d5/db8/json_8hpp.html#aab50c0bc1673dde3c1cf4e3b131e97ad", null ], + [ "JSON_HEDLEY_TI_VERSION_CHECK", "d5/db8/json_8hpp.html#a3d620ef5f95be933b3d8e24d4fc5b6d5", null ], + [ "JSON_HEDLEY_TINYC_VERSION_CHECK", "d5/db8/json_8hpp.html#a38192f48e8c6ee0018a988d54e97cacf", null ], + [ "JSON_HEDLEY_UNAVAILABLE", "d5/db8/json_8hpp.html#a681fd0533fbc24394f3322b6f4a60c4f", null ], + [ "JSON_HEDLEY_UNLIKELY", "d5/db8/json_8hpp.html#a8df7de76ab3c9445f46f6994ec205bcd", null ], + [ "JSON_HEDLEY_UNPREDICTABLE", "d5/db8/json_8hpp.html#a26967eb7395562701e450cec045dda15", null ], + [ "JSON_HEDLEY_UNREACHABLE", "d5/db8/json_8hpp.html#a2d5705bd7bd14855c3ef5b98305c5fb4", null ], + [ "JSON_HEDLEY_UNREACHABLE_RETURN", "d5/db8/json_8hpp.html#a06401b258ef03263f2aec48029dc8b03", null ], + [ "JSON_HEDLEY_VERSION", "d5/db8/json_8hpp.html#ae4654024695783bdf7cbd900f0e0634a", null ], + [ "JSON_HEDLEY_VERSION_DECODE_MAJOR", "d5/db8/json_8hpp.html#a50f81c80525d6fbce743d5d28b53ff73", null ], + [ "JSON_HEDLEY_VERSION_DECODE_MINOR", "d5/db8/json_8hpp.html#ae55f01749c4cc564b20b0f2650f10519", null ], + [ "JSON_HEDLEY_VERSION_DECODE_REVISION", "d5/db8/json_8hpp.html#a2d04cc47c899e9addd019e0e7d1ebdbb", null ], + [ "JSON_HEDLEY_VERSION_ENCODE", "d5/db8/json_8hpp.html#aa1da535c59b21f70e5967b66473543f0", null ], + [ "JSON_HEDLEY_WARN_UNUSED_RESULT", "d5/db8/json_8hpp.html#a28d7e3b2d26bd5b8a3806da3db7dea03", null ], + [ "JSON_HEDLEY_WARN_UNUSED_RESULT_MSG", "d5/db8/json_8hpp.html#adfb98ffe9adf238a5ba1670738c0f387", null ], + [ "JSON_HEDLEY_WARNING", "d5/db8/json_8hpp.html#a5563e5b0fbc2a9b525830081404d9208", null ], + [ "JSON_INTERNAL_CATCH", "d5/db8/json_8hpp.html#a5478b7564e65634cc69432ed3cb6490e", null ], + [ "JSON_PRIVATE_UNLESS_TESTED", "d5/db8/json_8hpp.html#a2cf645f34610e7f7d6e09ab88a2ab917", null ], + [ "JSON_THROW", "d5/db8/json_8hpp.html#a6c274f6db2e65c1b66c7d41b06ad690f", null ], + [ "JSON_TRY", "d5/db8/json_8hpp.html#a985d3b82445302c57257f6432f261fe9", null ], + [ "JSON_USE_IMPLICIT_CONVERSIONS", "d5/db8/json_8hpp.html#a24c96ca7fc59096c30b32339a953f97d", null ], + [ "NLOHMANN_BASIC_JSON_TPL", "d5/db8/json_8hpp.html#a80b7254e63f199a1f656f07ae551f632", null ], + [ "NLOHMANN_BASIC_JSON_TPL_DECLARATION", "d5/db8/json_8hpp.html#a0643bd74c2dc6f0e4e420b8190ea8f0f", null ], + [ "NLOHMANN_DEFINE_TYPE_INTRUSIVE", "d5/db8/json_8hpp.html#ad22f878b4987246e5a4f4f258228e775", null ], + [ "NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE", "d5/db8/json_8hpp.html#a5767c8967df840d48dc01b0cf810a882", null ], + [ "NLOHMANN_JSON_EXPAND", "d5/db8/json_8hpp.html#af62f70922a57ffa728d579d3c7963bf5", null ], + [ "NLOHMANN_JSON_FROM", "d5/db8/json_8hpp.html#a8d18979cc7c33deda994e0caacf9e5e0", null ], + [ "NLOHMANN_JSON_GET_MACRO", "d5/db8/json_8hpp.html#afc0845ecb0987d16963a81f34bb0d94d", null ], + [ "NLOHMANN_JSON_PASTE", "d5/db8/json_8hpp.html#a9495fb0e6d683bfa654ed646495b408a", null ], + [ "NLOHMANN_JSON_PASTE10", "d5/db8/json_8hpp.html#add270ee96fa3a6ffb454db30084db2e0", null ], + [ "NLOHMANN_JSON_PASTE11", "d5/db8/json_8hpp.html#a98dd3b9b615ae85290d286ae863cde54", null ], + [ "NLOHMANN_JSON_PASTE12", "d5/db8/json_8hpp.html#a58a04525435cdf51110639ee089ed012", null ], + [ "NLOHMANN_JSON_PASTE13", "d5/db8/json_8hpp.html#aa88bff73660c72539ddf13e42ebbe227", null ], + [ "NLOHMANN_JSON_PASTE14", "d5/db8/json_8hpp.html#a8f25d249f0af16eaac3b8444bd79e66b", null ], + [ "NLOHMANN_JSON_PASTE15", "d5/db8/json_8hpp.html#a90005c47b51e2bc57bb86d089429bd1c", null ], + [ "NLOHMANN_JSON_PASTE16", "d5/db8/json_8hpp.html#aed0149d0e2dae927ae5a845556cfaab6", null ], + [ "NLOHMANN_JSON_PASTE17", "d5/db8/json_8hpp.html#a425f5b0501e323903d0452227d83b764", null ], + [ "NLOHMANN_JSON_PASTE18", "d5/db8/json_8hpp.html#af39a0f63c596c5b4dd001aa0b1c4a76c", null ], + [ "NLOHMANN_JSON_PASTE19", "d5/db8/json_8hpp.html#a7f0c430594f42a2409ff2474722133c5", null ], + [ "NLOHMANN_JSON_PASTE2", "d5/db8/json_8hpp.html#a682c9966e923aa4fa0193b278b1edd2a", null ], + [ "NLOHMANN_JSON_PASTE20", "d5/db8/json_8hpp.html#a30507458068a8b4b2fb270712915783d", null ], + [ "NLOHMANN_JSON_PASTE21", "d5/db8/json_8hpp.html#ae63341f0ec1f867e557805655afc4103", null ], + [ "NLOHMANN_JSON_PASTE22", "d5/db8/json_8hpp.html#a3120ded0ea577721fd71e3591657c577", null ], + [ "NLOHMANN_JSON_PASTE23", "d5/db8/json_8hpp.html#ac848d6f3e9ae4bae4f0638fcb5ab996f", null ], + [ "NLOHMANN_JSON_PASTE24", "d5/db8/json_8hpp.html#adfe12412820ef1409359615c41440345", null ], + [ "NLOHMANN_JSON_PASTE25", "d5/db8/json_8hpp.html#a33416940d4a62a583f03b0ff2375400e", null ], + [ "NLOHMANN_JSON_PASTE26", "d5/db8/json_8hpp.html#a866beb938b64216218cd062e18602eb9", null ], + [ "NLOHMANN_JSON_PASTE27", "d5/db8/json_8hpp.html#a95b9c0445b989761a5ca49cf7e5b0f21", null ], + [ "NLOHMANN_JSON_PASTE28", "d5/db8/json_8hpp.html#a58f402f503add069cbb5824130b63a50", null ], + [ "NLOHMANN_JSON_PASTE29", "d5/db8/json_8hpp.html#a3f6cfd0610cc977f34e910266945f200", null ], + [ "NLOHMANN_JSON_PASTE3", "d5/db8/json_8hpp.html#aaed4e77f612a9644d47c23508fb11f52", null ], + [ "NLOHMANN_JSON_PASTE30", "d5/db8/json_8hpp.html#a5091052b859b2a814db1ed8f6ed6a2a2", null ], + [ "NLOHMANN_JSON_PASTE31", "d5/db8/json_8hpp.html#ae4992f39bb2ab8bd14e62c11598b2ae5", null ], + [ "NLOHMANN_JSON_PASTE32", "d5/db8/json_8hpp.html#af0f98920ec61e99028f7fdef8e920595", null ], + [ "NLOHMANN_JSON_PASTE33", "d5/db8/json_8hpp.html#ab4071130e08cb0863d4e3487fa79cda1", null ], + [ "NLOHMANN_JSON_PASTE34", "d5/db8/json_8hpp.html#a358ebb5dee01b8ed59bc28f815bc6d93", null ], + [ "NLOHMANN_JSON_PASTE35", "d5/db8/json_8hpp.html#aeeea2b876c2a636481b3ae5ef11a19dc", null ], + [ "NLOHMANN_JSON_PASTE36", "d5/db8/json_8hpp.html#a33ac48776f95a68576c40217395bf48d", null ], + [ "NLOHMANN_JSON_PASTE37", "d5/db8/json_8hpp.html#a07deda8156c4854e92eb65fcc082901b", null ], + [ "NLOHMANN_JSON_PASTE38", "d5/db8/json_8hpp.html#a977ee5f6587abac33244336ebd969d8f", null ], + [ "NLOHMANN_JSON_PASTE39", "d5/db8/json_8hpp.html#af227f94449238a7a4773364559b7e293", null ], + [ "NLOHMANN_JSON_PASTE4", "d5/db8/json_8hpp.html#a5349ab2d8aea839cdd9d127f1228bd28", null ], + [ "NLOHMANN_JSON_PASTE40", "d5/db8/json_8hpp.html#a93c6c888c43aec21adfc7ffdc92cf7d0", null ], + [ "NLOHMANN_JSON_PASTE41", "d5/db8/json_8hpp.html#a18e393011cc564dc6b0f1d15b8c84e05", null ], + [ "NLOHMANN_JSON_PASTE42", "d5/db8/json_8hpp.html#a95e4a1508b5f7887c6158bc1c8421214", null ], + [ "NLOHMANN_JSON_PASTE43", "d5/db8/json_8hpp.html#a92d3147a1b6ee178d6645f087b0092a2", null ], + [ "NLOHMANN_JSON_PASTE44", "d5/db8/json_8hpp.html#a0a88431676c1c0dd23152f6398c85b47", null ], + [ "NLOHMANN_JSON_PASTE45", "d5/db8/json_8hpp.html#a690c86f3a6798a8f228c23e353fa1f4c", null ], + [ "NLOHMANN_JSON_PASTE46", "d5/db8/json_8hpp.html#a2b608f54c6ad7eb116db8ac32d662e59", null ], + [ "NLOHMANN_JSON_PASTE47", "d5/db8/json_8hpp.html#acb41a7b4ef92bdebd48fff958a07ba73", null ], + [ "NLOHMANN_JSON_PASTE48", "d5/db8/json_8hpp.html#abba715e3b79d43cd3edfc327964af993", null ], + [ "NLOHMANN_JSON_PASTE49", "d5/db8/json_8hpp.html#ae194fe1cdd80019af57b88d7a07be858", null ], + [ "NLOHMANN_JSON_PASTE5", "d5/db8/json_8hpp.html#a49c543dca7e9b9844991dad31328fb06", null ], + [ "NLOHMANN_JSON_PASTE50", "d5/db8/json_8hpp.html#a019bc7ba256120287abe9297d8220f8d", null ], + [ "NLOHMANN_JSON_PASTE51", "d5/db8/json_8hpp.html#a4f8f97d2fbb1d02cb9e14253db29afc5", null ], + [ "NLOHMANN_JSON_PASTE52", "d5/db8/json_8hpp.html#a6e5309c4debd7b1ca036bd78a45da83d", null ], + [ "NLOHMANN_JSON_PASTE53", "d5/db8/json_8hpp.html#a8305e64563937a0421af09a573184a15", null ], + [ "NLOHMANN_JSON_PASTE54", "d5/db8/json_8hpp.html#ac436de6daea01cb2256bd87717a820f6", null ], + [ "NLOHMANN_JSON_PASTE55", "d5/db8/json_8hpp.html#abce6d2ddf2ea1e5ad59066d0fc5278e4", null ], + [ "NLOHMANN_JSON_PASTE56", "d5/db8/json_8hpp.html#a48a0da09ac90252022f6864cfa3d9448", null ], + [ "NLOHMANN_JSON_PASTE57", "d5/db8/json_8hpp.html#a768d6ebcd60776a1a90a20ee96cc92c9", null ], + [ "NLOHMANN_JSON_PASTE58", "d5/db8/json_8hpp.html#a3fdc9b5e6d3c8ae21a13950f89e1380a", null ], + [ "NLOHMANN_JSON_PASTE59", "d5/db8/json_8hpp.html#a72d13fe9cacdfa68533b8e46b06c8edc", null ], + [ "NLOHMANN_JSON_PASTE6", "d5/db8/json_8hpp.html#a6da6cf565af6a4a786b484019dce2fd3", null ], + [ "NLOHMANN_JSON_PASTE60", "d5/db8/json_8hpp.html#aaa4d92bb3eee9252b5e7e3c94331e89e", null ], + [ "NLOHMANN_JSON_PASTE61", "d5/db8/json_8hpp.html#ad40518144e6777220fd044e3823d5709", null ], + [ "NLOHMANN_JSON_PASTE62", "d5/db8/json_8hpp.html#a2058eaa857e2b8409234212297c30b5c", null ], + [ "NLOHMANN_JSON_PASTE63", "d5/db8/json_8hpp.html#a20df787f375192fed2b9529178f4e003", null ], + [ "NLOHMANN_JSON_PASTE64", "d5/db8/json_8hpp.html#a8fee48568bba4163bcc0ffd2a556d5cf", null ], + [ "NLOHMANN_JSON_PASTE7", "d5/db8/json_8hpp.html#ab3cf0b823706b94a78c0611209df5044", null ], + [ "NLOHMANN_JSON_PASTE8", "d5/db8/json_8hpp.html#a931a0b268897bdd26521ac3152ddba5b", null ], + [ "NLOHMANN_JSON_PASTE9", "d5/db8/json_8hpp.html#aed2ec7e247cd50f8f9941ca3fe6f2a2a", null ], + [ "NLOHMANN_JSON_SERIALIZE_ENUM", "d5/db8/json_8hpp.html#a4c5d399dfa9252e70f876756f3f49084", null ], + [ "NLOHMANN_JSON_TO", "d5/db8/json_8hpp.html#a32c518e9a43fb0389fccb41e5c6f63a9", null ], + [ "NLOHMANN_JSON_VERSION_MAJOR", "d5/db8/json_8hpp.html#a7c94253db90041af11dd946a49f0f8a4", null ], + [ "NLOHMANN_JSON_VERSION_MINOR", "d5/db8/json_8hpp.html#ab5ca1e164894d78d3276d2e5fe58c5e3", null ], + [ "NLOHMANN_JSON_VERSION_PATCH", "d5/db8/json_8hpp.html#a307e0238ebc35e99ea45c68823eb83eb", null ], + [ "binary_function_t", "d5/db8/json_8hpp.html#a4948bef216c2594dae7921d9c4045455", null ], + [ "boolean_function_t", "d5/db8/json_8hpp.html#a45ec87326503b8884b664a9ef23a6c99", null ], + [ "contiguous_bytes_input_adapter", "d5/db8/json_8hpp.html#abc51edd46a1d1a0ff06a19f08ceff563", null ], + [ "detected_or", "d5/db8/json_8hpp.html#a240ce21919ab08e8a6cb3a5cfa412bce", null ], + [ "detected_or_t", "d5/db8/json_8hpp.html#a7ac5b8ef0363101275a2827b3b117dcf", null ], + [ "detected_t", "d5/db8/json_8hpp.html#a37e97a32d0b94ce5f745427e4e40204d", null ], + [ "difference_type_t", "d5/db8/json_8hpp.html#a3603b59a17d1c5e15050743b847992f2", null ], + [ "enable_if_t", "d5/db8/json_8hpp.html#a02bcbc878bee413f25b985ada771aa9c", null ], + [ "end_array_function_t", "d5/db8/json_8hpp.html#aec53c029383b34a72182210e58fadb79", null ], + [ "end_object_function_t", "d5/db8/json_8hpp.html#af52d6d2521c386998ae940d118182ebc", null ], + [ "from_json_function", "d5/db8/json_8hpp.html#a1711ee5cef66a0523055c8d9f024f322", null ], + [ "get_template_function", "d5/db8/json_8hpp.html#ab4d22cdb6521ee3508db496dea66711e", null ], + [ "index_sequence", "d5/db8/json_8hpp.html#a422430dab7adbe4dfcf125dfcfbeffd0", null ], + [ "index_sequence_for", "d5/db8/json_8hpp.html#a24800493c6ec02ce033dcbb47b7fd28e", null ], + [ "is_detected", "d5/db8/json_8hpp.html#a9135fcf616d6ac6e231a86e0a055ac44", null ], + [ "is_detected_convertible", "d5/db8/json_8hpp.html#a5262e531c46e357b33007060f294673b", null ], + [ "is_detected_exact", "d5/db8/json_8hpp.html#a7542b4dbac07817fd4849ecfa4619def", null ], + [ "iterator_category_t", "d5/db8/json_8hpp.html#ad22d2aa3aab018050ae519f6754366e1", null ], + [ "iterator_t", "d5/db8/json_8hpp.html#a9ff93db146174305bce1bc4c54703e11", null ], + [ "json", "d5/db8/json_8hpp.html#a2bfd99e845a2e5cd90aeaf1b1431f474", null ], + [ "key_function_t", "d5/db8/json_8hpp.html#a44869ca9f422b260625d78e4e8121559", null ], + [ "key_type_t", "d5/db8/json_8hpp.html#a66dfe39f03b05d6b7265a0ff748d64ef", null ], + [ "make_index_sequence", "d5/db8/json_8hpp.html#a9b47f1c18e3c9739b20633aeee0d0f62", null ], + [ "make_integer_sequence", "d5/db8/json_8hpp.html#a745268b2c803a873cdbe1fdecb4e88b2", null ], + [ "mapped_type_t", "d5/db8/json_8hpp.html#a9c1795c148875722f8482d39e0eb9364", null ], + [ "null_function_t", "d5/db8/json_8hpp.html#ac1b4e524746bf8b790b2b776048b93c4", null ], + [ "number_float_function_t", "d5/db8/json_8hpp.html#ad42df56e913abe26ed556e0e92f386f4", null ], + [ "number_integer_function_t", "d5/db8/json_8hpp.html#a4a3e14a011b9ea1ff849fc6d2411e6a0", null ], + [ "number_unsigned_function_t", "d5/db8/json_8hpp.html#a74da7b17bda76f65d276feb18209c913", null ], + [ "ordered_json", "d5/db8/json_8hpp.html#ad53cef358adfa7f07cea23eb1e28b9ea", null ], + [ "output_adapter_t", "d5/db8/json_8hpp.html#a9b680ddfb58f27eb53a67229447fc556", null ], + [ "parse_error_function_t", "d5/db8/json_8hpp.html#a264d4d58bc1fd82bcc7bf6bf73d6acad", null ], + [ "parser_callback_t", "d5/db8/json_8hpp.html#a2ac1bb00523b2502c10c97d70359ffc8", null ], + [ "pointer_t", "d5/db8/json_8hpp.html#a26dc71e2dd9336587e56062178f9abce", null ], + [ "reference_t", "d5/db8/json_8hpp.html#a082bdafd3b4c61d9d1e92b35b8f75ee3", null ], + [ "start_array_function_t", "d5/db8/json_8hpp.html#a80273cecc45765d7b2826ec931fbffdd", null ], + [ "start_object_function_t", "d5/db8/json_8hpp.html#a5fff1e6dcaabd367d9b1109a5682f9d4", null ], + [ "string_function_t", "d5/db8/json_8hpp.html#a27c3fc3bd42ac406f763184aa8ae4cb0", null ], + [ "to_json_function", "d5/db8/json_8hpp.html#af846b6cf2f926009ff3a7a61495ca383", null ], + [ "uncvref_t", "d5/db8/json_8hpp.html#a53a082eedad9f4729fcd8fed552a21f7", null ], + [ "value_type_t", "d5/db8/json_8hpp.html#af91beae90c2fb0f931079b3d50a343bc", null ], + [ "void_t", "d5/db8/json_8hpp.html#a92a167c49c6697b6ffe4f79492c705e5", null ], + [ "cbor_tag_handler_t", "d5/db8/json_8hpp.html#a58bb1ef1a9ad287a9cfaf1855784d9ac", [ + [ "error", "d5/db8/json_8hpp.html#a58bb1ef1a9ad287a9cfaf1855784d9acacb5e100e5a9a3e7f6d1fd97512215282", null ], + [ "ignore", "d5/db8/json_8hpp.html#a58bb1ef1a9ad287a9cfaf1855784d9aca567bc1d268f135496de3d5b946b691f3", null ] + ] ], + [ "error_handler_t", "d5/db8/json_8hpp.html#a5a76b60b26dc8c47256a996d18d967df", [ + [ "strict", "d5/db8/json_8hpp.html#a5a76b60b26dc8c47256a996d18d967dfa2133fd717402a7966ee88d06f9e0b792", null ], + [ "replace", "d5/db8/json_8hpp.html#a5a76b60b26dc8c47256a996d18d967dfa9dde360102c103867bd2f45872f1129c", null ], + [ "ignore", "d5/db8/json_8hpp.html#a5a76b60b26dc8c47256a996d18d967dfa567bc1d268f135496de3d5b946b691f3", null ] + ] ], + [ "input_format_t", "d5/db8/json_8hpp.html#aa554fc6a11519e4f347deb25a9f0db40", [ + [ "json", "d5/db8/json_8hpp.html#aa554fc6a11519e4f347deb25a9f0db40a466deec76ecdf5fca6d38571f6324d54", null ], + [ "cbor", "d5/db8/json_8hpp.html#aa554fc6a11519e4f347deb25a9f0db40aaf9de350d652f0c9055ddab514bd23ea", null ], + [ "msgpack", "d5/db8/json_8hpp.html#aa554fc6a11519e4f347deb25a9f0db40ac40d516627022a54003ac2b74a82688a", null ], + [ "ubjson", "d5/db8/json_8hpp.html#aa554fc6a11519e4f347deb25a9f0db40a4537f20910e85437f6d07701864084e8", null ], + [ "bson", "d5/db8/json_8hpp.html#aa554fc6a11519e4f347deb25a9f0db40a0b6879b186bfb2b1ec65d2460e4eccd4", null ] + ] ], + [ "parse_event_t", "d5/db8/json_8hpp.html#a2fb6dae6578e06ae73ca0d7cc8512b1a", [ + [ "object_start", "d5/db8/json_8hpp.html#a2fb6dae6578e06ae73ca0d7cc8512b1aae73f17027cb0acbb537f29d0a6944b26", null ], + [ "object_end", "d5/db8/json_8hpp.html#a2fb6dae6578e06ae73ca0d7cc8512b1aaf63e2a2468a37aa4f394fcc3bcb8249c", null ], + [ "array_start", "d5/db8/json_8hpp.html#a2fb6dae6578e06ae73ca0d7cc8512b1aaa4388a3d92419edbb1c6efd4d52461f3", null ], + [ "array_end", "d5/db8/json_8hpp.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa49642fb732aa2e112188fba1f9d3ef7f", null ], + [ "key", "d5/db8/json_8hpp.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa3c6e0b8a9c15224a8228b9a98ca1531d", null ], + [ "value", "d5/db8/json_8hpp.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa2063c1608d6e0baf80249c42e2be5804", null ] + ] ], + [ "value_t", "d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985", [ + [ "null", "d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985a37a6259cc0c1dae299a7866489dff0bd", null ], + [ "object", "d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985aa8cfde6331bd59eb2ac96f8911c4b666", null ], + [ "array", "d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985af1f713c9e000f5d3f280adbd124df4f5", null ], + [ "string", "d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985ab45cffe084dd3d20d928bee85e7b0f21", null ], + [ "boolean", "d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985a84e2c64f38f78ba3ea5c905ab5a2da27", null ], + [ "number_integer", "d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985a5763da164f8659d94a56e29df64b4bcc", null ], + [ "number_unsigned", "d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985adce7cc8ec29055c4158828921f2f265e", null ], + [ "number_float", "d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985ad9966ecb59667235a57b4b999a649eef", null ], + [ "binary", "d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985a9d7183f16acce70658f686ae7f1a4d20", null ], + [ "discarded", "d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985a94708897ec9db8647dfe695714c98e46", null ] + ] ], + [ "append_exponent", "d5/db8/json_8hpp.html#ad90f19ed10d8133b727df4b9bc5ddf5c", null ], + [ "combine", "d5/db8/json_8hpp.html#a66eb4d912b6f872d6983f7d0826f32c6", null ], + [ "compute_boundaries", "d5/db8/json_8hpp.html#a22b6e37654ac93c6d0d9c06ec1bf5ded", null ], + [ "escape", "d5/db8/json_8hpp.html#a9d486a036924098fe1a77de14d23f56c", null ], + [ "find_largest_pow10", "d5/db8/json_8hpp.html#a36ded358763b5dbcea9867660fbe4e28", null ], + [ "format_buffer", "d5/db8/json_8hpp.html#ab441f2761e33839ca48bc2225e14a2a9", null ], + [ "from_json", "d5/db8/json_8hpp.html#a1f0395aad0fe853a4539288749d3a603", null ], + [ "from_json", "d5/db8/json_8hpp.html#a58117f225f43d03e3a0a4a6f3d77c9d9", null ], + [ "from_json", "d5/db8/json_8hpp.html#ad74d89f77ada7a57eff38b43d4bf2335", null ], + [ "from_json", "d5/db8/json_8hpp.html#a2932f2bc2943dac6d51669312f4fc0f5", null ], + [ "from_json", "d5/db8/json_8hpp.html#a7cb5dd7d46a60e65f9a8e0873b3f7dd8", null ], + [ "from_json", "d5/db8/json_8hpp.html#ace4d5680ba413d9fd897ccb5d9c61a1c", null ], + [ "from_json", "d5/db8/json_8hpp.html#a047d881e611fcac709dc318f730a1732", null ], + [ "from_json", "d5/db8/json_8hpp.html#a5440d650150d01e8015133521351b459", null ], + [ "from_json", "d5/db8/json_8hpp.html#a5cfb765aad92795abd7fda29d017272a", null ], + [ "from_json", "d5/db8/json_8hpp.html#a3df497b1d3977f071b488ecac1401517", null ], + [ "from_json", "d5/db8/json_8hpp.html#a7deb2db8eed6f1762373dde7a6595760", null ], + [ "from_json", "d5/db8/json_8hpp.html#a14d8cdf544585f1c38eab6a0820e55f7", null ], + [ "from_json", "d5/db8/json_8hpp.html#aff04c4dbdf8cb651c9f1528d7b1d39b0", null ], + [ "from_json", "d5/db8/json_8hpp.html#aeabc1adfeb8bcfbdf24c533380d1e773", null ], + [ "from_json", "d5/db8/json_8hpp.html#a5b24896e5f5db6af06d939dde4b63fe1", null ], + [ "from_json", "d5/db8/json_8hpp.html#a839b0ab50d2c9bce669068f56bc41202", null ], + [ "from_json", "d5/db8/json_8hpp.html#adcd0ecdb8495be20b0434ed0ed65826a", null ], + [ "from_json", "d5/db8/json_8hpp.html#ae93147a54d2740228ef16a5e6210ca3e", null ], + [ "from_json", "d5/db8/json_8hpp.html#aef5c8ea108f4d2b03fb4a635617510de", null ], + [ "from_json_array_impl", "d5/db8/json_8hpp.html#a40f7bb070a60e8ba14fffb9c117fcbd8", null ], + [ "from_json_array_impl", "d5/db8/json_8hpp.html#aba0ce45ebb69fd2c7132a00f9a56b503", null ], + [ "from_json_array_impl", "d5/db8/json_8hpp.html#a7c06b590679604ecb0ea2a3b62bd254b", null ], + [ "from_json_array_impl", "d5/db8/json_8hpp.html#a3b306ea5f5176f748572ca5b1c9a4dda", null ], + [ "from_json_inplace_array_impl", "d5/db8/json_8hpp.html#a8f4713d1d9c1a0a5e1503c2fbafd4e40", null ], + [ "from_json_tuple_impl", "d5/db8/json_8hpp.html#aef618f284e214156fcfa6dfecd1dcdbe", null ], + [ "from_json_tuple_impl", "d5/db8/json_8hpp.html#af1bc20d589bcfe61a23974cb17a34d6f", null ], + [ "from_json_tuple_impl", "d5/db8/json_8hpp.html#a249aceda550177adb6d09382d1377a60", null ], + [ "from_json_tuple_impl", "d5/db8/json_8hpp.html#a31838a6c7a461d3a889e6fc40b3a19e6", null ], + [ "from_json_tuple_impl_base", "d5/db8/json_8hpp.html#aaf1b6ce9b599cd5cde8053c194082ca9", null ], + [ "get", "d5/db8/json_8hpp.html#acc422c11342b31368f610b6f96fcedc6", null ], + [ "get< typename ConstructibleArrayType::value_type >", "d5/db8/json_8hpp.html#ad9e016d7b6a3cd2847027950aa0aac3b", null ], + [ "get_arithmetic_value", "d5/db8/json_8hpp.html#a85955b9c6dd31846e4b8e891f78614b6", null ], + [ "get_cached_power_for_binary_exponent", "d5/db8/json_8hpp.html#adbf329a18c5cf854a3477327afd2200b", null ], + [ "grisu2", "d5/db8/json_8hpp.html#a05b681dcb8569b9784c6dccfadb01633", null ], + [ "grisu2", "d5/db8/json_8hpp.html#aab7a9670a4f4704a5d0347ad7588576b", null ], + [ "grisu2_digit_gen", "d5/db8/json_8hpp.html#a9b899c72b0e1e3dd46d75c2b4e6bcdfb", null ], + [ "grisu2_round", "d5/db8/json_8hpp.html#a5bc841e0bee12fd6489d49cf7bd07bb4", null ], + [ "hash", "d5/db8/json_8hpp.html#a679e5e522ac6afa5d5923292fab450b8", null ], + [ "input_adapter", "d5/db8/json_8hpp.html#ad11a087dbe66eade5af4056aef9600bf", null ], + [ "input_adapter", "d5/db8/json_8hpp.html#a611bebbfa9ee64dd8fee1e8c4bc3cbf6", null ], + [ "input_adapter", "d5/db8/json_8hpp.html#a520988513cac994a1dfd16b5859a1ca6", null ], + [ "input_adapter", "d5/db8/json_8hpp.html#af9fa97bf92767dc7f9dfe1abdfb1c6ce", null ], + [ "input_adapter", "d5/db8/json_8hpp.html#aaf150c2591ecac4e821e9036ef847ef8", null ], + [ "input_adapter", "d5/db8/json_8hpp.html#a690f7e555056ce490bd47dd5cdf9b48d", null ], + [ "input_adapter", "d5/db8/json_8hpp.html#a7908f7aa06f20e6083619d1d4b4eb769", null ], + [ "int_to_string", "d5/db8/json_8hpp.html#a3c45286b0a2f15ea0a756cb87a76cf9b", null ], + [ "little_endianess", "d5/db8/json_8hpp.html#ad2860d9bcd96cd7b8258a5b94674508c", null ], + [ "operator\"\" _json", "d5/db8/json_8hpp.html#a106b949d848bb8243a7cf94f11bcebf1", null ], + [ "operator\"\" _json_pointer", "d5/db8/json_8hpp.html#aa2015c6dc3a0fb76fc526cfecef2286a", null ], + [ "operator<", "d5/db8/json_8hpp.html#a09169efff3bd1771fff29bd92cea19e0", null ], + [ "reinterpret_bits", "d5/db8/json_8hpp.html#a1c5d30eb51e5e994a3f48bde104d2ce8", null ], + [ "replace_substring", "d5/db8/json_8hpp.html#aceff996baf082d6dc1873ad176d10609", null ], + [ "swap< nlohmann::json >", "d5/db8/json_8hpp.html#af3f2c23f946bf81b153b863b4acf6bb3", null ], + [ "to_chars", "d5/db8/json_8hpp.html#a6cca370ac6c99294dbe4fe24716a57dd", null ], + [ "to_json", "d5/db8/json_8hpp.html#a1a804b98cbe89b7e44b698f2ca860490", null ], + [ "to_json", "d5/db8/json_8hpp.html#a7356ed05cdbbb080cee80e1211e1c6c9", null ], + [ "to_json", "d5/db8/json_8hpp.html#a4aa1ca6b7c61bf19d1f30ea5b669f68e", null ], + [ "to_json", "d5/db8/json_8hpp.html#a22bffdc8bc7e43af380ba2050696b230", null ], + [ "to_json", "d5/db8/json_8hpp.html#ae5fd66b5517b3b5a6c6b9fd9f29ba8dc", null ], + [ "to_json", "d5/db8/json_8hpp.html#a91fe576be579c8c2fdd14610605c6dd2", null ], + [ "to_json", "d5/db8/json_8hpp.html#a0c8b159dba71981d6c555d284cf6e2bf", null ], + [ "to_json", "d5/db8/json_8hpp.html#aeca6fb5fede5ed1e12a4420d98a5692b", null ], + [ "to_json", "d5/db8/json_8hpp.html#a3afebc132c5ff83f9cd160e52030fdfd", null ], + [ "to_json", "d5/db8/json_8hpp.html#a22191081208b226e3875e1118107c281", null ], + [ "to_json", "d5/db8/json_8hpp.html#a7f7c7b9760161b774cdc0b4b838fae64", null ], + [ "to_json", "d5/db8/json_8hpp.html#aa0fd1b5788e9ba37e31da43dda738cb5", null ], + [ "to_json", "d5/db8/json_8hpp.html#a24c9c12f3839c94e09532f08de85e949", null ], + [ "to_json", "d5/db8/json_8hpp.html#ac9f7a5542851c61d93740148eaec509f", null ], + [ "to_json", "d5/db8/json_8hpp.html#a20ea5175c8999fc8b673e46b892f71f6", null ], + [ "to_json", "d5/db8/json_8hpp.html#ab64eeb55b44db44eb8e9070229eb97df", null ], + [ "to_json", "d5/db8/json_8hpp.html#aaa77b0c9745130b77733a92a1a2e82ec", null ], + [ "to_json_tuple_impl", "d5/db8/json_8hpp.html#a510dfa15b01e9a8afe31600a27b28199", null ], + [ "to_string", "d5/db8/json_8hpp.html#a6ce645a0b8717757e096a5b5773b7a16", null ], + [ "unescape", "d5/db8/json_8hpp.html#a0b76dc40f2f2c2f983b6b7f74976cc89", null ], + [ "void", "d5/db8/json_8hpp.html#a59fca69799f6b9e366710cb9043aa77d", null ], + [ "kAlpha", "d5/db8/json_8hpp.html#ac1ea1316de0b4a219f707c76b1db1966", null ], + [ "kGamma", "d5/db8/json_8hpp.html#a4a750fcc38da1ce68b7e25ab3a230e20", null ] +]; \ No newline at end of file diff --git a/docs/d5/db8/json_8hpp_source.html b/docs/d5/db8/json_8hpp_source.html new file mode 100644 index 00000000..53defb2b --- /dev/null +++ b/docs/d5/db8/json_8hpp_source.html @@ -0,0 +1,1053 @@ + + + + + + + +CUDNN Frontend API: json.hpp Source File + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    json.hpp
    +
    +
    +Go to the documentation of this file.
    1 /*
    2  __ _____ _____ _____
    3  __| | __| | | | JSON for Modern C++
    4 | | |__ | | | | | | version 3.9.1
    5 |_____|_____|_____|_|___| https://github.com/nlohmann/json
    6 
    7 Licensed under the MIT License <http://opensource.org/licenses/MIT>.
    8 SPDX-License-Identifier: MIT
    9 Copyright (c) 2013-2019 Niels Lohmann <http://nlohmann.me>.
    10 
    11 Permission is hereby granted, free of charge, to any person obtaining a copy
    12 of this software and associated documentation files (the "Software"), to deal
    13 in the Software without restriction, including without limitation the rights
    14 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    15 copies of the Software, and to permit persons to whom the Software is
    16 furnished to do so, subject to the following conditions:
    17 
    18 The above copyright notice and this permission notice shall be included in all
    19 copies or substantial portions of the Software.
    20 
    21 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    22 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    23 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    24 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    25 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    26 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    27 SOFTWARE.
    28 */
    29 
    30 #ifndef INCLUDE_NLOHMANN_JSON_HPP_
    31 #define INCLUDE_NLOHMANN_JSON_HPP_
    32 
    33 #define NLOHMANN_JSON_VERSION_MAJOR 3
    34 #define NLOHMANN_JSON_VERSION_MINOR 9
    35 #define NLOHMANN_JSON_VERSION_PATCH 1
    36 
    37 #include <algorithm> // all_of, find, for_each
    38 #include <cstddef> // nullptr_t, ptrdiff_t, size_t
    39 #include <functional> // hash, less
    40 #include <initializer_list> // initializer_list
    41 #include <iosfwd> // istream, ostream
    42 #include <iterator> // random_access_iterator_tag
    43 #include <memory> // unique_ptr
    44 #include <numeric> // accumulate
    45 #include <string> // string, stoi, to_string
    46 #include <utility> // declval, forward, move, pair, swap
    47 #include <vector> // vector
    48 
    49 // #include <nlohmann/adl_serializer.hpp>
    50 
    51 
    52 #include <type_traits>
    53 #include <utility>
    54 
    55 // #include <nlohmann/detail/conversions/from_json.hpp>
    56 
    57 
    58 #include <algorithm> // transform
    59 #include <array> // array
    60 #include <forward_list> // forward_list
    61 #include <iterator> // inserter, front_inserter, end
    62 #include <map> // map
    63 #include <string> // string
    64 #include <tuple> // tuple, make_tuple
    65 #include <type_traits> // is_arithmetic, is_same, is_enum, underlying_type, is_convertible
    66 #include <unordered_map> // unordered_map
    67 #include <utility> // pair, declval
    68 #include <valarray> // valarray
    69 
    70 // #include <nlohmann/detail/exceptions.hpp>
    71 
    72 
    73 #include <exception> // exception
    74 #include <stdexcept> // runtime_error
    75 #include <string> // to_string
    76 #include <vector> // vector
    77 
    78 // #include <nlohmann/detail/value_t.hpp>
    79 
    80 
    81 #include <array> // array
    82 #include <cstddef> // size_t
    83 #include <cstdint> // uint8_t
    84 #include <string> // string
    85 
    86 namespace nlohmann
    87 {
    88 namespace detail
    89 {
    91 // JSON type enumeration //
    93 
    118 enum class value_t : std::uint8_t
    119 {
    120  null,
    121  object,
    122  array,
    123  string,
    124  boolean,
    127  number_float,
    128  binary,
    129  discarded
    130 };
    131 
    145 inline bool operator<(const value_t lhs, const value_t rhs) noexcept
    146 {
    147  static constexpr std::array<std::uint8_t, 9> order = {{
    148  0 /* null */, 3 /* object */, 4 /* array */, 5 /* string */,
    149  1 /* boolean */, 2 /* integer */, 2 /* unsigned */, 2 /* float */,
    150  6 /* binary */
    151  }
    152  };
    153 
    154  const auto l_index = static_cast<std::size_t>(lhs);
    155  const auto r_index = static_cast<std::size_t>(rhs);
    156  return l_index < order.size() && r_index < order.size() && order[l_index] < order[r_index];
    157 }
    158 } // namespace detail
    159 } // namespace nlohmann
    160 
    161 // #include <nlohmann/detail/string_escape.hpp>
    162 
    163 
    164 #include <string>
    165 // #include <nlohmann/detail/macro_scope.hpp>
    166 
    167 
    168 #include <utility> // pair
    169 // #include <nlohmann/thirdparty/hedley/hedley.hpp>
    170 
    171 
    172 /* Hedley - https://nemequ.github.io/hedley
    173  * Created by Evan Nemerson <evan@nemerson.com>
    174  *
    175  * To the extent possible under law, the author(s) have dedicated all
    176  * copyright and related and neighboring rights to this software to
    177  * the public domain worldwide. This software is distributed without
    178  * any warranty.
    179  *
    180  * For details, see <http://creativecommons.org/publicdomain/zero/1.0/>.
    181  * SPDX-License-Identifier: CC0-1.0
    182  */
    183 
    184 #if !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < 15)
    185 #if defined(JSON_HEDLEY_VERSION)
    186  #undef JSON_HEDLEY_VERSION
    187 #endif
    188 #define JSON_HEDLEY_VERSION 15
    189 
    190 #if defined(JSON_HEDLEY_STRINGIFY_EX)
    191  #undef JSON_HEDLEY_STRINGIFY_EX
    192 #endif
    193 #define JSON_HEDLEY_STRINGIFY_EX(x) #x
    194 
    195 #if defined(JSON_HEDLEY_STRINGIFY)
    196  #undef JSON_HEDLEY_STRINGIFY
    197 #endif
    198 #define JSON_HEDLEY_STRINGIFY(x) JSON_HEDLEY_STRINGIFY_EX(x)
    199 
    200 #if defined(JSON_HEDLEY_CONCAT_EX)
    201  #undef JSON_HEDLEY_CONCAT_EX
    202 #endif
    203 #define JSON_HEDLEY_CONCAT_EX(a,b) a##b
    204 
    205 #if defined(JSON_HEDLEY_CONCAT)
    206  #undef JSON_HEDLEY_CONCAT
    207 #endif
    208 #define JSON_HEDLEY_CONCAT(a,b) JSON_HEDLEY_CONCAT_EX(a,b)
    209 
    210 #if defined(JSON_HEDLEY_CONCAT3_EX)
    211  #undef JSON_HEDLEY_CONCAT3_EX
    212 #endif
    213 #define JSON_HEDLEY_CONCAT3_EX(a,b,c) a##b##c
    214 
    215 #if defined(JSON_HEDLEY_CONCAT3)
    216  #undef JSON_HEDLEY_CONCAT3
    217 #endif
    218 #define JSON_HEDLEY_CONCAT3(a,b,c) JSON_HEDLEY_CONCAT3_EX(a,b,c)
    219 
    220 #if defined(JSON_HEDLEY_VERSION_ENCODE)
    221  #undef JSON_HEDLEY_VERSION_ENCODE
    222 #endif
    223 #define JSON_HEDLEY_VERSION_ENCODE(major,minor,revision) (((major) * 1000000) + ((minor) * 1000) + (revision))
    224 
    225 #if defined(JSON_HEDLEY_VERSION_DECODE_MAJOR)
    226  #undef JSON_HEDLEY_VERSION_DECODE_MAJOR
    227 #endif
    228 #define JSON_HEDLEY_VERSION_DECODE_MAJOR(version) ((version) / 1000000)
    229 
    230 #if defined(JSON_HEDLEY_VERSION_DECODE_MINOR)
    231  #undef JSON_HEDLEY_VERSION_DECODE_MINOR
    232 #endif
    233 #define JSON_HEDLEY_VERSION_DECODE_MINOR(version) (((version) % 1000000) / 1000)
    234 
    235 #if defined(JSON_HEDLEY_VERSION_DECODE_REVISION)
    236  #undef JSON_HEDLEY_VERSION_DECODE_REVISION
    237 #endif
    238 #define JSON_HEDLEY_VERSION_DECODE_REVISION(version) ((version) % 1000)
    239 
    240 #if defined(JSON_HEDLEY_GNUC_VERSION)
    241  #undef JSON_HEDLEY_GNUC_VERSION
    242 #endif
    243 #if defined(__GNUC__) && defined(__GNUC_PATCHLEVEL__)
    244  #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__)
    245 #elif defined(__GNUC__)
    246  #define JSON_HEDLEY_GNUC_VERSION JSON_HEDLEY_VERSION_ENCODE(__GNUC__, __GNUC_MINOR__, 0)
    247 #endif
    248 
    249 #if defined(JSON_HEDLEY_GNUC_VERSION_CHECK)
    250  #undef JSON_HEDLEY_GNUC_VERSION_CHECK
    251 #endif
    252 #if defined(JSON_HEDLEY_GNUC_VERSION)
    253  #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GNUC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    254 #else
    255  #define JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) (0)
    256 #endif
    257 
    258 #if defined(JSON_HEDLEY_MSVC_VERSION)
    259  #undef JSON_HEDLEY_MSVC_VERSION
    260 #endif
    261 #if defined(_MSC_FULL_VER) && (_MSC_FULL_VER >= 140000000) && !defined(__ICL)
    262  #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 10000000, (_MSC_FULL_VER % 10000000) / 100000, (_MSC_FULL_VER % 100000) / 100)
    263 #elif defined(_MSC_FULL_VER) && !defined(__ICL)
    264  #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER / 1000000, (_MSC_FULL_VER % 1000000) / 10000, (_MSC_FULL_VER % 10000) / 10)
    265 #elif defined(_MSC_VER) && !defined(__ICL)
    266  #define JSON_HEDLEY_MSVC_VERSION JSON_HEDLEY_VERSION_ENCODE(_MSC_VER / 100, _MSC_VER % 100, 0)
    267 #endif
    268 
    269 #if defined(JSON_HEDLEY_MSVC_VERSION_CHECK)
    270  #undef JSON_HEDLEY_MSVC_VERSION_CHECK
    271 #endif
    272 #if !defined(JSON_HEDLEY_MSVC_VERSION)
    273  #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (0)
    274 #elif defined(_MSC_VER) && (_MSC_VER >= 1400)
    275  #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 10000000) + (minor * 100000) + (patch)))
    276 #elif defined(_MSC_VER) && (_MSC_VER >= 1200)
    277  #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_FULL_VER >= ((major * 1000000) + (minor * 10000) + (patch)))
    278 #else
    279  #define JSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch) (_MSC_VER >= ((major * 100) + (minor)))
    280 #endif
    281 
    282 #if defined(JSON_HEDLEY_INTEL_VERSION)
    283  #undef JSON_HEDLEY_INTEL_VERSION
    284 #endif
    285 #if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && !defined(__ICL)
    286  #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, __INTEL_COMPILER_UPDATE)
    287 #elif defined(__INTEL_COMPILER) && !defined(__ICL)
    288  #define JSON_HEDLEY_INTEL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER / 100, __INTEL_COMPILER % 100, 0)
    289 #endif
    290 
    291 #if defined(JSON_HEDLEY_INTEL_VERSION_CHECK)
    292  #undef JSON_HEDLEY_INTEL_VERSION_CHECK
    293 #endif
    294 #if defined(JSON_HEDLEY_INTEL_VERSION)
    295  #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    296 #else
    297  #define JSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch) (0)
    298 #endif
    299 
    300 #if defined(JSON_HEDLEY_INTEL_CL_VERSION)
    301  #undef JSON_HEDLEY_INTEL_CL_VERSION
    302 #endif
    303 #if defined(__INTEL_COMPILER) && defined(__INTEL_COMPILER_UPDATE) && defined(__ICL)
    304  #define JSON_HEDLEY_INTEL_CL_VERSION JSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER, __INTEL_COMPILER_UPDATE, 0)
    305 #endif
    306 
    307 #if defined(JSON_HEDLEY_INTEL_CL_VERSION_CHECK)
    308  #undef JSON_HEDLEY_INTEL_CL_VERSION_CHECK
    309 #endif
    310 #if defined(JSON_HEDLEY_INTEL_CL_VERSION)
    311  #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_INTEL_CL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    312 #else
    313  #define JSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch) (0)
    314 #endif
    315 
    316 #if defined(JSON_HEDLEY_PGI_VERSION)
    317  #undef JSON_HEDLEY_PGI_VERSION
    318 #endif
    319 #if defined(__PGI) && defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__)
    320  #define JSON_HEDLEY_PGI_VERSION JSON_HEDLEY_VERSION_ENCODE(__PGIC__, __PGIC_MINOR__, __PGIC_PATCHLEVEL__)
    321 #endif
    322 
    323 #if defined(JSON_HEDLEY_PGI_VERSION_CHECK)
    324  #undef JSON_HEDLEY_PGI_VERSION_CHECK
    325 #endif
    326 #if defined(JSON_HEDLEY_PGI_VERSION)
    327  #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PGI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    328 #else
    329  #define JSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch) (0)
    330 #endif
    331 
    332 #if defined(JSON_HEDLEY_SUNPRO_VERSION)
    333  #undef JSON_HEDLEY_SUNPRO_VERSION
    334 #endif
    335 #if defined(__SUNPRO_C) && (__SUNPRO_C > 0x1000)
    336  #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C >> 16) & 0xf) * 10) + ((__SUNPRO_C >> 12) & 0xf), (((__SUNPRO_C >> 8) & 0xf) * 10) + ((__SUNPRO_C >> 4) & 0xf), (__SUNPRO_C & 0xf) * 10)
    337 #elif defined(__SUNPRO_C)
    338  #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C >> 8) & 0xf, (__SUNPRO_C >> 4) & 0xf, (__SUNPRO_C) & 0xf)
    339 #elif defined(__SUNPRO_CC) && (__SUNPRO_CC > 0x1000)
    340  #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC >> 16) & 0xf) * 10) + ((__SUNPRO_CC >> 12) & 0xf), (((__SUNPRO_CC >> 8) & 0xf) * 10) + ((__SUNPRO_CC >> 4) & 0xf), (__SUNPRO_CC & 0xf) * 10)
    341 #elif defined(__SUNPRO_CC)
    342  #define JSON_HEDLEY_SUNPRO_VERSION JSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC >> 8) & 0xf, (__SUNPRO_CC >> 4) & 0xf, (__SUNPRO_CC) & 0xf)
    343 #endif
    344 
    345 #if defined(JSON_HEDLEY_SUNPRO_VERSION_CHECK)
    346  #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK
    347 #endif
    348 #if defined(JSON_HEDLEY_SUNPRO_VERSION)
    349  #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_SUNPRO_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    350 #else
    351  #define JSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch) (0)
    352 #endif
    353 
    354 #if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION)
    355  #undef JSON_HEDLEY_EMSCRIPTEN_VERSION
    356 #endif
    357 #if defined(__EMSCRIPTEN__)
    358  #define JSON_HEDLEY_EMSCRIPTEN_VERSION JSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__, __EMSCRIPTEN_minor__, __EMSCRIPTEN_tiny__)
    359 #endif
    360 
    361 #if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK)
    362  #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK
    363 #endif
    364 #if defined(JSON_HEDLEY_EMSCRIPTEN_VERSION)
    365  #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_EMSCRIPTEN_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    366 #else
    367  #define JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch) (0)
    368 #endif
    369 
    370 #if defined(JSON_HEDLEY_ARM_VERSION)
    371  #undef JSON_HEDLEY_ARM_VERSION
    372 #endif
    373 #if defined(__CC_ARM) && defined(__ARMCOMPILER_VERSION)
    374  #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION / 1000000, (__ARMCOMPILER_VERSION % 1000000) / 10000, (__ARMCOMPILER_VERSION % 10000) / 100)
    375 #elif defined(__CC_ARM) && defined(__ARMCC_VERSION)
    376  #define JSON_HEDLEY_ARM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION / 1000000, (__ARMCC_VERSION % 1000000) / 10000, (__ARMCC_VERSION % 10000) / 100)
    377 #endif
    378 
    379 #if defined(JSON_HEDLEY_ARM_VERSION_CHECK)
    380  #undef JSON_HEDLEY_ARM_VERSION_CHECK
    381 #endif
    382 #if defined(JSON_HEDLEY_ARM_VERSION)
    383  #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_ARM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    384 #else
    385  #define JSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch) (0)
    386 #endif
    387 
    388 #if defined(JSON_HEDLEY_IBM_VERSION)
    389  #undef JSON_HEDLEY_IBM_VERSION
    390 #endif
    391 #if defined(__ibmxl__)
    392  #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__, __ibmxl_release__, __ibmxl_modification__)
    393 #elif defined(__xlC__) && defined(__xlC_ver__)
    394  #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, (__xlC_ver__ >> 8) & 0xff)
    395 #elif defined(__xlC__)
    396  #define JSON_HEDLEY_IBM_VERSION JSON_HEDLEY_VERSION_ENCODE(__xlC__ >> 8, __xlC__ & 0xff, 0)
    397 #endif
    398 
    399 #if defined(JSON_HEDLEY_IBM_VERSION_CHECK)
    400  #undef JSON_HEDLEY_IBM_VERSION_CHECK
    401 #endif
    402 #if defined(JSON_HEDLEY_IBM_VERSION)
    403  #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IBM_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    404 #else
    405  #define JSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch) (0)
    406 #endif
    407 
    408 #if defined(JSON_HEDLEY_TI_VERSION)
    409  #undef JSON_HEDLEY_TI_VERSION
    410 #endif
    411 #if \
    412  defined(__TI_COMPILER_VERSION__) && \
    413  ( \
    414  defined(__TMS470__) || defined(__TI_ARM__) || \
    415  defined(__MSP430__) || \
    416  defined(__TMS320C2000__) \
    417  )
    418 #if (__TI_COMPILER_VERSION__ >= 16000000)
    419  #define JSON_HEDLEY_TI_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    420 #endif
    421 #endif
    422 
    423 #if defined(JSON_HEDLEY_TI_VERSION_CHECK)
    424  #undef JSON_HEDLEY_TI_VERSION_CHECK
    425 #endif
    426 #if defined(JSON_HEDLEY_TI_VERSION)
    427  #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    428 #else
    429  #define JSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch) (0)
    430 #endif
    431 
    432 #if defined(JSON_HEDLEY_TI_CL2000_VERSION)
    433  #undef JSON_HEDLEY_TI_CL2000_VERSION
    434 #endif
    435 #if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C2000__)
    436  #define JSON_HEDLEY_TI_CL2000_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    437 #endif
    438 
    439 #if defined(JSON_HEDLEY_TI_CL2000_VERSION_CHECK)
    440  #undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK
    441 #endif
    442 #if defined(JSON_HEDLEY_TI_CL2000_VERSION)
    443  #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL2000_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    444 #else
    445  #define JSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch) (0)
    446 #endif
    447 
    448 #if defined(JSON_HEDLEY_TI_CL430_VERSION)
    449  #undef JSON_HEDLEY_TI_CL430_VERSION
    450 #endif
    451 #if defined(__TI_COMPILER_VERSION__) && defined(__MSP430__)
    452  #define JSON_HEDLEY_TI_CL430_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    453 #endif
    454 
    455 #if defined(JSON_HEDLEY_TI_CL430_VERSION_CHECK)
    456  #undef JSON_HEDLEY_TI_CL430_VERSION_CHECK
    457 #endif
    458 #if defined(JSON_HEDLEY_TI_CL430_VERSION)
    459  #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL430_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    460 #else
    461  #define JSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch) (0)
    462 #endif
    463 
    464 #if defined(JSON_HEDLEY_TI_ARMCL_VERSION)
    465  #undef JSON_HEDLEY_TI_ARMCL_VERSION
    466 #endif
    467 #if defined(__TI_COMPILER_VERSION__) && (defined(__TMS470__) || defined(__TI_ARM__))
    468  #define JSON_HEDLEY_TI_ARMCL_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    469 #endif
    470 
    471 #if defined(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK)
    472  #undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK
    473 #endif
    474 #if defined(JSON_HEDLEY_TI_ARMCL_VERSION)
    475  #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_ARMCL_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    476 #else
    477  #define JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch) (0)
    478 #endif
    479 
    480 #if defined(JSON_HEDLEY_TI_CL6X_VERSION)
    481  #undef JSON_HEDLEY_TI_CL6X_VERSION
    482 #endif
    483 #if defined(__TI_COMPILER_VERSION__) && defined(__TMS320C6X__)
    484  #define JSON_HEDLEY_TI_CL6X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    485 #endif
    486 
    487 #if defined(JSON_HEDLEY_TI_CL6X_VERSION_CHECK)
    488  #undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK
    489 #endif
    490 #if defined(JSON_HEDLEY_TI_CL6X_VERSION)
    491  #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL6X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    492 #else
    493  #define JSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch) (0)
    494 #endif
    495 
    496 #if defined(JSON_HEDLEY_TI_CL7X_VERSION)
    497  #undef JSON_HEDLEY_TI_CL7X_VERSION
    498 #endif
    499 #if defined(__TI_COMPILER_VERSION__) && defined(__C7000__)
    500  #define JSON_HEDLEY_TI_CL7X_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    501 #endif
    502 
    503 #if defined(JSON_HEDLEY_TI_CL7X_VERSION_CHECK)
    504  #undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK
    505 #endif
    506 #if defined(JSON_HEDLEY_TI_CL7X_VERSION)
    507  #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CL7X_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    508 #else
    509  #define JSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch) (0)
    510 #endif
    511 
    512 #if defined(JSON_HEDLEY_TI_CLPRU_VERSION)
    513  #undef JSON_HEDLEY_TI_CLPRU_VERSION
    514 #endif
    515 #if defined(__TI_COMPILER_VERSION__) && defined(__PRU__)
    516  #define JSON_HEDLEY_TI_CLPRU_VERSION JSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__ / 1000000, (__TI_COMPILER_VERSION__ % 1000000) / 1000, (__TI_COMPILER_VERSION__ % 1000))
    517 #endif
    518 
    519 #if defined(JSON_HEDLEY_TI_CLPRU_VERSION_CHECK)
    520  #undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK
    521 #endif
    522 #if defined(JSON_HEDLEY_TI_CLPRU_VERSION)
    523  #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TI_CLPRU_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    524 #else
    525  #define JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch) (0)
    526 #endif
    527 
    528 #if defined(JSON_HEDLEY_CRAY_VERSION)
    529  #undef JSON_HEDLEY_CRAY_VERSION
    530 #endif
    531 #if defined(_CRAYC)
    532  #if defined(_RELEASE_PATCHLEVEL)
    533  #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, _RELEASE_PATCHLEVEL)
    534  #else
    535  #define JSON_HEDLEY_CRAY_VERSION JSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR, _RELEASE_MINOR, 0)
    536  #endif
    537 #endif
    538 
    539 #if defined(JSON_HEDLEY_CRAY_VERSION_CHECK)
    540  #undef JSON_HEDLEY_CRAY_VERSION_CHECK
    541 #endif
    542 #if defined(JSON_HEDLEY_CRAY_VERSION)
    543  #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_CRAY_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    544 #else
    545  #define JSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch) (0)
    546 #endif
    547 
    548 #if defined(JSON_HEDLEY_IAR_VERSION)
    549  #undef JSON_HEDLEY_IAR_VERSION
    550 #endif
    551 #if defined(__IAR_SYSTEMS_ICC__)
    552  #if __VER__ > 1000
    553  #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE((__VER__ / 1000000), ((__VER__ / 1000) % 1000), (__VER__ % 1000))
    554  #else
    555  #define JSON_HEDLEY_IAR_VERSION JSON_HEDLEY_VERSION_ENCODE(__VER__ / 100, __VER__ % 100, 0)
    556  #endif
    557 #endif
    558 
    559 #if defined(JSON_HEDLEY_IAR_VERSION_CHECK)
    560  #undef JSON_HEDLEY_IAR_VERSION_CHECK
    561 #endif
    562 #if defined(JSON_HEDLEY_IAR_VERSION)
    563  #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_IAR_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    564 #else
    565  #define JSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch) (0)
    566 #endif
    567 
    568 #if defined(JSON_HEDLEY_TINYC_VERSION)
    569  #undef JSON_HEDLEY_TINYC_VERSION
    570 #endif
    571 #if defined(__TINYC__)
    572  #define JSON_HEDLEY_TINYC_VERSION JSON_HEDLEY_VERSION_ENCODE(__TINYC__ / 1000, (__TINYC__ / 100) % 10, __TINYC__ % 100)
    573 #endif
    574 
    575 #if defined(JSON_HEDLEY_TINYC_VERSION_CHECK)
    576  #undef JSON_HEDLEY_TINYC_VERSION_CHECK
    577 #endif
    578 #if defined(JSON_HEDLEY_TINYC_VERSION)
    579  #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_TINYC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    580 #else
    581  #define JSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch) (0)
    582 #endif
    583 
    584 #if defined(JSON_HEDLEY_DMC_VERSION)
    585  #undef JSON_HEDLEY_DMC_VERSION
    586 #endif
    587 #if defined(__DMC__)
    588  #define JSON_HEDLEY_DMC_VERSION JSON_HEDLEY_VERSION_ENCODE(__DMC__ >> 8, (__DMC__ >> 4) & 0xf, __DMC__ & 0xf)
    589 #endif
    590 
    591 #if defined(JSON_HEDLEY_DMC_VERSION_CHECK)
    592  #undef JSON_HEDLEY_DMC_VERSION_CHECK
    593 #endif
    594 #if defined(JSON_HEDLEY_DMC_VERSION)
    595  #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_DMC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    596 #else
    597  #define JSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch) (0)
    598 #endif
    599 
    600 #if defined(JSON_HEDLEY_COMPCERT_VERSION)
    601  #undef JSON_HEDLEY_COMPCERT_VERSION
    602 #endif
    603 #if defined(__COMPCERT_VERSION__)
    604  #define JSON_HEDLEY_COMPCERT_VERSION JSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__ / 10000, (__COMPCERT_VERSION__ / 100) % 100, __COMPCERT_VERSION__ % 100)
    605 #endif
    606 
    607 #if defined(JSON_HEDLEY_COMPCERT_VERSION_CHECK)
    608  #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK
    609 #endif
    610 #if defined(JSON_HEDLEY_COMPCERT_VERSION)
    611  #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_COMPCERT_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    612 #else
    613  #define JSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch) (0)
    614 #endif
    615 
    616 #if defined(JSON_HEDLEY_PELLES_VERSION)
    617  #undef JSON_HEDLEY_PELLES_VERSION
    618 #endif
    619 #if defined(__POCC__)
    620  #define JSON_HEDLEY_PELLES_VERSION JSON_HEDLEY_VERSION_ENCODE(__POCC__ / 100, __POCC__ % 100, 0)
    621 #endif
    622 
    623 #if defined(JSON_HEDLEY_PELLES_VERSION_CHECK)
    624  #undef JSON_HEDLEY_PELLES_VERSION_CHECK
    625 #endif
    626 #if defined(JSON_HEDLEY_PELLES_VERSION)
    627  #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_PELLES_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    628 #else
    629  #define JSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch) (0)
    630 #endif
    631 
    632 #if defined(JSON_HEDLEY_MCST_LCC_VERSION)
    633  #undef JSON_HEDLEY_MCST_LCC_VERSION
    634 #endif
    635 #if defined(__LCC__) && defined(__LCC_MINOR__)
    636  #define JSON_HEDLEY_MCST_LCC_VERSION JSON_HEDLEY_VERSION_ENCODE(__LCC__ / 100, __LCC__ % 100, __LCC_MINOR__)
    637 #endif
    638 
    639 #if defined(JSON_HEDLEY_MCST_LCC_VERSION_CHECK)
    640  #undef JSON_HEDLEY_MCST_LCC_VERSION_CHECK
    641 #endif
    642 #if defined(JSON_HEDLEY_MCST_LCC_VERSION)
    643  #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_MCST_LCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    644 #else
    645  #define JSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch) (0)
    646 #endif
    647 
    648 #if defined(JSON_HEDLEY_GCC_VERSION)
    649  #undef JSON_HEDLEY_GCC_VERSION
    650 #endif
    651 #if \
    652  defined(JSON_HEDLEY_GNUC_VERSION) && \
    653  !defined(__clang__) && \
    654  !defined(JSON_HEDLEY_INTEL_VERSION) && \
    655  !defined(JSON_HEDLEY_PGI_VERSION) && \
    656  !defined(JSON_HEDLEY_ARM_VERSION) && \
    657  !defined(JSON_HEDLEY_CRAY_VERSION) && \
    658  !defined(JSON_HEDLEY_TI_VERSION) && \
    659  !defined(JSON_HEDLEY_TI_ARMCL_VERSION) && \
    660  !defined(JSON_HEDLEY_TI_CL430_VERSION) && \
    661  !defined(JSON_HEDLEY_TI_CL2000_VERSION) && \
    662  !defined(JSON_HEDLEY_TI_CL6X_VERSION) && \
    663  !defined(JSON_HEDLEY_TI_CL7X_VERSION) && \
    664  !defined(JSON_HEDLEY_TI_CLPRU_VERSION) && \
    665  !defined(__COMPCERT__) && \
    666  !defined(JSON_HEDLEY_MCST_LCC_VERSION)
    667  #define JSON_HEDLEY_GCC_VERSION JSON_HEDLEY_GNUC_VERSION
    668 #endif
    669 
    670 #if defined(JSON_HEDLEY_GCC_VERSION_CHECK)
    671  #undef JSON_HEDLEY_GCC_VERSION_CHECK
    672 #endif
    673 #if defined(JSON_HEDLEY_GCC_VERSION)
    674  #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (JSON_HEDLEY_GCC_VERSION >= JSON_HEDLEY_VERSION_ENCODE(major, minor, patch))
    675 #else
    676  #define JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) (0)
    677 #endif
    678 
    679 #if defined(JSON_HEDLEY_HAS_ATTRIBUTE)
    680  #undef JSON_HEDLEY_HAS_ATTRIBUTE
    681 #endif
    682 #if \
    683  defined(__has_attribute) && \
    684  ( \
    685  (!defined(JSON_HEDLEY_IAR_VERSION) || JSON_HEDLEY_IAR_VERSION_CHECK(8,5,9)) \
    686  )
    687 # define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) __has_attribute(attribute)
    688 #else
    689 # define JSON_HEDLEY_HAS_ATTRIBUTE(attribute) (0)
    690 #endif
    691 
    692 #if defined(JSON_HEDLEY_GNUC_HAS_ATTRIBUTE)
    693  #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE
    694 #endif
    695 #if defined(__has_attribute)
    696  #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
    697 #else
    698  #define JSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
    699 #endif
    700 
    701 #if defined(JSON_HEDLEY_GCC_HAS_ATTRIBUTE)
    702  #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE
    703 #endif
    704 #if defined(__has_attribute)
    705  #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
    706 #else
    707  #define JSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
    708 #endif
    709 
    710 #if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE)
    711  #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE
    712 #endif
    713 #if \
    714  defined(__has_cpp_attribute) && \
    715  defined(__cplusplus) && \
    716  (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0))
    717  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) __has_cpp_attribute(attribute)
    718 #else
    719  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) (0)
    720 #endif
    721 
    722 #if defined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS)
    723  #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
    724 #endif
    725 #if !defined(__cplusplus) || !defined(__has_cpp_attribute)
    726  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0)
    727 #elif \
    728  !defined(JSON_HEDLEY_PGI_VERSION) && \
    729  !defined(JSON_HEDLEY_IAR_VERSION) && \
    730  (!defined(JSON_HEDLEY_SUNPRO_VERSION) || JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) && \
    731  (!defined(JSON_HEDLEY_MSVC_VERSION) || JSON_HEDLEY_MSVC_VERSION_CHECK(19,20,0))
    732  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(ns::attribute)
    733 #else
    734  #define JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute) (0)
    735 #endif
    736 
    737 #if defined(JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE)
    738  #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
    739 #endif
    740 #if defined(__has_cpp_attribute) && defined(__cplusplus)
    741  #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute)
    742 #else
    743  #define JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
    744 #endif
    745 
    746 #if defined(JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE)
    747  #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE
    748 #endif
    749 #if defined(__has_cpp_attribute) && defined(__cplusplus)
    750  #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) __has_cpp_attribute(attribute)
    751 #else
    752  #define JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
    753 #endif
    754 
    755 #if defined(JSON_HEDLEY_HAS_BUILTIN)
    756  #undef JSON_HEDLEY_HAS_BUILTIN
    757 #endif
    758 #if defined(__has_builtin)
    759  #define JSON_HEDLEY_HAS_BUILTIN(builtin) __has_builtin(builtin)
    760 #else
    761  #define JSON_HEDLEY_HAS_BUILTIN(builtin) (0)
    762 #endif
    763 
    764 #if defined(JSON_HEDLEY_GNUC_HAS_BUILTIN)
    765  #undef JSON_HEDLEY_GNUC_HAS_BUILTIN
    766 #endif
    767 #if defined(__has_builtin)
    768  #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin)
    769 #else
    770  #define JSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
    771 #endif
    772 
    773 #if defined(JSON_HEDLEY_GCC_HAS_BUILTIN)
    774  #undef JSON_HEDLEY_GCC_HAS_BUILTIN
    775 #endif
    776 #if defined(__has_builtin)
    777  #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) __has_builtin(builtin)
    778 #else
    779  #define JSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
    780 #endif
    781 
    782 #if defined(JSON_HEDLEY_HAS_FEATURE)
    783  #undef JSON_HEDLEY_HAS_FEATURE
    784 #endif
    785 #if defined(__has_feature)
    786  #define JSON_HEDLEY_HAS_FEATURE(feature) __has_feature(feature)
    787 #else
    788  #define JSON_HEDLEY_HAS_FEATURE(feature) (0)
    789 #endif
    790 
    791 #if defined(JSON_HEDLEY_GNUC_HAS_FEATURE)
    792  #undef JSON_HEDLEY_GNUC_HAS_FEATURE
    793 #endif
    794 #if defined(__has_feature)
    795  #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature)
    796 #else
    797  #define JSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
    798 #endif
    799 
    800 #if defined(JSON_HEDLEY_GCC_HAS_FEATURE)
    801  #undef JSON_HEDLEY_GCC_HAS_FEATURE
    802 #endif
    803 #if defined(__has_feature)
    804  #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) __has_feature(feature)
    805 #else
    806  #define JSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
    807 #endif
    808 
    809 #if defined(JSON_HEDLEY_HAS_EXTENSION)
    810  #undef JSON_HEDLEY_HAS_EXTENSION
    811 #endif
    812 #if defined(__has_extension)
    813  #define JSON_HEDLEY_HAS_EXTENSION(extension) __has_extension(extension)
    814 #else
    815  #define JSON_HEDLEY_HAS_EXTENSION(extension) (0)
    816 #endif
    817 
    818 #if defined(JSON_HEDLEY_GNUC_HAS_EXTENSION)
    819  #undef JSON_HEDLEY_GNUC_HAS_EXTENSION
    820 #endif
    821 #if defined(__has_extension)
    822  #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension)
    823 #else
    824  #define JSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
    825 #endif
    826 
    827 #if defined(JSON_HEDLEY_GCC_HAS_EXTENSION)
    828  #undef JSON_HEDLEY_GCC_HAS_EXTENSION
    829 #endif
    830 #if defined(__has_extension)
    831  #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) __has_extension(extension)
    832 #else
    833  #define JSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
    834 #endif
    835 
    836 #if defined(JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE)
    837  #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE
    838 #endif
    839 #if defined(__has_declspec_attribute)
    840  #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) __has_declspec_attribute(attribute)
    841 #else
    842  #define JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) (0)
    843 #endif
    844 
    845 #if defined(JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE)
    846  #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
    847 #endif
    848 #if defined(__has_declspec_attribute)
    849  #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute)
    850 #else
    851  #define JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
    852 #endif
    853 
    854 #if defined(JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE)
    855  #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
    856 #endif
    857 #if defined(__has_declspec_attribute)
    858  #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) __has_declspec_attribute(attribute)
    859 #else
    860  #define JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
    861 #endif
    862 
    863 #if defined(JSON_HEDLEY_HAS_WARNING)
    864  #undef JSON_HEDLEY_HAS_WARNING
    865 #endif
    866 #if defined(__has_warning)
    867  #define JSON_HEDLEY_HAS_WARNING(warning) __has_warning(warning)
    868 #else
    869  #define JSON_HEDLEY_HAS_WARNING(warning) (0)
    870 #endif
    871 
    872 #if defined(JSON_HEDLEY_GNUC_HAS_WARNING)
    873  #undef JSON_HEDLEY_GNUC_HAS_WARNING
    874 #endif
    875 #if defined(__has_warning)
    876  #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning)
    877 #else
    878  #define JSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)
    879 #endif
    880 
    881 #if defined(JSON_HEDLEY_GCC_HAS_WARNING)
    882  #undef JSON_HEDLEY_GCC_HAS_WARNING
    883 #endif
    884 #if defined(__has_warning)
    885  #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) __has_warning(warning)
    886 #else
    887  #define JSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
    888 #endif
    889 
    890 #if \
    891  (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \
    892  defined(__clang__) || \
    893  JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \
    894  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    895  JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \
    896  JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \
    897  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
    898  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
    899  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \
    900  JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \
    901  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \
    902  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,0,0) || \
    903  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    904  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
    905  JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) || \
    906  JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,17) || \
    907  JSON_HEDLEY_SUNPRO_VERSION_CHECK(8,0,0) || \
    908  (JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) && defined(__C99_PRAGMA_OPERATOR))
    909  #define JSON_HEDLEY_PRAGMA(value) _Pragma(#value)
    910 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
    911  #define JSON_HEDLEY_PRAGMA(value) __pragma(value)
    912 #else
    913  #define JSON_HEDLEY_PRAGMA(value)
    914 #endif
    915 
    916 #if defined(JSON_HEDLEY_DIAGNOSTIC_PUSH)
    917  #undef JSON_HEDLEY_DIAGNOSTIC_PUSH
    918 #endif
    919 #if defined(JSON_HEDLEY_DIAGNOSTIC_POP)
    920  #undef JSON_HEDLEY_DIAGNOSTIC_POP
    921 #endif
    922 #if defined(__clang__)
    923  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("clang diagnostic push")
    924  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("clang diagnostic pop")
    925 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
    926  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)")
    927  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)")
    928 #elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0)
    929  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("GCC diagnostic push")
    930  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("GCC diagnostic pop")
    931 #elif \
    932  JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \
    933  JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
    934  #define JSON_HEDLEY_DIAGNOSTIC_PUSH __pragma(warning(push))
    935  #define JSON_HEDLEY_DIAGNOSTIC_POP __pragma(warning(pop))
    936 #elif JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0)
    937  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("push")
    938  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("pop")
    939 #elif \
    940  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
    941  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
    942  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,4,0) || \
    943  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \
    944  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    945  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)
    946  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("diag_push")
    947  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("diag_pop")
    948 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0)
    949  #define JSON_HEDLEY_DIAGNOSTIC_PUSH _Pragma("warning(push)")
    950  #define JSON_HEDLEY_DIAGNOSTIC_POP _Pragma("warning(pop)")
    951 #else
    952  #define JSON_HEDLEY_DIAGNOSTIC_PUSH
    953  #define JSON_HEDLEY_DIAGNOSTIC_POP
    954 #endif
    955 
    956 /* JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ is for
    957  HEDLEY INTERNAL USE ONLY. API subject to change without notice. */
    958 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_)
    959  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
    960 #endif
    961 #if defined(__cplusplus)
    962 # if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat")
    963 # if JSON_HEDLEY_HAS_WARNING("-Wc++17-extensions")
    964 # if JSON_HEDLEY_HAS_WARNING("-Wc++1z-extensions")
    965 # define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \
    966  JSON_HEDLEY_DIAGNOSTIC_PUSH \
    967  _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \
    968  _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \
    969  _Pragma("clang diagnostic ignored \"-Wc++1z-extensions\"") \
    970  xpr \
    971  JSON_HEDLEY_DIAGNOSTIC_POP
    972 # else
    973 # define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \
    974  JSON_HEDLEY_DIAGNOSTIC_PUSH \
    975  _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \
    976  _Pragma("clang diagnostic ignored \"-Wc++17-extensions\"") \
    977  xpr \
    978  JSON_HEDLEY_DIAGNOSTIC_POP
    979 # endif
    980 # else
    981 # define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr) \
    982  JSON_HEDLEY_DIAGNOSTIC_PUSH \
    983  _Pragma("clang diagnostic ignored \"-Wc++98-compat\"") \
    984  xpr \
    985  JSON_HEDLEY_DIAGNOSTIC_POP
    986 # endif
    987 # endif
    988 #endif
    989 #if !defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_)
    990  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x) x
    991 #endif
    992 
    993 #if defined(JSON_HEDLEY_CONST_CAST)
    994  #undef JSON_HEDLEY_CONST_CAST
    995 #endif
    996 #if defined(__cplusplus)
    997 # define JSON_HEDLEY_CONST_CAST(T, expr) (const_cast<T>(expr))
    998 #elif \
    999  JSON_HEDLEY_HAS_WARNING("-Wcast-qual") || \
    1000  JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) || \
    1001  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
    1002 # define JSON_HEDLEY_CONST_CAST(T, expr) (__extension__ ({ \
    1003  JSON_HEDLEY_DIAGNOSTIC_PUSH \
    1004  JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL \
    1005  ((T) (expr)); \
    1006  JSON_HEDLEY_DIAGNOSTIC_POP \
    1007  }))
    1008 #else
    1009 # define JSON_HEDLEY_CONST_CAST(T, expr) ((T) (expr))
    1010 #endif
    1011 
    1012 #if defined(JSON_HEDLEY_REINTERPRET_CAST)
    1013  #undef JSON_HEDLEY_REINTERPRET_CAST
    1014 #endif
    1015 #if defined(__cplusplus)
    1016  #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) (reinterpret_cast<T>(expr))
    1017 #else
    1018  #define JSON_HEDLEY_REINTERPRET_CAST(T, expr) ((T) (expr))
    1019 #endif
    1020 
    1021 #if defined(JSON_HEDLEY_STATIC_CAST)
    1022  #undef JSON_HEDLEY_STATIC_CAST
    1023 #endif
    1024 #if defined(__cplusplus)
    1025  #define JSON_HEDLEY_STATIC_CAST(T, expr) (static_cast<T>(expr))
    1026 #else
    1027  #define JSON_HEDLEY_STATIC_CAST(T, expr) ((T) (expr))
    1028 #endif
    1029 
    1030 #if defined(JSON_HEDLEY_CPP_CAST)
    1031  #undef JSON_HEDLEY_CPP_CAST
    1032 #endif
    1033 #if defined(__cplusplus)
    1034 # if JSON_HEDLEY_HAS_WARNING("-Wold-style-cast")
    1035 # define JSON_HEDLEY_CPP_CAST(T, expr) \
    1036  JSON_HEDLEY_DIAGNOSTIC_PUSH \
    1037  _Pragma("clang diagnostic ignored \"-Wold-style-cast\"") \
    1038  ((T) (expr)) \
    1039  JSON_HEDLEY_DIAGNOSTIC_POP
    1040 # elif JSON_HEDLEY_IAR_VERSION_CHECK(8,3,0)
    1041 # define JSON_HEDLEY_CPP_CAST(T, expr) \
    1042  JSON_HEDLEY_DIAGNOSTIC_PUSH \
    1043  _Pragma("diag_suppress=Pe137") \
    1044  JSON_HEDLEY_DIAGNOSTIC_POP
    1045 # else
    1046 # define JSON_HEDLEY_CPP_CAST(T, expr) ((T) (expr))
    1047 # endif
    1048 #else
    1049 # define JSON_HEDLEY_CPP_CAST(T, expr) (expr)
    1050 #endif
    1051 
    1052 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED)
    1053  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
    1054 #endif
    1055 #if JSON_HEDLEY_HAS_WARNING("-Wdeprecated-declarations")
    1056  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("clang diagnostic ignored \"-Wdeprecated-declarations\"")
    1057 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
    1058  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warning(disable:1478 1786)")
    1059 #elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
    1060  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:1478 1786))
    1061 #elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0)
    1062  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1216,1444,1445")
    1063 #elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
    1064  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444")
    1065 #elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0)
    1066  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
    1067 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
    1068  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED __pragma(warning(disable:4996))
    1069 #elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1070  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1215,1444")
    1071 #elif \
    1072  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
    1073  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1074  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
    1075  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1076  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
    1077  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1078  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
    1079  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1080  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
    1081  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    1082  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)
    1083  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress 1291,1718")
    1084 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && !defined(__cplusplus)
    1085  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)")
    1086 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) && defined(__cplusplus)
    1087  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("error_messages(off,symdeprecated,symdeprecated2)")
    1088 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
    1089  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("diag_suppress=Pe1444,Pe1215")
    1090 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0)
    1091  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED _Pragma("warn(disable:2241)")
    1092 #else
    1093  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
    1094 #endif
    1095 
    1096 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS)
    1097  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
    1098 #endif
    1099 #if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas")
    1100  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("clang diagnostic ignored \"-Wunknown-pragmas\"")
    1101 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
    1102  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("warning(disable:161)")
    1103 #elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
    1104  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:161))
    1105 #elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
    1106  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 1675")
    1107 #elif JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0)
    1108  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("GCC diagnostic ignored \"-Wunknown-pragmas\"")
    1109 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)
    1110  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS __pragma(warning(disable:4068))
    1111 #elif \
    1112  JSON_HEDLEY_TI_VERSION_CHECK(16,9,0) || \
    1113  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \
    1114  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    1115  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0)
    1116  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163")
    1117 #elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0)
    1118  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 163")
    1119 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
    1120  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress=Pe161")
    1121 #elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1122  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS _Pragma("diag_suppress 161")
    1123 #else
    1124  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
    1125 #endif
    1126 
    1127 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES)
    1128  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
    1129 #endif
    1130 #if JSON_HEDLEY_HAS_WARNING("-Wunknown-attributes")
    1131  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("clang diagnostic ignored \"-Wunknown-attributes\"")
    1132 #elif JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0)
    1133  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
    1134 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0)
    1135  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("warning(disable:1292)")
    1136 #elif JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
    1137  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:1292))
    1138 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,0)
    1139  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES __pragma(warning(disable:5030))
    1140 #elif JSON_HEDLEY_PGI_VERSION_CHECK(20,7,0)
    1141  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097,1098")
    1142 #elif JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)
    1143  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097")
    1144 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)
    1145  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("error_messages(off,attrskipunsup)")
    1146 #elif \
    1147  JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \
    1148  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \
    1149  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)
    1150  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1173")
    1151 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
    1152  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress=Pe1097")
    1153 #elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1154  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES _Pragma("diag_suppress 1097")
    1155 #else
    1156  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
    1157 #endif
    1158 
    1159 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL)
    1160  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
    1161 #endif
    1162 #if JSON_HEDLEY_HAS_WARNING("-Wcast-qual")
    1163  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("clang diagnostic ignored \"-Wcast-qual\"")
    1164 #elif JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
    1165  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("warning(disable:2203 2331)")
    1166 #elif JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0)
    1167  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL _Pragma("GCC diagnostic ignored \"-Wcast-qual\"")
    1168 #else
    1169  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
    1170 #endif
    1171 
    1172 #if defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION)
    1173  #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION
    1174 #endif
    1175 #if JSON_HEDLEY_HAS_WARNING("-Wunused-function")
    1176  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("clang diagnostic ignored \"-Wunused-function\"")
    1177 #elif JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0)
    1178  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("GCC diagnostic ignored \"-Wunused-function\"")
    1179 #elif JSON_HEDLEY_MSVC_VERSION_CHECK(1,0,0)
    1180  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION __pragma(warning(disable:4505))
    1181 #elif JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1182  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION _Pragma("diag_suppress 3142")
    1183 #else
    1184  #define JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION
    1185 #endif
    1186 
    1187 #if defined(JSON_HEDLEY_DEPRECATED)
    1188  #undef JSON_HEDLEY_DEPRECATED
    1189 #endif
    1190 #if defined(JSON_HEDLEY_DEPRECATED_FOR)
    1191  #undef JSON_HEDLEY_DEPRECATED_FOR
    1192 #endif
    1193 #if \
    1194  JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \
    1195  JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
    1196  #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated("Since " # since))
    1197  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated("Since " #since "; use " #replacement))
    1198 #elif \
    1199  (JSON_HEDLEY_HAS_EXTENSION(attribute_deprecated_with_message) && !defined(JSON_HEDLEY_IAR_VERSION)) || \
    1200  JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \
    1201  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1202  JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \
    1203  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0) || \
    1204  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \
    1205  JSON_HEDLEY_TI_VERSION_CHECK(18,1,0) || \
    1206  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(18,1,0) || \
    1207  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0) || \
    1208  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    1209  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) || \
    1210  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1211  #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__("Since " #since)))
    1212  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__("Since " #since "; use " #replacement)))
    1213 #elif defined(__cplusplus) && (__cplusplus >= 201402L)
    1214  #define JSON_HEDLEY_DEPRECATED(since) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since)]])
    1215  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since " #since "; use " #replacement)]])
    1216 #elif \
    1217  JSON_HEDLEY_HAS_ATTRIBUTE(deprecated) || \
    1218  JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
    1219  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
    1220  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
    1221  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1222  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
    1223  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1224  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
    1225  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1226  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
    1227  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1228  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
    1229  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    1230  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
    1231  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \
    1232  JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0)
    1233  #define JSON_HEDLEY_DEPRECATED(since) __attribute__((__deprecated__))
    1234  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __attribute__((__deprecated__))
    1235 #elif \
    1236  JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \
    1237  JSON_HEDLEY_PELLES_VERSION_CHECK(6,50,0) || \
    1238  JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
    1239  #define JSON_HEDLEY_DEPRECATED(since) __declspec(deprecated)
    1240  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) __declspec(deprecated)
    1241 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
    1242  #define JSON_HEDLEY_DEPRECATED(since) _Pragma("deprecated")
    1243  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement) _Pragma("deprecated")
    1244 #else
    1245  #define JSON_HEDLEY_DEPRECATED(since)
    1246  #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
    1247 #endif
    1248 
    1249 #if defined(JSON_HEDLEY_UNAVAILABLE)
    1250  #undef JSON_HEDLEY_UNAVAILABLE
    1251 #endif
    1252 #if \
    1253  JSON_HEDLEY_HAS_ATTRIBUTE(warning) || \
    1254  JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) || \
    1255  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1256  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1257  #define JSON_HEDLEY_UNAVAILABLE(available_since) __attribute__((__warning__("Not available until " #available_since)))
    1258 #else
    1259  #define JSON_HEDLEY_UNAVAILABLE(available_since)
    1260 #endif
    1261 
    1262 #if defined(JSON_HEDLEY_WARN_UNUSED_RESULT)
    1263  #undef JSON_HEDLEY_WARN_UNUSED_RESULT
    1264 #endif
    1265 #if defined(JSON_HEDLEY_WARN_UNUSED_RESULT_MSG)
    1266  #undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
    1267 #endif
    1268 #if \
    1269  JSON_HEDLEY_HAS_ATTRIBUTE(warn_unused_result) || \
    1270  JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \
    1271  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1272  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
    1273  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1274  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
    1275  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1276  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
    1277  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1278  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
    1279  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1280  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
    1281  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    1282  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
    1283  (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \
    1284  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \
    1285  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1286  #define JSON_HEDLEY_WARN_UNUSED_RESULT __attribute__((__warn_unused_result__))
    1287  #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) __attribute__((__warn_unused_result__))
    1288 #elif (JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) >= 201907L)
    1289  #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]])
    1290  #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard(msg)]])
    1291 #elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard)
    1292  #define JSON_HEDLEY_WARN_UNUSED_RESULT JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]])
    1293  #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]])
    1294 #elif defined(_Check_return_) /* SAL */
    1295  #define JSON_HEDLEY_WARN_UNUSED_RESULT _Check_return_
    1296  #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) _Check_return_
    1297 #else
    1298  #define JSON_HEDLEY_WARN_UNUSED_RESULT
    1299  #define JSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)
    1300 #endif
    1301 
    1302 #if defined(JSON_HEDLEY_SENTINEL)
    1303  #undef JSON_HEDLEY_SENTINEL
    1304 #endif
    1305 #if \
    1306  JSON_HEDLEY_HAS_ATTRIBUTE(sentinel) || \
    1307  JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \
    1308  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1309  JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \
    1310  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1311  #define JSON_HEDLEY_SENTINEL(position) __attribute__((__sentinel__(position)))
    1312 #else
    1313  #define JSON_HEDLEY_SENTINEL(position)
    1314 #endif
    1315 
    1316 #if defined(JSON_HEDLEY_NO_RETURN)
    1317  #undef JSON_HEDLEY_NO_RETURN
    1318 #endif
    1319 #if JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
    1320  #define JSON_HEDLEY_NO_RETURN __noreturn
    1321 #elif \
    1322  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1323  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1324  #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__))
    1325 #elif defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L
    1326  #define JSON_HEDLEY_NO_RETURN _Noreturn
    1327 #elif defined(__cplusplus) && (__cplusplus >= 201103L)
    1328  #define JSON_HEDLEY_NO_RETURN JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]])
    1329 #elif \
    1330  JSON_HEDLEY_HAS_ATTRIBUTE(noreturn) || \
    1331  JSON_HEDLEY_GCC_VERSION_CHECK(3,2,0) || \
    1332  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
    1333  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
    1334  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
    1335  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
    1336  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1337  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
    1338  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1339  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
    1340  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1341  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
    1342  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1343  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
    1344  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    1345  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
    1346  JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0)
    1347  #define JSON_HEDLEY_NO_RETURN __attribute__((__noreturn__))
    1348 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
    1349  #define JSON_HEDLEY_NO_RETURN _Pragma("does_not_return")
    1350 #elif \
    1351  JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \
    1352  JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
    1353  #define JSON_HEDLEY_NO_RETURN __declspec(noreturn)
    1354 #elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus)
    1355  #define JSON_HEDLEY_NO_RETURN _Pragma("FUNC_NEVER_RETURNS;")
    1356 #elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0)
    1357  #define JSON_HEDLEY_NO_RETURN __attribute((noreturn))
    1358 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0)
    1359  #define JSON_HEDLEY_NO_RETURN __declspec(noreturn)
    1360 #else
    1361  #define JSON_HEDLEY_NO_RETURN
    1362 #endif
    1363 
    1364 #if defined(JSON_HEDLEY_NO_ESCAPE)
    1365  #undef JSON_HEDLEY_NO_ESCAPE
    1366 #endif
    1367 #if JSON_HEDLEY_HAS_ATTRIBUTE(noescape)
    1368  #define JSON_HEDLEY_NO_ESCAPE __attribute__((__noescape__))
    1369 #else
    1370  #define JSON_HEDLEY_NO_ESCAPE
    1371 #endif
    1372 
    1373 #if defined(JSON_HEDLEY_UNREACHABLE)
    1374  #undef JSON_HEDLEY_UNREACHABLE
    1375 #endif
    1376 #if defined(JSON_HEDLEY_UNREACHABLE_RETURN)
    1377  #undef JSON_HEDLEY_UNREACHABLE_RETURN
    1378 #endif
    1379 #if defined(JSON_HEDLEY_ASSUME)
    1380  #undef JSON_HEDLEY_ASSUME
    1381 #endif
    1382 #if \
    1383  JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \
    1384  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1385  JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
    1386  #define JSON_HEDLEY_ASSUME(expr) __assume(expr)
    1387 #elif JSON_HEDLEY_HAS_BUILTIN(__builtin_assume)
    1388  #define JSON_HEDLEY_ASSUME(expr) __builtin_assume(expr)
    1389 #elif \
    1390  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \
    1391  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0)
    1392  #if defined(__cplusplus)
    1393  #define JSON_HEDLEY_ASSUME(expr) std::_nassert(expr)
    1394  #else
    1395  #define JSON_HEDLEY_ASSUME(expr) _nassert(expr)
    1396  #endif
    1397 #endif
    1398 #if \
    1399  (JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable) && (!defined(JSON_HEDLEY_ARM_VERSION))) || \
    1400  JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0) || \
    1401  JSON_HEDLEY_PGI_VERSION_CHECK(18,10,0) || \
    1402  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1403  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5) || \
    1404  JSON_HEDLEY_CRAY_VERSION_CHECK(10,0,0) || \
    1405  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1406  #define JSON_HEDLEY_UNREACHABLE() __builtin_unreachable()
    1407 #elif defined(JSON_HEDLEY_ASSUME)
    1408  #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0)
    1409 #endif
    1410 #if !defined(JSON_HEDLEY_ASSUME)
    1411  #if defined(JSON_HEDLEY_UNREACHABLE)
    1412  #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, ((expr) ? 1 : (JSON_HEDLEY_UNREACHABLE(), 1)))
    1413  #else
    1414  #define JSON_HEDLEY_ASSUME(expr) JSON_HEDLEY_STATIC_CAST(void, expr)
    1415  #endif
    1416 #endif
    1417 #if defined(JSON_HEDLEY_UNREACHABLE)
    1418  #if \
    1419  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \
    1420  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0)
    1421  #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (JSON_HEDLEY_STATIC_CAST(void, JSON_HEDLEY_ASSUME(0)), (value))
    1422  #else
    1423  #define JSON_HEDLEY_UNREACHABLE_RETURN(value) JSON_HEDLEY_UNREACHABLE()
    1424  #endif
    1425 #else
    1426  #define JSON_HEDLEY_UNREACHABLE_RETURN(value) return (value)
    1427 #endif
    1428 #if !defined(JSON_HEDLEY_UNREACHABLE)
    1429  #define JSON_HEDLEY_UNREACHABLE() JSON_HEDLEY_ASSUME(0)
    1430 #endif
    1431 
    1433 #if JSON_HEDLEY_HAS_WARNING("-Wpedantic")
    1434  #pragma clang diagnostic ignored "-Wpedantic"
    1435 #endif
    1436 #if JSON_HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic") && defined(__cplusplus)
    1437  #pragma clang diagnostic ignored "-Wc++98-compat-pedantic"
    1438 #endif
    1439 #if JSON_HEDLEY_GCC_HAS_WARNING("-Wvariadic-macros",4,0,0)
    1440  #if defined(__clang__)
    1441  #pragma clang diagnostic ignored "-Wvariadic-macros"
    1442  #elif defined(JSON_HEDLEY_GCC_VERSION)
    1443  #pragma GCC diagnostic ignored "-Wvariadic-macros"
    1444  #endif
    1445 #endif
    1446 #if defined(JSON_HEDLEY_NON_NULL)
    1447  #undef JSON_HEDLEY_NON_NULL
    1448 #endif
    1449 #if \
    1450  JSON_HEDLEY_HAS_ATTRIBUTE(nonnull) || \
    1451  JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \
    1452  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1453  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)
    1454  #define JSON_HEDLEY_NON_NULL(...) __attribute__((__nonnull__(__VA_ARGS__)))
    1455 #else
    1456  #define JSON_HEDLEY_NON_NULL(...)
    1457 #endif
    1459 
    1460 #if defined(JSON_HEDLEY_PRINTF_FORMAT)
    1461  #undef JSON_HEDLEY_PRINTF_FORMAT
    1462 #endif
    1463 #if defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && !defined(__USE_MINGW_ANSI_STDIO)
    1464  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(ms_printf, string_idx, first_to_check)))
    1465 #elif defined(__MINGW32__) && JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0) && defined(__USE_MINGW_ANSI_STDIO)
    1466  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(gnu_printf, string_idx, first_to_check)))
    1467 #elif \
    1468  JSON_HEDLEY_HAS_ATTRIBUTE(format) || \
    1469  JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
    1470  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1471  JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) || \
    1472  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
    1473  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
    1474  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1475  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
    1476  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1477  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
    1478  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1479  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
    1480  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1481  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
    1482  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    1483  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
    1484  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1485  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __attribute__((__format__(__printf__, string_idx, first_to_check)))
    1486 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(6,0,0)
    1487  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) __declspec(vaformat(printf,string_idx,first_to_check))
    1488 #else
    1489  #define JSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)
    1490 #endif
    1491 
    1492 #if defined(JSON_HEDLEY_CONSTEXPR)
    1493  #undef JSON_HEDLEY_CONSTEXPR
    1494 #endif
    1495 #if defined(__cplusplus)
    1496  #if __cplusplus >= 201103L
    1497  #define JSON_HEDLEY_CONSTEXPR JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr)
    1498  #endif
    1499 #endif
    1500 #if !defined(JSON_HEDLEY_CONSTEXPR)
    1501  #define JSON_HEDLEY_CONSTEXPR
    1502 #endif
    1503 
    1504 #if defined(JSON_HEDLEY_PREDICT)
    1505  #undef JSON_HEDLEY_PREDICT
    1506 #endif
    1507 #if defined(JSON_HEDLEY_LIKELY)
    1508  #undef JSON_HEDLEY_LIKELY
    1509 #endif
    1510 #if defined(JSON_HEDLEY_UNLIKELY)
    1511  #undef JSON_HEDLEY_UNLIKELY
    1512 #endif
    1513 #if defined(JSON_HEDLEY_UNPREDICTABLE)
    1514  #undef JSON_HEDLEY_UNPREDICTABLE
    1515 #endif
    1516 #if JSON_HEDLEY_HAS_BUILTIN(__builtin_unpredictable)
    1517  #define JSON_HEDLEY_UNPREDICTABLE(expr) __builtin_unpredictable((expr))
    1518 #endif
    1519 #if \
    1520  (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect_with_probability) && !defined(JSON_HEDLEY_PGI_VERSION)) || \
    1521  JSON_HEDLEY_GCC_VERSION_CHECK(9,0,0) || \
    1522  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1523 # define JSON_HEDLEY_PREDICT(expr, value, probability) __builtin_expect_with_probability( (expr), (value), (probability))
    1524 # define JSON_HEDLEY_PREDICT_TRUE(expr, probability) __builtin_expect_with_probability(!!(expr), 1 , (probability))
    1525 # define JSON_HEDLEY_PREDICT_FALSE(expr, probability) __builtin_expect_with_probability(!!(expr), 0 , (probability))
    1526 # define JSON_HEDLEY_LIKELY(expr) __builtin_expect (!!(expr), 1 )
    1527 # define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect (!!(expr), 0 )
    1528 #elif \
    1529  (JSON_HEDLEY_HAS_BUILTIN(__builtin_expect) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \
    1530  JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) || \
    1531  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1532  (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0) && defined(__cplusplus)) || \
    1533  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
    1534  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
    1535  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
    1536  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0) || \
    1537  JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \
    1538  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0) || \
    1539  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \
    1540  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    1541  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
    1542  JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,27) || \
    1543  JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \
    1544  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1545 # define JSON_HEDLEY_PREDICT(expr, expected, probability) \
    1546  (((probability) >= 0.9) ? __builtin_expect((expr), (expected)) : (JSON_HEDLEY_STATIC_CAST(void, expected), (expr)))
    1547 # define JSON_HEDLEY_PREDICT_TRUE(expr, probability) \
    1548  (__extension__ ({ \
    1549  double hedley_probability_ = (probability); \
    1550  ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 1) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 0) : !!(expr))); \
    1551  }))
    1552 # define JSON_HEDLEY_PREDICT_FALSE(expr, probability) \
    1553  (__extension__ ({ \
    1554  double hedley_probability_ = (probability); \
    1555  ((hedley_probability_ >= 0.9) ? __builtin_expect(!!(expr), 0) : ((hedley_probability_ <= 0.1) ? __builtin_expect(!!(expr), 1) : !!(expr))); \
    1556  }))
    1557 # define JSON_HEDLEY_LIKELY(expr) __builtin_expect(!!(expr), 1)
    1558 # define JSON_HEDLEY_UNLIKELY(expr) __builtin_expect(!!(expr), 0)
    1559 #else
    1560 # define JSON_HEDLEY_PREDICT(expr, expected, probability) (JSON_HEDLEY_STATIC_CAST(void, expected), (expr))
    1561 # define JSON_HEDLEY_PREDICT_TRUE(expr, probability) (!!(expr))
    1562 # define JSON_HEDLEY_PREDICT_FALSE(expr, probability) (!!(expr))
    1563 # define JSON_HEDLEY_LIKELY(expr) (!!(expr))
    1564 # define JSON_HEDLEY_UNLIKELY(expr) (!!(expr))
    1565 #endif
    1566 #if !defined(JSON_HEDLEY_UNPREDICTABLE)
    1567  #define JSON_HEDLEY_UNPREDICTABLE(expr) JSON_HEDLEY_PREDICT(expr, 1, 0.5)
    1568 #endif
    1569 
    1570 #if defined(JSON_HEDLEY_MALLOC)
    1571  #undef JSON_HEDLEY_MALLOC
    1572 #endif
    1573 #if \
    1574  JSON_HEDLEY_HAS_ATTRIBUTE(malloc) || \
    1575  JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
    1576  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1577  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
    1578  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
    1579  JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \
    1580  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
    1581  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1582  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
    1583  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1584  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
    1585  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1586  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
    1587  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1588  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
    1589  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    1590  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
    1591  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1592  #define JSON_HEDLEY_MALLOC __attribute__((__malloc__))
    1593 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
    1594  #define JSON_HEDLEY_MALLOC _Pragma("returns_new_memory")
    1595 #elif \
    1596  JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \
    1597  JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
    1598  #define JSON_HEDLEY_MALLOC __declspec(restrict)
    1599 #else
    1600  #define JSON_HEDLEY_MALLOC
    1601 #endif
    1602 
    1603 #if defined(JSON_HEDLEY_PURE)
    1604  #undef JSON_HEDLEY_PURE
    1605 #endif
    1606 #if \
    1607  JSON_HEDLEY_HAS_ATTRIBUTE(pure) || \
    1608  JSON_HEDLEY_GCC_VERSION_CHECK(2,96,0) || \
    1609  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1610  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
    1611  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
    1612  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
    1613  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
    1614  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1615  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
    1616  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1617  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
    1618  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1619  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
    1620  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1621  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
    1622  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    1623  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
    1624  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \
    1625  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1626 # define JSON_HEDLEY_PURE __attribute__((__pure__))
    1627 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
    1628 # define JSON_HEDLEY_PURE _Pragma("does_not_write_global_data")
    1629 #elif defined(__cplusplus) && \
    1630  ( \
    1631  JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1) || \
    1632  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) || \
    1633  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) \
    1634  )
    1635 # define JSON_HEDLEY_PURE _Pragma("FUNC_IS_PURE;")
    1636 #else
    1637 # define JSON_HEDLEY_PURE
    1638 #endif
    1639 
    1640 #if defined(JSON_HEDLEY_CONST)
    1641  #undef JSON_HEDLEY_CONST
    1642 #endif
    1643 #if \
    1644  JSON_HEDLEY_HAS_ATTRIBUTE(const) || \
    1645  JSON_HEDLEY_GCC_VERSION_CHECK(2,5,0) || \
    1646  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1647  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
    1648  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
    1649  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
    1650  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
    1651  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1652  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
    1653  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1654  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
    1655  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1656  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
    1657  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1658  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
    1659  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    1660  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
    1661  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \
    1662  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1663  #define JSON_HEDLEY_CONST __attribute__((__const__))
    1664 #elif \
    1665  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)
    1666  #define JSON_HEDLEY_CONST _Pragma("no_side_effect")
    1667 #else
    1668  #define JSON_HEDLEY_CONST JSON_HEDLEY_PURE
    1669 #endif
    1670 
    1671 #if defined(JSON_HEDLEY_RESTRICT)
    1672  #undef JSON_HEDLEY_RESTRICT
    1673 #endif
    1674 #if defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && !defined(__cplusplus)
    1675  #define JSON_HEDLEY_RESTRICT restrict
    1676 #elif \
    1677  JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0) || \
    1678  JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0) || \
    1679  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1680  JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \
    1681  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
    1682  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
    1683  JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) || \
    1684  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
    1685  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,4) || \
    1686  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0) || \
    1687  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    1688  (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0) && defined(__cplusplus)) || \
    1689  JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) || \
    1690  defined(__clang__) || \
    1691  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1692  #define JSON_HEDLEY_RESTRICT __restrict
    1693 #elif JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,3,0) && !defined(__cplusplus)
    1694  #define JSON_HEDLEY_RESTRICT _Restrict
    1695 #else
    1696  #define JSON_HEDLEY_RESTRICT
    1697 #endif
    1698 
    1699 #if defined(JSON_HEDLEY_INLINE)
    1700  #undef JSON_HEDLEY_INLINE
    1701 #endif
    1702 #if \
    1703  (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L)) || \
    1704  (defined(__cplusplus) && (__cplusplus >= 199711L))
    1705  #define JSON_HEDLEY_INLINE inline
    1706 #elif \
    1707  defined(JSON_HEDLEY_GCC_VERSION) || \
    1708  JSON_HEDLEY_ARM_VERSION_CHECK(6,2,0)
    1709  #define JSON_HEDLEY_INLINE __inline__
    1710 #elif \
    1711  JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \
    1712  JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \
    1713  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
    1714  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,1,0) || \
    1715  JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0) || \
    1716  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0) || \
    1717  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) || \
    1718  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    1719  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
    1720  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1721  #define JSON_HEDLEY_INLINE __inline
    1722 #else
    1723  #define JSON_HEDLEY_INLINE
    1724 #endif
    1725 
    1726 #if defined(JSON_HEDLEY_ALWAYS_INLINE)
    1727  #undef JSON_HEDLEY_ALWAYS_INLINE
    1728 #endif
    1729 #if \
    1730  JSON_HEDLEY_HAS_ATTRIBUTE(always_inline) || \
    1731  JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \
    1732  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1733  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
    1734  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
    1735  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
    1736  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
    1737  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1738  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
    1739  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1740  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
    1741  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1742  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
    1743  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1744  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
    1745  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    1746  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
    1747  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \
    1748  JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0)
    1749 # define JSON_HEDLEY_ALWAYS_INLINE __attribute__((__always_inline__)) JSON_HEDLEY_INLINE
    1750 #elif \
    1751  JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0) || \
    1752  JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
    1753 # define JSON_HEDLEY_ALWAYS_INLINE __forceinline
    1754 #elif defined(__cplusplus) && \
    1755  ( \
    1756  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
    1757  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
    1758  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
    1759  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \
    1760  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    1761  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) \
    1762  )
    1763 # define JSON_HEDLEY_ALWAYS_INLINE _Pragma("FUNC_ALWAYS_INLINE;")
    1764 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
    1765 # define JSON_HEDLEY_ALWAYS_INLINE _Pragma("inline=forced")
    1766 #else
    1767 # define JSON_HEDLEY_ALWAYS_INLINE JSON_HEDLEY_INLINE
    1768 #endif
    1769 
    1770 #if defined(JSON_HEDLEY_NEVER_INLINE)
    1771  #undef JSON_HEDLEY_NEVER_INLINE
    1772 #endif
    1773 #if \
    1774  JSON_HEDLEY_HAS_ATTRIBUTE(noinline) || \
    1775  JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0) || \
    1776  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1777  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
    1778  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
    1779  JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0) || \
    1780  JSON_HEDLEY_TI_VERSION_CHECK(15,12,0) || \
    1781  (JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1782  JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0) || \
    1783  (JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1784  JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0) || \
    1785  (JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1786  JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0) || \
    1787  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1788  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) || \
    1789  JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) || \
    1790  JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) || \
    1791  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) || \
    1792  JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0)
    1793  #define JSON_HEDLEY_NEVER_INLINE __attribute__((__noinline__))
    1794 #elif \
    1795  JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0) || \
    1796  JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
    1797  #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline)
    1798 #elif JSON_HEDLEY_PGI_VERSION_CHECK(10,2,0)
    1799  #define JSON_HEDLEY_NEVER_INLINE _Pragma("noinline")
    1800 #elif JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0) && defined(__cplusplus)
    1801  #define JSON_HEDLEY_NEVER_INLINE _Pragma("FUNC_CANNOT_INLINE;")
    1802 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
    1803  #define JSON_HEDLEY_NEVER_INLINE _Pragma("inline=never")
    1804 #elif JSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0)
    1805  #define JSON_HEDLEY_NEVER_INLINE __attribute((noinline))
    1806 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0)
    1807  #define JSON_HEDLEY_NEVER_INLINE __declspec(noinline)
    1808 #else
    1809  #define JSON_HEDLEY_NEVER_INLINE
    1810 #endif
    1811 
    1812 #if defined(JSON_HEDLEY_PRIVATE)
    1813  #undef JSON_HEDLEY_PRIVATE
    1814 #endif
    1815 #if defined(JSON_HEDLEY_PUBLIC)
    1816  #undef JSON_HEDLEY_PUBLIC
    1817 #endif
    1818 #if defined(JSON_HEDLEY_IMPORT)
    1819  #undef JSON_HEDLEY_IMPORT
    1820 #endif
    1821 #if defined(_WIN32) || defined(__CYGWIN__)
    1822 # define JSON_HEDLEY_PRIVATE
    1823 # define JSON_HEDLEY_PUBLIC __declspec(dllexport)
    1824 # define JSON_HEDLEY_IMPORT __declspec(dllimport)
    1825 #else
    1826 # if \
    1827  JSON_HEDLEY_HAS_ATTRIBUTE(visibility) || \
    1828  JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \
    1829  JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0) || \
    1830  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1831  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
    1832  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
    1833  ( \
    1834  defined(__TI_EABI__) && \
    1835  ( \
    1836  (JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0) && defined(__TI_GNU_ATTRIBUTE_SUPPORT__)) || \
    1837  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0) \
    1838  ) \
    1839  ) || \
    1840  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1841 # define JSON_HEDLEY_PRIVATE __attribute__((__visibility__("hidden")))
    1842 # define JSON_HEDLEY_PUBLIC __attribute__((__visibility__("default")))
    1843 # else
    1844 # define JSON_HEDLEY_PRIVATE
    1845 # define JSON_HEDLEY_PUBLIC
    1846 # endif
    1847 # define JSON_HEDLEY_IMPORT extern
    1848 #endif
    1849 
    1850 #if defined(JSON_HEDLEY_NO_THROW)
    1851  #undef JSON_HEDLEY_NO_THROW
    1852 #endif
    1853 #if \
    1854  JSON_HEDLEY_HAS_ATTRIBUTE(nothrow) || \
    1855  JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0) || \
    1856  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1857  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1858  #define JSON_HEDLEY_NO_THROW __attribute__((__nothrow__))
    1859 #elif \
    1860  JSON_HEDLEY_MSVC_VERSION_CHECK(13,1,0) || \
    1861  JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) || \
    1862  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)
    1863  #define JSON_HEDLEY_NO_THROW __declspec(nothrow)
    1864 #else
    1865  #define JSON_HEDLEY_NO_THROW
    1866 #endif
    1867 
    1868 #if defined(JSON_HEDLEY_FALL_THROUGH)
    1869  #undef JSON_HEDLEY_FALL_THROUGH
    1870 #endif
    1871 #if \
    1872  JSON_HEDLEY_HAS_ATTRIBUTE(fallthrough) || \
    1873  JSON_HEDLEY_GCC_VERSION_CHECK(7,0,0) || \
    1874  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1875  #define JSON_HEDLEY_FALL_THROUGH __attribute__((__fallthrough__))
    1876 #elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(clang,fallthrough)
    1877  #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]])
    1878 #elif JSON_HEDLEY_HAS_CPP_ATTRIBUTE(fallthrough)
    1879  #define JSON_HEDLEY_FALL_THROUGH JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]])
    1880 #elif defined(__fallthrough) /* SAL */
    1881  #define JSON_HEDLEY_FALL_THROUGH __fallthrough
    1882 #else
    1883  #define JSON_HEDLEY_FALL_THROUGH
    1884 #endif
    1885 
    1886 #if defined(JSON_HEDLEY_RETURNS_NON_NULL)
    1887  #undef JSON_HEDLEY_RETURNS_NON_NULL
    1888 #endif
    1889 #if \
    1890  JSON_HEDLEY_HAS_ATTRIBUTE(returns_nonnull) || \
    1891  JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \
    1892  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1893  #define JSON_HEDLEY_RETURNS_NON_NULL __attribute__((__returns_nonnull__))
    1894 #elif defined(_Ret_notnull_) /* SAL */
    1895  #define JSON_HEDLEY_RETURNS_NON_NULL _Ret_notnull_
    1896 #else
    1897  #define JSON_HEDLEY_RETURNS_NON_NULL
    1898 #endif
    1899 
    1900 #if defined(JSON_HEDLEY_ARRAY_PARAM)
    1901  #undef JSON_HEDLEY_ARRAY_PARAM
    1902 #endif
    1903 #if \
    1904  defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901L) && \
    1905  !defined(__STDC_NO_VLA__) && \
    1906  !defined(__cplusplus) && \
    1907  !defined(JSON_HEDLEY_PGI_VERSION) && \
    1908  !defined(JSON_HEDLEY_TINYC_VERSION)
    1909  #define JSON_HEDLEY_ARRAY_PARAM(name) (name)
    1910 #else
    1911  #define JSON_HEDLEY_ARRAY_PARAM(name)
    1912 #endif
    1913 
    1914 #if defined(JSON_HEDLEY_IS_CONSTANT)
    1915  #undef JSON_HEDLEY_IS_CONSTANT
    1916 #endif
    1917 #if defined(JSON_HEDLEY_REQUIRE_CONSTEXPR)
    1918  #undef JSON_HEDLEY_REQUIRE_CONSTEXPR
    1919 #endif
    1920 /* JSON_HEDLEY_IS_CONSTEXPR_ is for
    1921  HEDLEY INTERNAL USE ONLY. API subject to change without notice. */
    1922 #if defined(JSON_HEDLEY_IS_CONSTEXPR_)
    1923  #undef JSON_HEDLEY_IS_CONSTEXPR_
    1924 #endif
    1925 #if \
    1926  JSON_HEDLEY_HAS_BUILTIN(__builtin_constant_p) || \
    1927  JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \
    1928  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1929  JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,19) || \
    1930  JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) || \
    1931  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
    1932  JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0) || \
    1933  (JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) && !defined(__cplusplus)) || \
    1934  JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \
    1935  JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)
    1936  #define JSON_HEDLEY_IS_CONSTANT(expr) __builtin_constant_p(expr)
    1937 #endif
    1938 #if !defined(__cplusplus)
    1939 # if \
    1940  JSON_HEDLEY_HAS_BUILTIN(__builtin_types_compatible_p) || \
    1941  JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) || \
    1942  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    1943  JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0) || \
    1944  JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0) || \
    1945  JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0) || \
    1946  JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,24)
    1947 #if defined(__INTPTR_TYPE__)
    1948  #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0)), int*)
    1949 #else
    1950  #include <stdint.h>
    1951  #define JSON_HEDLEY_IS_CONSTEXPR_(expr) __builtin_types_compatible_p(__typeof__((1 ? (void*) ((intptr_t) ((expr) * 0)) : (int*) 0)), int*)
    1952 #endif
    1953 # elif \
    1954  ( \
    1955  defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \
    1956  !defined(JSON_HEDLEY_SUNPRO_VERSION) && \
    1957  !defined(JSON_HEDLEY_PGI_VERSION) && \
    1958  !defined(JSON_HEDLEY_IAR_VERSION)) || \
    1959  (JSON_HEDLEY_HAS_EXTENSION(c_generic_selections) && !defined(JSON_HEDLEY_IAR_VERSION)) || \
    1960  JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0) || \
    1961  JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) || \
    1962  JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0) || \
    1963  JSON_HEDLEY_ARM_VERSION_CHECK(5,3,0)
    1964 #if defined(__INTPTR_TYPE__)
    1965  #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((__INTPTR_TYPE__) ((expr) * 0)) : (int*) 0), int*: 1, void*: 0)
    1966 #else
    1967  #include <stdint.h>
    1968  #define JSON_HEDLEY_IS_CONSTEXPR_(expr) _Generic((1 ? (void*) ((intptr_t) * 0) : (int*) 0), int*: 1, void*: 0)
    1969 #endif
    1970 # elif \
    1971  defined(JSON_HEDLEY_GCC_VERSION) || \
    1972  defined(JSON_HEDLEY_INTEL_VERSION) || \
    1973  defined(JSON_HEDLEY_TINYC_VERSION) || \
    1974  defined(JSON_HEDLEY_TI_ARMCL_VERSION) || \
    1975  JSON_HEDLEY_TI_CL430_VERSION_CHECK(18,12,0) || \
    1976  defined(JSON_HEDLEY_TI_CL2000_VERSION) || \
    1977  defined(JSON_HEDLEY_TI_CL6X_VERSION) || \
    1978  defined(JSON_HEDLEY_TI_CL7X_VERSION) || \
    1979  defined(JSON_HEDLEY_TI_CLPRU_VERSION) || \
    1980  defined(__clang__)
    1981 # define JSON_HEDLEY_IS_CONSTEXPR_(expr) ( \
    1982  sizeof(void) != \
    1983  sizeof(*( \
    1984  1 ? \
    1985  ((void*) ((expr) * 0L) ) : \
    1986 ((struct { char v[sizeof(void) * 2]; } *) 1) \
    1987  ) \
    1988  ) \
    1989  )
    1990 # endif
    1991 #endif
    1992 #if defined(JSON_HEDLEY_IS_CONSTEXPR_)
    1993  #if !defined(JSON_HEDLEY_IS_CONSTANT)
    1994  #define JSON_HEDLEY_IS_CONSTANT(expr) JSON_HEDLEY_IS_CONSTEXPR_(expr)
    1995  #endif
    1996  #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (JSON_HEDLEY_IS_CONSTEXPR_(expr) ? (expr) : (-1))
    1997 #else
    1998  #if !defined(JSON_HEDLEY_IS_CONSTANT)
    1999  #define JSON_HEDLEY_IS_CONSTANT(expr) (0)
    2000  #endif
    2001  #define JSON_HEDLEY_REQUIRE_CONSTEXPR(expr) (expr)
    2002 #endif
    2003 
    2004 #if defined(JSON_HEDLEY_BEGIN_C_DECLS)
    2005  #undef JSON_HEDLEY_BEGIN_C_DECLS
    2006 #endif
    2007 #if defined(JSON_HEDLEY_END_C_DECLS)
    2008  #undef JSON_HEDLEY_END_C_DECLS
    2009 #endif
    2010 #if defined(JSON_HEDLEY_C_DECL)
    2011  #undef JSON_HEDLEY_C_DECL
    2012 #endif
    2013 #if defined(__cplusplus)
    2014  #define JSON_HEDLEY_BEGIN_C_DECLS extern "C" {
    2015  #define JSON_HEDLEY_END_C_DECLS }
    2016  #define JSON_HEDLEY_C_DECL extern "C"
    2017 #else
    2018  #define JSON_HEDLEY_BEGIN_C_DECLS
    2019  #define JSON_HEDLEY_END_C_DECLS
    2020  #define JSON_HEDLEY_C_DECL
    2021 #endif
    2022 
    2023 #if defined(JSON_HEDLEY_STATIC_ASSERT)
    2024  #undef JSON_HEDLEY_STATIC_ASSERT
    2025 #endif
    2026 #if \
    2027  !defined(__cplusplus) && ( \
    2028  (defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)) || \
    2029  (JSON_HEDLEY_HAS_FEATURE(c_static_assert) && !defined(JSON_HEDLEY_INTEL_CL_VERSION)) || \
    2030  JSON_HEDLEY_GCC_VERSION_CHECK(6,0,0) || \
    2031  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) || \
    2032  defined(_Static_assert) \
    2033  )
    2034 # define JSON_HEDLEY_STATIC_ASSERT(expr, message) _Static_assert(expr, message)
    2035 #elif \
    2036  (defined(__cplusplus) && (__cplusplus >= 201103L)) || \
    2037  JSON_HEDLEY_MSVC_VERSION_CHECK(16,0,0) || \
    2038  JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
    2039 # define JSON_HEDLEY_STATIC_ASSERT(expr, message) JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr, message))
    2040 #else
    2041 # define JSON_HEDLEY_STATIC_ASSERT(expr, message)
    2042 #endif
    2043 
    2044 #if defined(JSON_HEDLEY_NULL)
    2045  #undef JSON_HEDLEY_NULL
    2046 #endif
    2047 #if defined(__cplusplus)
    2048  #if __cplusplus >= 201103L
    2049  #define JSON_HEDLEY_NULL JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr)
    2050  #elif defined(NULL)
    2051  #define JSON_HEDLEY_NULL NULL
    2052  #else
    2053  #define JSON_HEDLEY_NULL JSON_HEDLEY_STATIC_CAST(void*, 0)
    2054  #endif
    2055 #elif defined(NULL)
    2056  #define JSON_HEDLEY_NULL NULL
    2057 #else
    2058  #define JSON_HEDLEY_NULL ((void*) 0)
    2059 #endif
    2060 
    2061 #if defined(JSON_HEDLEY_MESSAGE)
    2062  #undef JSON_HEDLEY_MESSAGE
    2063 #endif
    2064 #if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas")
    2065 # define JSON_HEDLEY_MESSAGE(msg) \
    2066  JSON_HEDLEY_DIAGNOSTIC_PUSH \
    2067  JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \
    2068  JSON_HEDLEY_PRAGMA(message msg) \
    2069  JSON_HEDLEY_DIAGNOSTIC_POP
    2070 #elif \
    2071  JSON_HEDLEY_GCC_VERSION_CHECK(4,4,0) || \
    2072  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
    2073 # define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message msg)
    2074 #elif JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0)
    2075 # define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(_CRI message msg)
    2076 #elif JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)
    2077 # define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg))
    2078 #elif JSON_HEDLEY_PELLES_VERSION_CHECK(2,0,0)
    2079 # define JSON_HEDLEY_MESSAGE(msg) JSON_HEDLEY_PRAGMA(message(msg))
    2080 #else
    2081 # define JSON_HEDLEY_MESSAGE(msg)
    2082 #endif
    2083 
    2084 #if defined(JSON_HEDLEY_WARNING)
    2085  #undef JSON_HEDLEY_WARNING
    2086 #endif
    2087 #if JSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas")
    2088 # define JSON_HEDLEY_WARNING(msg) \
    2089  JSON_HEDLEY_DIAGNOSTIC_PUSH \
    2090  JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS \
    2091  JSON_HEDLEY_PRAGMA(clang warning msg) \
    2092  JSON_HEDLEY_DIAGNOSTIC_POP
    2093 #elif \
    2094  JSON_HEDLEY_GCC_VERSION_CHECK(4,8,0) || \
    2095  JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0) || \
    2096  JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)
    2097 # define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(GCC warning msg)
    2098 #elif \
    2099  JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) || \
    2100  JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
    2101 # define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_PRAGMA(message(msg))
    2102 #else
    2103 # define JSON_HEDLEY_WARNING(msg) JSON_HEDLEY_MESSAGE(msg)
    2104 #endif
    2105 
    2106 #if defined(JSON_HEDLEY_REQUIRE)
    2107  #undef JSON_HEDLEY_REQUIRE
    2108 #endif
    2109 #if defined(JSON_HEDLEY_REQUIRE_MSG)
    2110  #undef JSON_HEDLEY_REQUIRE_MSG
    2111 #endif
    2112 #if JSON_HEDLEY_HAS_ATTRIBUTE(diagnose_if)
    2113 # if JSON_HEDLEY_HAS_WARNING("-Wgcc-compat")
    2114 # define JSON_HEDLEY_REQUIRE(expr) \
    2115  JSON_HEDLEY_DIAGNOSTIC_PUSH \
    2116  _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \
    2117  __attribute__((diagnose_if(!(expr), #expr, "error"))) \
    2118  JSON_HEDLEY_DIAGNOSTIC_POP
    2119 # define JSON_HEDLEY_REQUIRE_MSG(expr,msg) \
    2120  JSON_HEDLEY_DIAGNOSTIC_PUSH \
    2121  _Pragma("clang diagnostic ignored \"-Wgcc-compat\"") \
    2122  __attribute__((diagnose_if(!(expr), msg, "error"))) \
    2123  JSON_HEDLEY_DIAGNOSTIC_POP
    2124 # else
    2125 # define JSON_HEDLEY_REQUIRE(expr) __attribute__((diagnose_if(!(expr), #expr, "error")))
    2126 # define JSON_HEDLEY_REQUIRE_MSG(expr,msg) __attribute__((diagnose_if(!(expr), msg, "error")))
    2127 # endif
    2128 #else
    2129 # define JSON_HEDLEY_REQUIRE(expr)
    2130 # define JSON_HEDLEY_REQUIRE_MSG(expr,msg)
    2131 #endif
    2132 
    2133 #if defined(JSON_HEDLEY_FLAGS)
    2134  #undef JSON_HEDLEY_FLAGS
    2135 #endif
    2136 #if JSON_HEDLEY_HAS_ATTRIBUTE(flag_enum) && (!defined(__cplusplus) || JSON_HEDLEY_HAS_WARNING("-Wbitfield-enum-conversion"))
    2137  #define JSON_HEDLEY_FLAGS __attribute__((__flag_enum__))
    2138 #else
    2139  #define JSON_HEDLEY_FLAGS
    2140 #endif
    2141 
    2142 #if defined(JSON_HEDLEY_FLAGS_CAST)
    2143  #undef JSON_HEDLEY_FLAGS_CAST
    2144 #endif
    2145 #if JSON_HEDLEY_INTEL_VERSION_CHECK(19,0,0)
    2146 # define JSON_HEDLEY_FLAGS_CAST(T, expr) (__extension__ ({ \
    2147  JSON_HEDLEY_DIAGNOSTIC_PUSH \
    2148  _Pragma("warning(disable:188)") \
    2149  ((T) (expr)); \
    2150  JSON_HEDLEY_DIAGNOSTIC_POP \
    2151  }))
    2152 #else
    2153 # define JSON_HEDLEY_FLAGS_CAST(T, expr) JSON_HEDLEY_STATIC_CAST(T, expr)
    2154 #endif
    2155 
    2156 #if defined(JSON_HEDLEY_EMPTY_BASES)
    2157  #undef JSON_HEDLEY_EMPTY_BASES
    2158 #endif
    2159 #if \
    2160  (JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,23918) && !JSON_HEDLEY_MSVC_VERSION_CHECK(20,0,0)) || \
    2161  JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)
    2162  #define JSON_HEDLEY_EMPTY_BASES __declspec(empty_bases)
    2163 #else
    2164  #define JSON_HEDLEY_EMPTY_BASES
    2165 #endif
    2166 
    2167 /* Remaining macros are deprecated. */
    2168 
    2169 #if defined(JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK)
    2170  #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
    2171 #endif
    2172 #if defined(__clang__)
    2173  #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) (0)
    2174 #else
    2175  #define JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch) JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)
    2176 #endif
    2177 
    2178 #if defined(JSON_HEDLEY_CLANG_HAS_ATTRIBUTE)
    2179  #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE
    2180 #endif
    2181 #define JSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_ATTRIBUTE(attribute)
    2182 
    2183 #if defined(JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE)
    2184  #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE
    2185 #endif
    2186 #define JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)
    2187 
    2188 #if defined(JSON_HEDLEY_CLANG_HAS_BUILTIN)
    2189  #undef JSON_HEDLEY_CLANG_HAS_BUILTIN
    2190 #endif
    2191 #define JSON_HEDLEY_CLANG_HAS_BUILTIN(builtin) JSON_HEDLEY_HAS_BUILTIN(builtin)
    2192 
    2193 #if defined(JSON_HEDLEY_CLANG_HAS_FEATURE)
    2194  #undef JSON_HEDLEY_CLANG_HAS_FEATURE
    2195 #endif
    2196 #define JSON_HEDLEY_CLANG_HAS_FEATURE(feature) JSON_HEDLEY_HAS_FEATURE(feature)
    2197 
    2198 #if defined(JSON_HEDLEY_CLANG_HAS_EXTENSION)
    2199  #undef JSON_HEDLEY_CLANG_HAS_EXTENSION
    2200 #endif
    2201 #define JSON_HEDLEY_CLANG_HAS_EXTENSION(extension) JSON_HEDLEY_HAS_EXTENSION(extension)
    2202 
    2203 #if defined(JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE)
    2204  #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE
    2205 #endif
    2206 #define JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute) JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)
    2207 
    2208 #if defined(JSON_HEDLEY_CLANG_HAS_WARNING)
    2209  #undef JSON_HEDLEY_CLANG_HAS_WARNING
    2210 #endif
    2211 #define JSON_HEDLEY_CLANG_HAS_WARNING(warning) JSON_HEDLEY_HAS_WARNING(warning)
    2212 
    2213 #endif /* !defined(JSON_HEDLEY_VERSION) || (JSON_HEDLEY_VERSION < X) */
    2214 
    2215 
    2216 // This file contains all internal macro definitions
    2217 // You MUST include macro_unscope.hpp at the end of json.hpp to undef all of them
    2218 
    2219 // exclude unsupported compilers
    2220 #if !defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK)
    2221  #if defined(__clang__)
    2222  #if (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__) < 30400
    2223  #error "unsupported Clang version - see https://github.com/nlohmann/json#supported-compilers"
    2224  #endif
    2225  #elif defined(__GNUC__) && !(defined(__ICC) || defined(__INTEL_COMPILER))
    2226  #if (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) < 40800
    2227  #error "unsupported GCC version - see https://github.com/nlohmann/json#supported-compilers"
    2228  #endif
    2229  #endif
    2230 #endif
    2231 
    2232 // C++ language standard detection
    2233 // if the user manually specified the used c++ version this is skipped
    2234 #if !defined(JSON_HAS_CPP_20) && !defined(JSON_HAS_CPP_17) && !defined(JSON_HAS_CPP_14) && !defined(JSON_HAS_CPP_11)
    2235  #if (defined(__cplusplus) && __cplusplus >= 202002L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 202002L)
    2236  #define JSON_HAS_CPP_20
    2237  #define JSON_HAS_CPP_17
    2238  #define JSON_HAS_CPP_14
    2239  #elif (defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_HAS_CXX17) && _HAS_CXX17 == 1) // fix for issue #464
    2240  #define JSON_HAS_CPP_17
    2241  #define JSON_HAS_CPP_14
    2242  #elif (defined(__cplusplus) && __cplusplus >= 201402L) || (defined(_HAS_CXX14) && _HAS_CXX14 == 1)
    2243  #define JSON_HAS_CPP_14
    2244  #endif
    2245  // the cpp 11 flag is always specified because it is the minimal required version
    2246  #define JSON_HAS_CPP_11
    2247 #endif
    2248 
    2249 // disable documentation warnings on clang
    2250 #if defined(__clang__)
    2251  #pragma GCC diagnostic push
    2252  #pragma GCC diagnostic ignored "-Wdocumentation"
    2253 #endif
    2254 
    2255 // allow to disable exceptions
    2256 #if (defined(__cpp_exceptions) || defined(__EXCEPTIONS) || defined(_CPPUNWIND)) && !defined(JSON_NOEXCEPTION)
    2257  #define JSON_THROW(exception) throw exception
    2258  #define JSON_TRY try
    2259  #define JSON_CATCH(exception) catch(exception)
    2260  #define JSON_INTERNAL_CATCH(exception) catch(exception)
    2261 #else
    2262  #include <cstdlib>
    2263  #define JSON_THROW(exception) std::abort()
    2264  #define JSON_TRY if(true)
    2265  #define JSON_CATCH(exception) if(false)
    2266  #define JSON_INTERNAL_CATCH(exception) if(false)
    2267 #endif
    2268 
    2269 // override exception macros
    2270 #if defined(JSON_THROW_USER)
    2271  #undef JSON_THROW
    2272  #define JSON_THROW JSON_THROW_USER
    2273 #endif
    2274 #if defined(JSON_TRY_USER)
    2275  #undef JSON_TRY
    2276  #define JSON_TRY JSON_TRY_USER
    2277 #endif
    2278 #if defined(JSON_CATCH_USER)
    2279  #undef JSON_CATCH
    2280  #define JSON_CATCH JSON_CATCH_USER
    2281  #undef JSON_INTERNAL_CATCH
    2282  #define JSON_INTERNAL_CATCH JSON_CATCH_USER
    2283 #endif
    2284 #if defined(JSON_INTERNAL_CATCH_USER)
    2285  #undef JSON_INTERNAL_CATCH
    2286  #define JSON_INTERNAL_CATCH JSON_INTERNAL_CATCH_USER
    2287 #endif
    2288 
    2289 // allow to override assert
    2290 #if !defined(JSON_ASSERT)
    2291  #include <cassert> // assert
    2292  #define JSON_ASSERT(x) assert(x)
    2293 #endif
    2294 
    2295 // allow to access some private functions (needed by the test suite)
    2296 #if defined(JSON_TESTS_PRIVATE)
    2297  #define JSON_PRIVATE_UNLESS_TESTED public
    2298 #else
    2299  #define JSON_PRIVATE_UNLESS_TESTED private
    2300 #endif
    2301 
    2307 #define NLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE, ...) \
    2308  template<typename BasicJsonType> \
    2309  inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \
    2310  { \
    2311  static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
    2312  static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
    2313  auto it = std::find_if(std::begin(m), std::end(m), \
    2314  [e](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
    2315  { \
    2316  return ej_pair.first == e; \
    2317  }); \
    2318  j = ((it != std::end(m)) ? it : std::begin(m))->second; \
    2319  } \
    2320  template<typename BasicJsonType> \
    2321  inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \
    2322  { \
    2323  static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \
    2324  static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \
    2325  auto it = std::find_if(std::begin(m), std::end(m), \
    2326  [&j](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \
    2327  { \
    2328  return ej_pair.second == j; \
    2329  }); \
    2330  e = ((it != std::end(m)) ? it : std::begin(m))->first; \
    2331  }
    2332 
    2333 // Ugly macros to avoid uglier copy-paste when specializing basic_json. They
    2334 // may be removed in the future once the class is split.
    2335 
    2336 #define NLOHMANN_BASIC_JSON_TPL_DECLARATION \
    2337  template<template<typename, typename, typename...> class ObjectType, \
    2338  template<typename, typename...> class ArrayType, \
    2339  class StringType, class BooleanType, class NumberIntegerType, \
    2340  class NumberUnsignedType, class NumberFloatType, \
    2341  template<typename> class AllocatorType, \
    2342  template<typename, typename = void> class JSONSerializer, \
    2343  class BinaryType>
    2344 
    2345 #define NLOHMANN_BASIC_JSON_TPL \
    2346  basic_json<ObjectType, ArrayType, StringType, BooleanType, \
    2347  NumberIntegerType, NumberUnsignedType, NumberFloatType, \
    2348  AllocatorType, JSONSerializer, BinaryType>
    2349 
    2350 // Macros to simplify conversion from/to types
    2351 
    2352 #define NLOHMANN_JSON_EXPAND( x ) x
    2353 #define NLOHMANN_JSON_GET_MACRO(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, NAME,...) NAME
    2354 #define NLOHMANN_JSON_PASTE(...) NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_GET_MACRO(__VA_ARGS__, \
    2355  NLOHMANN_JSON_PASTE64, \
    2356  NLOHMANN_JSON_PASTE63, \
    2357  NLOHMANN_JSON_PASTE62, \
    2358  NLOHMANN_JSON_PASTE61, \
    2359  NLOHMANN_JSON_PASTE60, \
    2360  NLOHMANN_JSON_PASTE59, \
    2361  NLOHMANN_JSON_PASTE58, \
    2362  NLOHMANN_JSON_PASTE57, \
    2363  NLOHMANN_JSON_PASTE56, \
    2364  NLOHMANN_JSON_PASTE55, \
    2365  NLOHMANN_JSON_PASTE54, \
    2366  NLOHMANN_JSON_PASTE53, \
    2367  NLOHMANN_JSON_PASTE52, \
    2368  NLOHMANN_JSON_PASTE51, \
    2369  NLOHMANN_JSON_PASTE50, \
    2370  NLOHMANN_JSON_PASTE49, \
    2371  NLOHMANN_JSON_PASTE48, \
    2372  NLOHMANN_JSON_PASTE47, \
    2373  NLOHMANN_JSON_PASTE46, \
    2374  NLOHMANN_JSON_PASTE45, \
    2375  NLOHMANN_JSON_PASTE44, \
    2376  NLOHMANN_JSON_PASTE43, \
    2377  NLOHMANN_JSON_PASTE42, \
    2378  NLOHMANN_JSON_PASTE41, \
    2379  NLOHMANN_JSON_PASTE40, \
    2380  NLOHMANN_JSON_PASTE39, \
    2381  NLOHMANN_JSON_PASTE38, \
    2382  NLOHMANN_JSON_PASTE37, \
    2383  NLOHMANN_JSON_PASTE36, \
    2384  NLOHMANN_JSON_PASTE35, \
    2385  NLOHMANN_JSON_PASTE34, \
    2386  NLOHMANN_JSON_PASTE33, \
    2387  NLOHMANN_JSON_PASTE32, \
    2388  NLOHMANN_JSON_PASTE31, \
    2389  NLOHMANN_JSON_PASTE30, \
    2390  NLOHMANN_JSON_PASTE29, \
    2391  NLOHMANN_JSON_PASTE28, \
    2392  NLOHMANN_JSON_PASTE27, \
    2393  NLOHMANN_JSON_PASTE26, \
    2394  NLOHMANN_JSON_PASTE25, \
    2395  NLOHMANN_JSON_PASTE24, \
    2396  NLOHMANN_JSON_PASTE23, \
    2397  NLOHMANN_JSON_PASTE22, \
    2398  NLOHMANN_JSON_PASTE21, \
    2399  NLOHMANN_JSON_PASTE20, \
    2400  NLOHMANN_JSON_PASTE19, \
    2401  NLOHMANN_JSON_PASTE18, \
    2402  NLOHMANN_JSON_PASTE17, \
    2403  NLOHMANN_JSON_PASTE16, \
    2404  NLOHMANN_JSON_PASTE15, \
    2405  NLOHMANN_JSON_PASTE14, \
    2406  NLOHMANN_JSON_PASTE13, \
    2407  NLOHMANN_JSON_PASTE12, \
    2408  NLOHMANN_JSON_PASTE11, \
    2409  NLOHMANN_JSON_PASTE10, \
    2410  NLOHMANN_JSON_PASTE9, \
    2411  NLOHMANN_JSON_PASTE8, \
    2412  NLOHMANN_JSON_PASTE7, \
    2413  NLOHMANN_JSON_PASTE6, \
    2414  NLOHMANN_JSON_PASTE5, \
    2415  NLOHMANN_JSON_PASTE4, \
    2416  NLOHMANN_JSON_PASTE3, \
    2417  NLOHMANN_JSON_PASTE2, \
    2418  NLOHMANN_JSON_PASTE1)(__VA_ARGS__))
    2419 #define NLOHMANN_JSON_PASTE2(func, v1) func(v1)
    2420 #define NLOHMANN_JSON_PASTE3(func, v1, v2) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2)
    2421 #define NLOHMANN_JSON_PASTE4(func, v1, v2, v3) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3)
    2422 #define NLOHMANN_JSON_PASTE5(func, v1, v2, v3, v4) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4)
    2423 #define NLOHMANN_JSON_PASTE6(func, v1, v2, v3, v4, v5) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5)
    2424 #define NLOHMANN_JSON_PASTE7(func, v1, v2, v3, v4, v5, v6) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6)
    2425 #define NLOHMANN_JSON_PASTE8(func, v1, v2, v3, v4, v5, v6, v7) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7)
    2426 #define NLOHMANN_JSON_PASTE9(func, v1, v2, v3, v4, v5, v6, v7, v8) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8)
    2427 #define NLOHMANN_JSON_PASTE10(func, v1, v2, v3, v4, v5, v6, v7, v8, v9) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9)
    2428 #define NLOHMANN_JSON_PASTE11(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10)
    2429 #define NLOHMANN_JSON_PASTE12(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11)
    2430 #define NLOHMANN_JSON_PASTE13(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12)
    2431 #define NLOHMANN_JSON_PASTE14(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13)
    2432 #define NLOHMANN_JSON_PASTE15(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14)
    2433 #define NLOHMANN_JSON_PASTE16(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15)
    2434 #define NLOHMANN_JSON_PASTE17(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16)
    2435 #define NLOHMANN_JSON_PASTE18(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17)
    2436 #define NLOHMANN_JSON_PASTE19(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18)
    2437 #define NLOHMANN_JSON_PASTE20(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19)
    2438 #define NLOHMANN_JSON_PASTE21(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20)
    2439 #define NLOHMANN_JSON_PASTE22(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21)
    2440 #define NLOHMANN_JSON_PASTE23(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22)
    2441 #define NLOHMANN_JSON_PASTE24(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23)
    2442 #define NLOHMANN_JSON_PASTE25(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24)
    2443 #define NLOHMANN_JSON_PASTE26(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25)
    2444 #define NLOHMANN_JSON_PASTE27(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26)
    2445 #define NLOHMANN_JSON_PASTE28(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27)
    2446 #define NLOHMANN_JSON_PASTE29(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28)
    2447 #define NLOHMANN_JSON_PASTE30(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29)
    2448 #define NLOHMANN_JSON_PASTE31(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30)
    2449 #define NLOHMANN_JSON_PASTE32(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31)
    2450 #define NLOHMANN_JSON_PASTE33(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32)
    2451 #define NLOHMANN_JSON_PASTE34(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33)
    2452 #define NLOHMANN_JSON_PASTE35(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34)
    2453 #define NLOHMANN_JSON_PASTE36(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35)
    2454 #define NLOHMANN_JSON_PASTE37(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36)
    2455 #define NLOHMANN_JSON_PASTE38(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37)
    2456 #define NLOHMANN_JSON_PASTE39(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38)
    2457 #define NLOHMANN_JSON_PASTE40(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39)
    2458 #define NLOHMANN_JSON_PASTE41(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40)
    2459 #define NLOHMANN_JSON_PASTE42(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41)
    2460 #define NLOHMANN_JSON_PASTE43(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42)
    2461 #define NLOHMANN_JSON_PASTE44(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43)
    2462 #define NLOHMANN_JSON_PASTE45(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44)
    2463 #define NLOHMANN_JSON_PASTE46(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45)
    2464 #define NLOHMANN_JSON_PASTE47(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46)
    2465 #define NLOHMANN_JSON_PASTE48(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47)
    2466 #define NLOHMANN_JSON_PASTE49(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48)
    2467 #define NLOHMANN_JSON_PASTE50(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49)
    2468 #define NLOHMANN_JSON_PASTE51(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50)
    2469 #define NLOHMANN_JSON_PASTE52(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51)
    2470 #define NLOHMANN_JSON_PASTE53(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52)
    2471 #define NLOHMANN_JSON_PASTE54(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53)
    2472 #define NLOHMANN_JSON_PASTE55(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54)
    2473 #define NLOHMANN_JSON_PASTE56(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55)
    2474 #define NLOHMANN_JSON_PASTE57(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56)
    2475 #define NLOHMANN_JSON_PASTE58(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57)
    2476 #define NLOHMANN_JSON_PASTE59(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58)
    2477 #define NLOHMANN_JSON_PASTE60(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59)
    2478 #define NLOHMANN_JSON_PASTE61(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60)
    2479 #define NLOHMANN_JSON_PASTE62(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61)
    2480 #define NLOHMANN_JSON_PASTE63(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62)
    2481 #define NLOHMANN_JSON_PASTE64(func, v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63)
    2482 
    2483 #define NLOHMANN_JSON_TO(v1) nlohmann_json_j[#v1] = nlohmann_json_t.v1;
    2484 #define NLOHMANN_JSON_FROM(v1) nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1);
    2485 
    2491 #define NLOHMANN_DEFINE_TYPE_INTRUSIVE(Type, ...) \
    2492  friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \
    2493  friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) }
    2494 
    2500 #define NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type, ...) \
    2501  inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \
    2502  inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) }
    2503 
    2504 #ifndef JSON_USE_IMPLICIT_CONVERSIONS
    2505  #define JSON_USE_IMPLICIT_CONVERSIONS 1
    2506 #endif
    2507 
    2508 #if JSON_USE_IMPLICIT_CONVERSIONS
    2509  #define JSON_EXPLICIT
    2510 #else
    2511  #define JSON_EXPLICIT explicit
    2512 #endif
    2513 
    2514 
    2515 namespace nlohmann
    2516 {
    2517 namespace detail
    2518 {
    2519 
    2533 inline void replace_substring(std::string& s, const std::string& f,
    2534  const std::string& t)
    2535 {
    2536  JSON_ASSERT(!f.empty());
    2537  for (auto pos = s.find(f); // find first occurrence of f
    2538  pos != std::string::npos; // make sure f was found
    2539  s.replace(pos, f.size(), t), // replace with t, and
    2540  pos = s.find(f, pos + t.size())) // find next occurrence of f
    2541  {}
    2542 }
    2543 
    2552 {
    2553  replace_substring(s, "~", "~0");
    2554  replace_substring(s, "/", "~1");
    2555  return s;
    2556 }
    2557 
    2565 static void unescape(std::string& s)
    2566 {
    2567  replace_substring(s, "~1", "/");
    2568  replace_substring(s, "~0", "~");
    2569 }
    2570 
    2571 } // namespace detail
    2572 } // namespace nlohmann
    2573 
    2574 // #include <nlohmann/detail/input/position_t.hpp>
    2575 
    2576 
    2577 #include <cstddef> // size_t
    2578 
    2579 namespace nlohmann
    2580 {
    2581 namespace detail
    2582 {
    2585 {
    2587  std::size_t chars_read_total = 0;
    2589  std::size_t chars_read_current_line = 0;
    2591  std::size_t lines_read = 0;
    2592 
    2594  constexpr operator size_t() const
    2595  {
    2596  return chars_read_total;
    2597  }
    2598 };
    2599 
    2600 } // namespace detail
    2601 } // namespace nlohmann
    2602 
    2603 // #include <nlohmann/detail/macro_scope.hpp>
    2604 
    2605 
    2606 namespace nlohmann
    2607 {
    2608 namespace detail
    2609 {
    2611 // exceptions //
    2613 
    2642 class exception : public std::exception
    2643 {
    2644  public:
    2646  const char* what() const noexcept override
    2647  {
    2648  return m.what();
    2649  }
    2650 
    2652  const int id; // NOLINT(cppcoreguidelines-non-private-member-variables-in-classes)
    2653 
    2654  protected:
    2656  exception(int id_, const char* what_arg) : id(id_), m(what_arg) {}
    2657 
    2658  static std::string name(const std::string& ename, int id_)
    2659  {
    2660  return "[json.exception." + ename + "." + std::to_string(id_) + "] ";
    2661  }
    2662 
    2663  template<typename BasicJsonType>
    2664  static std::string diagnostics(const BasicJsonType& leaf_element)
    2665  {
    2666 #if JSON_DIAGNOSTICS
    2667  std::vector<std::string> tokens;
    2668  for (const auto* current = &leaf_element; current->m_parent != nullptr; current = current->m_parent)
    2669  {
    2670  switch (current->m_parent->type())
    2671  {
    2672  case value_t::array:
    2673  {
    2674  for (std::size_t i = 0; i < current->m_parent->m_value.array->size(); ++i)
    2675  {
    2676  if (&current->m_parent->m_value.array->operator[](i) == current)
    2677  {
    2678  tokens.emplace_back(std::to_string(i));
    2679  break;
    2680  }
    2681  }
    2682  break;
    2683  }
    2684 
    2685  case value_t::object:
    2686  {
    2687  for (const auto& element : *current->m_parent->m_value.object)
    2688  {
    2689  if (&element.second == current)
    2690  {
    2691  tokens.emplace_back(element.first.c_str());
    2692  break;
    2693  }
    2694  }
    2695  break;
    2696  }
    2697 
    2698  default: // LCOV_EXCL_LINE
    2699  break; // LCOV_EXCL_LINE
    2700  }
    2701  }
    2702 
    2703  if (tokens.empty())
    2704  {
    2705  return "";
    2706  }
    2707 
    2708  return "(" + std::accumulate(tokens.rbegin(), tokens.rend(), std::string{},
    2709  [](const std::string & a, const std::string & b)
    2710  {
    2711  return a + "/" + detail::escape(b);
    2712  }) + ") ";
    2713 #else
    2714  static_cast<void>(leaf_element);
    2715  return "";
    2716 #endif
    2717  }
    2718 
    2719  private:
    2721  std::runtime_error m;
    2722 };
    2723 
    2769 class parse_error : public exception
    2770 {
    2771  public:
    2781  template<typename BasicJsonType>
    2782  static parse_error create(int id_, const position_t& pos, const std::string& what_arg, const BasicJsonType& context)
    2783  {
    2784  std::string w = exception::name("parse_error", id_) + "parse error" +
    2785  position_string(pos) + ": " + exception::diagnostics(context) + what_arg;
    2786  return parse_error(id_, pos.chars_read_total, w.c_str());
    2787  }
    2788 
    2789  template<typename BasicJsonType>
    2790  static parse_error create(int id_, std::size_t byte_, const std::string& what_arg, const BasicJsonType& context)
    2791  {
    2792  std::string w = exception::name("parse_error", id_) + "parse error" +
    2793  (byte_ != 0 ? (" at byte " + std::to_string(byte_)) : "") +
    2794  ": " + exception::diagnostics(context) + what_arg;
    2795  return parse_error(id_, byte_, w.c_str());
    2796  }
    2797 
    2807  const std::size_t byte;
    2808 
    2809  private:
    2810  parse_error(int id_, std::size_t byte_, const char* what_arg)
    2811  : exception(id_, what_arg), byte(byte_) {}
    2812 
    2814  {
    2815  return " at line " + std::to_string(pos.lines_read + 1) +
    2816  ", column " + std::to_string(pos.chars_read_current_line);
    2817  }
    2818 };
    2819 
    2858 {
    2859  public:
    2860  template<typename BasicJsonType>
    2861  static invalid_iterator create(int id_, const std::string& what_arg, const BasicJsonType& context)
    2862  {
    2863  std::string w = exception::name("invalid_iterator", id_) + exception::diagnostics(context) + what_arg;
    2864  return invalid_iterator(id_, w.c_str());
    2865  }
    2866 
    2867  private:
    2869  invalid_iterator(int id_, const char* what_arg)
    2870  : exception(id_, what_arg) {}
    2871 };
    2872 
    2912 class type_error : public exception
    2913 {
    2914  public:
    2915  template<typename BasicJsonType>
    2916  static type_error create(int id_, const std::string& what_arg, const BasicJsonType& context)
    2917  {
    2918  std::string w = exception::name("type_error", id_) + exception::diagnostics(context) + what_arg;
    2919  return type_error(id_, w.c_str());
    2920  }
    2921 
    2922  private:
    2924  type_error(int id_, const char* what_arg) : exception(id_, what_arg) {}
    2925 };
    2926 
    2960 class out_of_range : public exception
    2961 {
    2962  public:
    2963  template<typename BasicJsonType>
    2964  static out_of_range create(int id_, const std::string& what_arg, const BasicJsonType& context)
    2965  {
    2966  std::string w = exception::name("out_of_range", id_) + exception::diagnostics(context) + what_arg;
    2967  return out_of_range(id_, w.c_str());
    2968  }
    2969 
    2970  private:
    2972  out_of_range(int id_, const char* what_arg) : exception(id_, what_arg) {}
    2973 };
    2974 
    2999 class other_error : public exception
    3000 {
    3001  public:
    3002  template<typename BasicJsonType>
    3003  static other_error create(int id_, const std::string& what_arg, const BasicJsonType& context)
    3004  {
    3005  std::string w = exception::name("other_error", id_) + exception::diagnostics(context) + what_arg;
    3006  return other_error(id_, w.c_str());
    3007  }
    3008 
    3009  private:
    3011  other_error(int id_, const char* what_arg) : exception(id_, what_arg) {}
    3012 };
    3013 } // namespace detail
    3014 } // namespace nlohmann
    3015 
    3016 // #include <nlohmann/detail/macro_scope.hpp>
    3017 
    3018 // #include <nlohmann/detail/meta/cpp_future.hpp>
    3019 
    3020 
    3021 #include <cstddef> // size_t
    3022 #include <type_traits> // conditional, enable_if, false_type, integral_constant, is_constructible, is_integral, is_same, remove_cv, remove_reference, true_type
    3023 #include <utility> // index_sequence, make_index_sequence, index_sequence_for
    3024 
    3025 // #include <nlohmann/detail/macro_scope.hpp>
    3026 
    3027 
    3028 namespace nlohmann
    3029 {
    3030 namespace detail
    3031 {
    3032 
    3033 template<typename T>
    3034 using uncvref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type;
    3035 
    3036 #ifdef JSON_HAS_CPP_14
    3037 
    3038 // the following utilities are natively available in C++14
    3039 using std::enable_if_t;
    3040 using std::index_sequence;
    3043 
    3044 #else
    3045 
    3046 // alias templates to reduce boilerplate
    3047 template<bool B, typename T = void>
    3048 using enable_if_t = typename std::enable_if<B, T>::type;
    3049 
    3050 // The following code is taken from https://github.com/abseil/abseil-cpp/blob/10cb35e459f5ecca5b2ff107635da0bfa41011b4/absl/utility/utility.h
    3051 // which is part of Google Abseil (https://github.com/abseil/abseil-cpp), licensed under the Apache License 2.0.
    3052 
    3054 
    3055 // integer_sequence
    3056 //
    3057 // Class template representing a compile-time integer sequence. An instantiation
    3058 // of `integer_sequence<T, Ints...>` has a sequence of integers encoded in its
    3059 // type through its template arguments (which is a common need when
    3060 // working with C++11 variadic templates). `absl::integer_sequence` is designed
    3061 // to be a drop-in replacement for C++14's `std::integer_sequence`.
    3062 //
    3063 // Example:
    3064 //
    3065 // template< class T, T... Ints >
    3066 // void user_function(integer_sequence<T, Ints...>);
    3067 //
    3068 // int main()
    3069 // {
    3070 // // user_function's `T` will be deduced to `int` and `Ints...`
    3071 // // will be deduced to `0, 1, 2, 3, 4`.
    3072 // user_function(make_integer_sequence<int, 5>());
    3073 // }
    3074 template <typename T, T... Ints>
    3076 {
    3077  using value_type = T;
    3078  static constexpr std::size_t size() noexcept
    3079  {
    3080  return sizeof...(Ints);
    3081  }
    3082 };
    3083 
    3084 // index_sequence
    3085 //
    3086 // A helper template for an `integer_sequence` of `size_t`,
    3087 // `absl::index_sequence` is designed to be a drop-in replacement for C++14's
    3088 // `std::index_sequence`.
    3089 template <size_t... Ints>
    3090 using index_sequence = integer_sequence<size_t, Ints...>;
    3091 
    3092 namespace utility_internal
    3093 {
    3094 
    3095 template <typename Seq, size_t SeqSize, size_t Rem>
    3096 struct Extend;
    3097 
    3098 // Note that SeqSize == sizeof...(Ints). It's passed explicitly for efficiency.
    3099 template <typename T, T... Ints, size_t SeqSize>
    3100 struct Extend<integer_sequence<T, Ints...>, SeqSize, 0>
    3101 {
    3102  using type = integer_sequence < T, Ints..., (Ints + SeqSize)... >;
    3103 };
    3104 
    3105 template <typename T, T... Ints, size_t SeqSize>
    3106 struct Extend<integer_sequence<T, Ints...>, SeqSize, 1>
    3107 {
    3108  using type = integer_sequence < T, Ints..., (Ints + SeqSize)..., 2 * SeqSize >;
    3109 };
    3110 
    3111 // Recursion helper for 'make_integer_sequence<T, N>'.
    3112 // 'Gen<T, N>::type' is an alias for 'integer_sequence<T, 0, 1, ... N-1>'.
    3113 template <typename T, size_t N>
    3114 struct Gen
    3115 {
    3116  using type =
    3117  typename Extend < typename Gen < T, N / 2 >::type, N / 2, N % 2 >::type;
    3118 };
    3119 
    3120 template <typename T>
    3121 struct Gen<T, 0>
    3122 {
    3124 };
    3125 
    3126 } // namespace utility_internal
    3127 
    3128 // Compile-time sequences of integers
    3129 
    3130 // make_integer_sequence
    3131 //
    3132 // This template alias is equivalent to
    3133 // `integer_sequence<int, 0, 1, ..., N-1>`, and is designed to be a drop-in
    3134 // replacement for C++14's `std::make_integer_sequence`.
    3135 template <typename T, T N>
    3137 
    3138 // make_index_sequence
    3139 //
    3140 // This template alias is equivalent to `index_sequence<0, 1, ..., N-1>`,
    3141 // and is designed to be a drop-in replacement for C++14's
    3142 // `std::make_index_sequence`.
    3143 template <size_t N>
    3145 
    3146 // index_sequence_for
    3147 //
    3148 // Converts a typename pack into an index sequence of the same length, and
    3149 // is designed to be a drop-in replacement for C++14's
    3150 // `std::index_sequence_for()`
    3151 template <typename... Ts>
    3153 
    3155 
    3156 #endif
    3157 
    3158 // dispatch utility (taken from ranges-v3)
    3159 template<unsigned N> struct priority_tag : priority_tag < N - 1 > {};
    3160 template<> struct priority_tag<0> {};
    3161 
    3162 // taken from ranges-v3
    3163 template<typename T>
    3165 {
    3166  static constexpr T value{};
    3167 };
    3168 
    3169 template<typename T>
    3170 constexpr T static_const<T>::value;
    3171 
    3172 } // namespace detail
    3173 } // namespace nlohmann
    3174 
    3175 // #include <nlohmann/detail/meta/identity_tag.hpp>
    3176 
    3177 
    3178 namespace nlohmann
    3179 {
    3180 namespace detail
    3181 {
    3182 // dispatching helper struct
    3183 template <class T> struct identity_tag {};
    3184 } // namespace detail
    3185 } // namespace nlohmann
    3186 
    3187 // #include <nlohmann/detail/meta/type_traits.hpp>
    3188 
    3189 
    3190 #include <limits> // numeric_limits
    3191 #include <type_traits> // false_type, is_constructible, is_integral, is_same, true_type
    3192 #include <utility> // declval
    3193 #include <tuple> // tuple
    3194 
    3195 // #include <nlohmann/detail/iterators/iterator_traits.hpp>
    3196 
    3197 
    3198 #include <iterator> // random_access_iterator_tag
    3199 
    3200 // #include <nlohmann/detail/meta/void_t.hpp>
    3201 
    3202 
    3203 namespace nlohmann
    3204 {
    3205 namespace detail
    3206 {
    3207 template<typename ...Ts> struct make_void
    3208 {
    3209  using type = void;
    3210 };
    3211 template<typename ...Ts> using void_t = typename make_void<Ts...>::type;
    3212 } // namespace detail
    3213 } // namespace nlohmann
    3214 
    3215 // #include <nlohmann/detail/meta/cpp_future.hpp>
    3216 
    3217 
    3218 namespace nlohmann
    3219 {
    3220 namespace detail
    3221 {
    3222 template<typename It, typename = void>
    3223 struct iterator_types {};
    3224 
    3225 template<typename It>
    3227  It,
    3228  void_t<typename It::difference_type, typename It::value_type, typename It::pointer,
    3229  typename It::reference, typename It::iterator_category >>
    3230 {
    3231  using difference_type = typename It::difference_type;
    3232  using value_type = typename It::value_type;
    3233  using pointer = typename It::pointer;
    3234  using reference = typename It::reference;
    3235  using iterator_category = typename It::iterator_category;
    3236 };
    3237 
    3238 // This is required as some compilers implement std::iterator_traits in a way that
    3239 // doesn't work with SFINAE. See https://github.com/nlohmann/json/issues/1341.
    3240 template<typename T, typename = void>
    3242 {
    3243 };
    3244 
    3245 template<typename T>
    3246 struct iterator_traits < T, enable_if_t < !std::is_pointer<T>::value >>
    3247  : iterator_types<T>
    3248 {
    3249 };
    3250 
    3251 template<typename T>
    3253 {
    3254  using iterator_category = std::random_access_iterator_tag;
    3255  using value_type = T;
    3256  using difference_type = ptrdiff_t;
    3257  using pointer = T*;
    3258  using reference = T&;
    3259 };
    3260 } // namespace detail
    3261 } // namespace nlohmann
    3262 
    3263 // #include <nlohmann/detail/macro_scope.hpp>
    3264 
    3265 // #include <nlohmann/detail/meta/cpp_future.hpp>
    3266 
    3267 // #include <nlohmann/detail/meta/detected.hpp>
    3268 
    3269 
    3270 #include <type_traits>
    3271 
    3272 // #include <nlohmann/detail/meta/void_t.hpp>
    3273 
    3274 
    3275 // https://en.cppreference.com/w/cpp/experimental/is_detected
    3276 namespace nlohmann
    3277 {
    3278 namespace detail
    3279 {
    3280 struct nonesuch
    3281 {
    3282  nonesuch() = delete;
    3283  ~nonesuch() = delete;
    3284  nonesuch(nonesuch const&) = delete;
    3285  nonesuch(nonesuch const&&) = delete;
    3286  void operator=(nonesuch const&) = delete;
    3287  void operator=(nonesuch&&) = delete;
    3288 };
    3289 
    3290 template<class Default,
    3291  class AlwaysVoid,
    3292  template<class...> class Op,
    3293  class... Args>
    3294 struct detector
    3295 {
    3296  using value_t = std::false_type;
    3297  using type = Default;
    3298 };
    3299 
    3300 template<class Default, template<class...> class Op, class... Args>
    3301 struct detector<Default, void_t<Op<Args...>>, Op, Args...>
    3302 {
    3303  using value_t = std::true_type;
    3304  using type = Op<Args...>;
    3305 };
    3306 
    3307 template<template<class...> class Op, class... Args>
    3308 using is_detected = typename detector<nonesuch, void, Op, Args...>::value_t;
    3309 
    3310 template<template<class...> class Op, class... Args>
    3311 using detected_t = typename detector<nonesuch, void, Op, Args...>::type;
    3312 
    3313 template<class Default, template<class...> class Op, class... Args>
    3314 using detected_or = detector<Default, void, Op, Args...>;
    3315 
    3316 template<class Default, template<class...> class Op, class... Args>
    3317 using detected_or_t = typename detected_or<Default, Op, Args...>::type;
    3318 
    3319 template<class Expected, template<class...> class Op, class... Args>
    3320 using is_detected_exact = std::is_same<Expected, detected_t<Op, Args...>>;
    3321 
    3322 template<class To, template<class...> class Op, class... Args>
    3324  std::is_convertible<detected_t<Op, Args...>, To>;
    3325 } // namespace detail
    3326 } // namespace nlohmann
    3327 
    3328 // #include <nlohmann/json_fwd.hpp>
    3329 #ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_
    3330 #define INCLUDE_NLOHMANN_JSON_FWD_HPP_
    3331 
    3332 #include <cstdint> // int64_t, uint64_t
    3333 #include <map> // map
    3334 #include <memory> // allocator
    3335 #include <string> // string
    3336 #include <vector> // vector
    3337 
    3343 namespace nlohmann
    3344 {
    3352 template<typename T = void, typename SFINAE = void>
    3354 
    3355 template<template<typename U, typename V, typename... Args> class ObjectType =
    3356  std::map,
    3357  template<typename U, typename... Args> class ArrayType = std::vector,
    3358  class StringType = std::string, class BooleanType = bool,
    3359  class NumberIntegerType = std::int64_t,
    3360  class NumberUnsignedType = std::uint64_t,
    3361  class NumberFloatType = double,
    3362  template<typename U> class AllocatorType = std::allocator,
    3363  template<typename T, typename SFINAE = void> class JSONSerializer =
    3365  class BinaryType = std::vector<std::uint8_t>>
    3367 
    3379 template<typename BasicJsonType>
    3381 
    3391 
    3392 template<class Key, class T, class IgnoredLess, class Allocator>
    3394 
    3403 
    3404 } // namespace nlohmann
    3405 
    3406 #endif // INCLUDE_NLOHMANN_JSON_FWD_HPP_
    3407 
    3408 
    3409 namespace nlohmann
    3410 {
    3419 namespace detail
    3420 {
    3422 // helpers //
    3424 
    3425 // Note to maintainers:
    3426 //
    3427 // Every trait in this file expects a non CV-qualified type.
    3428 // The only exceptions are in the 'aliases for detected' section
    3429 // (i.e. those of the form: decltype(T::member_function(std::declval<T>())))
    3430 //
    3431 // In this case, T has to be properly CV-qualified to constraint the function arguments
    3432 // (e.g. to_json(BasicJsonType&, const T&))
    3433 
    3434 template<typename> struct is_basic_json : std::false_type {};
    3435 
    3437 struct is_basic_json<NLOHMANN_BASIC_JSON_TPL> : std::true_type {};
    3438 
    3440 // json_ref helpers //
    3442 
    3443 template<typename>
    3444 class json_ref;
    3445 
    3446 template<typename>
    3447 struct is_json_ref : std::false_type {};
    3448 
    3449 template<typename T>
    3450 struct is_json_ref<json_ref<T>> : std::true_type {};
    3451 
    3453 // aliases for detected //
    3455 
    3456 template<typename T>
    3457 using mapped_type_t = typename T::mapped_type;
    3458 
    3459 template<typename T>
    3460 using key_type_t = typename T::key_type;
    3461 
    3462 template<typename T>
    3463 using value_type_t = typename T::value_type;
    3464 
    3465 template<typename T>
    3466 using difference_type_t = typename T::difference_type;
    3467 
    3468 template<typename T>
    3469 using pointer_t = typename T::pointer;
    3470 
    3471 template<typename T>
    3472 using reference_t = typename T::reference;
    3473 
    3474 template<typename T>
    3475 using iterator_category_t = typename T::iterator_category;
    3476 
    3477 template<typename T>
    3478 using iterator_t = typename T::iterator;
    3479 
    3480 template<typename T, typename... Args>
    3481 using to_json_function = decltype(T::to_json(std::declval<Args>()...));
    3482 
    3483 template<typename T, typename... Args>
    3484 using from_json_function = decltype(T::from_json(std::declval<Args>()...));
    3485 
    3486 template<typename T, typename U>
    3487 using get_template_function = decltype(std::declval<T>().template get<U>());
    3488 
    3489 // trait checking if JSONSerializer<T>::from_json(json const&, udt&) exists
    3490 template<typename BasicJsonType, typename T, typename = void>
    3491 struct has_from_json : std::false_type {};
    3492 
    3493 // trait checking if j.get<T> is valid
    3494 // use this trait instead of std::is_constructible or std::is_convertible,
    3495 // both rely on, or make use of implicit conversions, and thus fail when T
    3496 // has several constructors/operator= (see https://github.com/nlohmann/json/issues/958)
    3497 template <typename BasicJsonType, typename T>
    3499 {
    3501 };
    3502 
    3503 template<typename BasicJsonType, typename T>
    3504 struct has_from_json < BasicJsonType, T, enable_if_t < !is_basic_json<T>::value >>
    3505 {
    3506  using serializer = typename BasicJsonType::template json_serializer<T, void>;
    3507 
    3508  static constexpr bool value =
    3510  const BasicJsonType&, T&>::value;
    3511 };
    3512 
    3513 // This trait checks if JSONSerializer<T>::from_json(json const&) exists
    3514 // this overload is used for non-default-constructible user-defined-types
    3515 template<typename BasicJsonType, typename T, typename = void>
    3516 struct has_non_default_from_json : std::false_type {};
    3517 
    3518 template<typename BasicJsonType, typename T>
    3519 struct has_non_default_from_json < BasicJsonType, T, enable_if_t < !is_basic_json<T>::value >>
    3520 {
    3521  using serializer = typename BasicJsonType::template json_serializer<T, void>;
    3522 
    3523  static constexpr bool value =
    3525  const BasicJsonType&>::value;
    3526 };
    3527 
    3528 // This trait checks if BasicJsonType::json_serializer<T>::to_json exists
    3529 // Do not evaluate the trait when T is a basic_json type, to avoid template instantiation infinite recursion.
    3530 template<typename BasicJsonType, typename T, typename = void>
    3531 struct has_to_json : std::false_type {};
    3532 
    3533 template<typename BasicJsonType, typename T>
    3534 struct has_to_json < BasicJsonType, T, enable_if_t < !is_basic_json<T>::value >>
    3535 {
    3536  using serializer = typename BasicJsonType::template json_serializer<T, void>;
    3537 
    3538  static constexpr bool value =
    3540  T>::value;
    3541 };
    3542 
    3543 
    3545 // is_ functions //
    3547 
    3548 // https://en.cppreference.com/w/cpp/types/conjunction
    3549 template<class...> struct conjunction : std::true_type { };
    3550 template<class B1> struct conjunction<B1> : B1 { };
    3551 template<class B1, class... Bn>
    3552 struct conjunction<B1, Bn...>
    3553 : std::conditional<bool(B1::value), conjunction<Bn...>, B1>::type {};
    3554 
    3555 // Reimplementation of is_constructible and is_default_constructible, due to them being broken for
    3556 // std::pair and std::tuple until LWG 2367 fix (see https://cplusplus.github.io/LWG/lwg-defects.html#2367).
    3557 // This causes compile errors in e.g. clang 3.5 or gcc 4.9.
    3558 template <typename T>
    3559 struct is_default_constructible : std::is_default_constructible<T> {};
    3560 
    3561 template <typename T1, typename T2>
    3562 struct is_default_constructible<std::pair<T1, T2>>
    3563  : conjunction<is_default_constructible<T1>, is_default_constructible<T2>> {};
    3564 
    3565 template <typename T1, typename T2>
    3566 struct is_default_constructible<const std::pair<T1, T2>>
    3567  : conjunction<is_default_constructible<T1>, is_default_constructible<T2>> {};
    3568 
    3569 template <typename... Ts>
    3570 struct is_default_constructible<std::tuple<Ts...>>
    3571  : conjunction<is_default_constructible<Ts>...> {};
    3572 
    3573 template <typename... Ts>
    3574 struct is_default_constructible<const std::tuple<Ts...>>
    3575  : conjunction<is_default_constructible<Ts>...> {};
    3576 
    3577 
    3578 template <typename T, typename... Args>
    3579 struct is_constructible : std::is_constructible<T, Args...> {};
    3580 
    3581 template <typename T1, typename T2>
    3582 struct is_constructible<std::pair<T1, T2>> : is_default_constructible<std::pair<T1, T2>> {};
    3583 
    3584 template <typename T1, typename T2>
    3585 struct is_constructible<const std::pair<T1, T2>> : is_default_constructible<const std::pair<T1, T2>> {};
    3586 
    3587 template <typename... Ts>
    3588 struct is_constructible<std::tuple<Ts...>> : is_default_constructible<std::tuple<Ts...>> {};
    3589 
    3590 template <typename... Ts>
    3591 struct is_constructible<const std::tuple<Ts...>> : is_default_constructible<const std::tuple<Ts...>> {};
    3592 
    3593 
    3594 template<typename T, typename = void>
    3595 struct is_iterator_traits : std::false_type {};
    3596 
    3597 template<typename T>
    3599 {
    3600  private:
    3602 
    3603  public:
    3604  static constexpr auto value =
    3610 };
    3611 
    3612 // The following implementation of is_complete_type is taken from
    3613 // https://blogs.msdn.microsoft.com/vcblog/2015/12/02/partial-support-for-expression-sfinae-in-vs-2015-update-1/
    3614 // and is written by Xiang Fan who agreed to using it in this library.
    3615 
    3616 template<typename T, typename = void>
    3617 struct is_complete_type : std::false_type {};
    3618 
    3619 template<typename T>
    3620 struct is_complete_type<T, decltype(void(sizeof(T)))> : std::true_type {};
    3621 
    3622 template<typename BasicJsonType, typename CompatibleObjectType,
    3623  typename = void>
    3624 struct is_compatible_object_type_impl : std::false_type {};
    3625 
    3626 template<typename BasicJsonType, typename CompatibleObjectType>
    3628  BasicJsonType, CompatibleObjectType,
    3629  enable_if_t < is_detected<mapped_type_t, CompatibleObjectType>::value&&
    3630  is_detected<key_type_t, CompatibleObjectType>::value >>
    3631 {
    3632  using object_t = typename BasicJsonType::object_t;
    3633 
    3634  // macOS's is_constructible does not play well with nonesuch...
    3635  static constexpr bool value =
    3636  is_constructible<typename object_t::key_type,
    3637  typename CompatibleObjectType::key_type>::value &&
    3638  is_constructible<typename object_t::mapped_type,
    3639  typename CompatibleObjectType::mapped_type>::value;
    3640 };
    3641 
    3642 template<typename BasicJsonType, typename CompatibleObjectType>
    3644  : is_compatible_object_type_impl<BasicJsonType, CompatibleObjectType> {};
    3645 
    3646 template<typename BasicJsonType, typename ConstructibleObjectType,
    3647  typename = void>
    3648 struct is_constructible_object_type_impl : std::false_type {};
    3649 
    3650 template<typename BasicJsonType, typename ConstructibleObjectType>
    3652  BasicJsonType, ConstructibleObjectType,
    3653  enable_if_t < is_detected<mapped_type_t, ConstructibleObjectType>::value&&
    3654  is_detected<key_type_t, ConstructibleObjectType>::value >>
    3655 {
    3656  using object_t = typename BasicJsonType::object_t;
    3657 
    3658  static constexpr bool value =
    3660  (std::is_move_assignable<ConstructibleObjectType>::value ||
    3661  std::is_copy_assignable<ConstructibleObjectType>::value) &&
    3662  (is_constructible<typename ConstructibleObjectType::key_type,
    3663  typename object_t::key_type>::value &&
    3664  std::is_same <
    3665  typename object_t::mapped_type,
    3666  typename ConstructibleObjectType::mapped_type >::value)) ||
    3667  (has_from_json<BasicJsonType,
    3668  typename ConstructibleObjectType::mapped_type>::value ||
    3670  BasicJsonType,
    3671  typename ConstructibleObjectType::mapped_type >::value);
    3672 };
    3673 
    3674 template<typename BasicJsonType, typename ConstructibleObjectType>
    3676  : is_constructible_object_type_impl<BasicJsonType,
    3677  ConstructibleObjectType> {};
    3678 
    3679 template<typename BasicJsonType, typename CompatibleStringType,
    3680  typename = void>
    3681 struct is_compatible_string_type_impl : std::false_type {};
    3682 
    3683 template<typename BasicJsonType, typename CompatibleStringType>
    3685  BasicJsonType, CompatibleStringType,
    3686  enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,
    3687  value_type_t, CompatibleStringType>::value >>
    3688 {
    3689  static constexpr auto value =
    3691 };
    3692 
    3693 template<typename BasicJsonType, typename ConstructibleStringType>
    3695  : is_compatible_string_type_impl<BasicJsonType, ConstructibleStringType> {};
    3696 
    3697 template<typename BasicJsonType, typename ConstructibleStringType,
    3698  typename = void>
    3699 struct is_constructible_string_type_impl : std::false_type {};
    3700 
    3701 template<typename BasicJsonType, typename ConstructibleStringType>
    3703  BasicJsonType, ConstructibleStringType,
    3704  enable_if_t<is_detected_exact<typename BasicJsonType::string_t::value_type,
    3705  value_type_t, ConstructibleStringType>::value >>
    3706 {
    3707  static constexpr auto value =
    3708  is_constructible<ConstructibleStringType,
    3709  typename BasicJsonType::string_t>::value;
    3710 };
    3711 
    3712 template<typename BasicJsonType, typename ConstructibleStringType>
    3714  : is_constructible_string_type_impl<BasicJsonType, ConstructibleStringType> {};
    3715 
    3716 template<typename BasicJsonType, typename CompatibleArrayType, typename = void>
    3717 struct is_compatible_array_type_impl : std::false_type {};
    3718 
    3719 template<typename BasicJsonType, typename CompatibleArrayType>
    3721  BasicJsonType, CompatibleArrayType,
    3722  enable_if_t < is_detected<value_type_t, CompatibleArrayType>::value&&
    3723  is_detected<iterator_t, CompatibleArrayType>::value&&
    3724 // This is needed because json_reverse_iterator has a ::iterator type...
    3725 // Therefore it is detected as a CompatibleArrayType.
    3726 // The real fix would be to have an Iterable concept.
    3728  iterator_traits<CompatibleArrayType >>::value >>
    3729 {
    3730  static constexpr bool value =
    3731  is_constructible<BasicJsonType,
    3732  typename CompatibleArrayType::value_type>::value;
    3733 };
    3734 
    3735 template<typename BasicJsonType, typename CompatibleArrayType>
    3737  : is_compatible_array_type_impl<BasicJsonType, CompatibleArrayType> {};
    3738 
    3739 template<typename BasicJsonType, typename ConstructibleArrayType, typename = void>
    3740 struct is_constructible_array_type_impl : std::false_type {};
    3741 
    3742 template<typename BasicJsonType, typename ConstructibleArrayType>
    3744  BasicJsonType, ConstructibleArrayType,
    3745  enable_if_t<std::is_same<ConstructibleArrayType,
    3746  typename BasicJsonType::value_type>::value >>
    3747  : std::true_type {};
    3748 
    3749 template<typename BasicJsonType, typename ConstructibleArrayType>
    3751  BasicJsonType, ConstructibleArrayType,
    3752  enable_if_t < !std::is_same<ConstructibleArrayType,
    3753  typename BasicJsonType::value_type>::value&&
    3754  is_default_constructible<ConstructibleArrayType>::value&&
    3755 (std::is_move_assignable<ConstructibleArrayType>::value ||
    3756  std::is_copy_assignable<ConstructibleArrayType>::value)&&
    3757 is_detected<value_type_t, ConstructibleArrayType>::value&&
    3758 is_detected<iterator_t, ConstructibleArrayType>::value&&
    3760 detected_t<value_type_t, ConstructibleArrayType >>::value >>
    3761 {
    3762  static constexpr bool value =
    3763  // This is needed because json_reverse_iterator has a ::iterator type,
    3764  // furthermore, std::back_insert_iterator (and other iterators) have a
    3765  // base class `iterator`... Therefore it is detected as a
    3766  // ConstructibleArrayType. The real fix would be to have an Iterable
    3767  // concept.
    3769 
    3770  (std::is_same<typename ConstructibleArrayType::value_type,
    3771  typename BasicJsonType::array_t::value_type>::value ||
    3772  has_from_json<BasicJsonType,
    3773  typename ConstructibleArrayType::value_type>::value ||
    3775  BasicJsonType, typename ConstructibleArrayType::value_type >::value);
    3776 };
    3777 
    3778 template<typename BasicJsonType, typename ConstructibleArrayType>
    3780  : is_constructible_array_type_impl<BasicJsonType, ConstructibleArrayType> {};
    3781 
    3782 template<typename RealIntegerType, typename CompatibleNumberIntegerType,
    3783  typename = void>
    3784 struct is_compatible_integer_type_impl : std::false_type {};
    3785 
    3786 template<typename RealIntegerType, typename CompatibleNumberIntegerType>
    3788  RealIntegerType, CompatibleNumberIntegerType,
    3789  enable_if_t < std::is_integral<RealIntegerType>::value&&
    3790  std::is_integral<CompatibleNumberIntegerType>::value&&
    3791  !std::is_same<bool, CompatibleNumberIntegerType>::value >>
    3792 {
    3793  // is there an assert somewhere on overflows?
    3794  using RealLimits = std::numeric_limits<RealIntegerType>;
    3795  using CompatibleLimits = std::numeric_limits<CompatibleNumberIntegerType>;
    3796 
    3797  static constexpr auto value =
    3798  is_constructible<RealIntegerType,
    3799  CompatibleNumberIntegerType>::value &&
    3800  CompatibleLimits::is_integer &&
    3801  RealLimits::is_signed == CompatibleLimits::is_signed;
    3802 };
    3803 
    3804 template<typename RealIntegerType, typename CompatibleNumberIntegerType>
    3806  : is_compatible_integer_type_impl<RealIntegerType,
    3807  CompatibleNumberIntegerType> {};
    3808 
    3809 template<typename BasicJsonType, typename CompatibleType, typename = void>
    3810 struct is_compatible_type_impl: std::false_type {};
    3811 
    3812 template<typename BasicJsonType, typename CompatibleType>
    3814  BasicJsonType, CompatibleType,
    3815  enable_if_t<is_complete_type<CompatibleType>::value >>
    3816 {
    3817  static constexpr bool value =
    3819 };
    3820 
    3821 template<typename BasicJsonType, typename CompatibleType>
    3823  : is_compatible_type_impl<BasicJsonType, CompatibleType> {};
    3824 
    3825 template<typename T1, typename T2>
    3826 struct is_constructible_tuple : std::false_type {};
    3827 
    3828 template<typename T1, typename... Args>
    3829 struct is_constructible_tuple<T1, std::tuple<Args...>> : conjunction<is_constructible<T1, Args>...> {};
    3830 } // namespace detail
    3831 } // namespace nlohmann
    3832 
    3833 // #include <nlohmann/detail/value_t.hpp>
    3834 
    3835 
    3836 namespace nlohmann
    3837 {
    3838 namespace detail
    3839 {
    3840 template<typename BasicJsonType>
    3841 void from_json(const BasicJsonType& j, typename std::nullptr_t& n)
    3842 {
    3843  if (JSON_HEDLEY_UNLIKELY(!j.is_null()))
    3844  {
    3845  JSON_THROW(type_error::create(302, "type must be null, but is " + std::string(j.type_name()), j));
    3846  }
    3847  n = nullptr;
    3848 }
    3849 
    3850 // overloads for basic_json template parameters
    3851 template < typename BasicJsonType, typename ArithmeticType,
    3853  !std::is_same<ArithmeticType, typename BasicJsonType::boolean_t>::value,
    3854  int > = 0 >
    3855 void get_arithmetic_value(const BasicJsonType& j, ArithmeticType& val)
    3856 {
    3857  switch (static_cast<value_t>(j))
    3858  {
    3860  {
    3861  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_unsigned_t*>());
    3862  break;
    3863  }
    3865  {
    3866  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_integer_t*>());
    3867  break;
    3868  }
    3869  case value_t::number_float:
    3870  {
    3871  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_float_t*>());
    3872  break;
    3873  }
    3874 
    3875  default:
    3876  JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name()), j));
    3877  }
    3878 }
    3879 
    3880 template<typename BasicJsonType>
    3881 void from_json(const BasicJsonType& j, typename BasicJsonType::boolean_t& b)
    3882 {
    3883  if (JSON_HEDLEY_UNLIKELY(!j.is_boolean()))
    3884  {
    3885  JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(j.type_name()), j));
    3886  }
    3887  b = *j.template get_ptr<const typename BasicJsonType::boolean_t*>();
    3888 }
    3889 
    3890 template<typename BasicJsonType>
    3891 void from_json(const BasicJsonType& j, typename BasicJsonType::string_t& s)
    3892 {
    3893  if (JSON_HEDLEY_UNLIKELY(!j.is_string()))
    3894  {
    3895  JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name()), j));
    3896  }
    3897  s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
    3898 }
    3899 
    3900 template <
    3901  typename BasicJsonType, typename ConstructibleStringType,
    3902  enable_if_t <
    3904  !std::is_same<typename BasicJsonType::string_t,
    3905  ConstructibleStringType>::value,
    3906  int > = 0 >
    3907 void from_json(const BasicJsonType& j, ConstructibleStringType& s)
    3908 {
    3909  if (JSON_HEDLEY_UNLIKELY(!j.is_string()))
    3910  {
    3911  JSON_THROW(type_error::create(302, "type must be string, but is " + std::string(j.type_name()), j));
    3912  }
    3913 
    3914  s = *j.template get_ptr<const typename BasicJsonType::string_t*>();
    3915 }
    3916 
    3917 template<typename BasicJsonType>
    3918 void from_json(const BasicJsonType& j, typename BasicJsonType::number_float_t& val)
    3919 {
    3920  get_arithmetic_value(j, val);
    3921 }
    3922 
    3923 template<typename BasicJsonType>
    3924 void from_json(const BasicJsonType& j, typename BasicJsonType::number_unsigned_t& val)
    3925 {
    3926  get_arithmetic_value(j, val);
    3927 }
    3928 
    3929 template<typename BasicJsonType>
    3930 void from_json(const BasicJsonType& j, typename BasicJsonType::number_integer_t& val)
    3931 {
    3932  get_arithmetic_value(j, val);
    3933 }
    3934 
    3935 template<typename BasicJsonType, typename EnumType,
    3937 void from_json(const BasicJsonType& j, EnumType& e)
    3938 {
    3939  typename std::underlying_type<EnumType>::type val;
    3940  get_arithmetic_value(j, val);
    3941  e = static_cast<EnumType>(val);
    3942 }
    3943 
    3944 // forward_list doesn't have an insert method
    3945 template<typename BasicJsonType, typename T, typename Allocator,
    3947 void from_json(const BasicJsonType& j, std::forward_list<T, Allocator>& l)
    3948 {
    3949  if (JSON_HEDLEY_UNLIKELY(!j.is_array()))
    3950  {
    3951  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()), j));
    3952  }
    3953  l.clear();
    3954  std::transform(j.rbegin(), j.rend(),
    3955  std::front_inserter(l), [](const BasicJsonType & i)
    3956  {
    3957  return i.template get<T>();
    3958  });
    3959 }
    3960 
    3961 // valarray doesn't have an insert method
    3962 template<typename BasicJsonType, typename T,
    3963  enable_if_t<is_getable<BasicJsonType, T>::value, int> = 0>
    3964 void from_json(const BasicJsonType& j, std::valarray<T>& l)
    3965 {
    3966  if (JSON_HEDLEY_UNLIKELY(!j.is_array()))
    3967  {
    3968  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()), j));
    3969  }
    3970  l.resize(j.size());
    3971  std::transform(j.begin(), j.end(), std::begin(l),
    3972  [](const BasicJsonType & elem)
    3973  {
    3974  return elem.template get<T>();
    3975  });
    3976 }
    3977 
    3978 template<typename BasicJsonType, typename T, std::size_t N>
    3979 auto from_json(const BasicJsonType& j, T (&arr)[N]) // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays)
    3980 -> decltype(j.template get<T>(), void())
    3981 {
    3982  for (std::size_t i = 0; i < N; ++i)
    3983  {
    3984  arr[i] = j.at(i).template get<T>();
    3985  }
    3986 }
    3987 
    3988 template<typename BasicJsonType>
    3989 void from_json_array_impl(const BasicJsonType& j, typename BasicJsonType::array_t& arr, priority_tag<3> /*unused*/)
    3990 {
    3991  arr = *j.template get_ptr<const typename BasicJsonType::array_t*>();
    3992 }
    3993 
    3994 template<typename BasicJsonType, typename T, std::size_t N>
    3995 auto from_json_array_impl(const BasicJsonType& j, std::array<T, N>& arr,
    3996  priority_tag<2> /*unused*/)
    3997 -> decltype(j.template get<T>(), void())
    3998 {
    3999  for (std::size_t i = 0; i < N; ++i)
    4000  {
    4001  arr[i] = j.at(i).template get<T>();
    4002  }
    4003 }
    4004 
    4005 template<typename BasicJsonType, typename ConstructibleArrayType,
    4006  enable_if_t<
    4007  std::is_assignable<ConstructibleArrayType&, ConstructibleArrayType>::value,
    4008  int> = 0>
    4009 auto from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType& arr, priority_tag<1> /*unused*/)
    4010 -> decltype(
    4011  arr.reserve(std::declval<typename ConstructibleArrayType::size_type>()),
    4012  j.template get<typename ConstructibleArrayType::value_type>(),
    4013  void())
    4014 {
    4015  using std::end;
    4016 
    4017  ConstructibleArrayType ret;
    4018  ret.reserve(j.size());
    4019  std::transform(j.begin(), j.end(),
    4020  std::inserter(ret, end(ret)), [](const BasicJsonType & i)
    4021  {
    4022  // get<BasicJsonType>() returns *this, this won't call a from_json
    4023  // method when value_type is BasicJsonType
    4024  return i.template get<typename ConstructibleArrayType::value_type>();
    4025  });
    4026  arr = std::move(ret);
    4027 }
    4028 
    4029 template<typename BasicJsonType, typename ConstructibleArrayType,
    4030  enable_if_t<
    4031  std::is_assignable<ConstructibleArrayType&, ConstructibleArrayType>::value,
    4032  int> = 0>
    4033 void from_json_array_impl(const BasicJsonType& j, ConstructibleArrayType& arr,
    4034  priority_tag<0> /*unused*/)
    4035 {
    4036  using std::end;
    4037 
    4038  ConstructibleArrayType ret;
    4039  std::transform(
    4040  j.begin(), j.end(), std::inserter(ret, end(ret)),
    4041  [](const BasicJsonType & i)
    4042  {
    4043  // get<BasicJsonType>() returns *this, this won't call a from_json
    4044  // method when value_type is BasicJsonType
    4045  return i.template get<typename ConstructibleArrayType::value_type>();
    4046  });
    4047  arr = std::move(ret);
    4048 }
    4049 
    4050 template < typename BasicJsonType, typename ConstructibleArrayType,
    4051  enable_if_t <
    4055  !std::is_same<ConstructibleArrayType, typename BasicJsonType::binary_t>::value&&
    4057  int > = 0 >
    4058 auto from_json(const BasicJsonType& j, ConstructibleArrayType& arr)
    4059 -> decltype(from_json_array_impl(j, arr, priority_tag<3> {}),
    4060 j.template get<typename ConstructibleArrayType::value_type>(),
    4061 void())
    4062 {
    4063  if (JSON_HEDLEY_UNLIKELY(!j.is_array()))
    4064  {
    4065  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()), j));
    4066  }
    4067 
    4069 }
    4070 
    4071 template < typename BasicJsonType, typename T, std::size_t... Idx >
    4072 std::array<T, sizeof...(Idx)> from_json_inplace_array_impl(BasicJsonType&& j,
    4073  identity_tag<std::array<T, sizeof...(Idx)>> /*unused*/, index_sequence<Idx...> /*unused*/)
    4074 {
    4075  return { { std::forward<BasicJsonType>(j).at(Idx).template get<T>()... } };
    4076 }
    4077 
    4078 template < typename BasicJsonType, typename T, std::size_t N >
    4079 auto from_json(BasicJsonType&& j, identity_tag<std::array<T, N>> tag)
    4080 -> decltype(from_json_inplace_array_impl(std::forward<BasicJsonType>(j), tag, make_index_sequence<N> {}))
    4081 {
    4082  if (JSON_HEDLEY_UNLIKELY(!j.is_array()))
    4083  {
    4084  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()), j));
    4085  }
    4086 
    4087  return from_json_inplace_array_impl(std::forward<BasicJsonType>(j), tag, make_index_sequence<N> {});
    4088 }
    4089 
    4090 template<typename BasicJsonType>
    4091 void from_json(const BasicJsonType& j, typename BasicJsonType::binary_t& bin)
    4092 {
    4093  if (JSON_HEDLEY_UNLIKELY(!j.is_binary()))
    4094  {
    4095  JSON_THROW(type_error::create(302, "type must be binary, but is " + std::string(j.type_name()), j));
    4096  }
    4097 
    4098  bin = *j.template get_ptr<const typename BasicJsonType::binary_t*>();
    4099 }
    4100 
    4101 template<typename BasicJsonType, typename ConstructibleObjectType,
    4103 void from_json(const BasicJsonType& j, ConstructibleObjectType& obj)
    4104 {
    4105  if (JSON_HEDLEY_UNLIKELY(!j.is_object()))
    4106  {
    4107  JSON_THROW(type_error::create(302, "type must be object, but is " + std::string(j.type_name()), j));
    4108  }
    4109 
    4110  ConstructibleObjectType ret;
    4111  const auto* inner_object = j.template get_ptr<const typename BasicJsonType::object_t*>();
    4112  using value_type = typename ConstructibleObjectType::value_type;
    4113  std::transform(
    4114  inner_object->begin(), inner_object->end(),
    4115  std::inserter(ret, ret.begin()),
    4116  [](typename BasicJsonType::object_t::value_type const & p)
    4117  {
    4118  return value_type(p.first, p.second.template get<typename ConstructibleObjectType::mapped_type>());
    4119  });
    4120  obj = std::move(ret);
    4121 }
    4122 
    4123 // overload for arithmetic types, not chosen for basic_json template arguments
    4124 // (BooleanType, etc..); note: Is it really necessary to provide explicit
    4125 // overloads for boolean_t etc. in case of a custom BooleanType which is not
    4126 // an arithmetic type?
    4127 template < typename BasicJsonType, typename ArithmeticType,
    4128  enable_if_t <
    4129  std::is_arithmetic<ArithmeticType>::value&&
    4130  !std::is_same<ArithmeticType, typename BasicJsonType::number_unsigned_t>::value&&
    4131  !std::is_same<ArithmeticType, typename BasicJsonType::number_integer_t>::value&&
    4132  !std::is_same<ArithmeticType, typename BasicJsonType::number_float_t>::value&&
    4133  !std::is_same<ArithmeticType, typename BasicJsonType::boolean_t>::value,
    4134  int > = 0 >
    4135 void from_json(const BasicJsonType& j, ArithmeticType& val)
    4136 {
    4137  switch (static_cast<value_t>(j))
    4138  {
    4140  {
    4141  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_unsigned_t*>());
    4142  break;
    4143  }
    4145  {
    4146  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_integer_t*>());
    4147  break;
    4148  }
    4149  case value_t::number_float:
    4150  {
    4151  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::number_float_t*>());
    4152  break;
    4153  }
    4154  case value_t::boolean:
    4155  {
    4156  val = static_cast<ArithmeticType>(*j.template get_ptr<const typename BasicJsonType::boolean_t*>());
    4157  break;
    4158  }
    4159 
    4160  default:
    4161  JSON_THROW(type_error::create(302, "type must be number, but is " + std::string(j.type_name()), j));
    4162  }
    4163 }
    4164 
    4165 template<typename BasicJsonType, typename... Args, std::size_t... Idx>
    4166 std::tuple<Args...> from_json_tuple_impl_base(BasicJsonType&& j, index_sequence<Idx...> /*unused*/)
    4167 {
    4168  return std::make_tuple(std::forward<BasicJsonType>(j).at(Idx).template get<Args>()...);
    4169 }
    4170 
    4171 template < typename BasicJsonType, class A1, class A2 >
    4172 std::pair<A1, A2> from_json_tuple_impl(BasicJsonType&& j, identity_tag<std::pair<A1, A2>> /*unused*/, priority_tag<0> /*unused*/)
    4173 {
    4174  return {std::forward<BasicJsonType>(j).at(0).template get<A1>(),
    4175  std::forward<BasicJsonType>(j).at(1).template get<A2>()};
    4176 }
    4177 
    4178 template<typename BasicJsonType, typename A1, typename A2>
    4179 void from_json_tuple_impl(BasicJsonType&& j, std::pair<A1, A2>& p, priority_tag<1> /*unused*/)
    4180 {
    4181  p = from_json_tuple_impl(std::forward<BasicJsonType>(j), identity_tag<std::pair<A1, A2>> {}, priority_tag<0> {});
    4182 }
    4183 
    4184 template<typename BasicJsonType, typename... Args>
    4185 std::tuple<Args...> from_json_tuple_impl(BasicJsonType&& j, identity_tag<std::tuple<Args...>> /*unused*/, priority_tag<2> /*unused*/)
    4186 {
    4187  return from_json_tuple_impl_base<BasicJsonType, Args...>(std::forward<BasicJsonType>(j), index_sequence_for<Args...> {});
    4188 }
    4189 
    4190 template<typename BasicJsonType, typename... Args>
    4191 void from_json_tuple_impl(BasicJsonType&& j, std::tuple<Args...>& t, priority_tag<3> /*unused*/)
    4192 {
    4193  t = from_json_tuple_impl_base<BasicJsonType, Args...>(std::forward<BasicJsonType>(j), index_sequence_for<Args...> {});
    4194 }
    4195 
    4196 template<typename BasicJsonType, typename TupleRelated>
    4197 auto from_json(BasicJsonType&& j, TupleRelated&& t)
    4198 -> decltype(from_json_tuple_impl(std::forward<BasicJsonType>(j), std::forward<TupleRelated>(t), priority_tag<3> {}))
    4199 {
    4200  if (JSON_HEDLEY_UNLIKELY(!j.is_array()))
    4201  {
    4202  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()), j));
    4203  }
    4204 
    4205  return from_json_tuple_impl(std::forward<BasicJsonType>(j), std::forward<TupleRelated>(t), priority_tag<3> {});
    4206 }
    4207 
    4208 template < typename BasicJsonType, typename Key, typename Value, typename Compare, typename Allocator,
    4209  typename = enable_if_t < !std::is_constructible <
    4210  typename BasicJsonType::string_t, Key >::value >>
    4211 void from_json(const BasicJsonType& j, std::map<Key, Value, Compare, Allocator>& m)
    4212 {
    4213  if (JSON_HEDLEY_UNLIKELY(!j.is_array()))
    4214  {
    4215  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()), j));
    4216  }
    4217  m.clear();
    4218  for (const auto& p : j)
    4219  {
    4220  if (JSON_HEDLEY_UNLIKELY(!p.is_array()))
    4221  {
    4222  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(p.type_name()), j));
    4223  }
    4224  m.emplace(p.at(0).template get<Key>(), p.at(1).template get<Value>());
    4225  }
    4226 }
    4227 
    4228 template < typename BasicJsonType, typename Key, typename Value, typename Hash, typename KeyEqual, typename Allocator,
    4229  typename = enable_if_t < !std::is_constructible <
    4230  typename BasicJsonType::string_t, Key >::value >>
    4231 void from_json(const BasicJsonType& j, std::unordered_map<Key, Value, Hash, KeyEqual, Allocator>& m)
    4232 {
    4233  if (JSON_HEDLEY_UNLIKELY(!j.is_array()))
    4234  {
    4235  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(j.type_name()), j));
    4236  }
    4237  m.clear();
    4238  for (const auto& p : j)
    4239  {
    4240  if (JSON_HEDLEY_UNLIKELY(!p.is_array()))
    4241  {
    4242  JSON_THROW(type_error::create(302, "type must be array, but is " + std::string(p.type_name()), j));
    4243  }
    4244  m.emplace(p.at(0).template get<Key>(), p.at(1).template get<Value>());
    4245  }
    4246 }
    4247 
    4249 {
    4250  template<typename BasicJsonType, typename T>
    4251  auto operator()(const BasicJsonType& j, T&& val) const
    4252  noexcept(noexcept(from_json(j, std::forward<T>(val))))
    4253  -> decltype(from_json(j, std::forward<T>(val)))
    4254  {
    4255  return from_json(j, std::forward<T>(val));
    4256  }
    4257 };
    4258 } // namespace detail
    4259 
    4263 namespace // NOLINT(cert-dcl59-cpp,fuchsia-header-anon-namespaces,google-build-namespaces)
    4264 {
    4265 constexpr const auto& from_json = detail::static_const<detail::from_json_fn>::value; // NOLINT(misc-definitions-in-headers)
    4266 } // namespace
    4267 } // namespace nlohmann
    4268 
    4269 // #include <nlohmann/detail/conversions/to_json.hpp>
    4270 
    4271 
    4272 #include <algorithm> // copy
    4273 #include <iterator> // begin, end
    4274 #include <string> // string
    4275 #include <tuple> // tuple, get
    4276 #include <type_traits> // is_same, is_constructible, is_floating_point, is_enum, underlying_type
    4277 #include <utility> // move, forward, declval, pair
    4278 #include <valarray> // valarray
    4279 #include <vector> // vector
    4280 
    4281 // #include <nlohmann/detail/iterators/iteration_proxy.hpp>
    4282 
    4283 
    4284 #include <cstddef> // size_t
    4285 #include <iterator> // input_iterator_tag
    4286 #include <string> // string, to_string
    4287 #include <tuple> // tuple_size, get, tuple_element
    4288 #include <utility> // move
    4289 
    4290 // #include <nlohmann/detail/meta/type_traits.hpp>
    4291 
    4292 // #include <nlohmann/detail/value_t.hpp>
    4293 
    4294 
    4295 namespace nlohmann
    4296 {
    4297 namespace detail
    4298 {
    4299 template<typename string_type>
    4300 void int_to_string( string_type& target, std::size_t value )
    4301 {
    4302  // For ADL
    4303  using std::to_string;
    4304  target = to_string(value);
    4305 }
    4306 template<typename IteratorType> class iteration_proxy_value
    4307 {
    4308  public:
    4309  using difference_type = std::ptrdiff_t;
    4311  using pointer = value_type * ;
    4312  using reference = value_type & ;
    4313  using iterator_category = std::input_iterator_tag;
    4314  using string_type = typename std::remove_cv< typename std::remove_reference<decltype( std::declval<IteratorType>().key() ) >::type >::type;
    4315 
    4316  private:
    4318  IteratorType anchor;
    4320  std::size_t array_index = 0;
    4322  mutable std::size_t array_index_last = 0;
    4324  mutable string_type array_index_str = "0";
    4326  const string_type empty_str{};
    4327 
    4328  public:
    4329  explicit iteration_proxy_value(IteratorType it) noexcept
    4330  : anchor(std::move(it))
    4331  {}
    4332 
    4335  {
    4336  return *this;
    4337  }
    4338 
    4341  {
    4342  ++anchor;
    4343  ++array_index;
    4344 
    4345  return *this;
    4346  }
    4347 
    4349  bool operator==(const iteration_proxy_value& o) const
    4350  {
    4351  return anchor == o.anchor;
    4352  }
    4353 
    4355  bool operator!=(const iteration_proxy_value& o) const
    4356  {
    4357  return anchor != o.anchor;
    4358  }
    4359 
    4361  const string_type& key() const
    4362  {
    4363  JSON_ASSERT(anchor.m_object != nullptr);
    4364 
    4365  switch (anchor.m_object->type())
    4366  {
    4367  // use integer array index as key
    4368  case value_t::array:
    4369  {
    4370  if (array_index != array_index_last)
    4371  {
    4372  int_to_string( array_index_str, array_index );
    4373  array_index_last = array_index;
    4374  }
    4375  return array_index_str;
    4376  }
    4377 
    4378  // use key from the object
    4379  case value_t::object:
    4380  return anchor.key();
    4381 
    4382  // use an empty key for all primitive types
    4383  default:
    4384  return empty_str;
    4385  }
    4386  }
    4387 
    4389  typename IteratorType::reference value() const
    4390  {
    4391  return anchor.value();
    4392  }
    4393 };
    4394 
    4396 template<typename IteratorType> class iteration_proxy
    4397 {
    4398  private:
    4400  typename IteratorType::reference container;
    4401 
    4402  public:
    4404  explicit iteration_proxy(typename IteratorType::reference cont) noexcept
    4405  : container(cont) {}
    4406 
    4409  {
    4410  return iteration_proxy_value<IteratorType>(container.begin());
    4411  }
    4412 
    4415  {
    4416  return iteration_proxy_value<IteratorType>(container.end());
    4417  }
    4418 };
    4419 // Structured Bindings Support
    4420 // For further reference see https://blog.tartanllama.xyz/structured-bindings/
    4421 // And see https://github.com/nlohmann/json/pull/1391
    4422 template<std::size_t N, typename IteratorType, enable_if_t<N == 0, int> = 0>
    4423 auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>& i) -> decltype(i.key())
    4424 {
    4425  return i.key();
    4426 }
    4427 // Structured Bindings Support
    4428 // For further reference see https://blog.tartanllama.xyz/structured-bindings/
    4429 // And see https://github.com/nlohmann/json/pull/1391
    4430 template<std::size_t N, typename IteratorType, enable_if_t<N == 1, int> = 0>
    4431 auto get(const nlohmann::detail::iteration_proxy_value<IteratorType>& i) -> decltype(i.value())
    4432 {
    4433  return i.value();
    4434 }
    4435 } // namespace detail
    4436 } // namespace nlohmann
    4437 
    4438 // The Addition to the STD Namespace is required to add
    4439 // Structured Bindings Support to the iteration_proxy_value class
    4440 // For further reference see https://blog.tartanllama.xyz/structured-bindings/
    4441 // And see https://github.com/nlohmann/json/pull/1391
    4442 namespace std
    4443 {
    4444 #if defined(__clang__)
    4445  // Fix: https://github.com/nlohmann/json/issues/1401
    4446  #pragma clang diagnostic push
    4447  #pragma clang diagnostic ignored "-Wmismatched-tags"
    4448 #endif
    4449 template<typename IteratorType>
    4450 class tuple_size<::nlohmann::detail::iteration_proxy_value<IteratorType>>
    4451  : public std::integral_constant<std::size_t, 2> {};
    4452 
    4453 template<std::size_t N, typename IteratorType>
    4454 class tuple_element<N, ::nlohmann::detail::iteration_proxy_value<IteratorType >>
    4455 {
    4456  public:
    4457  using type = decltype(
    4458  get<N>(std::declval <
    4460 };
    4461 #if defined(__clang__)
    4462  #pragma clang diagnostic pop
    4463 #endif
    4464 } // namespace std
    4465 
    4466 // #include <nlohmann/detail/meta/cpp_future.hpp>
    4467 
    4468 // #include <nlohmann/detail/meta/type_traits.hpp>
    4469 
    4470 // #include <nlohmann/detail/value_t.hpp>
    4471 
    4472 
    4473 namespace nlohmann
    4474 {
    4475 namespace detail
    4476 {
    4478 // constructors //
    4480 
    4481 template<value_t> struct external_constructor;
    4482 
    4483 template<>
    4485 {
    4486  template<typename BasicJsonType>
    4487  static void construct(BasicJsonType& j, typename BasicJsonType::boolean_t b) noexcept
    4488  {
    4489  j.m_type = value_t::boolean;
    4490  j.m_value = b;
    4491  j.assert_invariant();
    4492  }
    4493 };
    4494 
    4495 template<>
    4497 {
    4498  template<typename BasicJsonType>
    4499  static void construct(BasicJsonType& j, const typename BasicJsonType::string_t& s)
    4500  {
    4501  j.m_type = value_t::string;
    4502  j.m_value = s;
    4503  j.assert_invariant();
    4504  }
    4505 
    4506  template<typename BasicJsonType>
    4507  static void construct(BasicJsonType& j, typename BasicJsonType::string_t&& s)
    4508  {
    4509  j.m_type = value_t::string;
    4510  j.m_value = std::move(s);
    4511  j.assert_invariant();
    4512  }
    4513 
    4514  template < typename BasicJsonType, typename CompatibleStringType,
    4516  int > = 0 >
    4517  static void construct(BasicJsonType& j, const CompatibleStringType& str)
    4518  {
    4519  j.m_type = value_t::string;
    4520  j.m_value.string = j.template create<typename BasicJsonType::string_t>(str);
    4521  j.assert_invariant();
    4522  }
    4523 };
    4524 
    4525 template<>
    4527 {
    4528  template<typename BasicJsonType>
    4529  static void construct(BasicJsonType& j, const typename BasicJsonType::binary_t& b)
    4530  {
    4531  j.m_type = value_t::binary;
    4532  j.m_value = typename BasicJsonType::binary_t(b);
    4533  j.assert_invariant();
    4534  }
    4535 
    4536  template<typename BasicJsonType>
    4537  static void construct(BasicJsonType& j, typename BasicJsonType::binary_t&& b)
    4538  {
    4539  j.m_type = value_t::binary;
    4540  j.m_value = typename BasicJsonType::binary_t(std::move(b));;
    4541  j.assert_invariant();
    4542  }
    4543 };
    4544 
    4545 template<>
    4547 {
    4548  template<typename BasicJsonType>
    4549  static void construct(BasicJsonType& j, typename BasicJsonType::number_float_t val) noexcept
    4550  {
    4551  j.m_type = value_t::number_float;
    4552  j.m_value = val;
    4553  j.assert_invariant();
    4554  }
    4555 };
    4556 
    4557 template<>
    4559 {
    4560  template<typename BasicJsonType>
    4561  static void construct(BasicJsonType& j, typename BasicJsonType::number_unsigned_t val) noexcept
    4562  {
    4563  j.m_type = value_t::number_unsigned;
    4564  j.m_value = val;
    4565  j.assert_invariant();
    4566  }
    4567 };
    4568 
    4569 template<>
    4571 {
    4572  template<typename BasicJsonType>
    4573  static void construct(BasicJsonType& j, typename BasicJsonType::number_integer_t val) noexcept
    4574  {
    4575  j.m_type = value_t::number_integer;
    4576  j.m_value = val;
    4577  j.assert_invariant();
    4578  }
    4579 };
    4580 
    4581 template<>
    4583 {
    4584  template<typename BasicJsonType>
    4585  static void construct(BasicJsonType& j, const typename BasicJsonType::array_t& arr)
    4586  {
    4587  j.m_type = value_t::array;
    4588  j.m_value = arr;
    4589  j.set_parents();
    4590  j.assert_invariant();
    4591  }
    4592 
    4593  template<typename BasicJsonType>
    4594  static void construct(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
    4595  {
    4596  j.m_type = value_t::array;
    4597  j.m_value = std::move(arr);
    4598  j.set_parents();
    4599  j.assert_invariant();
    4600  }
    4601 
    4602  template < typename BasicJsonType, typename CompatibleArrayType,
    4604  int > = 0 >
    4605  static void construct(BasicJsonType& j, const CompatibleArrayType& arr)
    4606  {
    4607  using std::begin;
    4608  using std::end;
    4609  j.m_type = value_t::array;
    4610  j.m_value.array = j.template create<typename BasicJsonType::array_t>(begin(arr), end(arr));
    4611  j.set_parents();
    4612  j.assert_invariant();
    4613  }
    4614 
    4615  template<typename BasicJsonType>
    4616  static void construct(BasicJsonType& j, const std::vector<bool>& arr)
    4617  {
    4618  j.m_type = value_t::array;
    4619  j.m_value = value_t::array;
    4620  j.m_value.array->reserve(arr.size());
    4621  for (const bool x : arr)
    4622  {
    4623  j.m_value.array->push_back(x);
    4624  j.set_parent(j.m_value.array->back());
    4625  }
    4626  j.assert_invariant();
    4627  }
    4628 
    4629  template<typename BasicJsonType, typename T,
    4631  static void construct(BasicJsonType& j, const std::valarray<T>& arr)
    4632  {
    4633  j.m_type = value_t::array;
    4634  j.m_value = value_t::array;
    4635  j.m_value.array->resize(arr.size());
    4636  if (arr.size() > 0)
    4637  {
    4638  std::copy(std::begin(arr), std::end(arr), j.m_value.array->begin());
    4639  }
    4640  j.set_parents();
    4641  j.assert_invariant();
    4642  }
    4643 };
    4644 
    4645 template<>
    4647 {
    4648  template<typename BasicJsonType>
    4649  static void construct(BasicJsonType& j, const typename BasicJsonType::object_t& obj)
    4650  {
    4651  j.m_type = value_t::object;
    4652  j.m_value = obj;
    4653  j.set_parents();
    4654  j.assert_invariant();
    4655  }
    4656 
    4657  template<typename BasicJsonType>
    4658  static void construct(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
    4659  {
    4660  j.m_type = value_t::object;
    4661  j.m_value = std::move(obj);
    4662  j.set_parents();
    4663  j.assert_invariant();
    4664  }
    4665 
    4666  template < typename BasicJsonType, typename CompatibleObjectType,
    4668  static void construct(BasicJsonType& j, const CompatibleObjectType& obj)
    4669  {
    4670  using std::begin;
    4671  using std::end;
    4672 
    4673  j.m_type = value_t::object;
    4674  j.m_value.object = j.template create<typename BasicJsonType::object_t>(begin(obj), end(obj));
    4675  j.set_parents();
    4676  j.assert_invariant();
    4677  }
    4678 };
    4679 
    4681 // to_json //
    4683 
    4684 template<typename BasicJsonType, typename T,
    4686 void to_json(BasicJsonType& j, T b) noexcept
    4687 {
    4689 }
    4690 
    4691 template<typename BasicJsonType, typename CompatibleString,
    4693 void to_json(BasicJsonType& j, const CompatibleString& s)
    4694 {
    4696 }
    4697 
    4698 template<typename BasicJsonType>
    4699 void to_json(BasicJsonType& j, typename BasicJsonType::string_t&& s)
    4700 {
    4702 }
    4703 
    4704 template<typename BasicJsonType, typename FloatType,
    4706 void to_json(BasicJsonType& j, FloatType val) noexcept
    4707 {
    4708  external_constructor<value_t::number_float>::construct(j, static_cast<typename BasicJsonType::number_float_t>(val));
    4709 }
    4710 
    4711 template<typename BasicJsonType, typename CompatibleNumberUnsignedType,
    4713 void to_json(BasicJsonType& j, CompatibleNumberUnsignedType val) noexcept
    4714 {
    4715  external_constructor<value_t::number_unsigned>::construct(j, static_cast<typename BasicJsonType::number_unsigned_t>(val));
    4716 }
    4717 
    4718 template<typename BasicJsonType, typename CompatibleNumberIntegerType,
    4720 void to_json(BasicJsonType& j, CompatibleNumberIntegerType val) noexcept
    4721 {
    4722  external_constructor<value_t::number_integer>::construct(j, static_cast<typename BasicJsonType::number_integer_t>(val));
    4723 }
    4724 
    4725 template<typename BasicJsonType, typename EnumType,
    4726  enable_if_t<std::is_enum<EnumType>::value, int> = 0>
    4727 void to_json(BasicJsonType& j, EnumType e) noexcept
    4728 {
    4729  using underlying_type = typename std::underlying_type<EnumType>::type;
    4730  external_constructor<value_t::number_integer>::construct(j, static_cast<underlying_type>(e));
    4731 }
    4732 
    4733 template<typename BasicJsonType>
    4734 void to_json(BasicJsonType& j, const std::vector<bool>& e)
    4735 {
    4737 }
    4738 
    4739 template < typename BasicJsonType, typename CompatibleArrayType,
    4740  enable_if_t < is_compatible_array_type<BasicJsonType,
    4741  CompatibleArrayType>::value&&
    4744  !std::is_same<typename BasicJsonType::binary_t, CompatibleArrayType>::value&&
    4746  int > = 0 >
    4747 void to_json(BasicJsonType& j, const CompatibleArrayType& arr)
    4748 {
    4750 }
    4751 
    4752 template<typename BasicJsonType>
    4753 void to_json(BasicJsonType& j, const typename BasicJsonType::binary_t& bin)
    4754 {
    4756 }
    4757 
    4758 template<typename BasicJsonType, typename T,
    4760 void to_json(BasicJsonType& j, const std::valarray<T>& arr)
    4761 {
    4763 }
    4764 
    4765 template<typename BasicJsonType>
    4766 void to_json(BasicJsonType& j, typename BasicJsonType::array_t&& arr)
    4767 {
    4769 }
    4770 
    4771 template < typename BasicJsonType, typename CompatibleObjectType,
    4773 void to_json(BasicJsonType& j, const CompatibleObjectType& obj)
    4774 {
    4776 }
    4777 
    4778 template<typename BasicJsonType>
    4779 void to_json(BasicJsonType& j, typename BasicJsonType::object_t&& obj)
    4780 {
    4782 }
    4783 
    4784 template <
    4785  typename BasicJsonType, typename T, std::size_t N,
    4786  enable_if_t < !std::is_constructible<typename BasicJsonType::string_t,
    4787  const T(&)[N]>::value, // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays)
    4788  int > = 0 >
    4789 void to_json(BasicJsonType& j, const T(&arr)[N]) // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays)
    4790 {
    4792 }
    4793 
    4794 template < typename BasicJsonType, typename T1, typename T2, enable_if_t < std::is_constructible<BasicJsonType, T1>::value&& std::is_constructible<BasicJsonType, T2>::value, int > = 0 >
    4795 void to_json(BasicJsonType& j, const std::pair<T1, T2>& p)
    4796 {
    4797  j = { p.first, p.second };
    4798 }
    4799 
    4800 // for https://github.com/nlohmann/json/pull/1134
    4801 template<typename BasicJsonType, typename T,
    4803 void to_json(BasicJsonType& j, const T& b)
    4804 {
    4805  j = { {b.key(), b.value()} };
    4806 }
    4807 
    4808 template<typename BasicJsonType, typename Tuple, std::size_t... Idx>
    4809 void to_json_tuple_impl(BasicJsonType& j, const Tuple& t, index_sequence<Idx...> /*unused*/)
    4810 {
    4811  j = { std::get<Idx>(t)... };
    4812 }
    4813 
    4815 void to_json(BasicJsonType& j, const T& t)
    4816 {
    4817  to_json_tuple_impl(j, t, make_index_sequence<std::tuple_size<T>::value> {});
    4818 }
    4819 
    4821 {
    4822  template<typename BasicJsonType, typename T>
    4823  auto operator()(BasicJsonType& j, T&& val) const noexcept(noexcept(to_json(j, std::forward<T>(val))))
    4824  -> decltype(to_json(j, std::forward<T>(val)), void())
    4825  {
    4826  return to_json(j, std::forward<T>(val));
    4827  }
    4828 };
    4829 } // namespace detail
    4830 
    4834 namespace // NOLINT(cert-dcl59-cpp,fuchsia-header-anon-namespaces,google-build-namespaces)
    4835 {
    4836 constexpr const auto& to_json = detail::static_const<detail::to_json_fn>::value; // NOLINT(misc-definitions-in-headers)
    4837 } // namespace
    4838 } // namespace nlohmann
    4839 
    4840 // #include <nlohmann/detail/meta/identity_tag.hpp>
    4841 
    4842 // #include <nlohmann/detail/meta/type_traits.hpp>
    4843 
    4844 
    4845 namespace nlohmann
    4846 {
    4847 
    4848 template<typename ValueType, typename>
    4849 struct adl_serializer
    4850 {
    4862  template<typename BasicJsonType, typename TargetType = ValueType>
    4863  static auto from_json(BasicJsonType && j, TargetType& val) noexcept(
    4864  noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j), val)))
    4865  -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j), val), void())
    4866  {
    4867  ::nlohmann::from_json(std::forward<BasicJsonType>(j), val);
    4868  }
    4869 
    4882  template<typename BasicJsonType, typename TargetType = ValueType>
    4883  static auto from_json(BasicJsonType && j) noexcept(
    4884  noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j), detail::identity_tag<TargetType> {})))
    4885  -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j), detail::identity_tag<TargetType> {}))
    4886  {
    4887  return ::nlohmann::from_json(std::forward<BasicJsonType>(j), detail::identity_tag<TargetType> {});
    4888  }
    4889 
    4899  template<typename BasicJsonType, typename TargetType = ValueType>
    4900  static auto to_json(BasicJsonType& j, TargetType && val) noexcept(
    4901  noexcept(::nlohmann::to_json(j, std::forward<TargetType>(val))))
    4902  -> decltype(::nlohmann::to_json(j, std::forward<TargetType>(val)), void())
    4903  {
    4904  ::nlohmann::to_json(j, std::forward<TargetType>(val));
    4905  }
    4906 };
    4907 } // namespace nlohmann
    4908 
    4909 // #include <nlohmann/byte_container_with_subtype.hpp>
    4910 
    4911 
    4912 #include <cstdint> // uint8_t
    4913 #include <tuple> // tie
    4914 #include <utility> // move
    4915 
    4916 namespace nlohmann
    4917 {
    4918 
    4932 template<typename BinaryType>
    4934 {
    4935  public:
    4938 
    4940  : container_type()
    4941  {}
    4942 
    4944  : container_type(b)
    4945  {}
    4946 
    4947  byte_container_with_subtype(container_type&& b) noexcept(noexcept(container_type(std::move(b))))
    4948  : container_type(std::move(b))
    4949  {}
    4950 
    4951  byte_container_with_subtype(const container_type& b, std::uint8_t subtype_) noexcept(noexcept(container_type(b)))
    4952  : container_type(b)
    4953  , m_subtype(subtype_)
    4954  , m_has_subtype(true)
    4955  {}
    4956 
    4957  byte_container_with_subtype(container_type&& b, std::uint8_t subtype_) noexcept(noexcept(container_type(std::move(b))))
    4958  : container_type(std::move(b))
    4959  , m_subtype(subtype_)
    4960  , m_has_subtype(true)
    4961  {}
    4962 
    4964  {
    4965  return std::tie(static_cast<const BinaryType&>(*this), m_subtype, m_has_subtype) ==
    4966  std::tie(static_cast<const BinaryType&>(rhs), rhs.m_subtype, rhs.m_has_subtype);
    4967  }
    4968 
    4970  {
    4971  return !(rhs == *this);
    4972  }
    4973 
    4992  void set_subtype(std::uint8_t subtype_) noexcept
    4993  {
    4994  m_subtype = subtype_;
    4995  m_has_subtype = true;
    4996  }
    4997 
    5019  constexpr std::uint8_t subtype() const noexcept
    5020  {
    5021  return m_subtype;
    5022  }
    5023 
    5040  constexpr bool has_subtype() const noexcept
    5041  {
    5042  return m_has_subtype;
    5043  }
    5044 
    5064  void clear_subtype() noexcept
    5065  {
    5066  m_subtype = 0;
    5067  m_has_subtype = false;
    5068  }
    5069 
    5070  private:
    5071  std::uint8_t m_subtype = 0;
    5072  bool m_has_subtype = false;
    5073 };
    5074 
    5075 } // namespace nlohmann
    5076 
    5077 // #include <nlohmann/detail/conversions/from_json.hpp>
    5078 
    5079 // #include <nlohmann/detail/conversions/to_json.hpp>
    5080 
    5081 // #include <nlohmann/detail/exceptions.hpp>
    5082 
    5083 // #include <nlohmann/detail/hash.hpp>
    5084 
    5085 
    5086 #include <cstdint> // uint8_t
    5087 #include <cstddef> // size_t
    5088 #include <functional> // hash
    5089 
    5090 // #include <nlohmann/detail/macro_scope.hpp>
    5091 
    5092 
    5093 namespace nlohmann
    5094 {
    5095 namespace detail
    5096 {
    5097 
    5098 // boost::hash_combine
    5099 inline std::size_t combine(std::size_t seed, std::size_t h) noexcept
    5100 {
    5101  seed ^= h + 0x9e3779b9 + (seed << 6U) + (seed >> 2U);
    5102  return seed;
    5103 }
    5104 
    5116 template<typename BasicJsonType>
    5117 std::size_t hash(const BasicJsonType& j)
    5118 {
    5119  using string_t = typename BasicJsonType::string_t;
    5120  using number_integer_t = typename BasicJsonType::number_integer_t;
    5121  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
    5122  using number_float_t = typename BasicJsonType::number_float_t;
    5123 
    5124  const auto type = static_cast<std::size_t>(j.type());
    5125  switch (j.type())
    5126  {
    5127  case BasicJsonType::value_t::null:
    5128  case BasicJsonType::value_t::discarded:
    5129  {
    5130  return combine(type, 0);
    5131  }
    5132 
    5133  case BasicJsonType::value_t::object:
    5134  {
    5135  auto seed = combine(type, j.size());
    5136  for (const auto& element : j.items())
    5137  {
    5138  const auto h = std::hash<string_t> {}(element.key());
    5139  seed = combine(seed, h);
    5140  seed = combine(seed, hash(element.value()));
    5141  }
    5142  return seed;
    5143  }
    5144 
    5145  case BasicJsonType::value_t::array:
    5146  {
    5147  auto seed = combine(type, j.size());
    5148  for (const auto& element : j)
    5149  {
    5150  seed = combine(seed, hash(element));
    5151  }
    5152  return seed;
    5153  }
    5154 
    5155  case BasicJsonType::value_t::string:
    5156  {
    5157  const auto h = std::hash<string_t> {}(j.template get_ref<const string_t&>());
    5158  return combine(type, h);
    5159  }
    5160 
    5161  case BasicJsonType::value_t::boolean:
    5162  {
    5163  const auto h = std::hash<bool> {}(j.template get<bool>());
    5164  return combine(type, h);
    5165  }
    5166 
    5167  case BasicJsonType::value_t::number_integer:
    5168  {
    5169  const auto h = std::hash<number_integer_t> {}(j.template get<number_integer_t>());
    5170  return combine(type, h);
    5171  }
    5172 
    5173  case BasicJsonType::value_t::number_unsigned:
    5174  {
    5175  const auto h = std::hash<number_unsigned_t> {}(j.template get<number_unsigned_t>());
    5176  return combine(type, h);
    5177  }
    5178 
    5179  case BasicJsonType::value_t::number_float:
    5180  {
    5181  const auto h = std::hash<number_float_t> {}(j.template get<number_float_t>());
    5182  return combine(type, h);
    5183  }
    5184 
    5185  case BasicJsonType::value_t::binary:
    5186  {
    5187  auto seed = combine(type, j.get_binary().size());
    5188  const auto h = std::hash<bool> {}(j.get_binary().has_subtype());
    5189  seed = combine(seed, h);
    5190  seed = combine(seed, j.get_binary().subtype());
    5191  for (const auto byte : j.get_binary())
    5192  {
    5193  seed = combine(seed, std::hash<std::uint8_t> {}(byte));
    5194  }
    5195  return seed;
    5196  }
    5197 
    5198  default: // LCOV_EXCL_LINE
    5199  JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE
    5200  return 0; // LCOV_EXCL_LINE
    5201  }
    5202 }
    5203 
    5204 } // namespace detail
    5205 } // namespace nlohmann
    5206 
    5207 // #include <nlohmann/detail/input/binary_reader.hpp>
    5208 
    5209 
    5210 #include <algorithm> // generate_n
    5211 #include <array> // array
    5212 #include <cmath> // ldexp
    5213 #include <cstddef> // size_t
    5214 #include <cstdint> // uint8_t, uint16_t, uint32_t, uint64_t
    5215 #include <cstdio> // snprintf
    5216 #include <cstring> // memcpy
    5217 #include <iterator> // back_inserter
    5218 #include <limits> // numeric_limits
    5219 #include <string> // char_traits, string
    5220 #include <utility> // make_pair, move
    5221 #include <vector> // vector
    5222 
    5223 // #include <nlohmann/detail/exceptions.hpp>
    5224 
    5225 // #include <nlohmann/detail/input/input_adapters.hpp>
    5226 
    5227 
    5228 #include <array> // array
    5229 #include <cstddef> // size_t
    5230 #include <cstdio> //FILE *
    5231 #include <cstring> // strlen
    5232 #include <istream> // istream
    5233 #include <iterator> // begin, end, iterator_traits, random_access_iterator_tag, distance, next
    5234 #include <memory> // shared_ptr, make_shared, addressof
    5235 #include <numeric> // accumulate
    5236 #include <string> // string, char_traits
    5237 #include <type_traits> // enable_if, is_base_of, is_pointer, is_integral, remove_pointer
    5238 #include <utility> // pair, declval
    5239 
    5240 // #include <nlohmann/detail/iterators/iterator_traits.hpp>
    5241 
    5242 // #include <nlohmann/detail/macro_scope.hpp>
    5243 
    5244 
    5245 namespace nlohmann
    5246 {
    5247 namespace detail
    5248 {
    5251 
    5253 // input adapters //
    5255 
    5261 {
    5262  public:
    5263  using char_type = char;
    5264 
    5266  explicit file_input_adapter(std::FILE* f) noexcept
    5267  : m_file(f)
    5268  {}
    5269 
    5270  // make class move-only
    5271  file_input_adapter(const file_input_adapter&) = delete;
    5272  file_input_adapter(file_input_adapter&&) noexcept = default;
    5273  file_input_adapter& operator=(const file_input_adapter&) = delete;
    5274  file_input_adapter& operator=(file_input_adapter&&) = delete;
    5275  ~file_input_adapter() = default;
    5276 
    5277  std::char_traits<char>::int_type get_character() noexcept
    5278  {
    5279  return std::fgetc(m_file);
    5280  }
    5281 
    5282  private:
    5284  std::FILE* m_file;
    5285 };
    5286 
    5287 
    5298 {
    5299  public:
    5300  using char_type = char;
    5301 
    5303  {
    5304  // clear stream flags; we use underlying streambuf I/O, do not
    5305  // maintain ifstream flags, except eof
    5306  if (is != nullptr)
    5307  {
    5308  is->clear(is->rdstate() & std::ios::eofbit);
    5309  }
    5310  }
    5311 
    5312  explicit input_stream_adapter(std::istream& i)
    5313  : is(&i), sb(i.rdbuf())
    5314  {}
    5315 
    5316  // delete because of pointer members
    5317  input_stream_adapter(const input_stream_adapter&) = delete;
    5318  input_stream_adapter& operator=(input_stream_adapter&) = delete;
    5319  input_stream_adapter& operator=(input_stream_adapter&&) = delete;
    5320 
    5322  : is(rhs.is), sb(rhs.sb)
    5323  {
    5324  rhs.is = nullptr;
    5325  rhs.sb = nullptr;
    5326  }
    5327 
    5328  // std::istream/std::streambuf use std::char_traits<char>::to_int_type, to
    5329  // ensure that std::char_traits<char>::eof() and the character 0xFF do not
    5330  // end up as the same value, eg. 0xFFFFFFFF.
    5331  std::char_traits<char>::int_type get_character()
    5332  {
    5333  auto res = sb->sbumpc();
    5334  // set eof manually, as we don't use the istream interface.
    5335  if (JSON_HEDLEY_UNLIKELY(res == EOF))
    5336  {
    5337  is->clear(is->rdstate() | std::ios::eofbit);
    5338  }
    5339  return res;
    5340  }
    5341 
    5342  private:
    5344  std::istream* is = nullptr;
    5345  std::streambuf* sb = nullptr;
    5346 };
    5347 
    5348 // General-purpose iterator-based adapter. It might not be as fast as
    5349 // theoretically possible for some containers, but it is extremely versatile.
    5350 template<typename IteratorType>
    5352 {
    5353  public:
    5354  using char_type = typename std::iterator_traits<IteratorType>::value_type;
    5355 
    5356  iterator_input_adapter(IteratorType first, IteratorType last)
    5357  : current(std::move(first)), end(std::move(last))
    5358  {}
    5359 
    5360  typename std::char_traits<char_type>::int_type get_character()
    5361  {
    5362  if (JSON_HEDLEY_LIKELY(current != end))
    5363  {
    5364  auto result = std::char_traits<char_type>::to_int_type(*current);
    5365  std::advance(current, 1);
    5366  return result;
    5367  }
    5368 
    5369  return std::char_traits<char_type>::eof();
    5370  }
    5371 
    5372  private:
    5373  IteratorType current;
    5374  IteratorType end;
    5375 
    5376  template<typename BaseInputAdapter, size_t T>
    5378 
    5379  bool empty() const
    5380  {
    5381  return current == end;
    5382  }
    5383 };
    5384 
    5385 
    5386 template<typename BaseInputAdapter, size_t T>
    5388 
    5389 template<typename BaseInputAdapter>
    5390 struct wide_string_input_helper<BaseInputAdapter, 4>
    5391 {
    5392  // UTF-32
    5393  static void fill_buffer(BaseInputAdapter& input,
    5394  std::array<std::char_traits<char>::int_type, 4>& utf8_bytes,
    5395  size_t& utf8_bytes_index,
    5396  size_t& utf8_bytes_filled)
    5397  {
    5398  utf8_bytes_index = 0;
    5399 
    5400  if (JSON_HEDLEY_UNLIKELY(input.empty()))
    5401  {
    5402  utf8_bytes[0] = std::char_traits<char>::eof();
    5403  utf8_bytes_filled = 1;
    5404  }
    5405  else
    5406  {
    5407  // get the current character
    5408  const auto wc = input.get_character();
    5409 
    5410  // UTF-32 to UTF-8 encoding
    5411  if (wc < 0x80)
    5412  {
    5413  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
    5414  utf8_bytes_filled = 1;
    5415  }
    5416  else if (wc <= 0x7FF)
    5417  {
    5418  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xC0u | ((static_cast<unsigned int>(wc) >> 6u) & 0x1Fu));
    5419  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | (static_cast<unsigned int>(wc) & 0x3Fu));
    5420  utf8_bytes_filled = 2;
    5421  }
    5422  else if (wc <= 0xFFFF)
    5423  {
    5424  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xE0u | ((static_cast<unsigned int>(wc) >> 12u) & 0x0Fu));
    5425  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((static_cast<unsigned int>(wc) >> 6u) & 0x3Fu));
    5426  utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | (static_cast<unsigned int>(wc) & 0x3Fu));
    5427  utf8_bytes_filled = 3;
    5428  }
    5429  else if (wc <= 0x10FFFF)
    5430  {
    5431  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xF0u | ((static_cast<unsigned int>(wc) >> 18u) & 0x07u));
    5432  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((static_cast<unsigned int>(wc) >> 12u) & 0x3Fu));
    5433  utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | ((static_cast<unsigned int>(wc) >> 6u) & 0x3Fu));
    5434  utf8_bytes[3] = static_cast<std::char_traits<char>::int_type>(0x80u | (static_cast<unsigned int>(wc) & 0x3Fu));
    5435  utf8_bytes_filled = 4;
    5436  }
    5437  else
    5438  {
    5439  // unknown character
    5440  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
    5441  utf8_bytes_filled = 1;
    5442  }
    5443  }
    5444  }
    5445 };
    5446 
    5447 template<typename BaseInputAdapter>
    5448 struct wide_string_input_helper<BaseInputAdapter, 2>
    5449 {
    5450  // UTF-16
    5451  static void fill_buffer(BaseInputAdapter& input,
    5452  std::array<std::char_traits<char>::int_type, 4>& utf8_bytes,
    5453  size_t& utf8_bytes_index,
    5454  size_t& utf8_bytes_filled)
    5455  {
    5456  utf8_bytes_index = 0;
    5457 
    5458  if (JSON_HEDLEY_UNLIKELY(input.empty()))
    5459  {
    5460  utf8_bytes[0] = std::char_traits<char>::eof();
    5461  utf8_bytes_filled = 1;
    5462  }
    5463  else
    5464  {
    5465  // get the current character
    5466  const auto wc = input.get_character();
    5467 
    5468  // UTF-16 to UTF-8 encoding
    5469  if (wc < 0x80)
    5470  {
    5471  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
    5472  utf8_bytes_filled = 1;
    5473  }
    5474  else if (wc <= 0x7FF)
    5475  {
    5476  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xC0u | ((static_cast<unsigned int>(wc) >> 6u)));
    5477  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | (static_cast<unsigned int>(wc) & 0x3Fu));
    5478  utf8_bytes_filled = 2;
    5479  }
    5480  else if (0xD800 > wc || wc >= 0xE000)
    5481  {
    5482  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xE0u | ((static_cast<unsigned int>(wc) >> 12u)));
    5483  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((static_cast<unsigned int>(wc) >> 6u) & 0x3Fu));
    5484  utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | (static_cast<unsigned int>(wc) & 0x3Fu));
    5485  utf8_bytes_filled = 3;
    5486  }
    5487  else
    5488  {
    5489  if (JSON_HEDLEY_UNLIKELY(!input.empty()))
    5490  {
    5491  const auto wc2 = static_cast<unsigned int>(input.get_character());
    5492  const auto charcode = 0x10000u + (((static_cast<unsigned int>(wc) & 0x3FFu) << 10u) | (wc2 & 0x3FFu));
    5493  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(0xF0u | (charcode >> 18u));
    5494  utf8_bytes[1] = static_cast<std::char_traits<char>::int_type>(0x80u | ((charcode >> 12u) & 0x3Fu));
    5495  utf8_bytes[2] = static_cast<std::char_traits<char>::int_type>(0x80u | ((charcode >> 6u) & 0x3Fu));
    5496  utf8_bytes[3] = static_cast<std::char_traits<char>::int_type>(0x80u | (charcode & 0x3Fu));
    5497  utf8_bytes_filled = 4;
    5498  }
    5499  else
    5500  {
    5501  utf8_bytes[0] = static_cast<std::char_traits<char>::int_type>(wc);
    5502  utf8_bytes_filled = 1;
    5503  }
    5504  }
    5505  }
    5506  }
    5507 };
    5508 
    5509 // Wraps another input apdater to convert wide character types into individual bytes.
    5510 template<typename BaseInputAdapter, typename WideCharType>
    5512 {
    5513  public:
    5514  using char_type = char;
    5515 
    5516  wide_string_input_adapter(BaseInputAdapter base)
    5517  : base_adapter(base) {}
    5518 
    5519  typename std::char_traits<char>::int_type get_character() noexcept
    5520  {
    5521  // check if buffer needs to be filled
    5522  if (utf8_bytes_index == utf8_bytes_filled)
    5523  {
    5524  fill_buffer<sizeof(WideCharType)>();
    5525 
    5526  JSON_ASSERT(utf8_bytes_filled > 0);
    5527  JSON_ASSERT(utf8_bytes_index == 0);
    5528  }
    5529 
    5530  // use buffer
    5531  JSON_ASSERT(utf8_bytes_filled > 0);
    5532  JSON_ASSERT(utf8_bytes_index < utf8_bytes_filled);
    5533  return utf8_bytes[utf8_bytes_index++];
    5534  }
    5535 
    5536  private:
    5537  BaseInputAdapter base_adapter;
    5538 
    5539  template<size_t T>
    5541  {
    5542  wide_string_input_helper<BaseInputAdapter, T>::fill_buffer(base_adapter, utf8_bytes, utf8_bytes_index, utf8_bytes_filled);
    5543  }
    5544 
    5546  std::array<std::char_traits<char>::int_type, 4> utf8_bytes = {{0, 0, 0, 0}};
    5547 
    5549  std::size_t utf8_bytes_index = 0;
    5551  std::size_t utf8_bytes_filled = 0;
    5552 };
    5553 
    5554 
    5555 template<typename IteratorType, typename Enable = void>
    5557 {
    5558  using iterator_type = IteratorType;
    5559  using char_type = typename std::iterator_traits<iterator_type>::value_type;
    5561 
    5562  static adapter_type create(IteratorType first, IteratorType last)
    5563  {
    5564  return adapter_type(std::move(first), std::move(last));
    5565  }
    5566 };
    5567 
    5568 template<typename T>
    5570 {
    5571  using value_type = typename std::iterator_traits<T>::value_type;
    5572  enum
    5573  {
    5574  value = sizeof(value_type) > 1
    5575  };
    5576 };
    5577 
    5578 template<typename IteratorType>
    5580 {
    5581  using iterator_type = IteratorType;
    5582  using char_type = typename std::iterator_traits<iterator_type>::value_type;
    5585 
    5586  static adapter_type create(IteratorType first, IteratorType last)
    5587  {
    5588  return adapter_type(base_adapter_type(std::move(first), std::move(last)));
    5589  }
    5590 };
    5591 
    5592 // General purpose iterator-based input
    5593 template<typename IteratorType>
    5594 typename iterator_input_adapter_factory<IteratorType>::adapter_type input_adapter(IteratorType first, IteratorType last)
    5595 {
    5596  using factory_type = iterator_input_adapter_factory<IteratorType>;
    5597  return factory_type::create(first, last);
    5598 }
    5599 
    5600 // Convenience shorthand from container to iterator
    5601 // Enables ADL on begin(container) and end(container)
    5602 // Encloses the using declarations in namespace for not to leak them to outside scope
    5603 
    5604 namespace container_input_adapter_factory_impl
    5605 {
    5606 
    5607 using std::begin;
    5608 using std::end;
    5609 
    5610 template<typename ContainerType, typename Enable = void>
    5612 
    5613 template<typename ContainerType>
    5614 struct container_input_adapter_factory< ContainerType,
    5615  void_t<decltype(begin(std::declval<ContainerType>()), end(std::declval<ContainerType>()))>>
    5616  {
    5617  using adapter_type = decltype(input_adapter(begin(std::declval<ContainerType>()), end(std::declval<ContainerType>())));
    5618 
    5619  static adapter_type create(const ContainerType& container)
    5620 {
    5621  return input_adapter(begin(container), end(container));
    5622 }
    5623  };
    5624 
    5625 } // namespace container_input_adapter_factory_impl
    5626 
    5627 template<typename ContainerType>
    5629 {
    5631 }
    5632 
    5633 // Special cases with fast paths
    5634 inline file_input_adapter input_adapter(std::FILE* file)
    5635 {
    5636  return file_input_adapter(file);
    5637 }
    5638 
    5639 inline input_stream_adapter input_adapter(std::istream& stream)
    5640 {
    5641  return input_stream_adapter(stream);
    5642 }
    5643 
    5644 inline input_stream_adapter input_adapter(std::istream&& stream)
    5645 {
    5646  return input_stream_adapter(stream);
    5647 }
    5648 
    5649 using contiguous_bytes_input_adapter = decltype(input_adapter(std::declval<const char*>(), std::declval<const char*>()));
    5650 
    5651 // Null-delimited strings, and the like.
    5652 template < typename CharT,
    5653  typename std::enable_if <
    5654  std::is_pointer<CharT>::value&&
    5655  !std::is_array<CharT>::value&&
    5656  std::is_integral<typename std::remove_pointer<CharT>::type>::value&&
    5657  sizeof(typename std::remove_pointer<CharT>::type) == 1,
    5658  int >::type = 0 >
    5660 {
    5661  auto length = std::strlen(reinterpret_cast<const char*>(b));
    5662  const auto* ptr = reinterpret_cast<const char*>(b);
    5663  return input_adapter(ptr, ptr + length);
    5664 }
    5665 
    5666 template<typename T, std::size_t N>
    5667 auto input_adapter(T (&array)[N]) -> decltype(input_adapter(array, array + N)) // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays)
    5668 {
    5669  return input_adapter(array, array + N);
    5670 }
    5671 
    5672 // This class only handles inputs of input_buffer_adapter type.
    5673 // It's required so that expressions like {ptr, len} can be implicitely casted
    5674 // to the correct adapter.
    5676 {
    5677  public:
    5678  template < typename CharT,
    5679  typename std::enable_if <
    5680  std::is_pointer<CharT>::value&&
    5681  std::is_integral<typename std::remove_pointer<CharT>::type>::value&&
    5682  sizeof(typename std::remove_pointer<CharT>::type) == 1,
    5683  int >::type = 0 >
    5684  span_input_adapter(CharT b, std::size_t l)
    5685  : ia(reinterpret_cast<const char*>(b), reinterpret_cast<const char*>(b) + l) {}
    5686 
    5687  template<class IteratorType,
    5688  typename std::enable_if<
    5689  std::is_same<typename iterator_traits<IteratorType>::iterator_category, std::random_access_iterator_tag>::value,
    5690  int>::type = 0>
    5691  span_input_adapter(IteratorType first, IteratorType last)
    5692  : ia(input_adapter(first, last)) {}
    5693 
    5695  {
    5696  return std::move(ia); // NOLINT(hicpp-move-const-arg,performance-move-const-arg)
    5697  }
    5698 
    5699  private:
    5701 };
    5702 } // namespace detail
    5703 } // namespace nlohmann
    5704 
    5705 // #include <nlohmann/detail/input/json_sax.hpp>
    5706 
    5707 
    5708 #include <cstddef>
    5709 #include <string> // string
    5710 #include <utility> // move
    5711 #include <vector> // vector
    5712 
    5713 // #include <nlohmann/detail/exceptions.hpp>
    5714 
    5715 // #include <nlohmann/detail/macro_scope.hpp>
    5716 
    5717 
    5718 namespace nlohmann
    5719 {
    5720 
    5729 template<typename BasicJsonType>
    5730 struct json_sax
    5731 {
    5732  using number_integer_t = typename BasicJsonType::number_integer_t;
    5733  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
    5734  using number_float_t = typename BasicJsonType::number_float_t;
    5735  using string_t = typename BasicJsonType::string_t;
    5736  using binary_t = typename BasicJsonType::binary_t;
    5737 
    5742  virtual bool null() = 0;
    5743 
    5749  virtual bool boolean(bool val) = 0;
    5750 
    5756  virtual bool number_integer(number_integer_t val) = 0;
    5757 
    5763  virtual bool number_unsigned(number_unsigned_t val) = 0;
    5764 
    5771  virtual bool number_float(number_float_t val, const string_t& s) = 0;
    5772 
    5779  virtual bool string(string_t& val) = 0;
    5780 
    5787  virtual bool binary(binary_t& val) = 0;
    5788 
    5795  virtual bool start_object(std::size_t elements) = 0;
    5796 
    5803  virtual bool key(string_t& val) = 0;
    5804 
    5809  virtual bool end_object() = 0;
    5810 
    5817  virtual bool start_array(std::size_t elements) = 0;
    5818 
    5823  virtual bool end_array() = 0;
    5824 
    5832  virtual bool parse_error(std::size_t position,
    5833  const std::string& last_token,
    5834  const detail::exception& ex) = 0;
    5835 
    5836  json_sax() = default;
    5837  json_sax(const json_sax&) = default;
    5838  json_sax(json_sax&&) noexcept = default;
    5839  json_sax& operator=(const json_sax&) = default;
    5840  json_sax& operator=(json_sax&&) noexcept = default;
    5841  virtual ~json_sax() = default;
    5842 };
    5843 
    5844 
    5845 namespace detail
    5846 {
    5860 template<typename BasicJsonType>
    5862 {
    5863  public:
    5864  using number_integer_t = typename BasicJsonType::number_integer_t;
    5865  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
    5866  using number_float_t = typename BasicJsonType::number_float_t;
    5867  using string_t = typename BasicJsonType::string_t;
    5868  using binary_t = typename BasicJsonType::binary_t;
    5869 
    5875  explicit json_sax_dom_parser(BasicJsonType& r, const bool allow_exceptions_ = true)
    5876  : root(r), allow_exceptions(allow_exceptions_)
    5877  {}
    5878 
    5879  // make class move-only
    5880  json_sax_dom_parser(const json_sax_dom_parser&) = delete;
    5881  json_sax_dom_parser(json_sax_dom_parser&&) = default; // NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor)
    5882  json_sax_dom_parser& operator=(const json_sax_dom_parser&) = delete;
    5883  json_sax_dom_parser& operator=(json_sax_dom_parser&&) = default; // NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor)
    5884  ~json_sax_dom_parser() = default;
    5885 
    5886  bool null()
    5887  {
    5888  handle_value(nullptr);
    5889  return true;
    5890  }
    5891 
    5892  bool boolean(bool val)
    5893  {
    5894  handle_value(val);
    5895  return true;
    5896  }
    5897 
    5899  {
    5900  handle_value(val);
    5901  return true;
    5902  }
    5903 
    5905  {
    5906  handle_value(val);
    5907  return true;
    5908  }
    5909 
    5910  bool number_float(number_float_t val, const string_t& /*unused*/)
    5911  {
    5912  handle_value(val);
    5913  return true;
    5914  }
    5915 
    5916  bool string(string_t& val)
    5917  {
    5918  handle_value(val);
    5919  return true;
    5920  }
    5921 
    5922  bool binary(binary_t& val)
    5923  {
    5924  handle_value(std::move(val));
    5925  return true;
    5926  }
    5927 
    5928  bool start_object(std::size_t len)
    5929  {
    5930  ref_stack.push_back(handle_value(BasicJsonType::value_t::object));
    5931 
    5932  if (JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) && len > ref_stack.back()->max_size()))
    5933  {
    5934  JSON_THROW(out_of_range::create(408, "excessive object size: " + std::to_string(len), *ref_stack.back()));
    5935  }
    5936 
    5937  return true;
    5938  }
    5939 
    5940  bool key(string_t& val)
    5941  {
    5942  // add null at given key and store the reference for later
    5943  object_element = &(ref_stack.back()->m_value.object->operator[](val));
    5944  return true;
    5945  }
    5946 
    5947  bool end_object()
    5948  {
    5949  ref_stack.back()->set_parents();
    5950  ref_stack.pop_back();
    5951  return true;
    5952  }
    5953 
    5954  bool start_array(std::size_t len)
    5955  {
    5956  ref_stack.push_back(handle_value(BasicJsonType::value_t::array));
    5957 
    5958  if (JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) && len > ref_stack.back()->max_size()))
    5959  {
    5960  JSON_THROW(out_of_range::create(408, "excessive array size: " + std::to_string(len), *ref_stack.back()));
    5961  }
    5962 
    5963  return true;
    5964  }
    5965 
    5966  bool end_array()
    5967  {
    5968  ref_stack.back()->set_parents();
    5969  ref_stack.pop_back();
    5970  return true;
    5971  }
    5972 
    5973  template<class Exception>
    5974  bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,
    5975  const Exception& ex)
    5976  {
    5977  errored = true;
    5978  static_cast<void>(ex);
    5979  if (allow_exceptions)
    5980  {
    5981  JSON_THROW(ex);
    5982  }
    5983  return false;
    5984  }
    5985 
    5986  constexpr bool is_errored() const
    5987  {
    5988  return errored;
    5989  }
    5990 
    5991  private:
    5998  template<typename Value>
    6000  BasicJsonType* handle_value(Value&& v)
    6001  {
    6002  if (ref_stack.empty())
    6003  {
    6004  root = BasicJsonType(std::forward<Value>(v));
    6005  return &root;
    6006  }
    6007 
    6008  JSON_ASSERT(ref_stack.back()->is_array() || ref_stack.back()->is_object());
    6009 
    6010  if (ref_stack.back()->is_array())
    6011  {
    6012  ref_stack.back()->m_value.array->emplace_back(std::forward<Value>(v));
    6013  return &(ref_stack.back()->m_value.array->back());
    6014  }
    6015 
    6016  JSON_ASSERT(ref_stack.back()->is_object());
    6017  JSON_ASSERT(object_element);
    6018  *object_element = BasicJsonType(std::forward<Value>(v));
    6019  return object_element;
    6020  }
    6021 
    6023  BasicJsonType& root;
    6025  std::vector<BasicJsonType*> ref_stack {};
    6027  BasicJsonType* object_element = nullptr;
    6029  bool errored = false;
    6031  const bool allow_exceptions = true;
    6032 };
    6033 
    6034 template<typename BasicJsonType>
    6036 {
    6037  public:
    6038  using number_integer_t = typename BasicJsonType::number_integer_t;
    6039  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
    6040  using number_float_t = typename BasicJsonType::number_float_t;
    6041  using string_t = typename BasicJsonType::string_t;
    6042  using binary_t = typename BasicJsonType::binary_t;
    6045 
    6047  const parser_callback_t cb,
    6048  const bool allow_exceptions_ = true)
    6049  : root(r), callback(cb), allow_exceptions(allow_exceptions_)
    6050  {
    6051  keep_stack.push_back(true);
    6052  }
    6053 
    6054  // make class move-only
    6056  json_sax_dom_callback_parser(json_sax_dom_callback_parser&&) = default; // NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor)
    6057  json_sax_dom_callback_parser& operator=(const json_sax_dom_callback_parser&) = delete;
    6058  json_sax_dom_callback_parser& operator=(json_sax_dom_callback_parser&&) = default; // NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor)
    6059  ~json_sax_dom_callback_parser() = default;
    6060 
    6061  bool null()
    6062  {
    6063  handle_value(nullptr);
    6064  return true;
    6065  }
    6066 
    6067  bool boolean(bool val)
    6068  {
    6069  handle_value(val);
    6070  return true;
    6071  }
    6072 
    6074  {
    6075  handle_value(val);
    6076  return true;
    6077  }
    6078 
    6080  {
    6081  handle_value(val);
    6082  return true;
    6083  }
    6084 
    6085  bool number_float(number_float_t val, const string_t& /*unused*/)
    6086  {
    6087  handle_value(val);
    6088  return true;
    6089  }
    6090 
    6091  bool string(string_t& val)
    6092  {
    6093  handle_value(val);
    6094  return true;
    6095  }
    6096 
    6097  bool binary(binary_t& val)
    6098  {
    6099  handle_value(std::move(val));
    6100  return true;
    6101  }
    6102 
    6103  bool start_object(std::size_t len)
    6104  {
    6105  // check callback for object start
    6106  const bool keep = callback(static_cast<int>(ref_stack.size()), parse_event_t::object_start, discarded);
    6107  keep_stack.push_back(keep);
    6108 
    6109  auto val = handle_value(BasicJsonType::value_t::object, true);
    6110  ref_stack.push_back(val.second);
    6111 
    6112  // check object limit
    6113  if (ref_stack.back() && JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) && len > ref_stack.back()->max_size()))
    6114  {
    6115  JSON_THROW(out_of_range::create(408, "excessive object size: " + std::to_string(len), *ref_stack.back()));
    6116  }
    6117 
    6118  return true;
    6119  }
    6120 
    6121  bool key(string_t& val)
    6122  {
    6123  BasicJsonType k = BasicJsonType(val);
    6124 
    6125  // check callback for key
    6126  const bool keep = callback(static_cast<int>(ref_stack.size()), parse_event_t::key, k);
    6127  key_keep_stack.push_back(keep);
    6128 
    6129  // add discarded value at given key and store the reference for later
    6130  if (keep && ref_stack.back())
    6131  {
    6132  object_element = &(ref_stack.back()->m_value.object->operator[](val) = discarded);
    6133  }
    6134 
    6135  return true;
    6136  }
    6137 
    6138  bool end_object()
    6139  {
    6140  if (ref_stack.back())
    6141  {
    6142  if (!callback(static_cast<int>(ref_stack.size()) - 1, parse_event_t::object_end, *ref_stack.back()))
    6143  {
    6144  // discard object
    6145  *ref_stack.back() = discarded;
    6146  }
    6147  else
    6148  {
    6149  ref_stack.back()->set_parents();
    6150  }
    6151  }
    6152 
    6153  JSON_ASSERT(!ref_stack.empty());
    6154  JSON_ASSERT(!keep_stack.empty());
    6155  ref_stack.pop_back();
    6156  keep_stack.pop_back();
    6157 
    6158  if (!ref_stack.empty() && ref_stack.back() && ref_stack.back()->is_structured())
    6159  {
    6160  // remove discarded value
    6161  for (auto it = ref_stack.back()->begin(); it != ref_stack.back()->end(); ++it)
    6162  {
    6163  if (it->is_discarded())
    6164  {
    6165  ref_stack.back()->erase(it);
    6166  break;
    6167  }
    6168  }
    6169  }
    6170 
    6171  return true;
    6172  }
    6173 
    6174  bool start_array(std::size_t len)
    6175  {
    6176  const bool keep = callback(static_cast<int>(ref_stack.size()), parse_event_t::array_start, discarded);
    6177  keep_stack.push_back(keep);
    6178 
    6179  auto val = handle_value(BasicJsonType::value_t::array, true);
    6180  ref_stack.push_back(val.second);
    6181 
    6182  // check array limit
    6183  if (ref_stack.back() && JSON_HEDLEY_UNLIKELY(len != std::size_t(-1) && len > ref_stack.back()->max_size()))
    6184  {
    6185  JSON_THROW(out_of_range::create(408, "excessive array size: " + std::to_string(len), *ref_stack.back()));
    6186  }
    6187 
    6188  return true;
    6189  }
    6190 
    6191  bool end_array()
    6192  {
    6193  bool keep = true;
    6194 
    6195  if (ref_stack.back())
    6196  {
    6197  keep = callback(static_cast<int>(ref_stack.size()) - 1, parse_event_t::array_end, *ref_stack.back());
    6198  if (keep)
    6199  {
    6200  ref_stack.back()->set_parents();
    6201  }
    6202  else
    6203  {
    6204  // discard array
    6205  *ref_stack.back() = discarded;
    6206  }
    6207  }
    6208 
    6209  JSON_ASSERT(!ref_stack.empty());
    6210  JSON_ASSERT(!keep_stack.empty());
    6211  ref_stack.pop_back();
    6212  keep_stack.pop_back();
    6213 
    6214  // remove discarded value
    6215  if (!keep && !ref_stack.empty() && ref_stack.back()->is_array())
    6216  {
    6217  ref_stack.back()->m_value.array->pop_back();
    6218  }
    6219 
    6220  return true;
    6221  }
    6222 
    6223  template<class Exception>
    6224  bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/,
    6225  const Exception& ex)
    6226  {
    6227  errored = true;
    6228  static_cast<void>(ex);
    6229  if (allow_exceptions)
    6230  {
    6231  JSON_THROW(ex);
    6232  }
    6233  return false;
    6234  }
    6235 
    6236  constexpr bool is_errored() const
    6237  {
    6238  return errored;
    6239  }
    6240 
    6241  private:
    6257  template<typename Value>
    6258  std::pair<bool, BasicJsonType*> handle_value(Value&& v, const bool skip_callback = false)
    6259  {
    6260  JSON_ASSERT(!keep_stack.empty());
    6261 
    6262  // do not handle this value if we know it would be added to a discarded
    6263  // container
    6264  if (!keep_stack.back())
    6265  {
    6266  return {false, nullptr};
    6267  }
    6268 
    6269  // create value
    6270  auto value = BasicJsonType(std::forward<Value>(v));
    6271 
    6272  // check callback
    6273  const bool keep = skip_callback || callback(static_cast<int>(ref_stack.size()), parse_event_t::value, value);
    6274 
    6275  // do not handle this value if we just learnt it shall be discarded
    6276  if (!keep)
    6277  {
    6278  return {false, nullptr};
    6279  }
    6280 
    6281  if (ref_stack.empty())
    6282  {
    6283  root = std::move(value);
    6284  return {true, &root};
    6285  }
    6286 
    6287  // skip this value if we already decided to skip the parent
    6288  // (https://github.com/nlohmann/json/issues/971#issuecomment-413678360)
    6289  if (!ref_stack.back())
    6290  {
    6291  return {false, nullptr};
    6292  }
    6293 
    6294  // we now only expect arrays and objects
    6295  JSON_ASSERT(ref_stack.back()->is_array() || ref_stack.back()->is_object());
    6296 
    6297  // array
    6298  if (ref_stack.back()->is_array())
    6299  {
    6300  ref_stack.back()->m_value.array->emplace_back(std::move(value));
    6301  return {true, &(ref_stack.back()->m_value.array->back())};
    6302  }
    6303 
    6304  // object
    6305  JSON_ASSERT(ref_stack.back()->is_object());
    6306  // check if we should store an element for the current key
    6307  JSON_ASSERT(!key_keep_stack.empty());
    6308  const bool store_element = key_keep_stack.back();
    6309  key_keep_stack.pop_back();
    6310 
    6311  if (!store_element)
    6312  {
    6313  return {false, nullptr};
    6314  }
    6315 
    6316  JSON_ASSERT(object_element);
    6317  *object_element = std::move(value);
    6318  return {true, object_element};
    6319  }
    6320 
    6322  BasicJsonType& root;
    6324  std::vector<BasicJsonType*> ref_stack {};
    6326  std::vector<bool> keep_stack {};
    6328  std::vector<bool> key_keep_stack {};
    6330  BasicJsonType* object_element = nullptr;
    6332  bool errored = false;
    6334  const parser_callback_t callback = nullptr;
    6336  const bool allow_exceptions = true;
    6338  BasicJsonType discarded = BasicJsonType::value_t::discarded;
    6339 };
    6340 
    6341 template<typename BasicJsonType>
    6343 {
    6344  public:
    6345  using number_integer_t = typename BasicJsonType::number_integer_t;
    6346  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
    6347  using number_float_t = typename BasicJsonType::number_float_t;
    6348  using string_t = typename BasicJsonType::string_t;
    6349  using binary_t = typename BasicJsonType::binary_t;
    6350 
    6351  bool null()
    6352  {
    6353  return true;
    6354  }
    6355 
    6356  bool boolean(bool /*unused*/)
    6357  {
    6358  return true;
    6359  }
    6360 
    6362  {
    6363  return true;
    6364  }
    6365 
    6367  {
    6368  return true;
    6369  }
    6370 
    6371  bool number_float(number_float_t /*unused*/, const string_t& /*unused*/)
    6372  {
    6373  return true;
    6374  }
    6375 
    6376  bool string(string_t& /*unused*/)
    6377  {
    6378  return true;
    6379  }
    6380 
    6381  bool binary(binary_t& /*unused*/)
    6382  {
    6383  return true;
    6384  }
    6385 
    6386  bool start_object(std::size_t /*unused*/ = std::size_t(-1))
    6387  {
    6388  return true;
    6389  }
    6390 
    6391  bool key(string_t& /*unused*/)
    6392  {
    6393  return true;
    6394  }
    6395 
    6396  bool end_object()
    6397  {
    6398  return true;
    6399  }
    6400 
    6401  bool start_array(std::size_t /*unused*/ = std::size_t(-1))
    6402  {
    6403  return true;
    6404  }
    6405 
    6406  bool end_array()
    6407  {
    6408  return true;
    6409  }
    6410 
    6411  bool parse_error(std::size_t /*unused*/, const std::string& /*unused*/, const detail::exception& /*unused*/)
    6412  {
    6413  return false;
    6414  }
    6415 };
    6416 } // namespace detail
    6417 
    6418 } // namespace nlohmann
    6419 
    6420 // #include <nlohmann/detail/input/lexer.hpp>
    6421 
    6422 
    6423 #include <array> // array
    6424 #include <clocale> // localeconv
    6425 #include <cstddef> // size_t
    6426 #include <cstdio> // snprintf
    6427 #include <cstdlib> // strtof, strtod, strtold, strtoll, strtoull
    6428 #include <initializer_list> // initializer_list
    6429 #include <string> // char_traits, string
    6430 #include <utility> // move
    6431 #include <vector> // vector
    6432 
    6433 // #include <nlohmann/detail/input/input_adapters.hpp>
    6434 
    6435 // #include <nlohmann/detail/input/position_t.hpp>
    6436 
    6437 // #include <nlohmann/detail/macro_scope.hpp>
    6438 
    6439 
    6440 namespace nlohmann
    6441 {
    6442 namespace detail
    6443 {
    6445 // lexer //
    6447 
    6448 template<typename BasicJsonType>
    6450 {
    6451  public:
    6453  enum class token_type
    6454  {
    6455  uninitialized,
    6456  literal_true,
    6457  literal_false,
    6458  literal_null,
    6459  value_string,
    6460  value_unsigned,
    6461  value_integer,
    6462  value_float,
    6463  begin_array,
    6464  begin_object,
    6465  end_array,
    6466  end_object,
    6467  name_separator,
    6468  value_separator,
    6469  parse_error,
    6470  end_of_input,
    6471  literal_or_value
    6472  };
    6473 
    6477  static const char* token_type_name(const token_type t) noexcept
    6478  {
    6479  switch (t)
    6480  {
    6481  case token_type::uninitialized:
    6482  return "<uninitialized>";
    6483  case token_type::literal_true:
    6484  return "true literal";
    6485  case token_type::literal_false:
    6486  return "false literal";
    6487  case token_type::literal_null:
    6488  return "null literal";
    6489  case token_type::value_string:
    6490  return "string literal";
    6491  case token_type::value_unsigned:
    6492  case token_type::value_integer:
    6493  case token_type::value_float:
    6494  return "number literal";
    6495  case token_type::begin_array:
    6496  return "'['";
    6497  case token_type::begin_object:
    6498  return "'{'";
    6499  case token_type::end_array:
    6500  return "']'";
    6501  case token_type::end_object:
    6502  return "'}'";
    6503  case token_type::name_separator:
    6504  return "':'";
    6505  case token_type::value_separator:
    6506  return "','";
    6507  case token_type::parse_error:
    6508  return "<parse error>";
    6509  case token_type::end_of_input:
    6510  return "end of input";
    6511  case token_type::literal_or_value:
    6512  return "'[', '{', or a literal";
    6513  // LCOV_EXCL_START
    6514  default: // catch non-enum values
    6515  return "unknown token";
    6516  // LCOV_EXCL_STOP
    6517  }
    6518  }
    6519 };
    6525 template<typename BasicJsonType, typename InputAdapterType>
    6526 class lexer : public lexer_base<BasicJsonType>
    6527 {
    6528  using number_integer_t = typename BasicJsonType::number_integer_t;
    6529  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
    6530  using number_float_t = typename BasicJsonType::number_float_t;
    6531  using string_t = typename BasicJsonType::string_t;
    6532  using char_type = typename InputAdapterType::char_type;
    6533  using char_int_type = typename std::char_traits<char_type>::int_type;
    6534 
    6535  public:
    6537 
    6538  explicit lexer(InputAdapterType&& adapter, bool ignore_comments_ = false) noexcept
    6539  : ia(std::move(adapter))
    6540  , ignore_comments(ignore_comments_)
    6541  , decimal_point_char(static_cast<char_int_type>(get_decimal_point()))
    6542  {}
    6543 
    6544  // delete because of pointer members
    6545  lexer(const lexer&) = delete;
    6546  lexer(lexer&&) = default; // NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor)
    6547  lexer& operator=(lexer&) = delete;
    6548  lexer& operator=(lexer&&) = default; // NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor)
    6549  ~lexer() = default;
    6550 
    6551  private:
    6553  // locales
    6555 
    6558  static char get_decimal_point() noexcept
    6559  {
    6560  const auto* loc = localeconv();
    6561  JSON_ASSERT(loc != nullptr);
    6562  return (loc->decimal_point == nullptr) ? '.' : *(loc->decimal_point);
    6563  }
    6564 
    6566  // scan functions
    6568 
    6585  {
    6586  // this function only makes sense after reading `\u`
    6587  JSON_ASSERT(current == 'u');
    6588  int codepoint = 0;
    6589 
    6590  const auto factors = { 12u, 8u, 4u, 0u };
    6591  for (const auto factor : factors)
    6592  {
    6593  get();
    6594 
    6595  if (current >= '0' && current <= '9')
    6596  {
    6597  codepoint += static_cast<int>((static_cast<unsigned int>(current) - 0x30u) << factor);
    6598  }
    6599  else if (current >= 'A' && current <= 'F')
    6600  {
    6601  codepoint += static_cast<int>((static_cast<unsigned int>(current) - 0x37u) << factor);
    6602  }
    6603  else if (current >= 'a' && current <= 'f')
    6604  {
    6605  codepoint += static_cast<int>((static_cast<unsigned int>(current) - 0x57u) << factor);
    6606  }
    6607  else
    6608  {
    6609  return -1;
    6610  }
    6611  }
    6612 
    6613  JSON_ASSERT(0x0000 <= codepoint && codepoint <= 0xFFFF);
    6614  return codepoint;
    6615  }
    6616 
    6632  bool next_byte_in_range(std::initializer_list<char_int_type> ranges)
    6633  {
    6634  JSON_ASSERT(ranges.size() == 2 || ranges.size() == 4 || ranges.size() == 6);
    6635  add(current);
    6636 
    6637  for (auto range = ranges.begin(); range != ranges.end(); ++range)
    6638  {
    6639  get();
    6640  if (JSON_HEDLEY_LIKELY(*range <= current && current <= *(++range)))
    6641  {
    6642  add(current);
    6643  }
    6644  else
    6645  {
    6646  error_message = "invalid string: ill-formed UTF-8 byte";
    6647  return false;
    6648  }
    6649  }
    6650 
    6651  return true;
    6652  }
    6653 
    6670  {
    6671  // reset token_buffer (ignore opening quote)
    6672  reset();
    6673 
    6674  // we entered the function by reading an open quote
    6675  JSON_ASSERT(current == '\"');
    6676 
    6677  while (true)
    6678  {
    6679  // get next character
    6680  switch (get())
    6681  {
    6682  // end of file while parsing string
    6683  case std::char_traits<char_type>::eof():
    6684  {
    6685  error_message = "invalid string: missing closing quote";
    6686  return token_type::parse_error;
    6687  }
    6688 
    6689  // closing quote
    6690  case '\"':
    6691  {
    6692  return token_type::value_string;
    6693  }
    6694 
    6695  // escapes
    6696  case '\\':
    6697  {
    6698  switch (get())
    6699  {
    6700  // quotation mark
    6701  case '\"':
    6702  add('\"');
    6703  break;
    6704  // reverse solidus
    6705  case '\\':
    6706  add('\\');
    6707  break;
    6708  // solidus
    6709  case '/':
    6710  add('/');
    6711  break;
    6712  // backspace
    6713  case 'b':
    6714  add('\b');
    6715  break;
    6716  // form feed
    6717  case 'f':
    6718  add('\f');
    6719  break;
    6720  // line feed
    6721  case 'n':
    6722  add('\n');
    6723  break;
    6724  // carriage return
    6725  case 'r':
    6726  add('\r');
    6727  break;
    6728  // tab
    6729  case 't':
    6730  add('\t');
    6731  break;
    6732 
    6733  // unicode escapes
    6734  case 'u':
    6735  {
    6736  const int codepoint1 = get_codepoint();
    6737  int codepoint = codepoint1; // start with codepoint1
    6738 
    6739  if (JSON_HEDLEY_UNLIKELY(codepoint1 == -1))
    6740  {
    6741  error_message = "invalid string: '\\u' must be followed by 4 hex digits";
    6742  return token_type::parse_error;
    6743  }
    6744 
    6745  // check if code point is a high surrogate
    6746  if (0xD800 <= codepoint1 && codepoint1 <= 0xDBFF)
    6747  {
    6748  // expect next \uxxxx entry
    6749  if (JSON_HEDLEY_LIKELY(get() == '\\' && get() == 'u'))
    6750  {
    6751  const int codepoint2 = get_codepoint();
    6752 
    6753  if (JSON_HEDLEY_UNLIKELY(codepoint2 == -1))
    6754  {
    6755  error_message = "invalid string: '\\u' must be followed by 4 hex digits";
    6756  return token_type::parse_error;
    6757  }
    6758 
    6759  // check if codepoint2 is a low surrogate
    6760  if (JSON_HEDLEY_LIKELY(0xDC00 <= codepoint2 && codepoint2 <= 0xDFFF))
    6761  {
    6762  // overwrite codepoint
    6763  codepoint = static_cast<int>(
    6764  // high surrogate occupies the most significant 22 bits
    6765  (static_cast<unsigned int>(codepoint1) << 10u)
    6766  // low surrogate occupies the least significant 15 bits
    6767  + static_cast<unsigned int>(codepoint2)
    6768  // there is still the 0xD800, 0xDC00 and 0x10000 noise
    6769  // in the result so we have to subtract with:
    6770  // (0xD800 << 10) + DC00 - 0x10000 = 0x35FDC00
    6771  - 0x35FDC00u);
    6772  }
    6773  else
    6774  {
    6775  error_message = "invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF";
    6776  return token_type::parse_error;
    6777  }
    6778  }
    6779  else
    6780  {
    6781  error_message = "invalid string: surrogate U+D800..U+DBFF must be followed by U+DC00..U+DFFF";
    6782  return token_type::parse_error;
    6783  }
    6784  }
    6785  else
    6786  {
    6787  if (JSON_HEDLEY_UNLIKELY(0xDC00 <= codepoint1 && codepoint1 <= 0xDFFF))
    6788  {
    6789  error_message = "invalid string: surrogate U+DC00..U+DFFF must follow U+D800..U+DBFF";
    6790  return token_type::parse_error;
    6791  }
    6792  }
    6793 
    6794  // result of the above calculation yields a proper codepoint
    6795  JSON_ASSERT(0x00 <= codepoint && codepoint <= 0x10FFFF);
    6796 
    6797  // translate codepoint into bytes
    6798  if (codepoint < 0x80)
    6799  {
    6800  // 1-byte characters: 0xxxxxxx (ASCII)
    6801  add(static_cast<char_int_type>(codepoint));
    6802  }
    6803  else if (codepoint <= 0x7FF)
    6804  {
    6805  // 2-byte characters: 110xxxxx 10xxxxxx
    6806  add(static_cast<char_int_type>(0xC0u | (static_cast<unsigned int>(codepoint) >> 6u)));
    6807  add(static_cast<char_int_type>(0x80u | (static_cast<unsigned int>(codepoint) & 0x3Fu)));
    6808  }
    6809  else if (codepoint <= 0xFFFF)
    6810  {
    6811  // 3-byte characters: 1110xxxx 10xxxxxx 10xxxxxx
    6812  add(static_cast<char_int_type>(0xE0u | (static_cast<unsigned int>(codepoint) >> 12u)));
    6813  add(static_cast<char_int_type>(0x80u | ((static_cast<unsigned int>(codepoint) >> 6u) & 0x3Fu)));
    6814  add(static_cast<char_int_type>(0x80u | (static_cast<unsigned int>(codepoint) & 0x3Fu)));
    6815  }
    6816  else
    6817  {
    6818  // 4-byte characters: 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
    6819  add(static_cast<char_int_type>(0xF0u | (static_cast<unsigned int>(codepoint) >> 18u)));
    6820  add(static_cast<char_int_type>(0x80u | ((static_cast<unsigned int>(codepoint) >> 12u) & 0x3Fu)));
    6821  add(static_cast<char_int_type>(0x80u | ((static_cast<unsigned int>(codepoint) >> 6u) & 0x3Fu)));
    6822  add(static_cast<char_int_type>(0x80u | (static_cast<unsigned int>(codepoint) & 0x3Fu)));
    6823  }
    6824 
    6825  break;
    6826  }
    6827 
    6828  // other characters after escape
    6829  default:
    6830  error_message = "invalid string: forbidden character after backslash";
    6831  return token_type::parse_error;
    6832  }
    6833 
    6834  break;
    6835  }
    6836 
    6837  // invalid control characters
    6838  case 0x00:
    6839  {
    6840  error_message = "invalid string: control character U+0000 (NUL) must be escaped to \\u0000";
    6841  return token_type::parse_error;
    6842  }
    6843 
    6844  case 0x01:
    6845  {
    6846  error_message = "invalid string: control character U+0001 (SOH) must be escaped to \\u0001";
    6847  return token_type::parse_error;
    6848  }
    6849 
    6850  case 0x02:
    6851  {
    6852  error_message = "invalid string: control character U+0002 (STX) must be escaped to \\u0002";
    6853  return token_type::parse_error;
    6854  }
    6855 
    6856  case 0x03:
    6857  {
    6858  error_message = "invalid string: control character U+0003 (ETX) must be escaped to \\u0003";
    6859  return token_type::parse_error;
    6860  }
    6861 
    6862  case 0x04:
    6863  {
    6864  error_message = "invalid string: control character U+0004 (EOT) must be escaped to \\u0004";
    6865  return token_type::parse_error;
    6866  }
    6867 
    6868  case 0x05:
    6869  {
    6870  error_message = "invalid string: control character U+0005 (ENQ) must be escaped to \\u0005";
    6871  return token_type::parse_error;
    6872  }
    6873 
    6874  case 0x06:
    6875  {
    6876  error_message = "invalid string: control character U+0006 (ACK) must be escaped to \\u0006";
    6877  return token_type::parse_error;
    6878  }
    6879 
    6880  case 0x07:
    6881  {
    6882  error_message = "invalid string: control character U+0007 (BEL) must be escaped to \\u0007";
    6883  return token_type::parse_error;
    6884  }
    6885 
    6886  case 0x08:
    6887  {
    6888  error_message = "invalid string: control character U+0008 (BS) must be escaped to \\u0008 or \\b";
    6889  return token_type::parse_error;
    6890  }
    6891 
    6892  case 0x09:
    6893  {
    6894  error_message = "invalid string: control character U+0009 (HT) must be escaped to \\u0009 or \\t";
    6895  return token_type::parse_error;
    6896  }
    6897 
    6898  case 0x0A:
    6899  {
    6900  error_message = "invalid string: control character U+000A (LF) must be escaped to \\u000A or \\n";
    6901  return token_type::parse_error;
    6902  }
    6903 
    6904  case 0x0B:
    6905  {
    6906  error_message = "invalid string: control character U+000B (VT) must be escaped to \\u000B";
    6907  return token_type::parse_error;
    6908  }
    6909 
    6910  case 0x0C:
    6911  {
    6912  error_message = "invalid string: control character U+000C (FF) must be escaped to \\u000C or \\f";
    6913  return token_type::parse_error;
    6914  }
    6915 
    6916  case 0x0D:
    6917  {
    6918  error_message = "invalid string: control character U+000D (CR) must be escaped to \\u000D or \\r";
    6919  return token_type::parse_error;
    6920  }
    6921 
    6922  case 0x0E:
    6923  {
    6924  error_message = "invalid string: control character U+000E (SO) must be escaped to \\u000E";
    6925  return token_type::parse_error;
    6926  }
    6927 
    6928  case 0x0F:
    6929  {
    6930  error_message = "invalid string: control character U+000F (SI) must be escaped to \\u000F";
    6931  return token_type::parse_error;
    6932  }
    6933 
    6934  case 0x10:
    6935  {
    6936  error_message = "invalid string: control character U+0010 (DLE) must be escaped to \\u0010";
    6937  return token_type::parse_error;
    6938  }
    6939 
    6940  case 0x11:
    6941  {
    6942  error_message = "invalid string: control character U+0011 (DC1) must be escaped to \\u0011";
    6943  return token_type::parse_error;
    6944  }
    6945 
    6946  case 0x12:
    6947  {
    6948  error_message = "invalid string: control character U+0012 (DC2) must be escaped to \\u0012";
    6949  return token_type::parse_error;
    6950  }
    6951 
    6952  case 0x13:
    6953  {
    6954  error_message = "invalid string: control character U+0013 (DC3) must be escaped to \\u0013";
    6955  return token_type::parse_error;
    6956  }
    6957 
    6958  case 0x14:
    6959  {
    6960  error_message = "invalid string: control character U+0014 (DC4) must be escaped to \\u0014";
    6961  return token_type::parse_error;
    6962  }
    6963 
    6964  case 0x15:
    6965  {
    6966  error_message = "invalid string: control character U+0015 (NAK) must be escaped to \\u0015";
    6967  return token_type::parse_error;
    6968  }
    6969 
    6970  case 0x16:
    6971  {
    6972  error_message = "invalid string: control character U+0016 (SYN) must be escaped to \\u0016";
    6973  return token_type::parse_error;
    6974  }
    6975 
    6976  case 0x17:
    6977  {
    6978  error_message = "invalid string: control character U+0017 (ETB) must be escaped to \\u0017";
    6979  return token_type::parse_error;
    6980  }
    6981 
    6982  case 0x18:
    6983  {
    6984  error_message = "invalid string: control character U+0018 (CAN) must be escaped to \\u0018";
    6985  return token_type::parse_error;
    6986  }
    6987 
    6988  case 0x19:
    6989  {
    6990  error_message = "invalid string: control character U+0019 (EM) must be escaped to \\u0019";
    6991  return token_type::parse_error;
    6992  }
    6993 
    6994  case 0x1A:
    6995  {
    6996  error_message = "invalid string: control character U+001A (SUB) must be escaped to \\u001A";
    6997  return token_type::parse_error;
    6998  }
    6999 
    7000  case 0x1B:
    7001  {
    7002  error_message = "invalid string: control character U+001B (ESC) must be escaped to \\u001B";
    7003  return token_type::parse_error;
    7004  }
    7005 
    7006  case 0x1C:
    7007  {
    7008  error_message = "invalid string: control character U+001C (FS) must be escaped to \\u001C";
    7009  return token_type::parse_error;
    7010  }
    7011 
    7012  case 0x1D:
    7013  {
    7014  error_message = "invalid string: control character U+001D (GS) must be escaped to \\u001D";
    7015  return token_type::parse_error;
    7016  }
    7017 
    7018  case 0x1E:
    7019  {
    7020  error_message = "invalid string: control character U+001E (RS) must be escaped to \\u001E";
    7021  return token_type::parse_error;
    7022  }
    7023 
    7024  case 0x1F:
    7025  {
    7026  error_message = "invalid string: control character U+001F (US) must be escaped to \\u001F";
    7027  return token_type::parse_error;
    7028  }
    7029 
    7030  // U+0020..U+007F (except U+0022 (quote) and U+005C (backspace))
    7031  case 0x20:
    7032  case 0x21:
    7033  case 0x23:
    7034  case 0x24:
    7035  case 0x25:
    7036  case 0x26:
    7037  case 0x27:
    7038  case 0x28:
    7039  case 0x29:
    7040  case 0x2A:
    7041  case 0x2B:
    7042  case 0x2C:
    7043  case 0x2D:
    7044  case 0x2E:
    7045  case 0x2F:
    7046  case 0x30:
    7047  case 0x31:
    7048  case 0x32:
    7049  case 0x33:
    7050  case 0x34:
    7051  case 0x35:
    7052  case 0x36:
    7053  case 0x37:
    7054  case 0x38:
    7055  case 0x39:
    7056  case 0x3A:
    7057  case 0x3B:
    7058  case 0x3C:
    7059  case 0x3D:
    7060  case 0x3E:
    7061  case 0x3F:
    7062  case 0x40:
    7063  case 0x41:
    7064  case 0x42:
    7065  case 0x43:
    7066  case 0x44:
    7067  case 0x45:
    7068  case 0x46:
    7069  case 0x47:
    7070  case 0x48:
    7071  case 0x49:
    7072  case 0x4A:
    7073  case 0x4B:
    7074  case 0x4C:
    7075  case 0x4D:
    7076  case 0x4E:
    7077  case 0x4F:
    7078  case 0x50:
    7079  case 0x51:
    7080  case 0x52:
    7081  case 0x53:
    7082  case 0x54:
    7083  case 0x55:
    7084  case 0x56:
    7085  case 0x57:
    7086  case 0x58:
    7087  case 0x59:
    7088  case 0x5A:
    7089  case 0x5B:
    7090  case 0x5D:
    7091  case 0x5E:
    7092  case 0x5F:
    7093  case 0x60:
    7094  case 0x61:
    7095  case 0x62:
    7096  case 0x63:
    7097  case 0x64:
    7098  case 0x65:
    7099  case 0x66:
    7100  case 0x67:
    7101  case 0x68:
    7102  case 0x69:
    7103  case 0x6A:
    7104  case 0x6B:
    7105  case 0x6C:
    7106  case 0x6D:
    7107  case 0x6E:
    7108  case 0x6F:
    7109  case 0x70:
    7110  case 0x71:
    7111  case 0x72:
    7112  case 0x73:
    7113  case 0x74:
    7114  case 0x75:
    7115  case 0x76:
    7116  case 0x77:
    7117  case 0x78:
    7118  case 0x79:
    7119  case 0x7A:
    7120  case 0x7B:
    7121  case 0x7C:
    7122  case 0x7D:
    7123  case 0x7E:
    7124  case 0x7F:
    7125  {
    7126  add(current);
    7127  break;
    7128  }
    7129 
    7130  // U+0080..U+07FF: bytes C2..DF 80..BF
    7131  case 0xC2:
    7132  case 0xC3:
    7133  case 0xC4:
    7134  case 0xC5:
    7135  case 0xC6:
    7136  case 0xC7:
    7137  case 0xC8:
    7138  case 0xC9:
    7139  case 0xCA:
    7140  case 0xCB:
    7141  case 0xCC:
    7142  case 0xCD:
    7143  case 0xCE:
    7144  case 0xCF:
    7145  case 0xD0:
    7146  case 0xD1:
    7147  case 0xD2:
    7148  case 0xD3:
    7149  case 0xD4:
    7150  case 0xD5:
    7151  case 0xD6:
    7152  case 0xD7:
    7153  case 0xD8:
    7154  case 0xD9:
    7155  case 0xDA:
    7156  case 0xDB:
    7157  case 0xDC:
    7158  case 0xDD:
    7159  case 0xDE:
    7160  case 0xDF:
    7161  {
    7162  if (JSON_HEDLEY_UNLIKELY(!next_byte_in_range({0x80, 0xBF})))
    7163  {
    7164  return token_type::parse_error;
    7165  }
    7166  break;
    7167  }
    7168 
    7169  // U+0800..U+0FFF: bytes E0 A0..BF 80..BF
    7170  case 0xE0:
    7171  {
    7172  if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0xA0, 0xBF, 0x80, 0xBF}))))
    7173  {
    7174  return token_type::parse_error;
    7175  }
    7176  break;
    7177  }
    7178 
    7179  // U+1000..U+CFFF: bytes E1..EC 80..BF 80..BF
    7180  // U+E000..U+FFFF: bytes EE..EF 80..BF 80..BF
    7181  case 0xE1:
    7182  case 0xE2:
    7183  case 0xE3:
    7184  case 0xE4:
    7185  case 0xE5:
    7186  case 0xE6:
    7187  case 0xE7:
    7188  case 0xE8:
    7189  case 0xE9:
    7190  case 0xEA:
    7191  case 0xEB:
    7192  case 0xEC:
    7193  case 0xEE:
    7194  case 0xEF:
    7195  {
    7196  if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80, 0xBF, 0x80, 0xBF}))))
    7197  {
    7198  return token_type::parse_error;
    7199  }
    7200  break;
    7201  }
    7202 
    7203  // U+D000..U+D7FF: bytes ED 80..9F 80..BF
    7204  case 0xED:
    7205  {
    7206  if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80, 0x9F, 0x80, 0xBF}))))
    7207  {
    7208  return token_type::parse_error;
    7209  }
    7210  break;
    7211  }
    7212 
    7213  // U+10000..U+3FFFF F0 90..BF 80..BF 80..BF
    7214  case 0xF0:
    7215  {
    7216  if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x90, 0xBF, 0x80, 0xBF, 0x80, 0xBF}))))
    7217  {
    7218  return token_type::parse_error;
    7219  }
    7220  break;
    7221  }
    7222 
    7223  // U+40000..U+FFFFF F1..F3 80..BF 80..BF 80..BF
    7224  case 0xF1:
    7225  case 0xF2:
    7226  case 0xF3:
    7227  {
    7228  if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80, 0xBF, 0x80, 0xBF, 0x80, 0xBF}))))
    7229  {
    7230  return token_type::parse_error;
    7231  }
    7232  break;
    7233  }
    7234 
    7235  // U+100000..U+10FFFF F4 80..8F 80..BF 80..BF
    7236  case 0xF4:
    7237  {
    7238  if (JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80, 0x8F, 0x80, 0xBF, 0x80, 0xBF}))))
    7239  {
    7240  return token_type::parse_error;
    7241  }
    7242  break;
    7243  }
    7244 
    7245  // remaining bytes (80..C1 and F5..FF) are ill-formed
    7246  default:
    7247  {
    7248  error_message = "invalid string: ill-formed UTF-8 byte";
    7249  return token_type::parse_error;
    7250  }
    7251  }
    7252  }
    7253  }
    7254 
    7260  {
    7261  switch (get())
    7262  {
    7263  // single-line comments skip input until a newline or EOF is read
    7264  case '/':
    7265  {
    7266  while (true)
    7267  {
    7268  switch (get())
    7269  {
    7270  case '\n':
    7271  case '\r':
    7272  case std::char_traits<char_type>::eof():
    7273  case '\0':
    7274  return true;
    7275 
    7276  default:
    7277  break;
    7278  }
    7279  }
    7280  }
    7281 
    7282  // multi-line comments skip input until */ is read
    7283  case '*':
    7284  {
    7285  while (true)
    7286  {
    7287  switch (get())
    7288  {
    7289  case std::char_traits<char_type>::eof():
    7290  case '\0':
    7291  {
    7292  error_message = "invalid comment; missing closing '*/'";
    7293  return false;
    7294  }
    7295 
    7296  case '*':
    7297  {
    7298  switch (get())
    7299  {
    7300  case '/':
    7301  return true;
    7302 
    7303  default:
    7304  {
    7305  unget();
    7306  continue;
    7307  }
    7308  }
    7309  }
    7310 
    7311  default:
    7312  continue;
    7313  }
    7314  }
    7315  }
    7316 
    7317  // unexpected character after reading '/'
    7318  default:
    7319  {
    7320  error_message = "invalid comment; expecting '/' or '*' after '/'";
    7321  return false;
    7322  }
    7323  }
    7324  }
    7325 
    7327  static void strtof(float& f, const char* str, char** endptr) noexcept
    7328  {
    7329  f = std::strtof(str, endptr);
    7330  }
    7331 
    7333  static void strtof(double& f, const char* str, char** endptr) noexcept
    7334  {
    7335  f = std::strtod(str, endptr);
    7336  }
    7337 
    7339  static void strtof(long double& f, const char* str, char** endptr) noexcept
    7340  {
    7341  f = std::strtold(str, endptr);
    7342  }
    7343 
    7384  token_type scan_number() // lgtm [cpp/use-of-goto]
    7385  {
    7386  // reset token_buffer to store the number's bytes
    7387  reset();
    7388 
    7389  // the type of the parsed number; initially set to unsigned; will be
    7390  // changed if minus sign, decimal point or exponent is read
    7391  token_type number_type = token_type::value_unsigned;
    7392 
    7393  // state (init): we just found out we need to scan a number
    7394  switch (current)
    7395  {
    7396  case '-':
    7397  {
    7398  add(current);
    7399  goto scan_number_minus;
    7400  }
    7401 
    7402  case '0':
    7403  {
    7404  add(current);
    7405  goto scan_number_zero;
    7406  }
    7407 
    7408  case '1':
    7409  case '2':
    7410  case '3':
    7411  case '4':
    7412  case '5':
    7413  case '6':
    7414  case '7':
    7415  case '8':
    7416  case '9':
    7417  {
    7418  add(current);
    7419  goto scan_number_any1;
    7420  }
    7421 
    7422  // all other characters are rejected outside scan_number()
    7423  default: // LCOV_EXCL_LINE
    7424  JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE
    7425  }
    7426 
    7427 scan_number_minus:
    7428  // state: we just parsed a leading minus sign
    7429  number_type = token_type::value_integer;
    7430  switch (get())
    7431  {
    7432  case '0':
    7433  {
    7434  add(current);
    7435  goto scan_number_zero;
    7436  }
    7437 
    7438  case '1':
    7439  case '2':
    7440  case '3':
    7441  case '4':
    7442  case '5':
    7443  case '6':
    7444  case '7':
    7445  case '8':
    7446  case '9':
    7447  {
    7448  add(current);
    7449  goto scan_number_any1;
    7450  }
    7451 
    7452  default:
    7453  {
    7454  error_message = "invalid number; expected digit after '-'";
    7455  return token_type::parse_error;
    7456  }
    7457  }
    7458 
    7459 scan_number_zero:
    7460  // state: we just parse a zero (maybe with a leading minus sign)
    7461  switch (get())
    7462  {
    7463  case '.':
    7464  {
    7465  add(decimal_point_char);
    7466  goto scan_number_decimal1;
    7467  }
    7468 
    7469  case 'e':
    7470  case 'E':
    7471  {
    7472  add(current);
    7473  goto scan_number_exponent;
    7474  }
    7475 
    7476  default:
    7477  goto scan_number_done;
    7478  }
    7479 
    7480 scan_number_any1:
    7481  // state: we just parsed a number 0-9 (maybe with a leading minus sign)
    7482  switch (get())
    7483  {
    7484  case '0':
    7485  case '1':
    7486  case '2':
    7487  case '3':
    7488  case '4':
    7489  case '5':
    7490  case '6':
    7491  case '7':
    7492  case '8':
    7493  case '9':
    7494  {
    7495  add(current);
    7496  goto scan_number_any1;
    7497  }
    7498 
    7499  case '.':
    7500  {
    7501  add(decimal_point_char);
    7502  goto scan_number_decimal1;
    7503  }
    7504 
    7505  case 'e':
    7506  case 'E':
    7507  {
    7508  add(current);
    7509  goto scan_number_exponent;
    7510  }
    7511 
    7512  default:
    7513  goto scan_number_done;
    7514  }
    7515 
    7516 scan_number_decimal1:
    7517  // state: we just parsed a decimal point
    7518  number_type = token_type::value_float;
    7519  switch (get())
    7520  {
    7521  case '0':
    7522  case '1':
    7523  case '2':
    7524  case '3':
    7525  case '4':
    7526  case '5':
    7527  case '6':
    7528  case '7':
    7529  case '8':
    7530  case '9':
    7531  {
    7532  add(current);
    7533  goto scan_number_decimal2;
    7534  }
    7535 
    7536  default:
    7537  {
    7538  error_message = "invalid number; expected digit after '.'";
    7539  return token_type::parse_error;
    7540  }
    7541  }
    7542 
    7543 scan_number_decimal2:
    7544  // we just parsed at least one number after a decimal point
    7545  switch (get())
    7546  {
    7547  case '0':
    7548  case '1':
    7549  case '2':
    7550  case '3':
    7551  case '4':
    7552  case '5':
    7553  case '6':
    7554  case '7':
    7555  case '8':
    7556  case '9':
    7557  {
    7558  add(current);
    7559  goto scan_number_decimal2;
    7560  }
    7561 
    7562  case 'e':
    7563  case 'E':
    7564  {
    7565  add(current);
    7566  goto scan_number_exponent;
    7567  }
    7568 
    7569  default:
    7570  goto scan_number_done;
    7571  }
    7572 
    7573 scan_number_exponent:
    7574  // we just parsed an exponent
    7575  number_type = token_type::value_float;
    7576  switch (get())
    7577  {
    7578  case '+':
    7579  case '-':
    7580  {
    7581  add(current);
    7582  goto scan_number_sign;
    7583  }
    7584 
    7585  case '0':
    7586  case '1':
    7587  case '2':
    7588  case '3':
    7589  case '4':
    7590  case '5':
    7591  case '6':
    7592  case '7':
    7593  case '8':
    7594  case '9':
    7595  {
    7596  add(current);
    7597  goto scan_number_any2;
    7598  }
    7599 
    7600  default:
    7601  {
    7602  error_message =
    7603  "invalid number; expected '+', '-', or digit after exponent";
    7604  return token_type::parse_error;
    7605  }
    7606  }
    7607 
    7608 scan_number_sign:
    7609  // we just parsed an exponent sign
    7610  switch (get())
    7611  {
    7612  case '0':
    7613  case '1':
    7614  case '2':
    7615  case '3':
    7616  case '4':
    7617  case '5':
    7618  case '6':
    7619  case '7':
    7620  case '8':
    7621  case '9':
    7622  {
    7623  add(current);
    7624  goto scan_number_any2;
    7625  }
    7626 
    7627  default:
    7628  {
    7629  error_message = "invalid number; expected digit after exponent sign";
    7630  return token_type::parse_error;
    7631  }
    7632  }
    7633 
    7634 scan_number_any2:
    7635  // we just parsed a number after the exponent or exponent sign
    7636  switch (get())
    7637  {
    7638  case '0':
    7639  case '1':
    7640  case '2':
    7641  case '3':
    7642  case '4':
    7643  case '5':
    7644  case '6':
    7645  case '7':
    7646  case '8':
    7647  case '9':
    7648  {
    7649  add(current);
    7650  goto scan_number_any2;
    7651  }
    7652 
    7653  default:
    7654  goto scan_number_done;
    7655  }
    7656 
    7657 scan_number_done:
    7658  // unget the character after the number (we only read it to know that
    7659  // we are done scanning a number)
    7660  unget();
    7661 
    7662  char* endptr = nullptr; // NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
    7663  errno = 0;
    7664 
    7665  // try to parse integers first and fall back to floats
    7666  if (number_type == token_type::value_unsigned)
    7667  {
    7668  const auto x = std::strtoull(token_buffer.data(), &endptr, 10);
    7669 
    7670  // we checked the number format before
    7671  JSON_ASSERT(endptr == token_buffer.data() + token_buffer.size());
    7672 
    7673  if (errno == 0)
    7674  {
    7675  value_unsigned = static_cast<number_unsigned_t>(x);
    7676  if (value_unsigned == x)
    7677  {
    7678  return token_type::value_unsigned;
    7679  }
    7680  }
    7681  }
    7682  else if (number_type == token_type::value_integer)
    7683  {
    7684  const auto x = std::strtoll(token_buffer.data(), &endptr, 10);
    7685 
    7686  // we checked the number format before
    7687  JSON_ASSERT(endptr == token_buffer.data() + token_buffer.size());
    7688 
    7689  if (errno == 0)
    7690  {
    7691  value_integer = static_cast<number_integer_t>(x);
    7692  if (value_integer == x)
    7693  {
    7694  return token_type::value_integer;
    7695  }
    7696  }
    7697  }
    7698 
    7699  // this code is reached if we parse a floating-point number or if an
    7700  // integer conversion above failed
    7701  strtof(value_float, token_buffer.data(), &endptr);
    7702 
    7703  // we checked the number format before
    7704  JSON_ASSERT(endptr == token_buffer.data() + token_buffer.size());
    7705 
    7706  return token_type::value_float;
    7707  }
    7708 
    7715  token_type scan_literal(const char_type* literal_text, const std::size_t length,
    7716  token_type return_type)
    7717  {
    7718  JSON_ASSERT(std::char_traits<char_type>::to_char_type(current) == literal_text[0]);
    7719  for (std::size_t i = 1; i < length; ++i)
    7720  {
    7721  if (JSON_HEDLEY_UNLIKELY(std::char_traits<char_type>::to_char_type(get()) != literal_text[i]))
    7722  {
    7723  error_message = "invalid literal";
    7724  return token_type::parse_error;
    7725  }
    7726  }
    7727  return return_type;
    7728  }
    7729 
    7731  // input management
    7733 
    7735  void reset() noexcept
    7736  {
    7737  token_buffer.clear();
    7738  token_string.clear();
    7739  token_string.push_back(std::char_traits<char_type>::to_char_type(current));
    7740  }
    7741 
    7742  /*
    7743  @brief get next character from the input
    7744 
    7745  This function provides the interface to the used input adapter. It does
    7746  not throw in case the input reached EOF, but returns a
    7747  `std::char_traits<char>::eof()` in that case. Stores the scanned characters
    7748  for use in error messages.
    7749 
    7750  @return character read from the input
    7751  */
    7753  {
    7754  ++position.chars_read_total;
    7755  ++position.chars_read_current_line;
    7756 
    7757  if (next_unget)
    7758  {
    7759  // just reset the next_unget variable and work with current
    7760  next_unget = false;
    7761  }
    7762  else
    7763  {
    7764  current = ia.get_character();
    7765  }
    7766 
    7767  if (JSON_HEDLEY_LIKELY(current != std::char_traits<char_type>::eof()))
    7768  {
    7769  token_string.push_back(std::char_traits<char_type>::to_char_type(current));
    7770  }
    7771 
    7772  if (current == '\n')
    7773  {
    7774  ++position.lines_read;
    7775  position.chars_read_current_line = 0;
    7776  }
    7777 
    7778  return current;
    7779  }
    7780 
    7789  void unget()
    7790  {
    7791  next_unget = true;
    7792 
    7793  --position.chars_read_total;
    7794 
    7795  // in case we "unget" a newline, we have to also decrement the lines_read
    7796  if (position.chars_read_current_line == 0)
    7797  {
    7798  if (position.lines_read > 0)
    7799  {
    7800  --position.lines_read;
    7801  }
    7802  }
    7803  else
    7804  {
    7805  --position.chars_read_current_line;
    7806  }
    7807 
    7808  if (JSON_HEDLEY_LIKELY(current != std::char_traits<char_type>::eof()))
    7809  {
    7810  JSON_ASSERT(!token_string.empty());
    7811  token_string.pop_back();
    7812  }
    7813  }
    7814 
    7817  {
    7818  token_buffer.push_back(static_cast<typename string_t::value_type>(c));
    7819  }
    7820 
    7821  public:
    7823  // value getters
    7825 
    7827  constexpr number_integer_t get_number_integer() const noexcept
    7828  {
    7829  return value_integer;
    7830  }
    7831 
    7833  constexpr number_unsigned_t get_number_unsigned() const noexcept
    7834  {
    7835  return value_unsigned;
    7836  }
    7837 
    7839  constexpr number_float_t get_number_float() const noexcept
    7840  {
    7841  return value_float;
    7842  }
    7843 
    7846  {
    7847  return token_buffer;
    7848  }
    7849 
    7851  // diagnostics
    7853 
    7855  constexpr position_t get_position() const noexcept
    7856  {
    7857  return position;
    7858  }
    7859 
    7864  {
    7865  // escape control characters
    7866  std::string result;
    7867  for (const auto c : token_string)
    7868  {
    7869  if (static_cast<unsigned char>(c) <= '\x1F')
    7870  {
    7871  // escape control characters
    7872  std::array<char, 9> cs{{}};
    7873  (std::snprintf)(cs.data(), cs.size(), "<U+%.4X>", static_cast<unsigned char>(c)); // NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
    7874  result += cs.data();
    7875  }
    7876  else
    7877  {
    7878  // add character as is
    7879  result.push_back(static_cast<std::string::value_type>(c));
    7880  }
    7881  }
    7882 
    7883  return result;
    7884  }
    7885 
    7888  constexpr const char* get_error_message() const noexcept
    7889  {
    7890  return error_message;
    7891  }
    7892 
    7894  // actual scanner
    7896 
    7901  bool skip_bom()
    7902  {
    7903  if (get() == 0xEF)
    7904  {
    7905  // check if we completely parse the BOM
    7906  return get() == 0xBB && get() == 0xBF;
    7907  }
    7908 
    7909  // the first character is not the beginning of the BOM; unget it to
    7910  // process is later
    7911  unget();
    7912  return true;
    7913  }
    7914 
    7916  {
    7917  do
    7918  {
    7919  get();
    7920  }
    7921  while (current == ' ' || current == '\t' || current == '\n' || current == '\r');
    7922  }
    7923 
    7925  {
    7926  // initially, skip the BOM
    7927  if (position.chars_read_total == 0 && !skip_bom())
    7928  {
    7929  error_message = "invalid BOM; must be 0xEF 0xBB 0xBF if given";
    7930  return token_type::parse_error;
    7931  }
    7932 
    7933  // read next character and ignore whitespace
    7934  skip_whitespace();
    7935 
    7936  // ignore comments
    7937  while (ignore_comments && current == '/')
    7938  {
    7939  if (!scan_comment())
    7940  {
    7941  return token_type::parse_error;
    7942  }
    7943 
    7944  // skip following whitespace
    7945  skip_whitespace();
    7946  }
    7947 
    7948  switch (current)
    7949  {
    7950  // structural characters
    7951  case '[':
    7952  return token_type::begin_array;
    7953  case ']':
    7954  return token_type::end_array;
    7955  case '{':
    7956  return token_type::begin_object;
    7957  case '}':
    7958  return token_type::end_object;
    7959  case ':':
    7960  return token_type::name_separator;
    7961  case ',':
    7962  return token_type::value_separator;
    7963 
    7964  // literals
    7965  case 't':
    7966  {
    7967  std::array<char_type, 4> true_literal = {{char_type('t'), char_type('r'), char_type('u'), char_type('e')}};
    7968  return scan_literal(true_literal.data(), true_literal.size(), token_type::literal_true);
    7969  }
    7970  case 'f':
    7971  {
    7972  std::array<char_type, 5> false_literal = {{char_type('f'), char_type('a'), char_type('l'), char_type('s'), char_type('e')}};
    7973  return scan_literal(false_literal.data(), false_literal.size(), token_type::literal_false);
    7974  }
    7975  case 'n':
    7976  {
    7977  std::array<char_type, 4> null_literal = {{char_type('n'), char_type('u'), char_type('l'), char_type('l')}};
    7978  return scan_literal(null_literal.data(), null_literal.size(), token_type::literal_null);
    7979  }
    7980 
    7981  // string
    7982  case '\"':
    7983  return scan_string();
    7984 
    7985  // number
    7986  case '-':
    7987  case '0':
    7988  case '1':
    7989  case '2':
    7990  case '3':
    7991  case '4':
    7992  case '5':
    7993  case '6':
    7994  case '7':
    7995  case '8':
    7996  case '9':
    7997  return scan_number();
    7998 
    7999  // end of input (the null byte is needed when parsing from
    8000  // string literals)
    8001  case '\0':
    8002  case std::char_traits<char_type>::eof():
    8003  return token_type::end_of_input;
    8004 
    8005  // error
    8006  default:
    8007  error_message = "invalid literal";
    8008  return token_type::parse_error;
    8009  }
    8010  }
    8011 
    8012  private:
    8014  InputAdapterType ia;
    8015 
    8017  const bool ignore_comments = false;
    8018 
    8020  char_int_type current = std::char_traits<char_type>::eof();
    8021 
    8023  bool next_unget = false;
    8024 
    8026  position_t position {};
    8027 
    8029  std::vector<char_type> token_string {};
    8030 
    8032  string_t token_buffer {};
    8033 
    8035  const char* error_message = "";
    8036 
    8037  // number values
    8038  number_integer_t value_integer = 0;
    8039  number_unsigned_t value_unsigned = 0;
    8040  number_float_t value_float = 0;
    8041 
    8043  const char_int_type decimal_point_char = '.';
    8044 };
    8045 } // namespace detail
    8046 } // namespace nlohmann
    8047 
    8048 // #include <nlohmann/detail/macro_scope.hpp>
    8049 
    8050 // #include <nlohmann/detail/meta/is_sax.hpp>
    8051 
    8052 
    8053 #include <cstdint> // size_t
    8054 #include <utility> // declval
    8055 #include <string> // string
    8056 
    8057 // #include <nlohmann/detail/meta/detected.hpp>
    8058 
    8059 // #include <nlohmann/detail/meta/type_traits.hpp>
    8060 
    8061 
    8062 namespace nlohmann
    8063 {
    8064 namespace detail
    8065 {
    8066 template<typename T>
    8067 using null_function_t = decltype(std::declval<T&>().null());
    8068 
    8069 template<typename T>
    8070 using boolean_function_t =
    8071  decltype(std::declval<T&>().boolean(std::declval<bool>()));
    8072 
    8073 template<typename T, typename Integer>
    8075  decltype(std::declval<T&>().number_integer(std::declval<Integer>()));
    8076 
    8077 template<typename T, typename Unsigned>
    8079  decltype(std::declval<T&>().number_unsigned(std::declval<Unsigned>()));
    8080 
    8081 template<typename T, typename Float, typename String>
    8082 using number_float_function_t = decltype(std::declval<T&>().number_float(
    8083  std::declval<Float>(), std::declval<const String&>()));
    8084 
    8085 template<typename T, typename String>
    8086 using string_function_t =
    8087  decltype(std::declval<T&>().string(std::declval<String&>()));
    8088 
    8089 template<typename T, typename Binary>
    8090 using binary_function_t =
    8091  decltype(std::declval<T&>().binary(std::declval<Binary&>()));
    8092 
    8093 template<typename T>
    8095  decltype(std::declval<T&>().start_object(std::declval<std::size_t>()));
    8096 
    8097 template<typename T, typename String>
    8098 using key_function_t =
    8099  decltype(std::declval<T&>().key(std::declval<String&>()));
    8100 
    8101 template<typename T>
    8102 using end_object_function_t = decltype(std::declval<T&>().end_object());
    8103 
    8104 template<typename T>
    8105 using start_array_function_t =
    8106  decltype(std::declval<T&>().start_array(std::declval<std::size_t>()));
    8107 
    8108 template<typename T>
    8109 using end_array_function_t = decltype(std::declval<T&>().end_array());
    8110 
    8111 template<typename T, typename Exception>
    8112 using parse_error_function_t = decltype(std::declval<T&>().parse_error(
    8113  std::declval<std::size_t>(), std::declval<const std::string&>(),
    8114  std::declval<const Exception&>()));
    8115 
    8116 template<typename SAX, typename BasicJsonType>
    8117 struct is_sax
    8118 {
    8119  private:
    8121  "BasicJsonType must be of type basic_json<...>");
    8122 
    8123  using number_integer_t = typename BasicJsonType::number_integer_t;
    8124  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
    8125  using number_float_t = typename BasicJsonType::number_float_t;
    8126  using string_t = typename BasicJsonType::string_t;
    8127  using binary_t = typename BasicJsonType::binary_t;
    8128  using exception_t = typename BasicJsonType::exception;
    8129 
    8130  public:
    8131  static constexpr bool value =
    8145 };
    8146 
    8147 template<typename SAX, typename BasicJsonType>
    8149 {
    8150  private:
    8152  "BasicJsonType must be of type basic_json<...>");
    8153 
    8154  using number_integer_t = typename BasicJsonType::number_integer_t;
    8155  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
    8156  using number_float_t = typename BasicJsonType::number_float_t;
    8157  using string_t = typename BasicJsonType::string_t;
    8158  using binary_t = typename BasicJsonType::binary_t;
    8159  using exception_t = typename BasicJsonType::exception;
    8160 
    8161  public:
    8163  "Missing/invalid function: bool null()");
    8165  "Missing/invalid function: bool boolean(bool)");
    8167  "Missing/invalid function: bool boolean(bool)");
    8168  static_assert(
    8171  "Missing/invalid function: bool number_integer(number_integer_t)");
    8172  static_assert(
    8173  is_detected_exact<bool, number_unsigned_function_t, SAX,
    8175  "Missing/invalid function: bool number_unsigned(number_unsigned_t)");
    8176  static_assert(is_detected_exact<bool, number_float_function_t, SAX,
    8178  "Missing/invalid function: bool number_float(number_float_t, const string_t&)");
    8179  static_assert(
    8181  "Missing/invalid function: bool string(string_t&)");
    8182  static_assert(
    8184  "Missing/invalid function: bool binary(binary_t&)");
    8186  "Missing/invalid function: bool start_object(std::size_t)");
    8188  "Missing/invalid function: bool key(string_t&)");
    8190  "Missing/invalid function: bool end_object()");
    8192  "Missing/invalid function: bool start_array(std::size_t)");
    8194  "Missing/invalid function: bool end_array()");
    8195  static_assert(
    8197  "Missing/invalid function: bool parse_error(std::size_t, const "
    8198  "std::string&, const exception&)");
    8199 };
    8200 } // namespace detail
    8201 } // namespace nlohmann
    8202 
    8203 // #include <nlohmann/detail/value_t.hpp>
    8204 
    8205 
    8206 namespace nlohmann
    8207 {
    8208 namespace detail
    8209 {
    8210 
    8213 {
    8214  error,
    8215  ignore
    8216 };
    8217 
    8225 static inline bool little_endianess(int num = 1) noexcept
    8226 {
    8227  return *reinterpret_cast<char*>(&num) == 1;
    8228 }
    8229 
    8230 
    8232 // binary reader //
    8234 
    8238 template<typename BasicJsonType, typename InputAdapterType, typename SAX = json_sax_dom_parser<BasicJsonType>>
    8240 {
    8241  using number_integer_t = typename BasicJsonType::number_integer_t;
    8242  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
    8243  using number_float_t = typename BasicJsonType::number_float_t;
    8244  using string_t = typename BasicJsonType::string_t;
    8245  using binary_t = typename BasicJsonType::binary_t;
    8246  using json_sax_t = SAX;
    8247  using char_type = typename InputAdapterType::char_type;
    8248  using char_int_type = typename std::char_traits<char_type>::int_type;
    8249 
    8250  public:
    8256  explicit binary_reader(InputAdapterType&& adapter) noexcept : ia(std::move(adapter))
    8257  {
    8259  }
    8260 
    8261  // make class move-only
    8262  binary_reader(const binary_reader&) = delete;
    8263  binary_reader(binary_reader&&) = default; // NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor)
    8264  binary_reader& operator=(const binary_reader&) = delete;
    8265  binary_reader& operator=(binary_reader&&) = default; // NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor)
    8266  ~binary_reader() = default;
    8267 
    8277  bool sax_parse(const input_format_t format,
    8278  json_sax_t* sax_,
    8279  const bool strict = true,
    8280  const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)
    8281  {
    8282  sax = sax_;
    8283  bool result = false;
    8284 
    8285  switch (format)
    8286  {
    8287  case input_format_t::bson:
    8288  result = parse_bson_internal();
    8289  break;
    8290 
    8291  case input_format_t::cbor:
    8292  result = parse_cbor_internal(true, tag_handler);
    8293  break;
    8294 
    8296  result = parse_msgpack_internal();
    8297  break;
    8298 
    8300  result = parse_ubjson_internal();
    8301  break;
    8302 
    8303  default: // LCOV_EXCL_LINE
    8304  JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE
    8305  }
    8306 
    8307  // strict mode: next byte must be EOF
    8308  if (result && strict)
    8309  {
    8310  if (format == input_format_t::ubjson)
    8311  {
    8312  get_ignore_noop();
    8313  }
    8314  else
    8315  {
    8316  get();
    8317  }
    8318 
    8319  if (JSON_HEDLEY_UNLIKELY(current != std::char_traits<char_type>::eof()))
    8320  {
    8321  return sax->parse_error(chars_read, get_token_string(),
    8322  parse_error::create(110, chars_read, exception_message(format, "expected end of input; last byte: 0x" + get_token_string(), "value"), BasicJsonType()));
    8323  }
    8324  }
    8325 
    8326  return result;
    8327  }
    8328 
    8329  private:
    8331  // BSON //
    8333 
    8339  {
    8340  std::int32_t document_size{};
    8341  get_number<std::int32_t, true>(input_format_t::bson, document_size);
    8342 
    8343  if (JSON_HEDLEY_UNLIKELY(!sax->start_object(std::size_t(-1))))
    8344  {
    8345  return false;
    8346  }
    8347 
    8348  if (JSON_HEDLEY_UNLIKELY(!parse_bson_element_list(/*is_array*/false)))
    8349  {
    8350  return false;
    8351  }
    8352 
    8353  return sax->end_object();
    8354  }
    8355 
    8363  bool get_bson_cstr(string_t& result)
    8364  {
    8365  auto out = std::back_inserter(result);
    8366  while (true)
    8367  {
    8368  get();
    8369  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::bson, "cstring")))
    8370  {
    8371  return false;
    8372  }
    8373  if (current == 0x00)
    8374  {
    8375  return true;
    8376  }
    8377  *out++ = static_cast<typename string_t::value_type>(current);
    8378  }
    8379  }
    8380 
    8392  template<typename NumberType>
    8393  bool get_bson_string(const NumberType len, string_t& result)
    8394  {
    8395  if (JSON_HEDLEY_UNLIKELY(len < 1))
    8396  {
    8397  auto last_token = get_token_string();
    8398  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, "string length must be at least 1, is " + std::to_string(len), "string"), BasicJsonType()));
    8399  }
    8400 
    8401  return get_string(input_format_t::bson, len - static_cast<NumberType>(1), result) && get() != std::char_traits<char_type>::eof();
    8402  }
    8403 
    8413  template<typename NumberType>
    8414  bool get_bson_binary(const NumberType len, binary_t& result)
    8415  {
    8416  if (JSON_HEDLEY_UNLIKELY(len < 0))
    8417  {
    8418  auto last_token = get_token_string();
    8419  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::bson, "byte array length cannot be negative, is " + std::to_string(len), "binary"), BasicJsonType()));
    8420  }
    8421 
    8422  // All BSON binary values have a subtype
    8423  std::uint8_t subtype{};
    8424  get_number<std::uint8_t>(input_format_t::bson, subtype);
    8425  result.set_subtype(subtype);
    8426 
    8427  return get_binary(input_format_t::bson, len, result);
    8428  }
    8429 
    8441  const std::size_t element_type_parse_position)
    8442  {
    8443  switch (element_type)
    8444  {
    8445  case 0x01: // double
    8446  {
    8447  double number{};
    8448  return get_number<double, true>(input_format_t::bson, number) && sax->number_float(static_cast<number_float_t>(number), "");
    8449  }
    8450 
    8451  case 0x02: // string
    8452  {
    8453  std::int32_t len{};
    8454  string_t value;
    8455  return get_number<std::int32_t, true>(input_format_t::bson, len) && get_bson_string(len, value) && sax->string(value);
    8456  }
    8457 
    8458  case 0x03: // object
    8459  {
    8460  return parse_bson_internal();
    8461  }
    8462 
    8463  case 0x04: // array
    8464  {
    8465  return parse_bson_array();
    8466  }
    8467 
    8468  case 0x05: // binary
    8469  {
    8470  std::int32_t len{};
    8471  binary_t value;
    8472  return get_number<std::int32_t, true>(input_format_t::bson, len) && get_bson_binary(len, value) && sax->binary(value);
    8473  }
    8474 
    8475  case 0x08: // boolean
    8476  {
    8477  return sax->boolean(get() != 0);
    8478  }
    8479 
    8480  case 0x0A: // null
    8481  {
    8482  return sax->null();
    8483  }
    8484 
    8485  case 0x10: // int32
    8486  {
    8487  std::int32_t value{};
    8488  return get_number<std::int32_t, true>(input_format_t::bson, value) && sax->number_integer(value);
    8489  }
    8490 
    8491  case 0x12: // int64
    8492  {
    8493  std::int64_t value{};
    8494  return get_number<std::int64_t, true>(input_format_t::bson, value) && sax->number_integer(value);
    8495  }
    8496 
    8497  default: // anything else not supported (yet)
    8498  {
    8499  std::array<char, 3> cr{{}};
    8500  (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast<unsigned char>(element_type)); // NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
    8501  return sax->parse_error(element_type_parse_position, std::string(cr.data()), parse_error::create(114, element_type_parse_position, "Unsupported BSON record type 0x" + std::string(cr.data()), BasicJsonType()));
    8502  }
    8503  }
    8504  }
    8505 
    8518  bool parse_bson_element_list(const bool is_array)
    8519  {
    8520  string_t key;
    8521 
    8522  while (auto element_type = get())
    8523  {
    8524  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::bson, "element list")))
    8525  {
    8526  return false;
    8527  }
    8528 
    8529  const std::size_t element_type_parse_position = chars_read;
    8530  if (JSON_HEDLEY_UNLIKELY(!get_bson_cstr(key)))
    8531  {
    8532  return false;
    8533  }
    8534 
    8535  if (!is_array && !sax->key(key))
    8536  {
    8537  return false;
    8538  }
    8539 
    8540  if (JSON_HEDLEY_UNLIKELY(!parse_bson_element_internal(element_type, element_type_parse_position)))
    8541  {
    8542  return false;
    8543  }
    8544 
    8545  // get_bson_cstr only appends
    8546  key.clear();
    8547  }
    8548 
    8549  return true;
    8550  }
    8551 
    8557  {
    8558  std::int32_t document_size{};
    8559  get_number<std::int32_t, true>(input_format_t::bson, document_size);
    8560 
    8561  if (JSON_HEDLEY_UNLIKELY(!sax->start_array(std::size_t(-1))))
    8562  {
    8563  return false;
    8564  }
    8565 
    8566  if (JSON_HEDLEY_UNLIKELY(!parse_bson_element_list(/*is_array*/true)))
    8567  {
    8568  return false;
    8569  }
    8570 
    8571  return sax->end_array();
    8572  }
    8573 
    8575  // CBOR //
    8577 
    8586  bool parse_cbor_internal(const bool get_char,
    8587  const cbor_tag_handler_t tag_handler)
    8588  {
    8589  switch (get_char ? get() : current)
    8590  {
    8591  // EOF
    8592  case std::char_traits<char_type>::eof():
    8593  return unexpect_eof(input_format_t::cbor, "value");
    8594 
    8595  // Integer 0x00..0x17 (0..23)
    8596  case 0x00:
    8597  case 0x01:
    8598  case 0x02:
    8599  case 0x03:
    8600  case 0x04:
    8601  case 0x05:
    8602  case 0x06:
    8603  case 0x07:
    8604  case 0x08:
    8605  case 0x09:
    8606  case 0x0A:
    8607  case 0x0B:
    8608  case 0x0C:
    8609  case 0x0D:
    8610  case 0x0E:
    8611  case 0x0F:
    8612  case 0x10:
    8613  case 0x11:
    8614  case 0x12:
    8615  case 0x13:
    8616  case 0x14:
    8617  case 0x15:
    8618  case 0x16:
    8619  case 0x17:
    8620  return sax->number_unsigned(static_cast<number_unsigned_t>(current));
    8621 
    8622  case 0x18: // Unsigned integer (one-byte uint8_t follows)
    8623  {
    8624  std::uint8_t number{};
    8625  return get_number(input_format_t::cbor, number) && sax->number_unsigned(number);
    8626  }
    8627 
    8628  case 0x19: // Unsigned integer (two-byte uint16_t follows)
    8629  {
    8630  std::uint16_t number{};
    8631  return get_number(input_format_t::cbor, number) && sax->number_unsigned(number);
    8632  }
    8633 
    8634  case 0x1A: // Unsigned integer (four-byte uint32_t follows)
    8635  {
    8636  std::uint32_t number{};
    8637  return get_number(input_format_t::cbor, number) && sax->number_unsigned(number);
    8638  }
    8639 
    8640  case 0x1B: // Unsigned integer (eight-byte uint64_t follows)
    8641  {
    8642  std::uint64_t number{};
    8643  return get_number(input_format_t::cbor, number) && sax->number_unsigned(number);
    8644  }
    8645 
    8646  // Negative integer -1-0x00..-1-0x17 (-1..-24)
    8647  case 0x20:
    8648  case 0x21:
    8649  case 0x22:
    8650  case 0x23:
    8651  case 0x24:
    8652  case 0x25:
    8653  case 0x26:
    8654  case 0x27:
    8655  case 0x28:
    8656  case 0x29:
    8657  case 0x2A:
    8658  case 0x2B:
    8659  case 0x2C:
    8660  case 0x2D:
    8661  case 0x2E:
    8662  case 0x2F:
    8663  case 0x30:
    8664  case 0x31:
    8665  case 0x32:
    8666  case 0x33:
    8667  case 0x34:
    8668  case 0x35:
    8669  case 0x36:
    8670  case 0x37:
    8671  return sax->number_integer(static_cast<std::int8_t>(0x20 - 1 - current));
    8672 
    8673  case 0x38: // Negative integer (one-byte uint8_t follows)
    8674  {
    8675  std::uint8_t number{};
    8676  return get_number(input_format_t::cbor, number) && sax->number_integer(static_cast<number_integer_t>(-1) - number);
    8677  }
    8678 
    8679  case 0x39: // Negative integer -1-n (two-byte uint16_t follows)
    8680  {
    8681  std::uint16_t number{};
    8682  return get_number(input_format_t::cbor, number) && sax->number_integer(static_cast<number_integer_t>(-1) - number);
    8683  }
    8684 
    8685  case 0x3A: // Negative integer -1-n (four-byte uint32_t follows)
    8686  {
    8687  std::uint32_t number{};
    8688  return get_number(input_format_t::cbor, number) && sax->number_integer(static_cast<number_integer_t>(-1) - number);
    8689  }
    8690 
    8691  case 0x3B: // Negative integer -1-n (eight-byte uint64_t follows)
    8692  {
    8693  std::uint64_t number{};
    8694  return get_number(input_format_t::cbor, number) && sax->number_integer(static_cast<number_integer_t>(-1)
    8695  - static_cast<number_integer_t>(number));
    8696  }
    8697 
    8698  // Binary data (0x00..0x17 bytes follow)
    8699  case 0x40:
    8700  case 0x41:
    8701  case 0x42:
    8702  case 0x43:
    8703  case 0x44:
    8704  case 0x45:
    8705  case 0x46:
    8706  case 0x47:
    8707  case 0x48:
    8708  case 0x49:
    8709  case 0x4A:
    8710  case 0x4B:
    8711  case 0x4C:
    8712  case 0x4D:
    8713  case 0x4E:
    8714  case 0x4F:
    8715  case 0x50:
    8716  case 0x51:
    8717  case 0x52:
    8718  case 0x53:
    8719  case 0x54:
    8720  case 0x55:
    8721  case 0x56:
    8722  case 0x57:
    8723  case 0x58: // Binary data (one-byte uint8_t for n follows)
    8724  case 0x59: // Binary data (two-byte uint16_t for n follow)
    8725  case 0x5A: // Binary data (four-byte uint32_t for n follow)
    8726  case 0x5B: // Binary data (eight-byte uint64_t for n follow)
    8727  case 0x5F: // Binary data (indefinite length)
    8728  {
    8729  binary_t b;
    8730  return get_cbor_binary(b) && sax->binary(b);
    8731  }
    8732 
    8733  // UTF-8 string (0x00..0x17 bytes follow)
    8734  case 0x60:
    8735  case 0x61:
    8736  case 0x62:
    8737  case 0x63:
    8738  case 0x64:
    8739  case 0x65:
    8740  case 0x66:
    8741  case 0x67:
    8742  case 0x68:
    8743  case 0x69:
    8744  case 0x6A:
    8745  case 0x6B:
    8746  case 0x6C:
    8747  case 0x6D:
    8748  case 0x6E:
    8749  case 0x6F:
    8750  case 0x70:
    8751  case 0x71:
    8752  case 0x72:
    8753  case 0x73:
    8754  case 0x74:
    8755  case 0x75:
    8756  case 0x76:
    8757  case 0x77:
    8758  case 0x78: // UTF-8 string (one-byte uint8_t for n follows)
    8759  case 0x79: // UTF-8 string (two-byte uint16_t for n follow)
    8760  case 0x7A: // UTF-8 string (four-byte uint32_t for n follow)
    8761  case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow)
    8762  case 0x7F: // UTF-8 string (indefinite length)
    8763  {
    8764  string_t s;
    8765  return get_cbor_string(s) && sax->string(s);
    8766  }
    8767 
    8768  // array (0x00..0x17 data items follow)
    8769  case 0x80:
    8770  case 0x81:
    8771  case 0x82:
    8772  case 0x83:
    8773  case 0x84:
    8774  case 0x85:
    8775  case 0x86:
    8776  case 0x87:
    8777  case 0x88:
    8778  case 0x89:
    8779  case 0x8A:
    8780  case 0x8B:
    8781  case 0x8C:
    8782  case 0x8D:
    8783  case 0x8E:
    8784  case 0x8F:
    8785  case 0x90:
    8786  case 0x91:
    8787  case 0x92:
    8788  case 0x93:
    8789  case 0x94:
    8790  case 0x95:
    8791  case 0x96:
    8792  case 0x97:
    8793  return get_cbor_array(static_cast<std::size_t>(static_cast<unsigned int>(current) & 0x1Fu), tag_handler);
    8794 
    8795  case 0x98: // array (one-byte uint8_t for n follows)
    8796  {
    8797  std::uint8_t len{};
    8798  return get_number(input_format_t::cbor, len) && get_cbor_array(static_cast<std::size_t>(len), tag_handler);
    8799  }
    8800 
    8801  case 0x99: // array (two-byte uint16_t for n follow)
    8802  {
    8803  std::uint16_t len{};
    8804  return get_number(input_format_t::cbor, len) && get_cbor_array(static_cast<std::size_t>(len), tag_handler);
    8805  }
    8806 
    8807  case 0x9A: // array (four-byte uint32_t for n follow)
    8808  {
    8809  std::uint32_t len{};
    8810  return get_number(input_format_t::cbor, len) && get_cbor_array(static_cast<std::size_t>(len), tag_handler);
    8811  }
    8812 
    8813  case 0x9B: // array (eight-byte uint64_t for n follow)
    8814  {
    8815  std::uint64_t len{};
    8816  return get_number(input_format_t::cbor, len) && get_cbor_array(static_cast<std::size_t>(len), tag_handler);
    8817  }
    8818 
    8819  case 0x9F: // array (indefinite length)
    8820  return get_cbor_array(std::size_t(-1), tag_handler);
    8821 
    8822  // map (0x00..0x17 pairs of data items follow)
    8823  case 0xA0:
    8824  case 0xA1:
    8825  case 0xA2:
    8826  case 0xA3:
    8827  case 0xA4:
    8828  case 0xA5:
    8829  case 0xA6:
    8830  case 0xA7:
    8831  case 0xA8:
    8832  case 0xA9:
    8833  case 0xAA:
    8834  case 0xAB:
    8835  case 0xAC:
    8836  case 0xAD:
    8837  case 0xAE:
    8838  case 0xAF:
    8839  case 0xB0:
    8840  case 0xB1:
    8841  case 0xB2:
    8842  case 0xB3:
    8843  case 0xB4:
    8844  case 0xB5:
    8845  case 0xB6:
    8846  case 0xB7:
    8847  return get_cbor_object(static_cast<std::size_t>(static_cast<unsigned int>(current) & 0x1Fu), tag_handler);
    8848 
    8849  case 0xB8: // map (one-byte uint8_t for n follows)
    8850  {
    8851  std::uint8_t len{};
    8852  return get_number(input_format_t::cbor, len) && get_cbor_object(static_cast<std::size_t>(len), tag_handler);
    8853  }
    8854 
    8855  case 0xB9: // map (two-byte uint16_t for n follow)
    8856  {
    8857  std::uint16_t len{};
    8858  return get_number(input_format_t::cbor, len) && get_cbor_object(static_cast<std::size_t>(len), tag_handler);
    8859  }
    8860 
    8861  case 0xBA: // map (four-byte uint32_t for n follow)
    8862  {
    8863  std::uint32_t len{};
    8864  return get_number(input_format_t::cbor, len) && get_cbor_object(static_cast<std::size_t>(len), tag_handler);
    8865  }
    8866 
    8867  case 0xBB: // map (eight-byte uint64_t for n follow)
    8868  {
    8869  std::uint64_t len{};
    8870  return get_number(input_format_t::cbor, len) && get_cbor_object(static_cast<std::size_t>(len), tag_handler);
    8871  }
    8872 
    8873  case 0xBF: // map (indefinite length)
    8874  return get_cbor_object(std::size_t(-1), tag_handler);
    8875 
    8876  case 0xC6: // tagged item
    8877  case 0xC7:
    8878  case 0xC8:
    8879  case 0xC9:
    8880  case 0xCA:
    8881  case 0xCB:
    8882  case 0xCC:
    8883  case 0xCD:
    8884  case 0xCE:
    8885  case 0xCF:
    8886  case 0xD0:
    8887  case 0xD1:
    8888  case 0xD2:
    8889  case 0xD3:
    8890  case 0xD4:
    8891  case 0xD8: // tagged item (1 bytes follow)
    8892  case 0xD9: // tagged item (2 bytes follow)
    8893  case 0xDA: // tagged item (4 bytes follow)
    8894  case 0xDB: // tagged item (8 bytes follow)
    8895  {
    8896  switch (tag_handler)
    8897  {
    8899  {
    8900  auto last_token = get_token_string();
    8901  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::cbor, "invalid byte: 0x" + last_token, "value"), BasicJsonType()));
    8902  }
    8903 
    8905  {
    8906  switch (current)
    8907  {
    8908  case 0xD8:
    8909  {
    8910  std::uint8_t len{};
    8911  get_number(input_format_t::cbor, len);
    8912  break;
    8913  }
    8914  case 0xD9:
    8915  {
    8916  std::uint16_t len{};
    8917  get_number(input_format_t::cbor, len);
    8918  break;
    8919  }
    8920  case 0xDA:
    8921  {
    8922  std::uint32_t len{};
    8923  get_number(input_format_t::cbor, len);
    8924  break;
    8925  }
    8926  case 0xDB:
    8927  {
    8928  std::uint64_t len{};
    8929  get_number(input_format_t::cbor, len);
    8930  break;
    8931  }
    8932  default:
    8933  break;
    8934  }
    8935  return parse_cbor_internal(true, tag_handler);
    8936  }
    8937 
    8938  default: // LCOV_EXCL_LINE
    8939  JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE
    8940  return false; // LCOV_EXCL_LINE
    8941  }
    8942  }
    8943 
    8944  case 0xF4: // false
    8945  return sax->boolean(false);
    8946 
    8947  case 0xF5: // true
    8948  return sax->boolean(true);
    8949 
    8950  case 0xF6: // null
    8951  return sax->null();
    8952 
    8953  case 0xF9: // Half-Precision Float (two-byte IEEE 754)
    8954  {
    8955  const auto byte1_raw = get();
    8956  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "number")))
    8957  {
    8958  return false;
    8959  }
    8960  const auto byte2_raw = get();
    8961  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "number")))
    8962  {
    8963  return false;
    8964  }
    8965 
    8966  const auto byte1 = static_cast<unsigned char>(byte1_raw);
    8967  const auto byte2 = static_cast<unsigned char>(byte2_raw);
    8968 
    8969  // code from RFC 7049, Appendix D, Figure 3:
    8970  // As half-precision floating-point numbers were only added
    8971  // to IEEE 754 in 2008, today's programming platforms often
    8972  // still only have limited support for them. It is very
    8973  // easy to include at least decoding support for them even
    8974  // without such support. An example of a small decoder for
    8975  // half-precision floating-point numbers in the C language
    8976  // is shown in Fig. 3.
    8977  const auto half = static_cast<unsigned int>((byte1 << 8u) + byte2);
    8978  const double val = [&half]
    8979  {
    8980  const int exp = (half >> 10u) & 0x1Fu;
    8981  const unsigned int mant = half & 0x3FFu;
    8982  JSON_ASSERT(0 <= exp&& exp <= 32);
    8983  JSON_ASSERT(mant <= 1024);
    8984  switch (exp)
    8985  {
    8986  case 0:
    8987  return std::ldexp(mant, -24);
    8988  case 31:
    8989  return (mant == 0)
    8990  ? std::numeric_limits<double>::infinity()
    8991  : std::numeric_limits<double>::quiet_NaN();
    8992  default:
    8993  return std::ldexp(mant + 1024, exp - 25);
    8994  }
    8995  }();
    8996  return sax->number_float((half & 0x8000u) != 0
    8997  ? static_cast<number_float_t>(-val)
    8998  : static_cast<number_float_t>(val), "");
    8999  }
    9000 
    9001  case 0xFA: // Single-Precision Float (four-byte IEEE 754)
    9002  {
    9003  float number{};
    9004  return get_number(input_format_t::cbor, number) && sax->number_float(static_cast<number_float_t>(number), "");
    9005  }
    9006 
    9007  case 0xFB: // Double-Precision Float (eight-byte IEEE 754)
    9008  {
    9009  double number{};
    9010  return get_number(input_format_t::cbor, number) && sax->number_float(static_cast<number_float_t>(number), "");
    9011  }
    9012 
    9013  default: // anything else (0xFF is handled inside the other types)
    9014  {
    9015  auto last_token = get_token_string();
    9016  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::cbor, "invalid byte: 0x" + last_token, "value"), BasicJsonType()));
    9017  }
    9018  }
    9019  }
    9020 
    9033  {
    9034  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "string")))
    9035  {
    9036  return false;
    9037  }
    9038 
    9039  switch (current)
    9040  {
    9041  // UTF-8 string (0x00..0x17 bytes follow)
    9042  case 0x60:
    9043  case 0x61:
    9044  case 0x62:
    9045  case 0x63:
    9046  case 0x64:
    9047  case 0x65:
    9048  case 0x66:
    9049  case 0x67:
    9050  case 0x68:
    9051  case 0x69:
    9052  case 0x6A:
    9053  case 0x6B:
    9054  case 0x6C:
    9055  case 0x6D:
    9056  case 0x6E:
    9057  case 0x6F:
    9058  case 0x70:
    9059  case 0x71:
    9060  case 0x72:
    9061  case 0x73:
    9062  case 0x74:
    9063  case 0x75:
    9064  case 0x76:
    9065  case 0x77:
    9066  {
    9067  return get_string(input_format_t::cbor, static_cast<unsigned int>(current) & 0x1Fu, result);
    9068  }
    9069 
    9070  case 0x78: // UTF-8 string (one-byte uint8_t for n follows)
    9071  {
    9072  std::uint8_t len{};
    9073  return get_number(input_format_t::cbor, len) && get_string(input_format_t::cbor, len, result);
    9074  }
    9075 
    9076  case 0x79: // UTF-8 string (two-byte uint16_t for n follow)
    9077  {
    9078  std::uint16_t len{};
    9079  return get_number(input_format_t::cbor, len) && get_string(input_format_t::cbor, len, result);
    9080  }
    9081 
    9082  case 0x7A: // UTF-8 string (four-byte uint32_t for n follow)
    9083  {
    9084  std::uint32_t len{};
    9085  return get_number(input_format_t::cbor, len) && get_string(input_format_t::cbor, len, result);
    9086  }
    9087 
    9088  case 0x7B: // UTF-8 string (eight-byte uint64_t for n follow)
    9089  {
    9090  std::uint64_t len{};
    9091  return get_number(input_format_t::cbor, len) && get_string(input_format_t::cbor, len, result);
    9092  }
    9093 
    9094  case 0x7F: // UTF-8 string (indefinite length)
    9095  {
    9096  while (get() != 0xFF)
    9097  {
    9098  string_t chunk;
    9099  if (!get_cbor_string(chunk))
    9100  {
    9101  return false;
    9102  }
    9103  result.append(chunk);
    9104  }
    9105  return true;
    9106  }
    9107 
    9108  default:
    9109  {
    9110  auto last_token = get_token_string();
    9111  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::cbor, "expected length specification (0x60-0x7B) or indefinite string type (0x7F); last byte: 0x" + last_token, "string"), BasicJsonType()));
    9112  }
    9113  }
    9114  }
    9115 
    9128  {
    9129  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor, "binary")))
    9130  {
    9131  return false;
    9132  }
    9133 
    9134  switch (current)
    9135  {
    9136  // Binary data (0x00..0x17 bytes follow)
    9137  case 0x40:
    9138  case 0x41:
    9139  case 0x42:
    9140  case 0x43:
    9141  case 0x44:
    9142  case 0x45:
    9143  case 0x46:
    9144  case 0x47:
    9145  case 0x48:
    9146  case 0x49:
    9147  case 0x4A:
    9148  case 0x4B:
    9149  case 0x4C:
    9150  case 0x4D:
    9151  case 0x4E:
    9152  case 0x4F:
    9153  case 0x50:
    9154  case 0x51:
    9155  case 0x52:
    9156  case 0x53:
    9157  case 0x54:
    9158  case 0x55:
    9159  case 0x56:
    9160  case 0x57:
    9161  {
    9162  return get_binary(input_format_t::cbor, static_cast<unsigned int>(current) & 0x1Fu, result);
    9163  }
    9164 
    9165  case 0x58: // Binary data (one-byte uint8_t for n follows)
    9166  {
    9167  std::uint8_t len{};
    9168  return get_number(input_format_t::cbor, len) &&
    9169  get_binary(input_format_t::cbor, len, result);
    9170  }
    9171 
    9172  case 0x59: // Binary data (two-byte uint16_t for n follow)
    9173  {
    9174  std::uint16_t len{};
    9175  return get_number(input_format_t::cbor, len) &&
    9176  get_binary(input_format_t::cbor, len, result);
    9177  }
    9178 
    9179  case 0x5A: // Binary data (four-byte uint32_t for n follow)
    9180  {
    9181  std::uint32_t len{};
    9182  return get_number(input_format_t::cbor, len) &&
    9183  get_binary(input_format_t::cbor, len, result);
    9184  }
    9185 
    9186  case 0x5B: // Binary data (eight-byte uint64_t for n follow)
    9187  {
    9188  std::uint64_t len{};
    9189  return get_number(input_format_t::cbor, len) &&
    9190  get_binary(input_format_t::cbor, len, result);
    9191  }
    9192 
    9193  case 0x5F: // Binary data (indefinite length)
    9194  {
    9195  while (get() != 0xFF)
    9196  {
    9197  binary_t chunk;
    9198  if (!get_cbor_binary(chunk))
    9199  {
    9200  return false;
    9201  }
    9202  result.insert(result.end(), chunk.begin(), chunk.end());
    9203  }
    9204  return true;
    9205  }
    9206 
    9207  default:
    9208  {
    9209  auto last_token = get_token_string();
    9210  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::cbor, "expected length specification (0x40-0x5B) or indefinite binary array type (0x5F); last byte: 0x" + last_token, "binary"), BasicJsonType()));
    9211  }
    9212  }
    9213  }
    9214 
    9221  bool get_cbor_array(const std::size_t len,
    9222  const cbor_tag_handler_t tag_handler)
    9223  {
    9224  if (JSON_HEDLEY_UNLIKELY(!sax->start_array(len)))
    9225  {
    9226  return false;
    9227  }
    9228 
    9229  if (len != std::size_t(-1))
    9230  {
    9231  for (std::size_t i = 0; i < len; ++i)
    9232  {
    9233  if (JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(true, tag_handler)))
    9234  {
    9235  return false;
    9236  }
    9237  }
    9238  }
    9239  else
    9240  {
    9241  while (get() != 0xFF)
    9242  {
    9243  if (JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(false, tag_handler)))
    9244  {
    9245  return false;
    9246  }
    9247  }
    9248  }
    9249 
    9250  return sax->end_array();
    9251  }
    9252 
    9259  bool get_cbor_object(const std::size_t len,
    9260  const cbor_tag_handler_t tag_handler)
    9261  {
    9262  if (JSON_HEDLEY_UNLIKELY(!sax->start_object(len)))
    9263  {
    9264  return false;
    9265  }
    9266 
    9267  string_t key;
    9268  if (len != std::size_t(-1))
    9269  {
    9270  for (std::size_t i = 0; i < len; ++i)
    9271  {
    9272  get();
    9273  if (JSON_HEDLEY_UNLIKELY(!get_cbor_string(key) || !sax->key(key)))
    9274  {
    9275  return false;
    9276  }
    9277 
    9278  if (JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(true, tag_handler)))
    9279  {
    9280  return false;
    9281  }
    9282  key.clear();
    9283  }
    9284  }
    9285  else
    9286  {
    9287  while (get() != 0xFF)
    9288  {
    9289  if (JSON_HEDLEY_UNLIKELY(!get_cbor_string(key) || !sax->key(key)))
    9290  {
    9291  return false;
    9292  }
    9293 
    9294  if (JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(true, tag_handler)))
    9295  {
    9296  return false;
    9297  }
    9298  key.clear();
    9299  }
    9300  }
    9301 
    9302  return sax->end_object();
    9303  }
    9304 
    9306  // MsgPack //
    9308 
    9313  {
    9314  switch (get())
    9315  {
    9316  // EOF
    9317  case std::char_traits<char_type>::eof():
    9318  return unexpect_eof(input_format_t::msgpack, "value");
    9319 
    9320  // positive fixint
    9321  case 0x00:
    9322  case 0x01:
    9323  case 0x02:
    9324  case 0x03:
    9325  case 0x04:
    9326  case 0x05:
    9327  case 0x06:
    9328  case 0x07:
    9329  case 0x08:
    9330  case 0x09:
    9331  case 0x0A:
    9332  case 0x0B:
    9333  case 0x0C:
    9334  case 0x0D:
    9335  case 0x0E:
    9336  case 0x0F:
    9337  case 0x10:
    9338  case 0x11:
    9339  case 0x12:
    9340  case 0x13:
    9341  case 0x14:
    9342  case 0x15:
    9343  case 0x16:
    9344  case 0x17:
    9345  case 0x18:
    9346  case 0x19:
    9347  case 0x1A:
    9348  case 0x1B:
    9349  case 0x1C:
    9350  case 0x1D:
    9351  case 0x1E:
    9352  case 0x1F:
    9353  case 0x20:
    9354  case 0x21:
    9355  case 0x22:
    9356  case 0x23:
    9357  case 0x24:
    9358  case 0x25:
    9359  case 0x26:
    9360  case 0x27:
    9361  case 0x28:
    9362  case 0x29:
    9363  case 0x2A:
    9364  case 0x2B:
    9365  case 0x2C:
    9366  case 0x2D:
    9367  case 0x2E:
    9368  case 0x2F:
    9369  case 0x30:
    9370  case 0x31:
    9371  case 0x32:
    9372  case 0x33:
    9373  case 0x34:
    9374  case 0x35:
    9375  case 0x36:
    9376  case 0x37:
    9377  case 0x38:
    9378  case 0x39:
    9379  case 0x3A:
    9380  case 0x3B:
    9381  case 0x3C:
    9382  case 0x3D:
    9383  case 0x3E:
    9384  case 0x3F:
    9385  case 0x40:
    9386  case 0x41:
    9387  case 0x42:
    9388  case 0x43:
    9389  case 0x44:
    9390  case 0x45:
    9391  case 0x46:
    9392  case 0x47:
    9393  case 0x48:
    9394  case 0x49:
    9395  case 0x4A:
    9396  case 0x4B:
    9397  case 0x4C:
    9398  case 0x4D:
    9399  case 0x4E:
    9400  case 0x4F:
    9401  case 0x50:
    9402  case 0x51:
    9403  case 0x52:
    9404  case 0x53:
    9405  case 0x54:
    9406  case 0x55:
    9407  case 0x56:
    9408  case 0x57:
    9409  case 0x58:
    9410  case 0x59:
    9411  case 0x5A:
    9412  case 0x5B:
    9413  case 0x5C:
    9414  case 0x5D:
    9415  case 0x5E:
    9416  case 0x5F:
    9417  case 0x60:
    9418  case 0x61:
    9419  case 0x62:
    9420  case 0x63:
    9421  case 0x64:
    9422  case 0x65:
    9423  case 0x66:
    9424  case 0x67:
    9425  case 0x68:
    9426  case 0x69:
    9427  case 0x6A:
    9428  case 0x6B:
    9429  case 0x6C:
    9430  case 0x6D:
    9431  case 0x6E:
    9432  case 0x6F:
    9433  case 0x70:
    9434  case 0x71:
    9435  case 0x72:
    9436  case 0x73:
    9437  case 0x74:
    9438  case 0x75:
    9439  case 0x76:
    9440  case 0x77:
    9441  case 0x78:
    9442  case 0x79:
    9443  case 0x7A:
    9444  case 0x7B:
    9445  case 0x7C:
    9446  case 0x7D:
    9447  case 0x7E:
    9448  case 0x7F:
    9449  return sax->number_unsigned(static_cast<number_unsigned_t>(current));
    9450 
    9451  // fixmap
    9452  case 0x80:
    9453  case 0x81:
    9454  case 0x82:
    9455  case 0x83:
    9456  case 0x84:
    9457  case 0x85:
    9458  case 0x86:
    9459  case 0x87:
    9460  case 0x88:
    9461  case 0x89:
    9462  case 0x8A:
    9463  case 0x8B:
    9464  case 0x8C:
    9465  case 0x8D:
    9466  case 0x8E:
    9467  case 0x8F:
    9468  return get_msgpack_object(static_cast<std::size_t>(static_cast<unsigned int>(current) & 0x0Fu));
    9469 
    9470  // fixarray
    9471  case 0x90:
    9472  case 0x91:
    9473  case 0x92:
    9474  case 0x93:
    9475  case 0x94:
    9476  case 0x95:
    9477  case 0x96:
    9478  case 0x97:
    9479  case 0x98:
    9480  case 0x99:
    9481  case 0x9A:
    9482  case 0x9B:
    9483  case 0x9C:
    9484  case 0x9D:
    9485  case 0x9E:
    9486  case 0x9F:
    9487  return get_msgpack_array(static_cast<std::size_t>(static_cast<unsigned int>(current) & 0x0Fu));
    9488 
    9489  // fixstr
    9490  case 0xA0:
    9491  case 0xA1:
    9492  case 0xA2:
    9493  case 0xA3:
    9494  case 0xA4:
    9495  case 0xA5:
    9496  case 0xA6:
    9497  case 0xA7:
    9498  case 0xA8:
    9499  case 0xA9:
    9500  case 0xAA:
    9501  case 0xAB:
    9502  case 0xAC:
    9503  case 0xAD:
    9504  case 0xAE:
    9505  case 0xAF:
    9506  case 0xB0:
    9507  case 0xB1:
    9508  case 0xB2:
    9509  case 0xB3:
    9510  case 0xB4:
    9511  case 0xB5:
    9512  case 0xB6:
    9513  case 0xB7:
    9514  case 0xB8:
    9515  case 0xB9:
    9516  case 0xBA:
    9517  case 0xBB:
    9518  case 0xBC:
    9519  case 0xBD:
    9520  case 0xBE:
    9521  case 0xBF:
    9522  case 0xD9: // str 8
    9523  case 0xDA: // str 16
    9524  case 0xDB: // str 32
    9525  {
    9526  string_t s;
    9527  return get_msgpack_string(s) && sax->string(s);
    9528  }
    9529 
    9530  case 0xC0: // nil
    9531  return sax->null();
    9532 
    9533  case 0xC2: // false
    9534  return sax->boolean(false);
    9535 
    9536  case 0xC3: // true
    9537  return sax->boolean(true);
    9538 
    9539  case 0xC4: // bin 8
    9540  case 0xC5: // bin 16
    9541  case 0xC6: // bin 32
    9542  case 0xC7: // ext 8
    9543  case 0xC8: // ext 16
    9544  case 0xC9: // ext 32
    9545  case 0xD4: // fixext 1
    9546  case 0xD5: // fixext 2
    9547  case 0xD6: // fixext 4
    9548  case 0xD7: // fixext 8
    9549  case 0xD8: // fixext 16
    9550  {
    9551  binary_t b;
    9552  return get_msgpack_binary(b) && sax->binary(b);
    9553  }
    9554 
    9555  case 0xCA: // float 32
    9556  {
    9557  float number{};
    9558  return get_number(input_format_t::msgpack, number) && sax->number_float(static_cast<number_float_t>(number), "");
    9559  }
    9560 
    9561  case 0xCB: // float 64
    9562  {
    9563  double number{};
    9564  return get_number(input_format_t::msgpack, number) && sax->number_float(static_cast<number_float_t>(number), "");
    9565  }
    9566 
    9567  case 0xCC: // uint 8
    9568  {
    9569  std::uint8_t number{};
    9570  return get_number(input_format_t::msgpack, number) && sax->number_unsigned(number);
    9571  }
    9572 
    9573  case 0xCD: // uint 16
    9574  {
    9575  std::uint16_t number{};
    9576  return get_number(input_format_t::msgpack, number) && sax->number_unsigned(number);
    9577  }
    9578 
    9579  case 0xCE: // uint 32
    9580  {
    9581  std::uint32_t number{};
    9582  return get_number(input_format_t::msgpack, number) && sax->number_unsigned(number);
    9583  }
    9584 
    9585  case 0xCF: // uint 64
    9586  {
    9587  std::uint64_t number{};
    9588  return get_number(input_format_t::msgpack, number) && sax->number_unsigned(number);
    9589  }
    9590 
    9591  case 0xD0: // int 8
    9592  {
    9593  std::int8_t number{};
    9594  return get_number(input_format_t::msgpack, number) && sax->number_integer(number);
    9595  }
    9596 
    9597  case 0xD1: // int 16
    9598  {
    9599  std::int16_t number{};
    9600  return get_number(input_format_t::msgpack, number) && sax->number_integer(number);
    9601  }
    9602 
    9603  case 0xD2: // int 32
    9604  {
    9605  std::int32_t number{};
    9606  return get_number(input_format_t::msgpack, number) && sax->number_integer(number);
    9607  }
    9608 
    9609  case 0xD3: // int 64
    9610  {
    9611  std::int64_t number{};
    9612  return get_number(input_format_t::msgpack, number) && sax->number_integer(number);
    9613  }
    9614 
    9615  case 0xDC: // array 16
    9616  {
    9617  std::uint16_t len{};
    9618  return get_number(input_format_t::msgpack, len) && get_msgpack_array(static_cast<std::size_t>(len));
    9619  }
    9620 
    9621  case 0xDD: // array 32
    9622  {
    9623  std::uint32_t len{};
    9624  return get_number(input_format_t::msgpack, len) && get_msgpack_array(static_cast<std::size_t>(len));
    9625  }
    9626 
    9627  case 0xDE: // map 16
    9628  {
    9629  std::uint16_t len{};
    9630  return get_number(input_format_t::msgpack, len) && get_msgpack_object(static_cast<std::size_t>(len));
    9631  }
    9632 
    9633  case 0xDF: // map 32
    9634  {
    9635  std::uint32_t len{};
    9636  return get_number(input_format_t::msgpack, len) && get_msgpack_object(static_cast<std::size_t>(len));
    9637  }
    9638 
    9639  // negative fixint
    9640  case 0xE0:
    9641  case 0xE1:
    9642  case 0xE2:
    9643  case 0xE3:
    9644  case 0xE4:
    9645  case 0xE5:
    9646  case 0xE6:
    9647  case 0xE7:
    9648  case 0xE8:
    9649  case 0xE9:
    9650  case 0xEA:
    9651  case 0xEB:
    9652  case 0xEC:
    9653  case 0xED:
    9654  case 0xEE:
    9655  case 0xEF:
    9656  case 0xF0:
    9657  case 0xF1:
    9658  case 0xF2:
    9659  case 0xF3:
    9660  case 0xF4:
    9661  case 0xF5:
    9662  case 0xF6:
    9663  case 0xF7:
    9664  case 0xF8:
    9665  case 0xF9:
    9666  case 0xFA:
    9667  case 0xFB:
    9668  case 0xFC:
    9669  case 0xFD:
    9670  case 0xFE:
    9671  case 0xFF:
    9672  return sax->number_integer(static_cast<std::int8_t>(current));
    9673 
    9674  default: // anything else
    9675  {
    9676  auto last_token = get_token_string();
    9677  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::msgpack, "invalid byte: 0x" + last_token, "value"), BasicJsonType()));
    9678  }
    9679  }
    9680  }
    9681 
    9693  {
    9694  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::msgpack, "string")))
    9695  {
    9696  return false;
    9697  }
    9698 
    9699  switch (current)
    9700  {
    9701  // fixstr
    9702  case 0xA0:
    9703  case 0xA1:
    9704  case 0xA2:
    9705  case 0xA3:
    9706  case 0xA4:
    9707  case 0xA5:
    9708  case 0xA6:
    9709  case 0xA7:
    9710  case 0xA8:
    9711  case 0xA9:
    9712  case 0xAA:
    9713  case 0xAB:
    9714  case 0xAC:
    9715  case 0xAD:
    9716  case 0xAE:
    9717  case 0xAF:
    9718  case 0xB0:
    9719  case 0xB1:
    9720  case 0xB2:
    9721  case 0xB3:
    9722  case 0xB4:
    9723  case 0xB5:
    9724  case 0xB6:
    9725  case 0xB7:
    9726  case 0xB8:
    9727  case 0xB9:
    9728  case 0xBA:
    9729  case 0xBB:
    9730  case 0xBC:
    9731  case 0xBD:
    9732  case 0xBE:
    9733  case 0xBF:
    9734  {
    9735  return get_string(input_format_t::msgpack, static_cast<unsigned int>(current) & 0x1Fu, result);
    9736  }
    9737 
    9738  case 0xD9: // str 8
    9739  {
    9740  std::uint8_t len{};
    9741  return get_number(input_format_t::msgpack, len) && get_string(input_format_t::msgpack, len, result);
    9742  }
    9743 
    9744  case 0xDA: // str 16
    9745  {
    9746  std::uint16_t len{};
    9747  return get_number(input_format_t::msgpack, len) && get_string(input_format_t::msgpack, len, result);
    9748  }
    9749 
    9750  case 0xDB: // str 32
    9751  {
    9752  std::uint32_t len{};
    9753  return get_number(input_format_t::msgpack, len) && get_string(input_format_t::msgpack, len, result);
    9754  }
    9755 
    9756  default:
    9757  {
    9758  auto last_token = get_token_string();
    9759  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::msgpack, "expected length specification (0xA0-0xBF, 0xD9-0xDB); last byte: 0x" + last_token, "string"), BasicJsonType()));
    9760  }
    9761  }
    9762  }
    9763 
    9775  {
    9776  // helper function to set the subtype
    9777  auto assign_and_return_true = [&result](std::int8_t subtype)
    9778  {
    9779  result.set_subtype(static_cast<std::uint8_t>(subtype));
    9780  return true;
    9781  };
    9782 
    9783  switch (current)
    9784  {
    9785  case 0xC4: // bin 8
    9786  {
    9787  std::uint8_t len{};
    9788  return get_number(input_format_t::msgpack, len) &&
    9789  get_binary(input_format_t::msgpack, len, result);
    9790  }
    9791 
    9792  case 0xC5: // bin 16
    9793  {
    9794  std::uint16_t len{};
    9795  return get_number(input_format_t::msgpack, len) &&
    9796  get_binary(input_format_t::msgpack, len, result);
    9797  }
    9798 
    9799  case 0xC6: // bin 32
    9800  {
    9801  std::uint32_t len{};
    9802  return get_number(input_format_t::msgpack, len) &&
    9803  get_binary(input_format_t::msgpack, len, result);
    9804  }
    9805 
    9806  case 0xC7: // ext 8
    9807  {
    9808  std::uint8_t len{};
    9809  std::int8_t subtype{};
    9810  return get_number(input_format_t::msgpack, len) &&
    9811  get_number(input_format_t::msgpack, subtype) &&
    9812  get_binary(input_format_t::msgpack, len, result) &&
    9813  assign_and_return_true(subtype);
    9814  }
    9815 
    9816  case 0xC8: // ext 16
    9817  {
    9818  std::uint16_t len{};
    9819  std::int8_t subtype{};
    9820  return get_number(input_format_t::msgpack, len) &&
    9821  get_number(input_format_t::msgpack, subtype) &&
    9822  get_binary(input_format_t::msgpack, len, result) &&
    9823  assign_and_return_true(subtype);
    9824  }
    9825 
    9826  case 0xC9: // ext 32
    9827  {
    9828  std::uint32_t len{};
    9829  std::int8_t subtype{};
    9830  return get_number(input_format_t::msgpack, len) &&
    9831  get_number(input_format_t::msgpack, subtype) &&
    9832  get_binary(input_format_t::msgpack, len, result) &&
    9833  assign_and_return_true(subtype);
    9834  }
    9835 
    9836  case 0xD4: // fixext 1
    9837  {
    9838  std::int8_t subtype{};
    9839  return get_number(input_format_t::msgpack, subtype) &&
    9840  get_binary(input_format_t::msgpack, 1, result) &&
    9841  assign_and_return_true(subtype);
    9842  }
    9843 
    9844  case 0xD5: // fixext 2
    9845  {
    9846  std::int8_t subtype{};
    9847  return get_number(input_format_t::msgpack, subtype) &&
    9848  get_binary(input_format_t::msgpack, 2, result) &&
    9849  assign_and_return_true(subtype);
    9850  }
    9851 
    9852  case 0xD6: // fixext 4
    9853  {
    9854  std::int8_t subtype{};
    9855  return get_number(input_format_t::msgpack, subtype) &&
    9856  get_binary(input_format_t::msgpack, 4, result) &&
    9857  assign_and_return_true(subtype);
    9858  }
    9859 
    9860  case 0xD7: // fixext 8
    9861  {
    9862  std::int8_t subtype{};
    9863  return get_number(input_format_t::msgpack, subtype) &&
    9864  get_binary(input_format_t::msgpack, 8, result) &&
    9865  assign_and_return_true(subtype);
    9866  }
    9867 
    9868  case 0xD8: // fixext 16
    9869  {
    9870  std::int8_t subtype{};
    9871  return get_number(input_format_t::msgpack, subtype) &&
    9872  get_binary(input_format_t::msgpack, 16, result) &&
    9873  assign_and_return_true(subtype);
    9874  }
    9875 
    9876  default: // LCOV_EXCL_LINE
    9877  return false; // LCOV_EXCL_LINE
    9878  }
    9879  }
    9880 
    9885  bool get_msgpack_array(const std::size_t len)
    9886  {
    9887  if (JSON_HEDLEY_UNLIKELY(!sax->start_array(len)))
    9888  {
    9889  return false;
    9890  }
    9891 
    9892  for (std::size_t i = 0; i < len; ++i)
    9893  {
    9894  if (JSON_HEDLEY_UNLIKELY(!parse_msgpack_internal()))
    9895  {
    9896  return false;
    9897  }
    9898  }
    9899 
    9900  return sax->end_array();
    9901  }
    9902 
    9907  bool get_msgpack_object(const std::size_t len)
    9908  {
    9909  if (JSON_HEDLEY_UNLIKELY(!sax->start_object(len)))
    9910  {
    9911  return false;
    9912  }
    9913 
    9914  string_t key;
    9915  for (std::size_t i = 0; i < len; ++i)
    9916  {
    9917  get();
    9918  if (JSON_HEDLEY_UNLIKELY(!get_msgpack_string(key) || !sax->key(key)))
    9919  {
    9920  return false;
    9921  }
    9922 
    9923  if (JSON_HEDLEY_UNLIKELY(!parse_msgpack_internal()))
    9924  {
    9925  return false;
    9926  }
    9927  key.clear();
    9928  }
    9929 
    9930  return sax->end_object();
    9931  }
    9932 
    9934  // UBJSON //
    9936 
    9944  bool parse_ubjson_internal(const bool get_char = true)
    9945  {
    9946  return get_ubjson_value(get_char ? get_ignore_noop() : current);
    9947  }
    9948 
    9963  bool get_ubjson_string(string_t& result, const bool get_char = true)
    9964  {
    9965  if (get_char)
    9966  {
    9967  get(); // TODO(niels): may we ignore N here?
    9968  }
    9969 
    9970  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "value")))
    9971  {
    9972  return false;
    9973  }
    9974 
    9975  switch (current)
    9976  {
    9977  case 'U':
    9978  {
    9979  std::uint8_t len{};
    9980  return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result);
    9981  }
    9982 
    9983  case 'i':
    9984  {
    9985  std::int8_t len{};
    9986  return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result);
    9987  }
    9988 
    9989  case 'I':
    9990  {
    9991  std::int16_t len{};
    9992  return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result);
    9993  }
    9994 
    9995  case 'l':
    9996  {
    9997  std::int32_t len{};
    9998  return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result);
    9999  }
    10000 
    10001  case 'L':
    10002  {
    10003  std::int64_t len{};
    10004  return get_number(input_format_t::ubjson, len) && get_string(input_format_t::ubjson, len, result);
    10005  }
    10006 
    10007  default:
    10008  auto last_token = get_token_string();
    10009  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "expected length type specification (U, i, I, l, L); last byte: 0x" + last_token, "string"), BasicJsonType()));
    10010  }
    10011  }
    10012 
    10017  bool get_ubjson_size_value(std::size_t& result)
    10018  {
    10019  switch (get_ignore_noop())
    10020  {
    10021  case 'U':
    10022  {
    10023  std::uint8_t number{};
    10024  if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number)))
    10025  {
    10026  return false;
    10027  }
    10028  result = static_cast<std::size_t>(number);
    10029  return true;
    10030  }
    10031 
    10032  case 'i':
    10033  {
    10034  std::int8_t number{};
    10035  if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number)))
    10036  {
    10037  return false;
    10038  }
    10039  result = static_cast<std::size_t>(number); // NOLINT(bugprone-signed-char-misuse,cert-str34-c): number is not a char
    10040  return true;
    10041  }
    10042 
    10043  case 'I':
    10044  {
    10045  std::int16_t number{};
    10046  if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number)))
    10047  {
    10048  return false;
    10049  }
    10050  result = static_cast<std::size_t>(number);
    10051  return true;
    10052  }
    10053 
    10054  case 'l':
    10055  {
    10056  std::int32_t number{};
    10057  if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number)))
    10058  {
    10059  return false;
    10060  }
    10061  result = static_cast<std::size_t>(number);
    10062  return true;
    10063  }
    10064 
    10065  case 'L':
    10066  {
    10067  std::int64_t number{};
    10068  if (JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson, number)))
    10069  {
    10070  return false;
    10071  }
    10072  result = static_cast<std::size_t>(number);
    10073  return true;
    10074  }
    10075 
    10076  default:
    10077  {
    10078  auto last_token = get_token_string();
    10079  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "expected length type specification (U, i, I, l, L) after '#'; last byte: 0x" + last_token, "size"), BasicJsonType()));
    10080  }
    10081  }
    10082  }
    10083 
    10094  bool get_ubjson_size_type(std::pair<std::size_t, char_int_type>& result)
    10095  {
    10096  result.first = string_t::npos; // size
    10097  result.second = 0; // type
    10098 
    10099  get_ignore_noop();
    10100 
    10101  if (current == '$')
    10102  {
    10103  result.second = get(); // must not ignore 'N', because 'N' maybe the type
    10104  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "type")))
    10105  {
    10106  return false;
    10107  }
    10108 
    10109  get_ignore_noop();
    10110  if (JSON_HEDLEY_UNLIKELY(current != '#'))
    10111  {
    10112  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "value")))
    10113  {
    10114  return false;
    10115  }
    10116  auto last_token = get_token_string();
    10117  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::ubjson, "expected '#' after type information; last byte: 0x" + last_token, "size"), BasicJsonType()));
    10118  }
    10119 
    10120  return get_ubjson_size_value(result.first);
    10121  }
    10122 
    10123  if (current == '#')
    10124  {
    10125  return get_ubjson_size_value(result.first);
    10126  }
    10127 
    10128  return true;
    10129  }
    10130 
    10135  bool get_ubjson_value(const char_int_type prefix)
    10136  {
    10137  switch (prefix)
    10138  {
    10139  case std::char_traits<char_type>::eof(): // EOF
    10140  return unexpect_eof(input_format_t::ubjson, "value");
    10141 
    10142  case 'T': // true
    10143  return sax->boolean(true);
    10144  case 'F': // false
    10145  return sax->boolean(false);
    10146 
    10147  case 'Z': // null
    10148  return sax->null();
    10149 
    10150  case 'U':
    10151  {
    10152  std::uint8_t number{};
    10153  return get_number(input_format_t::ubjson, number) && sax->number_unsigned(number);
    10154  }
    10155 
    10156  case 'i':
    10157  {
    10158  std::int8_t number{};
    10159  return get_number(input_format_t::ubjson, number) && sax->number_integer(number);
    10160  }
    10161 
    10162  case 'I':
    10163  {
    10164  std::int16_t number{};
    10165  return get_number(input_format_t::ubjson, number) && sax->number_integer(number);
    10166  }
    10167 
    10168  case 'l':
    10169  {
    10170  std::int32_t number{};
    10171  return get_number(input_format_t::ubjson, number) && sax->number_integer(number);
    10172  }
    10173 
    10174  case 'L':
    10175  {
    10176  std::int64_t number{};
    10177  return get_number(input_format_t::ubjson, number) && sax->number_integer(number);
    10178  }
    10179 
    10180  case 'd':
    10181  {
    10182  float number{};
    10183  return get_number(input_format_t::ubjson, number) && sax->number_float(static_cast<number_float_t>(number), "");
    10184  }
    10185 
    10186  case 'D':
    10187  {
    10188  double number{};
    10189  return get_number(input_format_t::ubjson, number) && sax->number_float(static_cast<number_float_t>(number), "");
    10190  }
    10191 
    10192  case 'H':
    10193  {
    10194  return get_ubjson_high_precision_number();
    10195  }
    10196 
    10197  case 'C': // char
    10198  {
    10199  get();
    10200  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "char")))
    10201  {
    10202  return false;
    10203  }
    10204  if (JSON_HEDLEY_UNLIKELY(current > 127))
    10205  {
    10206  auto last_token = get_token_string();
    10207  return sax->parse_error(chars_read, last_token, parse_error::create(113, chars_read, exception_message(input_format_t::ubjson, "byte after 'C' must be in range 0x00..0x7F; last byte: 0x" + last_token, "char"), BasicJsonType()));
    10208  }
    10209  string_t s(1, static_cast<typename string_t::value_type>(current));
    10210  return sax->string(s);
    10211  }
    10212 
    10213  case 'S': // string
    10214  {
    10215  string_t s;
    10216  return get_ubjson_string(s) && sax->string(s);
    10217  }
    10218 
    10219  case '[': // array
    10220  return get_ubjson_array();
    10221 
    10222  case '{': // object
    10223  return get_ubjson_object();
    10224 
    10225  default: // anything else
    10226  {
    10227  auto last_token = get_token_string();
    10228  return sax->parse_error(chars_read, last_token, parse_error::create(112, chars_read, exception_message(input_format_t::ubjson, "invalid byte: 0x" + last_token, "value"), BasicJsonType()));
    10229  }
    10230  }
    10231  }
    10232 
    10237  {
    10238  std::pair<std::size_t, char_int_type> size_and_type;
    10239  if (JSON_HEDLEY_UNLIKELY(!get_ubjson_size_type(size_and_type)))
    10240  {
    10241  return false;
    10242  }
    10243 
    10244  if (size_and_type.first != string_t::npos)
    10245  {
    10246  if (JSON_HEDLEY_UNLIKELY(!sax->start_array(size_and_type.first)))
    10247  {
    10248  return false;
    10249  }
    10250 
    10251  if (size_and_type.second != 0)
    10252  {
    10253  if (size_and_type.second != 'N')
    10254  {
    10255  for (std::size_t i = 0; i < size_and_type.first; ++i)
    10256  {
    10257  if (JSON_HEDLEY_UNLIKELY(!get_ubjson_value(size_and_type.second)))
    10258  {
    10259  return false;
    10260  }
    10261  }
    10262  }
    10263  }
    10264  else
    10265  {
    10266  for (std::size_t i = 0; i < size_and_type.first; ++i)
    10267  {
    10268  if (JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal()))
    10269  {
    10270  return false;
    10271  }
    10272  }
    10273  }
    10274  }
    10275  else
    10276  {
    10277  if (JSON_HEDLEY_UNLIKELY(!sax->start_array(std::size_t(-1))))
    10278  {
    10279  return false;
    10280  }
    10281 
    10282  while (current != ']')
    10283  {
    10284  if (JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal(false)))
    10285  {
    10286  return false;
    10287  }
    10288  get_ignore_noop();
    10289  }
    10290  }
    10291 
    10292  return sax->end_array();
    10293  }
    10294 
    10299  {
    10300  std::pair<std::size_t, char_int_type> size_and_type;
    10301  if (JSON_HEDLEY_UNLIKELY(!get_ubjson_size_type(size_and_type)))
    10302  {
    10303  return false;
    10304  }
    10305 
    10306  string_t key;
    10307  if (size_and_type.first != string_t::npos)
    10308  {
    10309  if (JSON_HEDLEY_UNLIKELY(!sax->start_object(size_and_type.first)))
    10310  {
    10311  return false;
    10312  }
    10313 
    10314  if (size_and_type.second != 0)
    10315  {
    10316  for (std::size_t i = 0; i < size_and_type.first; ++i)
    10317  {
    10318  if (JSON_HEDLEY_UNLIKELY(!get_ubjson_string(key) || !sax->key(key)))
    10319  {
    10320  return false;
    10321  }
    10322  if (JSON_HEDLEY_UNLIKELY(!get_ubjson_value(size_and_type.second)))
    10323  {
    10324  return false;
    10325  }
    10326  key.clear();
    10327  }
    10328  }
    10329  else
    10330  {
    10331  for (std::size_t i = 0; i < size_and_type.first; ++i)
    10332  {
    10333  if (JSON_HEDLEY_UNLIKELY(!get_ubjson_string(key) || !sax->key(key)))
    10334  {
    10335  return false;
    10336  }
    10337  if (JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal()))
    10338  {
    10339  return false;
    10340  }
    10341  key.clear();
    10342  }
    10343  }
    10344  }
    10345  else
    10346  {
    10347  if (JSON_HEDLEY_UNLIKELY(!sax->start_object(std::size_t(-1))))
    10348  {
    10349  return false;
    10350  }
    10351 
    10352  while (current != '}')
    10353  {
    10354  if (JSON_HEDLEY_UNLIKELY(!get_ubjson_string(key, false) || !sax->key(key)))
    10355  {
    10356  return false;
    10357  }
    10358  if (JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal()))
    10359  {
    10360  return false;
    10361  }
    10362  get_ignore_noop();
    10363  key.clear();
    10364  }
    10365  }
    10366 
    10367  return sax->end_object();
    10368  }
    10369 
    10370  // Note, no reader for UBJSON binary types is implemented because they do
    10371  // not exist
    10372 
    10374  {
    10375  // get size of following number string
    10376  std::size_t size{};
    10377  auto res = get_ubjson_size_value(size);
    10378  if (JSON_HEDLEY_UNLIKELY(!res))
    10379  {
    10380  return res;
    10381  }
    10382 
    10383  // get number string
    10384  std::vector<char> number_vector;
    10385  for (std::size_t i = 0; i < size; ++i)
    10386  {
    10387  get();
    10388  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson, "number")))
    10389  {
    10390  return false;
    10391  }
    10392  number_vector.push_back(static_cast<char>(current));
    10393  }
    10394 
    10395  // parse number string
    10396  using ia_type = decltype(detail::input_adapter(number_vector));
    10397  auto number_lexer = detail::lexer<BasicJsonType, ia_type>(detail::input_adapter(number_vector), false);
    10398  const auto result_number = number_lexer.scan();
    10399  const auto number_string = number_lexer.get_token_string();
    10400  const auto result_remainder = number_lexer.scan();
    10401 
    10402  using token_type = typename detail::lexer_base<BasicJsonType>::token_type;
    10403 
    10404  if (JSON_HEDLEY_UNLIKELY(result_remainder != token_type::end_of_input))
    10405  {
    10406  return sax->parse_error(chars_read, number_string, parse_error::create(115, chars_read, exception_message(input_format_t::ubjson, "invalid number text: " + number_lexer.get_token_string(), "high-precision number"), BasicJsonType()));
    10407  }
    10408 
    10409  switch (result_number)
    10410  {
    10411  case token_type::value_integer:
    10412  return sax->number_integer(number_lexer.get_number_integer());
    10413  case token_type::value_unsigned:
    10414  return sax->number_unsigned(number_lexer.get_number_unsigned());
    10415  case token_type::value_float:
    10416  return sax->number_float(number_lexer.get_number_float(), std::move(number_string));
    10417  default:
    10418  return sax->parse_error(chars_read, number_string, parse_error::create(115, chars_read, exception_message(input_format_t::ubjson, "invalid number text: " + number_lexer.get_token_string(), "high-precision number"), BasicJsonType()));
    10419  }
    10420  }
    10421 
    10423  // Utility functions //
    10425 
    10436  {
    10437  ++chars_read;
    10438  return current = ia.get_character();
    10439  }
    10440 
    10445  {
    10446  do
    10447  {
    10448  get();
    10449  }
    10450  while (current == 'N');
    10451 
    10452  return current;
    10453  }
    10454 
    10455  /*
    10456  @brief read a number from the input
    10457 
    10458  @tparam NumberType the type of the number
    10459  @param[in] format the current format (for diagnostics)
    10460  @param[out] result number of type @a NumberType
    10461 
    10462  @return whether conversion completed
    10463 
    10464  @note This function needs to respect the system's endianess, because
    10465  bytes in CBOR, MessagePack, and UBJSON are stored in network order
    10466  (big endian) and therefore need reordering on little endian systems.
    10467  */
    10468  template<typename NumberType, bool InputIsLittleEndian = false>
    10469  bool get_number(const input_format_t format, NumberType& result)
    10470  {
    10471  // step 1: read input into array with system's byte order
    10472  std::array<std::uint8_t, sizeof(NumberType)> vec{};
    10473  for (std::size_t i = 0; i < sizeof(NumberType); ++i)
    10474  {
    10475  get();
    10476  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(format, "number")))
    10477  {
    10478  return false;
    10479  }
    10480 
    10481  // reverse byte order prior to conversion if necessary
    10482  if (is_little_endian != InputIsLittleEndian)
    10483  {
    10484  vec[sizeof(NumberType) - i - 1] = static_cast<std::uint8_t>(current);
    10485  }
    10486  else
    10487  {
    10488  vec[i] = static_cast<std::uint8_t>(current); // LCOV_EXCL_LINE
    10489  }
    10490  }
    10491 
    10492  // step 2: convert array into number of type T and return
    10493  std::memcpy(&result, vec.data(), sizeof(NumberType));
    10494  return true;
    10495  }
    10496 
    10511  template<typename NumberType>
    10512  bool get_string(const input_format_t format,
    10513  const NumberType len,
    10514  string_t& result)
    10515  {
    10516  bool success = true;
    10517  for (NumberType i = 0; i < len; i++)
    10518  {
    10519  get();
    10520  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(format, "string")))
    10521  {
    10522  success = false;
    10523  break;
    10524  }
    10525  result.push_back(static_cast<typename string_t::value_type>(current));
    10526  }
    10527  return success;
    10528  }
    10529 
    10544  template<typename NumberType>
    10545  bool get_binary(const input_format_t format,
    10546  const NumberType len,
    10547  binary_t& result)
    10548  {
    10549  bool success = true;
    10550  for (NumberType i = 0; i < len; i++)
    10551  {
    10552  get();
    10553  if (JSON_HEDLEY_UNLIKELY(!unexpect_eof(format, "binary")))
    10554  {
    10555  success = false;
    10556  break;
    10557  }
    10558  result.push_back(static_cast<std::uint8_t>(current));
    10559  }
    10560  return success;
    10561  }
    10562 
    10569  bool unexpect_eof(const input_format_t format, const char* context) const
    10570  {
    10571  if (JSON_HEDLEY_UNLIKELY(current == std::char_traits<char_type>::eof()))
    10572  {
    10573  return sax->parse_error(chars_read, "<end of file>",
    10574  parse_error::create(110, chars_read, exception_message(format, "unexpected end of input", context), BasicJsonType()));
    10575  }
    10576  return true;
    10577  }
    10578 
    10583  {
    10584  std::array<char, 3> cr{{}};
    10585  (std::snprintf)(cr.data(), cr.size(), "%.2hhX", static_cast<unsigned char>(current)); // NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
    10586  return std::string{cr.data()};
    10587  }
    10588 
    10596  const std::string& detail,
    10597  const std::string& context) const
    10598  {
    10599  std::string error_msg = "syntax error while parsing ";
    10600 
    10601  switch (format)
    10602  {
    10603  case input_format_t::cbor:
    10604  error_msg += "CBOR";
    10605  break;
    10606 
    10608  error_msg += "MessagePack";
    10609  break;
    10610 
    10612  error_msg += "UBJSON";
    10613  break;
    10614 
    10615  case input_format_t::bson:
    10616  error_msg += "BSON";
    10617  break;
    10618 
    10619  default: // LCOV_EXCL_LINE
    10620  JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE
    10621  }
    10622 
    10623  return error_msg + " " + context + ": " + detail;
    10624  }
    10625 
    10626  private:
    10628  InputAdapterType ia;
    10629 
    10631  char_int_type current = std::char_traits<char_type>::eof();
    10632 
    10634  std::size_t chars_read = 0;
    10635 
    10637  const bool is_little_endian = little_endianess();
    10638 
    10640  json_sax_t* sax = nullptr;
    10641 };
    10642 } // namespace detail
    10643 } // namespace nlohmann
    10644 
    10645 // #include <nlohmann/detail/input/input_adapters.hpp>
    10646 
    10647 // #include <nlohmann/detail/input/lexer.hpp>
    10648 
    10649 // #include <nlohmann/detail/input/parser.hpp>
    10650 
    10651 
    10652 #include <cmath> // isfinite
    10653 #include <cstdint> // uint8_t
    10654 #include <functional> // function
    10655 #include <string> // string
    10656 #include <utility> // move
    10657 #include <vector> // vector
    10658 
    10659 // #include <nlohmann/detail/exceptions.hpp>
    10660 
    10661 // #include <nlohmann/detail/input/input_adapters.hpp>
    10662 
    10663 // #include <nlohmann/detail/input/json_sax.hpp>
    10664 
    10665 // #include <nlohmann/detail/input/lexer.hpp>
    10666 
    10667 // #include <nlohmann/detail/macro_scope.hpp>
    10668 
    10669 // #include <nlohmann/detail/meta/is_sax.hpp>
    10670 
    10671 // #include <nlohmann/detail/value_t.hpp>
    10672 
    10673 
    10674 namespace nlohmann
    10675 {
    10676 namespace detail
    10677 {
    10679 // parser //
    10681 
    10682 enum class parse_event_t : uint8_t
    10683 {
    10685  object_start,
    10687  object_end,
    10689  array_start,
    10691  array_end,
    10693  key,
    10695  value
    10696 };
    10697 
    10698 template<typename BasicJsonType>
    10699 using parser_callback_t =
    10700  std::function<bool(int /*depth*/, parse_event_t /*event*/, BasicJsonType& /*parsed*/)>;
    10701 
    10707 template<typename BasicJsonType, typename InputAdapterType>
    10708 class parser
    10709 {
    10710  using number_integer_t = typename BasicJsonType::number_integer_t;
    10711  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
    10712  using number_float_t = typename BasicJsonType::number_float_t;
    10713  using string_t = typename BasicJsonType::string_t;
    10716 
    10717  public:
    10719  explicit parser(InputAdapterType&& adapter,
    10720  const parser_callback_t<BasicJsonType> cb = nullptr,
    10721  const bool allow_exceptions_ = true,
    10722  const bool skip_comments = false)
    10723  : callback(cb)
    10724  , m_lexer(std::move(adapter), skip_comments)
    10725  , allow_exceptions(allow_exceptions_)
    10726  {
    10727  // read first token
    10728  get_token();
    10729  }
    10730 
    10741  void parse(const bool strict, BasicJsonType& result)
    10742  {
    10743  if (callback)
    10744  {
    10745  json_sax_dom_callback_parser<BasicJsonType> sdp(result, callback, allow_exceptions);
    10746  sax_parse_internal(&sdp);
    10747 
    10748  // in strict mode, input must be completely read
    10749  if (strict && (get_token() != token_type::end_of_input))
    10750  {
    10751  sdp.parse_error(m_lexer.get_position(),
    10752  m_lexer.get_token_string(),
    10753  parse_error::create(101, m_lexer.get_position(),
    10754  exception_message(token_type::end_of_input, "value"), BasicJsonType()));
    10755  }
    10756 
    10757  // in case of an error, return discarded value
    10758  if (sdp.is_errored())
    10759  {
    10760  result = value_t::discarded;
    10761  return;
    10762  }
    10763 
    10764  // set top-level value to null if it was discarded by the callback
    10765  // function
    10766  if (result.is_discarded())
    10767  {
    10768  result = nullptr;
    10769  }
    10770  }
    10771  else
    10772  {
    10773  json_sax_dom_parser<BasicJsonType> sdp(result, allow_exceptions);
    10774  sax_parse_internal(&sdp);
    10775 
    10776  // in strict mode, input must be completely read
    10777  if (strict && (get_token() != token_type::end_of_input))
    10778  {
    10779  sdp.parse_error(m_lexer.get_position(),
    10780  m_lexer.get_token_string(),
    10781  parse_error::create(101, m_lexer.get_position(), exception_message(token_type::end_of_input, "value"), BasicJsonType()));
    10782  }
    10783 
    10784  // in case of an error, return discarded value
    10785  if (sdp.is_errored())
    10786  {
    10787  result = value_t::discarded;
    10788  return;
    10789  }
    10790  }
    10791 
    10792  result.assert_invariant();
    10793  }
    10794 
    10801  bool accept(const bool strict = true)
    10802  {
    10803  json_sax_acceptor<BasicJsonType> sax_acceptor;
    10804  return sax_parse(&sax_acceptor, strict);
    10805  }
    10806 
    10807  template<typename SAX>
    10809  bool sax_parse(SAX* sax, const bool strict = true)
    10810  {
    10812  const bool result = sax_parse_internal(sax);
    10813 
    10814  // strict mode: next byte must be EOF
    10815  if (result && strict && (get_token() != token_type::end_of_input))
    10816  {
    10817  return sax->parse_error(m_lexer.get_position(),
    10818  m_lexer.get_token_string(),
    10819  parse_error::create(101, m_lexer.get_position(), exception_message(token_type::end_of_input, "value"), BasicJsonType()));
    10820  }
    10821 
    10822  return result;
    10823  }
    10824 
    10825  private:
    10826  template<typename SAX>
    10828  bool sax_parse_internal(SAX* sax)
    10829  {
    10830  // stack to remember the hierarchy of structured values we are parsing
    10831  // true = array; false = object
    10832  std::vector<bool> states;
    10833  // value to avoid a goto (see comment where set to true)
    10834  bool skip_to_state_evaluation = false;
    10835 
    10836  while (true)
    10837  {
    10838  if (!skip_to_state_evaluation)
    10839  {
    10840  // invariant: get_token() was called before each iteration
    10841  switch (last_token)
    10842  {
    10843  case token_type::begin_object:
    10844  {
    10845  if (JSON_HEDLEY_UNLIKELY(!sax->start_object(std::size_t(-1))))
    10846  {
    10847  return false;
    10848  }
    10849 
    10850  // closing } -> we are done
    10851  if (get_token() == token_type::end_object)
    10852  {
    10853  if (JSON_HEDLEY_UNLIKELY(!sax->end_object()))
    10854  {
    10855  return false;
    10856  }
    10857  break;
    10858  }
    10859 
    10860  // parse key
    10861  if (JSON_HEDLEY_UNLIKELY(last_token != token_type::value_string))
    10862  {
    10863  return sax->parse_error(m_lexer.get_position(),
    10864  m_lexer.get_token_string(),
    10865  parse_error::create(101, m_lexer.get_position(), exception_message(token_type::value_string, "object key"), BasicJsonType()));
    10866  }
    10867  if (JSON_HEDLEY_UNLIKELY(!sax->key(m_lexer.get_string())))
    10868  {
    10869  return false;
    10870  }
    10871 
    10872  // parse separator (:)
    10873  if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::name_separator))
    10874  {
    10875  return sax->parse_error(m_lexer.get_position(),
    10876  m_lexer.get_token_string(),
    10877  parse_error::create(101, m_lexer.get_position(), exception_message(token_type::name_separator, "object separator"), BasicJsonType()));
    10878  }
    10879 
    10880  // remember we are now inside an object
    10881  states.push_back(false);
    10882 
    10883  // parse values
    10884  get_token();
    10885  continue;
    10886  }
    10887 
    10888  case token_type::begin_array:
    10889  {
    10890  if (JSON_HEDLEY_UNLIKELY(!sax->start_array(std::size_t(-1))))
    10891  {
    10892  return false;
    10893  }
    10894 
    10895  // closing ] -> we are done
    10896  if (get_token() == token_type::end_array)
    10897  {
    10898  if (JSON_HEDLEY_UNLIKELY(!sax->end_array()))
    10899  {
    10900  return false;
    10901  }
    10902  break;
    10903  }
    10904 
    10905  // remember we are now inside an array
    10906  states.push_back(true);
    10907 
    10908  // parse values (no need to call get_token)
    10909  continue;
    10910  }
    10911 
    10912  case token_type::value_float:
    10913  {
    10914  const auto res = m_lexer.get_number_float();
    10915 
    10916  if (JSON_HEDLEY_UNLIKELY(!std::isfinite(res)))
    10917  {
    10918  return sax->parse_error(m_lexer.get_position(),
    10919  m_lexer.get_token_string(),
    10920  out_of_range::create(406, "number overflow parsing '" + m_lexer.get_token_string() + "'", BasicJsonType()));
    10921  }
    10922 
    10923  if (JSON_HEDLEY_UNLIKELY(!sax->number_float(res, m_lexer.get_string())))
    10924  {
    10925  return false;
    10926  }
    10927 
    10928  break;
    10929  }
    10930 
    10931  case token_type::literal_false:
    10932  {
    10933  if (JSON_HEDLEY_UNLIKELY(!sax->boolean(false)))
    10934  {
    10935  return false;
    10936  }
    10937  break;
    10938  }
    10939 
    10940  case token_type::literal_null:
    10941  {
    10942  if (JSON_HEDLEY_UNLIKELY(!sax->null()))
    10943  {
    10944  return false;
    10945  }
    10946  break;
    10947  }
    10948 
    10949  case token_type::literal_true:
    10950  {
    10951  if (JSON_HEDLEY_UNLIKELY(!sax->boolean(true)))
    10952  {
    10953  return false;
    10954  }
    10955  break;
    10956  }
    10957 
    10958  case token_type::value_integer:
    10959  {
    10960  if (JSON_HEDLEY_UNLIKELY(!sax->number_integer(m_lexer.get_number_integer())))
    10961  {
    10962  return false;
    10963  }
    10964  break;
    10965  }
    10966 
    10967  case token_type::value_string:
    10968  {
    10969  if (JSON_HEDLEY_UNLIKELY(!sax->string(m_lexer.get_string())))
    10970  {
    10971  return false;
    10972  }
    10973  break;
    10974  }
    10975 
    10976  case token_type::value_unsigned:
    10977  {
    10978  if (JSON_HEDLEY_UNLIKELY(!sax->number_unsigned(m_lexer.get_number_unsigned())))
    10979  {
    10980  return false;
    10981  }
    10982  break;
    10983  }
    10984 
    10985  case token_type::parse_error:
    10986  {
    10987  // using "uninitialized" to avoid "expected" message
    10988  return sax->parse_error(m_lexer.get_position(),
    10989  m_lexer.get_token_string(),
    10990  parse_error::create(101, m_lexer.get_position(), exception_message(token_type::uninitialized, "value"), BasicJsonType()));
    10991  }
    10992 
    10993  default: // the last token was unexpected
    10994  {
    10995  return sax->parse_error(m_lexer.get_position(),
    10996  m_lexer.get_token_string(),
    10997  parse_error::create(101, m_lexer.get_position(), exception_message(token_type::literal_or_value, "value"), BasicJsonType()));
    10998  }
    10999  }
    11000  }
    11001  else
    11002  {
    11003  skip_to_state_evaluation = false;
    11004  }
    11005 
    11006  // we reached this line after we successfully parsed a value
    11007  if (states.empty())
    11008  {
    11009  // empty stack: we reached the end of the hierarchy: done
    11010  return true;
    11011  }
    11012 
    11013  if (states.back()) // array
    11014  {
    11015  // comma -> next value
    11016  if (get_token() == token_type::value_separator)
    11017  {
    11018  // parse a new value
    11019  get_token();
    11020  continue;
    11021  }
    11022 
    11023  // closing ]
    11024  if (JSON_HEDLEY_LIKELY(last_token == token_type::end_array))
    11025  {
    11026  if (JSON_HEDLEY_UNLIKELY(!sax->end_array()))
    11027  {
    11028  return false;
    11029  }
    11030 
    11031  // We are done with this array. Before we can parse a
    11032  // new value, we need to evaluate the new state first.
    11033  // By setting skip_to_state_evaluation to false, we
    11034  // are effectively jumping to the beginning of this if.
    11035  JSON_ASSERT(!states.empty());
    11036  states.pop_back();
    11037  skip_to_state_evaluation = true;
    11038  continue;
    11039  }
    11040 
    11041  return sax->parse_error(m_lexer.get_position(),
    11042  m_lexer.get_token_string(),
    11043  parse_error::create(101, m_lexer.get_position(), exception_message(token_type::end_array, "array"), BasicJsonType()));
    11044  }
    11045 
    11046  // states.back() is false -> object
    11047 
    11048  // comma -> next value
    11049  if (get_token() == token_type::value_separator)
    11050  {
    11051  // parse key
    11052  if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::value_string))
    11053  {
    11054  return sax->parse_error(m_lexer.get_position(),
    11055  m_lexer.get_token_string(),
    11056  parse_error::create(101, m_lexer.get_position(), exception_message(token_type::value_string, "object key"), BasicJsonType()));
    11057  }
    11058 
    11059  if (JSON_HEDLEY_UNLIKELY(!sax->key(m_lexer.get_string())))
    11060  {
    11061  return false;
    11062  }
    11063 
    11064  // parse separator (:)
    11065  if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::name_separator))
    11066  {
    11067  return sax->parse_error(m_lexer.get_position(),
    11068  m_lexer.get_token_string(),
    11069  parse_error::create(101, m_lexer.get_position(), exception_message(token_type::name_separator, "object separator"), BasicJsonType()));
    11070  }
    11071 
    11072  // parse values
    11073  get_token();
    11074  continue;
    11075  }
    11076 
    11077  // closing }
    11078  if (JSON_HEDLEY_LIKELY(last_token == token_type::end_object))
    11079  {
    11080  if (JSON_HEDLEY_UNLIKELY(!sax->end_object()))
    11081  {
    11082  return false;
    11083  }
    11084 
    11085  // We are done with this object. Before we can parse a
    11086  // new value, we need to evaluate the new state first.
    11087  // By setting skip_to_state_evaluation to false, we
    11088  // are effectively jumping to the beginning of this if.
    11089  JSON_ASSERT(!states.empty());
    11090  states.pop_back();
    11091  skip_to_state_evaluation = true;
    11092  continue;
    11093  }
    11094 
    11095  return sax->parse_error(m_lexer.get_position(),
    11096  m_lexer.get_token_string(),
    11097  parse_error::create(101, m_lexer.get_position(), exception_message(token_type::end_object, "object"), BasicJsonType()));
    11098  }
    11099  }
    11100 
    11103  {
    11104  return last_token = m_lexer.scan();
    11105  }
    11106 
    11107  std::string exception_message(const token_type expected, const std::string& context)
    11108  {
    11109  std::string error_msg = "syntax error ";
    11110 
    11111  if (!context.empty())
    11112  {
    11113  error_msg += "while parsing " + context + " ";
    11114  }
    11115 
    11116  error_msg += "- ";
    11117 
    11118  if (last_token == token_type::parse_error)
    11119  {
    11120  error_msg += std::string(m_lexer.get_error_message()) + "; last read: '" +
    11121  m_lexer.get_token_string() + "'";
    11122  }
    11123  else
    11124  {
    11125  error_msg += "unexpected " + std::string(lexer_t::token_type_name(last_token));
    11126  }
    11127 
    11128  if (expected != token_type::uninitialized)
    11129  {
    11130  error_msg += "; expected " + std::string(lexer_t::token_type_name(expected));
    11131  }
    11132 
    11133  return error_msg;
    11134  }
    11135 
    11136  private:
    11138  const parser_callback_t<BasicJsonType> callback = nullptr;
    11140  token_type last_token = token_type::uninitialized;
    11144  const bool allow_exceptions = true;
    11145 };
    11146 
    11147 } // namespace detail
    11148 } // namespace nlohmann
    11149 
    11150 // #include <nlohmann/detail/iterators/internal_iterator.hpp>
    11151 
    11152 
    11153 // #include <nlohmann/detail/iterators/primitive_iterator.hpp>
    11154 
    11155 
    11156 #include <cstddef> // ptrdiff_t
    11157 #include <limits> // numeric_limits
    11158 
    11159 // #include <nlohmann/detail/macro_scope.hpp>
    11160 
    11161 
    11162 namespace nlohmann
    11163 {
    11164 namespace detail
    11165 {
    11166 /*
    11167 @brief an iterator for primitive JSON types
    11168 
    11169 This class models an iterator for primitive JSON types (boolean, number,
    11170 string). It's only purpose is to allow the iterator/const_iterator classes
    11171 to "iterate" over primitive values. Internally, the iterator is modeled by
    11172 a `difference_type` variable. Value begin_value (`0`) models the begin,
    11173 end_value (`1`) models past the end.
    11174 */
    11176 {
    11177  private:
    11178  using difference_type = std::ptrdiff_t;
    11179  static constexpr difference_type begin_value = 0;
    11180  static constexpr difference_type end_value = begin_value + 1;
    11181 
    11184  difference_type m_it = (std::numeric_limits<std::ptrdiff_t>::min)();
    11185 
    11186  public:
    11187  constexpr difference_type get_value() const noexcept
    11188  {
    11189  return m_it;
    11190  }
    11191 
    11193  void set_begin() noexcept
    11194  {
    11195  m_it = begin_value;
    11196  }
    11197 
    11199  void set_end() noexcept
    11200  {
    11201  m_it = end_value;
    11202  }
    11203 
    11205  constexpr bool is_begin() const noexcept
    11206  {
    11207  return m_it == begin_value;
    11208  }
    11209 
    11211  constexpr bool is_end() const noexcept
    11212  {
    11213  return m_it == end_value;
    11214  }
    11215 
    11216  friend constexpr bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    11217  {
    11218  return lhs.m_it == rhs.m_it;
    11219  }
    11220 
    11221  friend constexpr bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    11222  {
    11223  return lhs.m_it < rhs.m_it;
    11224  }
    11225 
    11227  {
    11228  auto result = *this;
    11229  result += n;
    11230  return result;
    11231  }
    11232 
    11234  {
    11235  return lhs.m_it - rhs.m_it;
    11236  }
    11237 
    11239  {
    11240  ++m_it;
    11241  return *this;
    11242  }
    11243 
    11244  primitive_iterator_t const operator++(int) noexcept // NOLINT(readability-const-return-type)
    11245  {
    11246  auto result = *this;
    11247  ++m_it;
    11248  return result;
    11249  }
    11250 
    11252  {
    11253  --m_it;
    11254  return *this;
    11255  }
    11256 
    11257  primitive_iterator_t const operator--(int) noexcept // NOLINT(readability-const-return-type)
    11258  {
    11259  auto result = *this;
    11260  --m_it;
    11261  return result;
    11262  }
    11263 
    11265  {
    11266  m_it += n;
    11267  return *this;
    11268  }
    11269 
    11271  {
    11272  m_it -= n;
    11273  return *this;
    11274  }
    11275 };
    11276 } // namespace detail
    11277 } // namespace nlohmann
    11278 
    11279 
    11280 namespace nlohmann
    11281 {
    11282 namespace detail
    11283 {
    11290 template<typename BasicJsonType> struct internal_iterator
    11291 {
    11293  typename BasicJsonType::object_t::iterator object_iterator {};
    11295  typename BasicJsonType::array_t::iterator array_iterator {};
    11297  primitive_iterator_t primitive_iterator {};
    11298 };
    11299 } // namespace detail
    11300 } // namespace nlohmann
    11301 
    11302 // #include <nlohmann/detail/iterators/iter_impl.hpp>
    11303 
    11304 
    11305 #include <iterator> // iterator, random_access_iterator_tag, bidirectional_iterator_tag, advance, next
    11306 #include <type_traits> // conditional, is_const, remove_const
    11307 
    11308 // #include <nlohmann/detail/exceptions.hpp>
    11309 
    11310 // #include <nlohmann/detail/iterators/internal_iterator.hpp>
    11311 
    11312 // #include <nlohmann/detail/iterators/primitive_iterator.hpp>
    11313 
    11314 // #include <nlohmann/detail/macro_scope.hpp>
    11315 
    11316 // #include <nlohmann/detail/meta/cpp_future.hpp>
    11317 
    11318 // #include <nlohmann/detail/meta/type_traits.hpp>
    11319 
    11320 // #include <nlohmann/detail/value_t.hpp>
    11321 
    11322 
    11323 namespace nlohmann
    11324 {
    11325 namespace detail
    11326 {
    11327 // forward declare, to be able to friend it later on
    11328 template<typename IteratorType> class iteration_proxy;
    11329 template<typename IteratorType> class iteration_proxy_value;
    11330 
    11347 template<typename BasicJsonType>
    11349 {
    11351  using other_iter_impl = iter_impl<typename std::conditional<std::is_const<BasicJsonType>::value, typename std::remove_const<BasicJsonType>::type, const BasicJsonType>::type>;
    11357 
    11358  using object_t = typename BasicJsonType::object_t;
    11359  using array_t = typename BasicJsonType::array_t;
    11360  // make sure BasicJsonType is basic_json or const basic_json
    11361  static_assert(is_basic_json<typename std::remove_const<BasicJsonType>::type>::value,
    11362  "iter_impl only accepts (const) basic_json");
    11363 
    11364  public:
    11365 
    11371  using iterator_category = std::bidirectional_iterator_tag;
    11372 
    11374  using value_type = typename BasicJsonType::value_type;
    11376  using difference_type = typename BasicJsonType::difference_type;
    11378  using pointer = typename std::conditional<std::is_const<BasicJsonType>::value,
    11379  typename BasicJsonType::const_pointer,
    11380  typename BasicJsonType::pointer>::type;
    11382  using reference =
    11383  typename std::conditional<std::is_const<BasicJsonType>::value,
    11384  typename BasicJsonType::const_reference,
    11385  typename BasicJsonType::reference>::type;
    11386 
    11387  iter_impl() = default;
    11388  ~iter_impl() = default;
    11389  iter_impl(iter_impl&&) noexcept = default;
    11390  iter_impl& operator=(iter_impl&&) noexcept = default;
    11391 
    11398  explicit iter_impl(pointer object) noexcept : m_object(object)
    11399  {
    11400  JSON_ASSERT(m_object != nullptr);
    11401 
    11402  switch (m_object->m_type)
    11403  {
    11404  case value_t::object:
    11405  {
    11406  m_it.object_iterator = typename object_t::iterator();
    11407  break;
    11408  }
    11409 
    11410  case value_t::array:
    11411  {
    11412  m_it.array_iterator = typename array_t::iterator();
    11413  break;
    11414  }
    11415 
    11416  default:
    11417  {
    11418  m_it.primitive_iterator = primitive_iterator_t();
    11419  break;
    11420  }
    11421  }
    11422  }
    11423 
    11441  : m_object(other.m_object), m_it(other.m_it)
    11442  {}
    11443 
    11451  {
    11452  if (&other != this)
    11453  {
    11454  m_object = other.m_object;
    11455  m_it = other.m_it;
    11456  }
    11457  return *this;
    11458  }
    11459 
    11465  iter_impl(const iter_impl<typename std::remove_const<BasicJsonType>::type>& other) noexcept
    11466  : m_object(other.m_object), m_it(other.m_it)
    11467  {}
    11468 
    11475  iter_impl& operator=(const iter_impl<typename std::remove_const<BasicJsonType>::type>& other) noexcept // NOLINT(cert-oop54-cpp)
    11476  {
    11477  m_object = other.m_object;
    11478  m_it = other.m_it;
    11479  return *this;
    11480  }
    11481 
    11487  void set_begin() noexcept
    11488  {
    11489  JSON_ASSERT(m_object != nullptr);
    11490 
    11491  switch (m_object->m_type)
    11492  {
    11493  case value_t::object:
    11494  {
    11495  m_it.object_iterator = m_object->m_value.object->begin();
    11496  break;
    11497  }
    11498 
    11499  case value_t::array:
    11500  {
    11501  m_it.array_iterator = m_object->m_value.array->begin();
    11502  break;
    11503  }
    11504 
    11505  case value_t::null:
    11506  {
    11507  // set to end so begin()==end() is true: null is empty
    11508  m_it.primitive_iterator.set_end();
    11509  break;
    11510  }
    11511 
    11512  default:
    11513  {
    11514  m_it.primitive_iterator.set_begin();
    11515  break;
    11516  }
    11517  }
    11518  }
    11519 
    11524  void set_end() noexcept
    11525  {
    11526  JSON_ASSERT(m_object != nullptr);
    11527 
    11528  switch (m_object->m_type)
    11529  {
    11530  case value_t::object:
    11531  {
    11532  m_it.object_iterator = m_object->m_value.object->end();
    11533  break;
    11534  }
    11535 
    11536  case value_t::array:
    11537  {
    11538  m_it.array_iterator = m_object->m_value.array->end();
    11539  break;
    11540  }
    11541 
    11542  default:
    11543  {
    11544  m_it.primitive_iterator.set_end();
    11545  break;
    11546  }
    11547  }
    11548  }
    11549 
    11550  public:
    11556  {
    11557  JSON_ASSERT(m_object != nullptr);
    11558 
    11559  switch (m_object->m_type)
    11560  {
    11561  case value_t::object:
    11562  {
    11563  JSON_ASSERT(m_it.object_iterator != m_object->m_value.object->end());
    11564  return m_it.object_iterator->second;
    11565  }
    11566 
    11567  case value_t::array:
    11568  {
    11569  JSON_ASSERT(m_it.array_iterator != m_object->m_value.array->end());
    11570  return *m_it.array_iterator;
    11571  }
    11572 
    11573  case value_t::null:
    11574  JSON_THROW(invalid_iterator::create(214, "cannot get value", *m_object));
    11575 
    11576  default:
    11577  {
    11578  if (JSON_HEDLEY_LIKELY(m_it.primitive_iterator.is_begin()))
    11579  {
    11580  return *m_object;
    11581  }
    11582 
    11583  JSON_THROW(invalid_iterator::create(214, "cannot get value", *m_object));
    11584  }
    11585  }
    11586  }
    11587 
    11593  {
    11594  JSON_ASSERT(m_object != nullptr);
    11595 
    11596  switch (m_object->m_type)
    11597  {
    11598  case value_t::object:
    11599  {
    11600  JSON_ASSERT(m_it.object_iterator != m_object->m_value.object->end());
    11601  return &(m_it.object_iterator->second);
    11602  }
    11603 
    11604  case value_t::array:
    11605  {
    11606  JSON_ASSERT(m_it.array_iterator != m_object->m_value.array->end());
    11607  return &*m_it.array_iterator;
    11608  }
    11609 
    11610  default:
    11611  {
    11612  if (JSON_HEDLEY_LIKELY(m_it.primitive_iterator.is_begin()))
    11613  {
    11614  return m_object;
    11615  }
    11616 
    11617  JSON_THROW(invalid_iterator::create(214, "cannot get value", *m_object));
    11618  }
    11619  }
    11620  }
    11621 
    11626  iter_impl const operator++(int) // NOLINT(readability-const-return-type)
    11627  {
    11628  auto result = *this;
    11629  ++(*this);
    11630  return result;
    11631  }
    11632 
    11638  {
    11639  JSON_ASSERT(m_object != nullptr);
    11640 
    11641  switch (m_object->m_type)
    11642  {
    11643  case value_t::object:
    11644  {
    11645  std::advance(m_it.object_iterator, 1);
    11646  break;
    11647  }
    11648 
    11649  case value_t::array:
    11650  {
    11651  std::advance(m_it.array_iterator, 1);
    11652  break;
    11653  }
    11654 
    11655  default:
    11656  {
    11657  ++m_it.primitive_iterator;
    11658  break;
    11659  }
    11660  }
    11661 
    11662  return *this;
    11663  }
    11664 
    11669  iter_impl const operator--(int) // NOLINT(readability-const-return-type)
    11670  {
    11671  auto result = *this;
    11672  --(*this);
    11673  return result;
    11674  }
    11675 
    11681  {
    11682  JSON_ASSERT(m_object != nullptr);
    11683 
    11684  switch (m_object->m_type)
    11685  {
    11686  case value_t::object:
    11687  {
    11688  std::advance(m_it.object_iterator, -1);
    11689  break;
    11690  }
    11691 
    11692  case value_t::array:
    11693  {
    11694  std::advance(m_it.array_iterator, -1);
    11695  break;
    11696  }
    11697 
    11698  default:
    11699  {
    11700  --m_it.primitive_iterator;
    11701  break;
    11702  }
    11703  }
    11704 
    11705  return *this;
    11706  }
    11707 
    11712  template < typename IterImpl, detail::enable_if_t < (std::is_same<IterImpl, iter_impl>::value || std::is_same<IterImpl, other_iter_impl>::value), std::nullptr_t > = nullptr >
    11713  bool operator==(const IterImpl& other) const
    11714  {
    11715  // if objects are not the same, the comparison is undefined
    11716  if (JSON_HEDLEY_UNLIKELY(m_object != other.m_object))
    11717  {
    11718  JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers", *m_object));
    11719  }
    11720 
    11721  JSON_ASSERT(m_object != nullptr);
    11722 
    11723  switch (m_object->m_type)
    11724  {
    11725  case value_t::object:
    11726  return (m_it.object_iterator == other.m_it.object_iterator);
    11727 
    11728  case value_t::array:
    11729  return (m_it.array_iterator == other.m_it.array_iterator);
    11730 
    11731  default:
    11732  return (m_it.primitive_iterator == other.m_it.primitive_iterator);
    11733  }
    11734  }
    11735 
    11740  template < typename IterImpl, detail::enable_if_t < (std::is_same<IterImpl, iter_impl>::value || std::is_same<IterImpl, other_iter_impl>::value), std::nullptr_t > = nullptr >
    11741  bool operator!=(const IterImpl& other) const
    11742  {
    11743  return !operator==(other);
    11744  }
    11745 
    11750  bool operator<(const iter_impl& other) const
    11751  {
    11752  // if objects are not the same, the comparison is undefined
    11753  if (JSON_HEDLEY_UNLIKELY(m_object != other.m_object))
    11754  {
    11755  JSON_THROW(invalid_iterator::create(212, "cannot compare iterators of different containers", *m_object));
    11756  }
    11757 
    11758  JSON_ASSERT(m_object != nullptr);
    11759 
    11760  switch (m_object->m_type)
    11761  {
    11762  case value_t::object:
    11763  JSON_THROW(invalid_iterator::create(213, "cannot compare order of object iterators", *m_object));
    11764 
    11765  case value_t::array:
    11766  return (m_it.array_iterator < other.m_it.array_iterator);
    11767 
    11768  default:
    11769  return (m_it.primitive_iterator < other.m_it.primitive_iterator);
    11770  }
    11771  }
    11772 
    11777  bool operator<=(const iter_impl& other) const
    11778  {
    11779  return !other.operator < (*this);
    11780  }
    11781 
    11786  bool operator>(const iter_impl& other) const
    11787  {
    11788  return !operator<=(other);
    11789  }
    11790 
    11795  bool operator>=(const iter_impl& other) const
    11796  {
    11797  return !operator<(other);
    11798  }
    11799 
    11805  {
    11806  JSON_ASSERT(m_object != nullptr);
    11807 
    11808  switch (m_object->m_type)
    11809  {
    11810  case value_t::object:
    11811  JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators", *m_object));
    11812 
    11813  case value_t::array:
    11814  {
    11815  std::advance(m_it.array_iterator, i);
    11816  break;
    11817  }
    11818 
    11819  default:
    11820  {
    11821  m_it.primitive_iterator += i;
    11822  break;
    11823  }
    11824  }
    11825 
    11826  return *this;
    11827  }
    11828 
    11834  {
    11835  return operator+=(-i);
    11836  }
    11837 
    11843  {
    11844  auto result = *this;
    11845  result += i;
    11846  return result;
    11847  }
    11848 
    11854  {
    11855  auto result = it;
    11856  result += i;
    11857  return result;
    11858  }
    11859 
    11865  {
    11866  auto result = *this;
    11867  result -= i;
    11868  return result;
    11869  }
    11870 
    11876  {
    11877  JSON_ASSERT(m_object != nullptr);
    11878 
    11879  switch (m_object->m_type)
    11880  {
    11881  case value_t::object:
    11882  JSON_THROW(invalid_iterator::create(209, "cannot use offsets with object iterators", *m_object));
    11883 
    11884  case value_t::array:
    11885  return m_it.array_iterator - other.m_it.array_iterator;
    11886 
    11887  default:
    11888  return m_it.primitive_iterator - other.m_it.primitive_iterator;
    11889  }
    11890  }
    11891 
    11897  {
    11898  JSON_ASSERT(m_object != nullptr);
    11899 
    11900  switch (m_object->m_type)
    11901  {
    11902  case value_t::object:
    11903  JSON_THROW(invalid_iterator::create(208, "cannot use operator[] for object iterators", *m_object));
    11904 
    11905  case value_t::array:
    11906  return *std::next(m_it.array_iterator, n);
    11907 
    11908  case value_t::null:
    11909  JSON_THROW(invalid_iterator::create(214, "cannot get value", *m_object));
    11910 
    11911  default:
    11912  {
    11913  if (JSON_HEDLEY_LIKELY(m_it.primitive_iterator.get_value() == -n))
    11914  {
    11915  return *m_object;
    11916  }
    11917 
    11918  JSON_THROW(invalid_iterator::create(214, "cannot get value", *m_object));
    11919  }
    11920  }
    11921  }
    11922 
    11927  const typename object_t::key_type& key() const
    11928  {
    11929  JSON_ASSERT(m_object != nullptr);
    11930 
    11931  if (JSON_HEDLEY_LIKELY(m_object->is_object()))
    11932  {
    11933  return m_it.object_iterator->first;
    11934  }
    11935 
    11936  JSON_THROW(invalid_iterator::create(207, "cannot use key() for non-object iterators", *m_object));
    11937  }
    11938 
    11944  {
    11945  return operator*();
    11946  }
    11947 
    11950  pointer m_object = nullptr;
    11953 };
    11954 } // namespace detail
    11955 } // namespace nlohmann
    11956 
    11957 // #include <nlohmann/detail/iterators/iteration_proxy.hpp>
    11958 
    11959 // #include <nlohmann/detail/iterators/json_reverse_iterator.hpp>
    11960 
    11961 
    11962 #include <cstddef> // ptrdiff_t
    11963 #include <iterator> // reverse_iterator
    11964 #include <utility> // declval
    11965 
    11966 namespace nlohmann
    11967 {
    11968 namespace detail
    11969 {
    11971 // reverse_iterator //
    11973 
    11992 template<typename Base>
    11993 class json_reverse_iterator : public std::reverse_iterator<Base>
    11994 {
    11995  public:
    11996  using difference_type = std::ptrdiff_t;
    11998  using base_iterator = std::reverse_iterator<Base>;
    12000  using reference = typename Base::reference;
    12001 
    12003  explicit json_reverse_iterator(const typename base_iterator::iterator_type& it) noexcept
    12004  : base_iterator(it) {}
    12005 
    12007  explicit json_reverse_iterator(const base_iterator& it) noexcept : base_iterator(it) {}
    12008 
    12010  json_reverse_iterator const operator++(int) // NOLINT(readability-const-return-type)
    12011  {
    12012  return static_cast<json_reverse_iterator>(base_iterator::operator++(1));
    12013  }
    12014 
    12017  {
    12018  return static_cast<json_reverse_iterator&>(base_iterator::operator++());
    12019  }
    12020 
    12022  json_reverse_iterator const operator--(int) // NOLINT(readability-const-return-type)
    12023  {
    12024  return static_cast<json_reverse_iterator>(base_iterator::operator--(1));
    12025  }
    12026 
    12029  {
    12030  return static_cast<json_reverse_iterator&>(base_iterator::operator--());
    12031  }
    12032 
    12035  {
    12036  return static_cast<json_reverse_iterator&>(base_iterator::operator+=(i));
    12037  }
    12038 
    12041  {
    12042  return static_cast<json_reverse_iterator>(base_iterator::operator+(i));
    12043  }
    12044 
    12047  {
    12048  return static_cast<json_reverse_iterator>(base_iterator::operator-(i));
    12049  }
    12050 
    12053  {
    12054  return base_iterator(*this) - base_iterator(other);
    12055  }
    12056 
    12059  {
    12060  return *(this->operator+(n));
    12061  }
    12062 
    12064  auto key() const -> decltype(std::declval<Base>().key())
    12065  {
    12066  auto it = --this->base();
    12067  return it.key();
    12068  }
    12069 
    12072  {
    12073  auto it = --this->base();
    12074  return it.operator * ();
    12075  }
    12076 };
    12077 } // namespace detail
    12078 } // namespace nlohmann
    12079 
    12080 // #include <nlohmann/detail/iterators/primitive_iterator.hpp>
    12081 
    12082 // #include <nlohmann/detail/json_pointer.hpp>
    12083 
    12084 
    12085 #include <algorithm> // all_of
    12086 #include <cctype> // isdigit
    12087 #include <limits> // max
    12088 #include <numeric> // accumulate
    12089 #include <string> // string
    12090 #include <utility> // move
    12091 #include <vector> // vector
    12092 
    12093 // #include <nlohmann/detail/exceptions.hpp>
    12094 
    12095 // #include <nlohmann/detail/macro_scope.hpp>
    12096 
    12097 // #include <nlohmann/detail/string_escape.hpp>
    12098 
    12099 // #include <nlohmann/detail/value_t.hpp>
    12100 
    12101 
    12102 namespace nlohmann
    12103 {
    12104 template<typename BasicJsonType>
    12105 class json_pointer
    12106 {
    12107  // allow basic_json to access private members
    12109  friend class basic_json;
    12110 
    12111  public:
    12133  explicit json_pointer(const std::string& s = "")
    12134  : reference_tokens(split(s))
    12135  {}
    12136 
    12152  {
    12153  return std::accumulate(reference_tokens.begin(), reference_tokens.end(),
    12154  std::string{},
    12155  [](const std::string & a, const std::string & b)
    12156  {
    12157  return a + "/" + detail::escape(b);
    12158  });
    12159  }
    12160 
    12162  operator std::string() const
    12163  {
    12164  return to_string();
    12165  }
    12166 
    12184  {
    12185  reference_tokens.insert(reference_tokens.end(),
    12186  ptr.reference_tokens.begin(),
    12187  ptr.reference_tokens.end());
    12188  return *this;
    12189  }
    12190 
    12208  {
    12209  push_back(std::move(token));
    12210  return *this;
    12211  }
    12212 
    12229  json_pointer& operator/=(std::size_t array_idx)
    12230  {
    12231  return *this /= std::to_string(array_idx);
    12232  }
    12233 
    12250  const json_pointer& rhs)
    12251  {
    12252  return json_pointer(lhs) /= rhs;
    12253  }
    12254 
    12270  friend json_pointer operator/(const json_pointer& ptr, std::string token) // NOLINT(performance-unnecessary-value-param)
    12271  {
    12272  return json_pointer(ptr) /= std::move(token);
    12273  }
    12274 
    12290  friend json_pointer operator/(const json_pointer& ptr, std::size_t array_idx)
    12291  {
    12292  return json_pointer(ptr) /= array_idx;
    12293  }
    12294 
    12309  {
    12310  if (empty())
    12311  {
    12312  return *this;
    12313  }
    12314 
    12315  json_pointer res = *this;
    12316  res.pop_back();
    12317  return res;
    12318  }
    12319 
    12333  void pop_back()
    12334  {
    12335  if (JSON_HEDLEY_UNLIKELY(empty()))
    12336  {
    12337  JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent", BasicJsonType()));
    12338  }
    12339 
    12340  reference_tokens.pop_back();
    12341  }
    12342 
    12357  const std::string& back() const
    12358  {
    12359  if (JSON_HEDLEY_UNLIKELY(empty()))
    12360  {
    12361  JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent", BasicJsonType()));
    12362  }
    12363 
    12364  return reference_tokens.back();
    12365  }
    12366 
    12379  void push_back(const std::string& token)
    12380  {
    12381  reference_tokens.push_back(token);
    12382  }
    12383 
    12385  void push_back(std::string&& token)
    12386  {
    12387  reference_tokens.push_back(std::move(token));
    12388  }
    12389 
    12404  bool empty() const noexcept
    12405  {
    12406  return reference_tokens.empty();
    12407  }
    12408 
    12409  private:
    12420  static typename BasicJsonType::size_type array_index(const std::string& s)
    12421  {
    12422  using size_type = typename BasicJsonType::size_type;
    12423 
    12424  // error condition (cf. RFC 6901, Sect. 4)
    12425  if (JSON_HEDLEY_UNLIKELY(s.size() > 1 && s[0] == '0'))
    12426  {
    12427  JSON_THROW(detail::parse_error::create(106, 0, "array index '" + s + "' must not begin with '0'", BasicJsonType()));
    12428  }
    12429 
    12430  // error condition (cf. RFC 6901, Sect. 4)
    12431  if (JSON_HEDLEY_UNLIKELY(s.size() > 1 && !(s[0] >= '1' && s[0] <= '9')))
    12432  {
    12433  JSON_THROW(detail::parse_error::create(109, 0, "array index '" + s + "' is not a number", BasicJsonType()));
    12434  }
    12435 
    12436  std::size_t processed_chars = 0;
    12437  unsigned long long res = 0; // NOLINT(runtime/int)
    12438  JSON_TRY
    12439  {
    12440  res = std::stoull(s, &processed_chars);
    12441  }
    12442  JSON_CATCH(std::out_of_range&)
    12443  {
    12444  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + s + "'", BasicJsonType()));
    12445  }
    12446 
    12447  // check if the string was completely read
    12448  if (JSON_HEDLEY_UNLIKELY(processed_chars != s.size()))
    12449  {
    12450  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + s + "'", BasicJsonType()));
    12451  }
    12452 
    12453  // only triggered on special platforms (like 32bit), see also
    12454  // https://github.com/nlohmann/json/pull/2203
    12455  if (res >= static_cast<unsigned long long>((std::numeric_limits<size_type>::max)())) // NOLINT(runtime/int)
    12456  {
    12457  JSON_THROW(detail::out_of_range::create(410, "array index " + s + " exceeds size_type", BasicJsonType())); // LCOV_EXCL_LINE
    12458  }
    12459 
    12460  return static_cast<size_type>(res);
    12461  }
    12462 
    12464  json_pointer top() const
    12465  {
    12466  if (JSON_HEDLEY_UNLIKELY(empty()))
    12467  {
    12468  JSON_THROW(detail::out_of_range::create(405, "JSON pointer has no parent", BasicJsonType()));
    12469  }
    12470 
    12471  json_pointer result = *this;
    12472  result.reference_tokens = {reference_tokens[0]};
    12473  return result;
    12474  }
    12475 
    12476  private:
    12485  BasicJsonType& get_and_create(BasicJsonType& j) const
    12486  {
    12487  auto* result = &j;
    12488 
    12489  // in case no reference tokens exist, return a reference to the JSON value
    12490  // j which will be overwritten by a primitive value
    12491  for (const auto& reference_token : reference_tokens)
    12492  {
    12493  switch (result->type())
    12494  {
    12495  case detail::value_t::null:
    12496  {
    12497  if (reference_token == "0")
    12498  {
    12499  // start a new array if reference token is 0
    12500  result = &result->operator[](0);
    12501  }
    12502  else
    12503  {
    12504  // start a new object otherwise
    12505  result = &result->operator[](reference_token);
    12506  }
    12507  break;
    12508  }
    12509 
    12511  {
    12512  // create an entry in the object
    12513  result = &result->operator[](reference_token);
    12514  break;
    12515  }
    12516 
    12518  {
    12519  // create an entry in the array
    12520  result = &result->operator[](array_index(reference_token));
    12521  break;
    12522  }
    12523 
    12524  /*
    12525  The following code is only reached if there exists a reference
    12526  token _and_ the current value is primitive. In this case, we have
    12527  an error situation, because primitive values may only occur as
    12528  single value; that is, with an empty list of reference tokens.
    12529  */
    12530  default:
    12531  JSON_THROW(detail::type_error::create(313, "invalid value to unflatten", j));
    12532  }
    12533  }
    12534 
    12535  return *result;
    12536  }
    12537 
    12557  BasicJsonType& get_unchecked(BasicJsonType* ptr) const
    12558  {
    12559  for (const auto& reference_token : reference_tokens)
    12560  {
    12561  // convert null values to arrays or objects before continuing
    12562  if (ptr->is_null())
    12563  {
    12564  // check if reference token is a number
    12565  const bool nums =
    12566  std::all_of(reference_token.begin(), reference_token.end(),
    12567  [](const unsigned char x)
    12568  {
    12569  return std::isdigit(x);
    12570  });
    12571 
    12572  // change value to array for numbers or "-" or to object otherwise
    12573  *ptr = (nums || reference_token == "-")
    12576  }
    12577 
    12578  switch (ptr->type())
    12579  {
    12581  {
    12582  // use unchecked object access
    12583  ptr = &ptr->operator[](reference_token);
    12584  break;
    12585  }
    12586 
    12588  {
    12589  if (reference_token == "-")
    12590  {
    12591  // explicitly treat "-" as index beyond the end
    12592  ptr = &ptr->operator[](ptr->m_value.array->size());
    12593  }
    12594  else
    12595  {
    12596  // convert array index to number; unchecked access
    12597  ptr = &ptr->operator[](array_index(reference_token));
    12598  }
    12599  break;
    12600  }
    12601 
    12602  default:
    12603  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'", *ptr));
    12604  }
    12605  }
    12606 
    12607  return *ptr;
    12608  }
    12609 
    12616  BasicJsonType& get_checked(BasicJsonType* ptr) const
    12617  {
    12618  for (const auto& reference_token : reference_tokens)
    12619  {
    12620  switch (ptr->type())
    12621  {
    12623  {
    12624  // note: at performs range check
    12625  ptr = &ptr->at(reference_token);
    12626  break;
    12627  }
    12628 
    12630  {
    12631  if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
    12632  {
    12633  // "-" always fails the range check
    12635  "array index '-' (" + std::to_string(ptr->m_value.array->size()) +
    12636  ") is out of range", *ptr));
    12637  }
    12638 
    12639  // note: at performs range check
    12640  ptr = &ptr->at(array_index(reference_token));
    12641  break;
    12642  }
    12643 
    12644  default:
    12645  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'", *ptr));
    12646  }
    12647  }
    12648 
    12649  return *ptr;
    12650  }
    12651 
    12665  const BasicJsonType& get_unchecked(const BasicJsonType* ptr) const
    12666  {
    12667  for (const auto& reference_token : reference_tokens)
    12668  {
    12669  switch (ptr->type())
    12670  {
    12672  {
    12673  // use unchecked object access
    12674  ptr = &ptr->operator[](reference_token);
    12675  break;
    12676  }
    12677 
    12679  {
    12680  if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
    12681  {
    12682  // "-" cannot be used for const access
    12683  JSON_THROW(detail::out_of_range::create(402, "array index '-' (" + std::to_string(ptr->m_value.array->size()) + ") is out of range", *ptr));
    12684  }
    12685 
    12686  // use unchecked array access
    12687  ptr = &ptr->operator[](array_index(reference_token));
    12688  break;
    12689  }
    12690 
    12691  default:
    12692  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'", *ptr));
    12693  }
    12694  }
    12695 
    12696  return *ptr;
    12697  }
    12698 
    12705  const BasicJsonType& get_checked(const BasicJsonType* ptr) const
    12706  {
    12707  for (const auto& reference_token : reference_tokens)
    12708  {
    12709  switch (ptr->type())
    12710  {
    12712  {
    12713  // note: at performs range check
    12714  ptr = &ptr->at(reference_token);
    12715  break;
    12716  }
    12717 
    12719  {
    12720  if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
    12721  {
    12722  // "-" always fails the range check
    12724  "array index '-' (" + std::to_string(ptr->m_value.array->size()) +
    12725  ") is out of range", *ptr));
    12726  }
    12727 
    12728  // note: at performs range check
    12729  ptr = &ptr->at(array_index(reference_token));
    12730  break;
    12731  }
    12732 
    12733  default:
    12734  JSON_THROW(detail::out_of_range::create(404, "unresolved reference token '" + reference_token + "'", *ptr));
    12735  }
    12736  }
    12737 
    12738  return *ptr;
    12739  }
    12740 
    12745  bool contains(const BasicJsonType* ptr) const
    12746  {
    12747  for (const auto& reference_token : reference_tokens)
    12748  {
    12749  switch (ptr->type())
    12750  {
    12752  {
    12753  if (!ptr->contains(reference_token))
    12754  {
    12755  // we did not find the key in the object
    12756  return false;
    12757  }
    12758 
    12759  ptr = &ptr->operator[](reference_token);
    12760  break;
    12761  }
    12762 
    12764  {
    12765  if (JSON_HEDLEY_UNLIKELY(reference_token == "-"))
    12766  {
    12767  // "-" always fails the range check
    12768  return false;
    12769  }
    12770  if (JSON_HEDLEY_UNLIKELY(reference_token.size() == 1 && !("0" <= reference_token && reference_token <= "9")))
    12771  {
    12772  // invalid char
    12773  return false;
    12774  }
    12775  if (JSON_HEDLEY_UNLIKELY(reference_token.size() > 1))
    12776  {
    12777  if (JSON_HEDLEY_UNLIKELY(!('1' <= reference_token[0] && reference_token[0] <= '9')))
    12778  {
    12779  // first char should be between '1' and '9'
    12780  return false;
    12781  }
    12782  for (std::size_t i = 1; i < reference_token.size(); i++)
    12783  {
    12784  if (JSON_HEDLEY_UNLIKELY(!('0' <= reference_token[i] && reference_token[i] <= '9')))
    12785  {
    12786  // other char should be between '0' and '9'
    12787  return false;
    12788  }
    12789  }
    12790  }
    12791 
    12792  const auto idx = array_index(reference_token);
    12793  if (idx >= ptr->size())
    12794  {
    12795  // index out of range
    12796  return false;
    12797  }
    12798 
    12799  ptr = &ptr->operator[](idx);
    12800  break;
    12801  }
    12802 
    12803  default:
    12804  {
    12805  // we do not expect primitive values if there is still a
    12806  // reference token to process
    12807  return false;
    12808  }
    12809  }
    12810  }
    12811 
    12812  // no reference token left means we found a primitive value
    12813  return true;
    12814  }
    12815 
    12825  static std::vector<std::string> split(const std::string& reference_string)
    12826  {
    12827  std::vector<std::string> result;
    12828 
    12829  // special case: empty reference string -> no reference tokens
    12830  if (reference_string.empty())
    12831  {
    12832  return result;
    12833  }
    12834 
    12835  // check if nonempty reference string begins with slash
    12836  if (JSON_HEDLEY_UNLIKELY(reference_string[0] != '/'))
    12837  {
    12838  JSON_THROW(detail::parse_error::create(107, 1, "JSON pointer must be empty or begin with '/' - was: '" + reference_string + "'", BasicJsonType()));
    12839  }
    12840 
    12841  // extract the reference tokens:
    12842  // - slash: position of the last read slash (or end of string)
    12843  // - start: position after the previous slash
    12844  for (
    12845  // search for the first slash after the first character
    12846  std::size_t slash = reference_string.find_first_of('/', 1),
    12847  // set the beginning of the first reference token
    12848  start = 1;
    12849  // we can stop if start == 0 (if slash == std::string::npos)
    12850  start != 0;
    12851  // set the beginning of the next reference token
    12852  // (will eventually be 0 if slash == std::string::npos)
    12853  start = (slash == std::string::npos) ? 0 : slash + 1,
    12854  // find next slash
    12855  slash = reference_string.find_first_of('/', start))
    12856  {
    12857  // use the text between the beginning of the reference token
    12858  // (start) and the last slash (slash).
    12859  auto reference_token = reference_string.substr(start, slash - start);
    12860 
    12861  // check reference tokens are properly escaped
    12862  for (std::size_t pos = reference_token.find_first_of('~');
    12863  pos != std::string::npos;
    12864  pos = reference_token.find_first_of('~', pos + 1))
    12865  {
    12866  JSON_ASSERT(reference_token[pos] == '~');
    12867 
    12868  // ~ must be followed by 0 or 1
    12869  if (JSON_HEDLEY_UNLIKELY(pos == reference_token.size() - 1 ||
    12870  (reference_token[pos + 1] != '0' &&
    12871  reference_token[pos + 1] != '1')))
    12872  {
    12873  JSON_THROW(detail::parse_error::create(108, 0, "escape character '~' must be followed with '0' or '1'", BasicJsonType()));
    12874  }
    12875  }
    12876 
    12877  // finally, store the reference token
    12878  detail::unescape(reference_token);
    12879  result.push_back(reference_token);
    12880  }
    12881 
    12882  return result;
    12883  }
    12884 
    12885  private:
    12893  static void flatten(const std::string& reference_string,
    12894  const BasicJsonType& value,
    12895  BasicJsonType& result)
    12896  {
    12897  switch (value.type())
    12898  {
    12900  {
    12901  if (value.m_value.array->empty())
    12902  {
    12903  // flatten empty array as null
    12904  result[reference_string] = nullptr;
    12905  }
    12906  else
    12907  {
    12908  // iterate array and use index as reference string
    12909  for (std::size_t i = 0; i < value.m_value.array->size(); ++i)
    12910  {
    12911  flatten(reference_string + "/" + std::to_string(i),
    12912  value.m_value.array->operator[](i), result);
    12913  }
    12914  }
    12915  break;
    12916  }
    12917 
    12919  {
    12920  if (value.m_value.object->empty())
    12921  {
    12922  // flatten empty object as null
    12923  result[reference_string] = nullptr;
    12924  }
    12925  else
    12926  {
    12927  // iterate object and use keys as reference string
    12928  for (const auto& element : *value.m_value.object)
    12929  {
    12930  flatten(reference_string + "/" + detail::escape(element.first), element.second, result);
    12931  }
    12932  }
    12933  break;
    12934  }
    12935 
    12936  default:
    12937  {
    12938  // add primitive value with its reference string
    12939  result[reference_string] = value;
    12940  break;
    12941  }
    12942  }
    12943  }
    12944 
    12955  static BasicJsonType
    12956  unflatten(const BasicJsonType& value)
    12957  {
    12958  if (JSON_HEDLEY_UNLIKELY(!value.is_object()))
    12959  {
    12960  JSON_THROW(detail::type_error::create(314, "only objects can be unflattened", value));
    12961  }
    12962 
    12963  BasicJsonType result;
    12964 
    12965  // iterate the JSON object values
    12966  for (const auto& element : *value.m_value.object)
    12967  {
    12968  if (JSON_HEDLEY_UNLIKELY(!element.second.is_primitive()))
    12969  {
    12970  JSON_THROW(detail::type_error::create(315, "values in object must be primitive", element.second));
    12971  }
    12972 
    12973  // assign value to reference pointed to by JSON pointer; Note that if
    12974  // the JSON pointer is "" (i.e., points to the whole value), function
    12975  // get_and_create returns a reference to result itself. An assignment
    12976  // will then create a primitive value.
    12977  json_pointer(element.first).get_and_create(result) = element.second;
    12978  }
    12979 
    12980  return result;
    12981  }
    12982 
    12994  friend bool operator==(json_pointer const& lhs,
    12995  json_pointer const& rhs) noexcept
    12996  {
    12997  return lhs.reference_tokens == rhs.reference_tokens;
    12998  }
    12999 
    13011  friend bool operator!=(json_pointer const& lhs,
    13012  json_pointer const& rhs) noexcept
    13013  {
    13014  return !(lhs == rhs);
    13015  }
    13016 
    13018  std::vector<std::string> reference_tokens;
    13019 };
    13020 } // namespace nlohmann
    13021 
    13022 // #include <nlohmann/detail/json_ref.hpp>
    13023 
    13024 
    13025 #include <initializer_list>
    13026 #include <utility>
    13027 
    13028 // #include <nlohmann/detail/meta/type_traits.hpp>
    13029 
    13030 
    13031 namespace nlohmann
    13032 {
    13033 namespace detail
    13034 {
    13035 template<typename BasicJsonType>
    13036 class json_ref
    13037 {
    13038  public:
    13039  using value_type = BasicJsonType;
    13040 
    13042  : owned_value(std::move(value))
    13043  {}
    13044 
    13046  : value_ref(&value)
    13047  {}
    13048 
    13049  json_ref(std::initializer_list<json_ref> init)
    13050  : owned_value(init)
    13051  {}
    13052 
    13053  template <
    13054  class... Args,
    13055  enable_if_t<std::is_constructible<value_type, Args...>::value, int> = 0 >
    13056  json_ref(Args && ... args)
    13057  : owned_value(std::forward<Args>(args)...)
    13058  {}
    13059 
    13060  // class should be movable only
    13061  json_ref(json_ref&&) noexcept = default;
    13062  json_ref(const json_ref&) = delete;
    13063  json_ref& operator=(const json_ref&) = delete;
    13064  json_ref& operator=(json_ref&&) = delete;
    13065  ~json_ref() = default;
    13066 
    13067  value_type moved_or_copied() const
    13068  {
    13069  if (value_ref == nullptr)
    13070  {
    13071  return std::move(owned_value);
    13072  }
    13073  return *value_ref;
    13074  }
    13075 
    13076  value_type const& operator*() const
    13077  {
    13078  return value_ref ? *value_ref : owned_value;
    13079  }
    13080 
    13081  value_type const* operator->() const
    13082  {
    13083  return &** this;
    13084  }
    13085 
    13086  private:
    13087  mutable value_type owned_value = nullptr;
    13088  value_type const* value_ref = nullptr;
    13089 };
    13090 } // namespace detail
    13091 } // namespace nlohmann
    13092 
    13093 // #include <nlohmann/detail/macro_scope.hpp>
    13094 
    13095 // #include <nlohmann/detail/string_escape.hpp>
    13096 
    13097 // #include <nlohmann/detail/meta/cpp_future.hpp>
    13098 
    13099 // #include <nlohmann/detail/meta/type_traits.hpp>
    13100 
    13101 // #include <nlohmann/detail/output/binary_writer.hpp>
    13102 
    13103 
    13104 #include <algorithm> // reverse
    13105 #include <array> // array
    13106 #include <cmath> // isnan, isinf
    13107 #include <cstdint> // uint8_t, uint16_t, uint32_t, uint64_t
    13108 #include <cstring> // memcpy
    13109 #include <limits> // numeric_limits
    13110 #include <string> // string
    13111 #include <utility> // move
    13112 
    13113 // #include <nlohmann/detail/input/binary_reader.hpp>
    13114 
    13115 // #include <nlohmann/detail/macro_scope.hpp>
    13116 
    13117 // #include <nlohmann/detail/output/output_adapters.hpp>
    13118 
    13119 
    13120 #include <algorithm> // copy
    13121 #include <cstddef> // size_t
    13122 #include <ios> // streamsize
    13123 #include <iterator> // back_inserter
    13124 #include <memory> // shared_ptr, make_shared
    13125 #include <ostream> // basic_ostream
    13126 #include <string> // basic_string
    13127 #include <vector> // vector
    13128 // #include <nlohmann/detail/macro_scope.hpp>
    13129 
    13130 
    13131 namespace nlohmann
    13132 {
    13133 namespace detail
    13134 {
    13136 template<typename CharType> struct output_adapter_protocol
    13137 {
    13138  virtual void write_character(CharType c) = 0;
    13139  virtual void write_characters(const CharType* s, std::size_t length) = 0;
    13140  virtual ~output_adapter_protocol() = default;
    13141 
    13142  output_adapter_protocol() = default;
    13144  output_adapter_protocol(output_adapter_protocol&&) noexcept = default;
    13145  output_adapter_protocol& operator=(const output_adapter_protocol&) = default;
    13146  output_adapter_protocol& operator=(output_adapter_protocol&&) noexcept = default;
    13147 };
    13148 
    13150 template<typename CharType>
    13151 using output_adapter_t = std::shared_ptr<output_adapter_protocol<CharType>>;
    13152 
    13154 template<typename CharType>
    13156 {
    13157  public:
    13158  explicit output_vector_adapter(std::vector<CharType>& vec) noexcept
    13159  : v(vec)
    13160  {}
    13161 
    13162  void write_character(CharType c) override
    13163  {
    13164  v.push_back(c);
    13165  }
    13166 
    13168  void write_characters(const CharType* s, std::size_t length) override
    13169  {
    13170  std::copy(s, s + length, std::back_inserter(v));
    13171  }
    13172 
    13173  private:
    13174  std::vector<CharType>& v;
    13175 };
    13176 
    13178 template<typename CharType>
    13180 {
    13181  public:
    13182  explicit output_stream_adapter(std::basic_ostream<CharType>& s) noexcept
    13183  : stream(s)
    13184  {}
    13185 
    13186  void write_character(CharType c) override
    13187  {
    13188  stream.put(c);
    13189  }
    13190 
    13192  void write_characters(const CharType* s, std::size_t length) override
    13193  {
    13194  stream.write(s, static_cast<std::streamsize>(length));
    13195  }
    13196 
    13197  private:
    13198  std::basic_ostream<CharType>& stream;
    13199 };
    13200 
    13202 template<typename CharType, typename StringType = std::basic_string<CharType>>
    13204 {
    13205  public:
    13206  explicit output_string_adapter(StringType& s) noexcept
    13207  : str(s)
    13208  {}
    13209 
    13210  void write_character(CharType c) override
    13211  {
    13212  str.push_back(c);
    13213  }
    13214 
    13216  void write_characters(const CharType* s, std::size_t length) override
    13217  {
    13218  str.append(s, length);
    13219  }
    13220 
    13221  private:
    13222  StringType& str;
    13223 };
    13224 
    13225 template<typename CharType, typename StringType = std::basic_string<CharType>>
    13227 {
    13228  public:
    13229  output_adapter(std::vector<CharType>& vec)
    13230  : oa(std::make_shared<output_vector_adapter<CharType>>(vec)) {}
    13231 
    13232  output_adapter(std::basic_ostream<CharType>& s)
    13233  : oa(std::make_shared<output_stream_adapter<CharType>>(s)) {}
    13234 
    13235  output_adapter(StringType& s)
    13236  : oa(std::make_shared<output_string_adapter<CharType, StringType>>(s)) {}
    13237 
    13239  {
    13240  return oa;
    13241  }
    13242 
    13243  private:
    13245 };
    13246 } // namespace detail
    13247 } // namespace nlohmann
    13248 
    13249 
    13250 namespace nlohmann
    13251 {
    13252 namespace detail
    13253 {
    13255 // binary writer //
    13257 
    13261 template<typename BasicJsonType, typename CharType>
    13263 {
    13264  using string_t = typename BasicJsonType::string_t;
    13265  using binary_t = typename BasicJsonType::binary_t;
    13266  using number_float_t = typename BasicJsonType::number_float_t;
    13267 
    13268  public:
    13274  explicit binary_writer(output_adapter_t<CharType> adapter) : oa(std::move(adapter))
    13275  {
    13276  JSON_ASSERT(oa);
    13277  }
    13278 
    13283  void write_bson(const BasicJsonType& j)
    13284  {
    13285  switch (j.type())
    13286  {
    13287  case value_t::object:
    13288  {
    13289  write_bson_object(*j.m_value.object);
    13290  break;
    13291  }
    13292 
    13293  default:
    13294  {
    13295  JSON_THROW(type_error::create(317, "to serialize to BSON, top-level type must be object, but is " + std::string(j.type_name()), j));;
    13296  }
    13297  }
    13298  }
    13299 
    13303  void write_cbor(const BasicJsonType& j)
    13304  {
    13305  switch (j.type())
    13306  {
    13307  case value_t::null:
    13308  {
    13309  oa->write_character(to_char_type(0xF6));
    13310  break;
    13311  }
    13312 
    13313  case value_t::boolean:
    13314  {
    13315  oa->write_character(j.m_value.boolean
    13316  ? to_char_type(0xF5)
    13317  : to_char_type(0xF4));
    13318  break;
    13319  }
    13320 
    13322  {
    13323  if (j.m_value.number_integer >= 0)
    13324  {
    13325  // CBOR does not differentiate between positive signed
    13326  // integers and unsigned integers. Therefore, we used the
    13327  // code from the value_t::number_unsigned case here.
    13328  if (j.m_value.number_integer <= 0x17)
    13329  {
    13330  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
    13331  }
    13332  else if (j.m_value.number_integer <= (std::numeric_limits<std::uint8_t>::max)())
    13333  {
    13334  oa->write_character(to_char_type(0x18));
    13335  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
    13336  }
    13337  else if (j.m_value.number_integer <= (std::numeric_limits<std::uint16_t>::max)())
    13338  {
    13339  oa->write_character(to_char_type(0x19));
    13340  write_number(static_cast<std::uint16_t>(j.m_value.number_integer));
    13341  }
    13342  else if (j.m_value.number_integer <= (std::numeric_limits<std::uint32_t>::max)())
    13343  {
    13344  oa->write_character(to_char_type(0x1A));
    13345  write_number(static_cast<std::uint32_t>(j.m_value.number_integer));
    13346  }
    13347  else
    13348  {
    13349  oa->write_character(to_char_type(0x1B));
    13350  write_number(static_cast<std::uint64_t>(j.m_value.number_integer));
    13351  }
    13352  }
    13353  else
    13354  {
    13355  // The conversions below encode the sign in the first
    13356  // byte, and the value is converted to a positive number.
    13357  const auto positive_number = -1 - j.m_value.number_integer;
    13358  if (j.m_value.number_integer >= -24)
    13359  {
    13360  write_number(static_cast<std::uint8_t>(0x20 + positive_number));
    13361  }
    13362  else if (positive_number <= (std::numeric_limits<std::uint8_t>::max)())
    13363  {
    13364  oa->write_character(to_char_type(0x38));
    13365  write_number(static_cast<std::uint8_t>(positive_number));
    13366  }
    13367  else if (positive_number <= (std::numeric_limits<std::uint16_t>::max)())
    13368  {
    13369  oa->write_character(to_char_type(0x39));
    13370  write_number(static_cast<std::uint16_t>(positive_number));
    13371  }
    13372  else if (positive_number <= (std::numeric_limits<std::uint32_t>::max)())
    13373  {
    13374  oa->write_character(to_char_type(0x3A));
    13375  write_number(static_cast<std::uint32_t>(positive_number));
    13376  }
    13377  else
    13378  {
    13379  oa->write_character(to_char_type(0x3B));
    13380  write_number(static_cast<std::uint64_t>(positive_number));
    13381  }
    13382  }
    13383  break;
    13384  }
    13385 
    13387  {
    13388  if (j.m_value.number_unsigned <= 0x17)
    13389  {
    13390  write_number(static_cast<std::uint8_t>(j.m_value.number_unsigned));
    13391  }
    13392  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint8_t>::max)())
    13393  {
    13394  oa->write_character(to_char_type(0x18));
    13395  write_number(static_cast<std::uint8_t>(j.m_value.number_unsigned));
    13396  }
    13397  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint16_t>::max)())
    13398  {
    13399  oa->write_character(to_char_type(0x19));
    13400  write_number(static_cast<std::uint16_t>(j.m_value.number_unsigned));
    13401  }
    13402  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint32_t>::max)())
    13403  {
    13404  oa->write_character(to_char_type(0x1A));
    13405  write_number(static_cast<std::uint32_t>(j.m_value.number_unsigned));
    13406  }
    13407  else
    13408  {
    13409  oa->write_character(to_char_type(0x1B));
    13410  write_number(static_cast<std::uint64_t>(j.m_value.number_unsigned));
    13411  }
    13412  break;
    13413  }
    13414 
    13415  case value_t::number_float:
    13416  {
    13417  if (std::isnan(j.m_value.number_float))
    13418  {
    13419  // NaN is 0xf97e00 in CBOR
    13420  oa->write_character(to_char_type(0xF9));
    13421  oa->write_character(to_char_type(0x7E));
    13422  oa->write_character(to_char_type(0x00));
    13423  }
    13424  else if (std::isinf(j.m_value.number_float))
    13425  {
    13426  // Infinity is 0xf97c00, -Infinity is 0xf9fc00
    13427  oa->write_character(to_char_type(0xf9));
    13428  oa->write_character(j.m_value.number_float > 0 ? to_char_type(0x7C) : to_char_type(0xFC));
    13429  oa->write_character(to_char_type(0x00));
    13430  }
    13431  else
    13432  {
    13433  write_compact_float(j.m_value.number_float, detail::input_format_t::cbor);
    13434  }
    13435  break;
    13436  }
    13437 
    13438  case value_t::string:
    13439  {
    13440  // step 1: write control byte and the string length
    13441  const auto N = j.m_value.string->size();
    13442  if (N <= 0x17)
    13443  {
    13444  write_number(static_cast<std::uint8_t>(0x60 + N));
    13445  }
    13446  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
    13447  {
    13448  oa->write_character(to_char_type(0x78));
    13449  write_number(static_cast<std::uint8_t>(N));
    13450  }
    13451  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
    13452  {
    13453  oa->write_character(to_char_type(0x79));
    13454  write_number(static_cast<std::uint16_t>(N));
    13455  }
    13456  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
    13457  {
    13458  oa->write_character(to_char_type(0x7A));
    13459  write_number(static_cast<std::uint32_t>(N));
    13460  }
    13461  // LCOV_EXCL_START
    13462  else if (N <= (std::numeric_limits<std::uint64_t>::max)())
    13463  {
    13464  oa->write_character(to_char_type(0x7B));
    13465  write_number(static_cast<std::uint64_t>(N));
    13466  }
    13467  // LCOV_EXCL_STOP
    13468 
    13469  // step 2: write the string
    13470  oa->write_characters(
    13471  reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
    13472  j.m_value.string->size());
    13473  break;
    13474  }
    13475 
    13476  case value_t::array:
    13477  {
    13478  // step 1: write control byte and the array size
    13479  const auto N = j.m_value.array->size();
    13480  if (N <= 0x17)
    13481  {
    13482  write_number(static_cast<std::uint8_t>(0x80 + N));
    13483  }
    13484  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
    13485  {
    13486  oa->write_character(to_char_type(0x98));
    13487  write_number(static_cast<std::uint8_t>(N));
    13488  }
    13489  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
    13490  {
    13491  oa->write_character(to_char_type(0x99));
    13492  write_number(static_cast<std::uint16_t>(N));
    13493  }
    13494  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
    13495  {
    13496  oa->write_character(to_char_type(0x9A));
    13497  write_number(static_cast<std::uint32_t>(N));
    13498  }
    13499  // LCOV_EXCL_START
    13500  else if (N <= (std::numeric_limits<std::uint64_t>::max)())
    13501  {
    13502  oa->write_character(to_char_type(0x9B));
    13503  write_number(static_cast<std::uint64_t>(N));
    13504  }
    13505  // LCOV_EXCL_STOP
    13506 
    13507  // step 2: write each element
    13508  for (const auto& el : *j.m_value.array)
    13509  {
    13510  write_cbor(el);
    13511  }
    13512  break;
    13513  }
    13514 
    13515  case value_t::binary:
    13516  {
    13517  if (j.m_value.binary->has_subtype())
    13518  {
    13519  write_number(static_cast<std::uint8_t>(0xd8));
    13520  write_number(j.m_value.binary->subtype());
    13521  }
    13522 
    13523  // step 1: write control byte and the binary array size
    13524  const auto N = j.m_value.binary->size();
    13525  if (N <= 0x17)
    13526  {
    13527  write_number(static_cast<std::uint8_t>(0x40 + N));
    13528  }
    13529  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
    13530  {
    13531  oa->write_character(to_char_type(0x58));
    13532  write_number(static_cast<std::uint8_t>(N));
    13533  }
    13534  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
    13535  {
    13536  oa->write_character(to_char_type(0x59));
    13537  write_number(static_cast<std::uint16_t>(N));
    13538  }
    13539  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
    13540  {
    13541  oa->write_character(to_char_type(0x5A));
    13542  write_number(static_cast<std::uint32_t>(N));
    13543  }
    13544  // LCOV_EXCL_START
    13545  else if (N <= (std::numeric_limits<std::uint64_t>::max)())
    13546  {
    13547  oa->write_character(to_char_type(0x5B));
    13548  write_number(static_cast<std::uint64_t>(N));
    13549  }
    13550  // LCOV_EXCL_STOP
    13551 
    13552  // step 2: write each element
    13553  oa->write_characters(
    13554  reinterpret_cast<const CharType*>(j.m_value.binary->data()),
    13555  N);
    13556 
    13557  break;
    13558  }
    13559 
    13560  case value_t::object:
    13561  {
    13562  // step 1: write control byte and the object size
    13563  const auto N = j.m_value.object->size();
    13564  if (N <= 0x17)
    13565  {
    13566  write_number(static_cast<std::uint8_t>(0xA0 + N));
    13567  }
    13568  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
    13569  {
    13570  oa->write_character(to_char_type(0xB8));
    13571  write_number(static_cast<std::uint8_t>(N));
    13572  }
    13573  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
    13574  {
    13575  oa->write_character(to_char_type(0xB9));
    13576  write_number(static_cast<std::uint16_t>(N));
    13577  }
    13578  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
    13579  {
    13580  oa->write_character(to_char_type(0xBA));
    13581  write_number(static_cast<std::uint32_t>(N));
    13582  }
    13583  // LCOV_EXCL_START
    13584  else if (N <= (std::numeric_limits<std::uint64_t>::max)())
    13585  {
    13586  oa->write_character(to_char_type(0xBB));
    13587  write_number(static_cast<std::uint64_t>(N));
    13588  }
    13589  // LCOV_EXCL_STOP
    13590 
    13591  // step 2: write each element
    13592  for (const auto& el : *j.m_value.object)
    13593  {
    13594  write_cbor(el.first);
    13595  write_cbor(el.second);
    13596  }
    13597  break;
    13598  }
    13599 
    13600  default:
    13601  break;
    13602  }
    13603  }
    13604 
    13608  void write_msgpack(const BasicJsonType& j)
    13609  {
    13610  switch (j.type())
    13611  {
    13612  case value_t::null: // nil
    13613  {
    13614  oa->write_character(to_char_type(0xC0));
    13615  break;
    13616  }
    13617 
    13618  case value_t::boolean: // true and false
    13619  {
    13620  oa->write_character(j.m_value.boolean
    13621  ? to_char_type(0xC3)
    13622  : to_char_type(0xC2));
    13623  break;
    13624  }
    13625 
    13627  {
    13628  if (j.m_value.number_integer >= 0)
    13629  {
    13630  // MessagePack does not differentiate between positive
    13631  // signed integers and unsigned integers. Therefore, we used
    13632  // the code from the value_t::number_unsigned case here.
    13633  if (j.m_value.number_unsigned < 128)
    13634  {
    13635  // positive fixnum
    13636  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
    13637  }
    13638  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint8_t>::max)())
    13639  {
    13640  // uint 8
    13641  oa->write_character(to_char_type(0xCC));
    13642  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
    13643  }
    13644  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint16_t>::max)())
    13645  {
    13646  // uint 16
    13647  oa->write_character(to_char_type(0xCD));
    13648  write_number(static_cast<std::uint16_t>(j.m_value.number_integer));
    13649  }
    13650  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint32_t>::max)())
    13651  {
    13652  // uint 32
    13653  oa->write_character(to_char_type(0xCE));
    13654  write_number(static_cast<std::uint32_t>(j.m_value.number_integer));
    13655  }
    13656  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint64_t>::max)())
    13657  {
    13658  // uint 64
    13659  oa->write_character(to_char_type(0xCF));
    13660  write_number(static_cast<std::uint64_t>(j.m_value.number_integer));
    13661  }
    13662  }
    13663  else
    13664  {
    13665  if (j.m_value.number_integer >= -32)
    13666  {
    13667  // negative fixnum
    13668  write_number(static_cast<std::int8_t>(j.m_value.number_integer));
    13669  }
    13670  else if (j.m_value.number_integer >= (std::numeric_limits<std::int8_t>::min)() &&
    13671  j.m_value.number_integer <= (std::numeric_limits<std::int8_t>::max)())
    13672  {
    13673  // int 8
    13674  oa->write_character(to_char_type(0xD0));
    13675  write_number(static_cast<std::int8_t>(j.m_value.number_integer));
    13676  }
    13677  else if (j.m_value.number_integer >= (std::numeric_limits<std::int16_t>::min)() &&
    13678  j.m_value.number_integer <= (std::numeric_limits<std::int16_t>::max)())
    13679  {
    13680  // int 16
    13681  oa->write_character(to_char_type(0xD1));
    13682  write_number(static_cast<std::int16_t>(j.m_value.number_integer));
    13683  }
    13684  else if (j.m_value.number_integer >= (std::numeric_limits<std::int32_t>::min)() &&
    13685  j.m_value.number_integer <= (std::numeric_limits<std::int32_t>::max)())
    13686  {
    13687  // int 32
    13688  oa->write_character(to_char_type(0xD2));
    13689  write_number(static_cast<std::int32_t>(j.m_value.number_integer));
    13690  }
    13691  else if (j.m_value.number_integer >= (std::numeric_limits<std::int64_t>::min)() &&
    13692  j.m_value.number_integer <= (std::numeric_limits<std::int64_t>::max)())
    13693  {
    13694  // int 64
    13695  oa->write_character(to_char_type(0xD3));
    13696  write_number(static_cast<std::int64_t>(j.m_value.number_integer));
    13697  }
    13698  }
    13699  break;
    13700  }
    13701 
    13703  {
    13704  if (j.m_value.number_unsigned < 128)
    13705  {
    13706  // positive fixnum
    13707  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
    13708  }
    13709  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint8_t>::max)())
    13710  {
    13711  // uint 8
    13712  oa->write_character(to_char_type(0xCC));
    13713  write_number(static_cast<std::uint8_t>(j.m_value.number_integer));
    13714  }
    13715  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint16_t>::max)())
    13716  {
    13717  // uint 16
    13718  oa->write_character(to_char_type(0xCD));
    13719  write_number(static_cast<std::uint16_t>(j.m_value.number_integer));
    13720  }
    13721  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint32_t>::max)())
    13722  {
    13723  // uint 32
    13724  oa->write_character(to_char_type(0xCE));
    13725  write_number(static_cast<std::uint32_t>(j.m_value.number_integer));
    13726  }
    13727  else if (j.m_value.number_unsigned <= (std::numeric_limits<std::uint64_t>::max)())
    13728  {
    13729  // uint 64
    13730  oa->write_character(to_char_type(0xCF));
    13731  write_number(static_cast<std::uint64_t>(j.m_value.number_integer));
    13732  }
    13733  break;
    13734  }
    13735 
    13736  case value_t::number_float:
    13737  {
    13738  write_compact_float(j.m_value.number_float, detail::input_format_t::msgpack);
    13739  break;
    13740  }
    13741 
    13742  case value_t::string:
    13743  {
    13744  // step 1: write control byte and the string length
    13745  const auto N = j.m_value.string->size();
    13746  if (N <= 31)
    13747  {
    13748  // fixstr
    13749  write_number(static_cast<std::uint8_t>(0xA0 | N));
    13750  }
    13751  else if (N <= (std::numeric_limits<std::uint8_t>::max)())
    13752  {
    13753  // str 8
    13754  oa->write_character(to_char_type(0xD9));
    13755  write_number(static_cast<std::uint8_t>(N));
    13756  }
    13757  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
    13758  {
    13759  // str 16
    13760  oa->write_character(to_char_type(0xDA));
    13761  write_number(static_cast<std::uint16_t>(N));
    13762  }
    13763  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
    13764  {
    13765  // str 32
    13766  oa->write_character(to_char_type(0xDB));
    13767  write_number(static_cast<std::uint32_t>(N));
    13768  }
    13769 
    13770  // step 2: write the string
    13771  oa->write_characters(
    13772  reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
    13773  j.m_value.string->size());
    13774  break;
    13775  }
    13776 
    13777  case value_t::array:
    13778  {
    13779  // step 1: write control byte and the array size
    13780  const auto N = j.m_value.array->size();
    13781  if (N <= 15)
    13782  {
    13783  // fixarray
    13784  write_number(static_cast<std::uint8_t>(0x90 | N));
    13785  }
    13786  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
    13787  {
    13788  // array 16
    13789  oa->write_character(to_char_type(0xDC));
    13790  write_number(static_cast<std::uint16_t>(N));
    13791  }
    13792  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
    13793  {
    13794  // array 32
    13795  oa->write_character(to_char_type(0xDD));
    13796  write_number(static_cast<std::uint32_t>(N));
    13797  }
    13798 
    13799  // step 2: write each element
    13800  for (const auto& el : *j.m_value.array)
    13801  {
    13802  write_msgpack(el);
    13803  }
    13804  break;
    13805  }
    13806 
    13807  case value_t::binary:
    13808  {
    13809  // step 0: determine if the binary type has a set subtype to
    13810  // determine whether or not to use the ext or fixext types
    13811  const bool use_ext = j.m_value.binary->has_subtype();
    13812 
    13813  // step 1: write control byte and the byte string length
    13814  const auto N = j.m_value.binary->size();
    13815  if (N <= (std::numeric_limits<std::uint8_t>::max)())
    13816  {
    13817  std::uint8_t output_type{};
    13818  bool fixed = true;
    13819  if (use_ext)
    13820  {
    13821  switch (N)
    13822  {
    13823  case 1:
    13824  output_type = 0xD4; // fixext 1
    13825  break;
    13826  case 2:
    13827  output_type = 0xD5; // fixext 2
    13828  break;
    13829  case 4:
    13830  output_type = 0xD6; // fixext 4
    13831  break;
    13832  case 8:
    13833  output_type = 0xD7; // fixext 8
    13834  break;
    13835  case 16:
    13836  output_type = 0xD8; // fixext 16
    13837  break;
    13838  default:
    13839  output_type = 0xC7; // ext 8
    13840  fixed = false;
    13841  break;
    13842  }
    13843 
    13844  }
    13845  else
    13846  {
    13847  output_type = 0xC4; // bin 8
    13848  fixed = false;
    13849  }
    13850 
    13851  oa->write_character(to_char_type(output_type));
    13852  if (!fixed)
    13853  {
    13854  write_number(static_cast<std::uint8_t>(N));
    13855  }
    13856  }
    13857  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
    13858  {
    13859  std::uint8_t output_type = use_ext
    13860  ? 0xC8 // ext 16
    13861  : 0xC5; // bin 16
    13862 
    13863  oa->write_character(to_char_type(output_type));
    13864  write_number(static_cast<std::uint16_t>(N));
    13865  }
    13866  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
    13867  {
    13868  std::uint8_t output_type = use_ext
    13869  ? 0xC9 // ext 32
    13870  : 0xC6; // bin 32
    13871 
    13872  oa->write_character(to_char_type(output_type));
    13873  write_number(static_cast<std::uint32_t>(N));
    13874  }
    13875 
    13876  // step 1.5: if this is an ext type, write the subtype
    13877  if (use_ext)
    13878  {
    13879  write_number(static_cast<std::int8_t>(j.m_value.binary->subtype()));
    13880  }
    13881 
    13882  // step 2: write the byte string
    13883  oa->write_characters(
    13884  reinterpret_cast<const CharType*>(j.m_value.binary->data()),
    13885  N);
    13886 
    13887  break;
    13888  }
    13889 
    13890  case value_t::object:
    13891  {
    13892  // step 1: write control byte and the object size
    13893  const auto N = j.m_value.object->size();
    13894  if (N <= 15)
    13895  {
    13896  // fixmap
    13897  write_number(static_cast<std::uint8_t>(0x80 | (N & 0xF)));
    13898  }
    13899  else if (N <= (std::numeric_limits<std::uint16_t>::max)())
    13900  {
    13901  // map 16
    13902  oa->write_character(to_char_type(0xDE));
    13903  write_number(static_cast<std::uint16_t>(N));
    13904  }
    13905  else if (N <= (std::numeric_limits<std::uint32_t>::max)())
    13906  {
    13907  // map 32
    13908  oa->write_character(to_char_type(0xDF));
    13909  write_number(static_cast<std::uint32_t>(N));
    13910  }
    13911 
    13912  // step 2: write each element
    13913  for (const auto& el : *j.m_value.object)
    13914  {
    13915  write_msgpack(el.first);
    13916  write_msgpack(el.second);
    13917  }
    13918  break;
    13919  }
    13920 
    13921  default:
    13922  break;
    13923  }
    13924  }
    13925 
    13932  void write_ubjson(const BasicJsonType& j, const bool use_count,
    13933  const bool use_type, const bool add_prefix = true)
    13934  {
    13935  switch (j.type())
    13936  {
    13937  case value_t::null:
    13938  {
    13939  if (add_prefix)
    13940  {
    13941  oa->write_character(to_char_type('Z'));
    13942  }
    13943  break;
    13944  }
    13945 
    13946  case value_t::boolean:
    13947  {
    13948  if (add_prefix)
    13949  {
    13950  oa->write_character(j.m_value.boolean
    13951  ? to_char_type('T')
    13952  : to_char_type('F'));
    13953  }
    13954  break;
    13955  }
    13956 
    13958  {
    13959  write_number_with_ubjson_prefix(j.m_value.number_integer, add_prefix);
    13960  break;
    13961  }
    13962 
    13964  {
    13965  write_number_with_ubjson_prefix(j.m_value.number_unsigned, add_prefix);
    13966  break;
    13967  }
    13968 
    13969  case value_t::number_float:
    13970  {
    13971  write_number_with_ubjson_prefix(j.m_value.number_float, add_prefix);
    13972  break;
    13973  }
    13974 
    13975  case value_t::string:
    13976  {
    13977  if (add_prefix)
    13978  {
    13979  oa->write_character(to_char_type('S'));
    13980  }
    13981  write_number_with_ubjson_prefix(j.m_value.string->size(), true);
    13982  oa->write_characters(
    13983  reinterpret_cast<const CharType*>(j.m_value.string->c_str()),
    13984  j.m_value.string->size());
    13985  break;
    13986  }
    13987 
    13988  case value_t::array:
    13989  {
    13990  if (add_prefix)
    13991  {
    13992  oa->write_character(to_char_type('['));
    13993  }
    13994 
    13995  bool prefix_required = true;
    13996  if (use_type && !j.m_value.array->empty())
    13997  {
    13998  JSON_ASSERT(use_count);
    13999  const CharType first_prefix = ubjson_prefix(j.front());
    14000  const bool same_prefix = std::all_of(j.begin() + 1, j.end(),
    14001  [this, first_prefix](const BasicJsonType & v)
    14002  {
    14003  return ubjson_prefix(v) == first_prefix;
    14004  });
    14005 
    14006  if (same_prefix)
    14007  {
    14008  prefix_required = false;
    14009  oa->write_character(to_char_type('$'));
    14010  oa->write_character(first_prefix);
    14011  }
    14012  }
    14013 
    14014  if (use_count)
    14015  {
    14016  oa->write_character(to_char_type('#'));
    14017  write_number_with_ubjson_prefix(j.m_value.array->size(), true);
    14018  }
    14019 
    14020  for (const auto& el : *j.m_value.array)
    14021  {
    14022  write_ubjson(el, use_count, use_type, prefix_required);
    14023  }
    14024 
    14025  if (!use_count)
    14026  {
    14027  oa->write_character(to_char_type(']'));
    14028  }
    14029 
    14030  break;
    14031  }
    14032 
    14033  case value_t::binary:
    14034  {
    14035  if (add_prefix)
    14036  {
    14037  oa->write_character(to_char_type('['));
    14038  }
    14039 
    14040  if (use_type && !j.m_value.binary->empty())
    14041  {
    14042  JSON_ASSERT(use_count);
    14043  oa->write_character(to_char_type('$'));
    14044  oa->write_character('U');
    14045  }
    14046 
    14047  if (use_count)
    14048  {
    14049  oa->write_character(to_char_type('#'));
    14050  write_number_with_ubjson_prefix(j.m_value.binary->size(), true);
    14051  }
    14052 
    14053  if (use_type)
    14054  {
    14055  oa->write_characters(
    14056  reinterpret_cast<const CharType*>(j.m_value.binary->data()),
    14057  j.m_value.binary->size());
    14058  }
    14059  else
    14060  {
    14061  for (size_t i = 0; i < j.m_value.binary->size(); ++i)
    14062  {
    14063  oa->write_character(to_char_type('U'));
    14064  oa->write_character(j.m_value.binary->data()[i]);
    14065  }
    14066  }
    14067 
    14068  if (!use_count)
    14069  {
    14070  oa->write_character(to_char_type(']'));
    14071  }
    14072 
    14073  break;
    14074  }
    14075 
    14076  case value_t::object:
    14077  {
    14078  if (add_prefix)
    14079  {
    14080  oa->write_character(to_char_type('{'));
    14081  }
    14082 
    14083  bool prefix_required = true;
    14084  if (use_type && !j.m_value.object->empty())
    14085  {
    14086  JSON_ASSERT(use_count);
    14087  const CharType first_prefix = ubjson_prefix(j.front());
    14088  const bool same_prefix = std::all_of(j.begin(), j.end(),
    14089  [this, first_prefix](const BasicJsonType & v)
    14090  {
    14091  return ubjson_prefix(v) == first_prefix;
    14092  });
    14093 
    14094  if (same_prefix)
    14095  {
    14096  prefix_required = false;
    14097  oa->write_character(to_char_type('$'));
    14098  oa->write_character(first_prefix);
    14099  }
    14100  }
    14101 
    14102  if (use_count)
    14103  {
    14104  oa->write_character(to_char_type('#'));
    14105  write_number_with_ubjson_prefix(j.m_value.object->size(), true);
    14106  }
    14107 
    14108  for (const auto& el : *j.m_value.object)
    14109  {
    14110  write_number_with_ubjson_prefix(el.first.size(), true);
    14111  oa->write_characters(
    14112  reinterpret_cast<const CharType*>(el.first.c_str()),
    14113  el.first.size());
    14114  write_ubjson(el.second, use_count, use_type, prefix_required);
    14115  }
    14116 
    14117  if (!use_count)
    14118  {
    14119  oa->write_character(to_char_type('}'));
    14120  }
    14121 
    14122  break;
    14123  }
    14124 
    14125  default:
    14126  break;
    14127  }
    14128  }
    14129 
    14130  private:
    14132  // BSON //
    14134 
    14139  static std::size_t calc_bson_entry_header_size(const string_t& name, const BasicJsonType& j)
    14140  {
    14141  const auto it = name.find(static_cast<typename string_t::value_type>(0));
    14142  if (JSON_HEDLEY_UNLIKELY(it != BasicJsonType::string_t::npos))
    14143  {
    14144  JSON_THROW(out_of_range::create(409, "BSON key cannot contain code point U+0000 (at byte " + std::to_string(it) + ")", j));
    14145  }
    14146 
    14147  return /*id*/ 1ul + name.size() + /*zero-terminator*/1u;
    14148  }
    14149 
    14154  const std::uint8_t element_type)
    14155  {
    14156  oa->write_character(to_char_type(element_type)); // boolean
    14157  oa->write_characters(
    14158  reinterpret_cast<const CharType*>(name.c_str()),
    14159  name.size() + 1u);
    14160  }
    14161 
    14165  void write_bson_boolean(const string_t& name,
    14166  const bool value)
    14167  {
    14168  write_bson_entry_header(name, 0x08);
    14169  oa->write_character(value ? to_char_type(0x01) : to_char_type(0x00));
    14170  }
    14171 
    14175  void write_bson_double(const string_t& name,
    14176  const double value)
    14177  {
    14178  write_bson_entry_header(name, 0x01);
    14179  write_number<double, true>(value);
    14180  }
    14181 
    14185  static std::size_t calc_bson_string_size(const string_t& value)
    14186  {
    14187  return sizeof(std::int32_t) + value.size() + 1ul;
    14188  }
    14189 
    14193  void write_bson_string(const string_t& name,
    14194  const string_t& value)
    14195  {
    14196  write_bson_entry_header(name, 0x02);
    14197 
    14198  write_number<std::int32_t, true>(static_cast<std::int32_t>(value.size() + 1ul));
    14199  oa->write_characters(
    14200  reinterpret_cast<const CharType*>(value.c_str()),
    14201  value.size() + 1);
    14202  }
    14203 
    14207  void write_bson_null(const string_t& name)
    14208  {
    14209  write_bson_entry_header(name, 0x0A);
    14210  }
    14211 
    14215  static std::size_t calc_bson_integer_size(const std::int64_t value)
    14216  {
    14217  return (std::numeric_limits<std::int32_t>::min)() <= value && value <= (std::numeric_limits<std::int32_t>::max)()
    14218  ? sizeof(std::int32_t)
    14219  : sizeof(std::int64_t);
    14220  }
    14221 
    14225  void write_bson_integer(const string_t& name,
    14226  const std::int64_t value)
    14227  {
    14228  if ((std::numeric_limits<std::int32_t>::min)() <= value && value <= (std::numeric_limits<std::int32_t>::max)())
    14229  {
    14230  write_bson_entry_header(name, 0x10); // int32
    14231  write_number<std::int32_t, true>(static_cast<std::int32_t>(value));
    14232  }
    14233  else
    14234  {
    14235  write_bson_entry_header(name, 0x12); // int64
    14236  write_number<std::int64_t, true>(static_cast<std::int64_t>(value));
    14237  }
    14238  }
    14239 
    14243  static constexpr std::size_t calc_bson_unsigned_size(const std::uint64_t value) noexcept
    14244  {
    14245  return (value <= static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)()))
    14246  ? sizeof(std::int32_t)
    14247  : sizeof(std::int64_t);
    14248  }
    14249 
    14253  void write_bson_unsigned(const string_t& name,
    14254  const BasicJsonType& j)
    14255  {
    14256  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)()))
    14257  {
    14258  write_bson_entry_header(name, 0x10 /* int32 */);
    14259  write_number<std::int32_t, true>(static_cast<std::int32_t>(j.m_value.number_unsigned));
    14260  }
    14261  else if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::int64_t>::max)()))
    14262  {
    14263  write_bson_entry_header(name, 0x12 /* int64 */);
    14264  write_number<std::int64_t, true>(static_cast<std::int64_t>(j.m_value.number_unsigned));
    14265  }
    14266  else
    14267  {
    14268  JSON_THROW(out_of_range::create(407, "integer number " + std::to_string(j.m_value.number_unsigned) + " cannot be represented by BSON as it does not fit int64", j));
    14269  }
    14270  }
    14271 
    14276  const typename BasicJsonType::object_t& value)
    14277  {
    14278  write_bson_entry_header(name, 0x03); // object
    14279  write_bson_object(value);
    14280  }
    14281 
    14285  static std::size_t calc_bson_array_size(const typename BasicJsonType::array_t& value)
    14286  {
    14287  std::size_t array_index = 0ul;
    14288 
    14289  const std::size_t embedded_document_size = std::accumulate(std::begin(value), std::end(value), std::size_t(0), [&array_index](std::size_t result, const typename BasicJsonType::array_t::value_type & el)
    14290  {
    14291  return result + calc_bson_element_size(std::to_string(array_index++), el);
    14292  });
    14293 
    14294  return sizeof(std::int32_t) + embedded_document_size + 1ul;
    14295  }
    14296 
    14300  static std::size_t calc_bson_binary_size(const typename BasicJsonType::binary_t& value)
    14301  {
    14302  return sizeof(std::int32_t) + value.size() + 1ul;
    14303  }
    14304 
    14308  void write_bson_array(const string_t& name,
    14309  const typename BasicJsonType::array_t& value)
    14310  {
    14311  write_bson_entry_header(name, 0x04); // array
    14312  write_number<std::int32_t, true>(static_cast<std::int32_t>(calc_bson_array_size(value)));
    14313 
    14314  std::size_t array_index = 0ul;
    14315 
    14316  for (const auto& el : value)
    14317  {
    14318  write_bson_element(std::to_string(array_index++), el);
    14319  }
    14320 
    14321  oa->write_character(to_char_type(0x00));
    14322  }
    14323 
    14327  void write_bson_binary(const string_t& name,
    14328  const binary_t& value)
    14329  {
    14330  write_bson_entry_header(name, 0x05);
    14331 
    14332  write_number<std::int32_t, true>(static_cast<std::int32_t>(value.size()));
    14333  write_number(value.has_subtype() ? value.subtype() : std::uint8_t(0x00));
    14334 
    14335  oa->write_characters(reinterpret_cast<const CharType*>(value.data()), value.size());
    14336  }
    14337 
    14342  static std::size_t calc_bson_element_size(const string_t& name,
    14343  const BasicJsonType& j)
    14344  {
    14345  const auto header_size = calc_bson_entry_header_size(name, j);
    14346  switch (j.type())
    14347  {
    14348  case value_t::object:
    14349  return header_size + calc_bson_object_size(*j.m_value.object);
    14350 
    14351  case value_t::array:
    14352  return header_size + calc_bson_array_size(*j.m_value.array);
    14353 
    14354  case value_t::binary:
    14355  return header_size + calc_bson_binary_size(*j.m_value.binary);
    14356 
    14357  case value_t::boolean:
    14358  return header_size + 1ul;
    14359 
    14360  case value_t::number_float:
    14361  return header_size + 8ul;
    14362 
    14364  return header_size + calc_bson_integer_size(j.m_value.number_integer);
    14365 
    14367  return header_size + calc_bson_unsigned_size(j.m_value.number_unsigned);
    14368 
    14369  case value_t::string:
    14370  return header_size + calc_bson_string_size(*j.m_value.string);
    14371 
    14372  case value_t::null:
    14373  return header_size + 0ul;
    14374 
    14375  // LCOV_EXCL_START
    14376  default:
    14377  JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert)
    14378  return 0ul;
    14379  // LCOV_EXCL_STOP
    14380  }
    14381  }
    14382 
    14389  void write_bson_element(const string_t& name,
    14390  const BasicJsonType& j)
    14391  {
    14392  switch (j.type())
    14393  {
    14394  case value_t::object:
    14395  return write_bson_object_entry(name, *j.m_value.object);
    14396 
    14397  case value_t::array:
    14398  return write_bson_array(name, *j.m_value.array);
    14399 
    14400  case value_t::binary:
    14401  return write_bson_binary(name, *j.m_value.binary);
    14402 
    14403  case value_t::boolean:
    14404  return write_bson_boolean(name, j.m_value.boolean);
    14405 
    14406  case value_t::number_float:
    14407  return write_bson_double(name, j.m_value.number_float);
    14408 
    14410  return write_bson_integer(name, j.m_value.number_integer);
    14411 
    14413  return write_bson_unsigned(name, j);
    14414 
    14415  case value_t::string:
    14416  return write_bson_string(name, *j.m_value.string);
    14417 
    14418  case value_t::null:
    14419  return write_bson_null(name);
    14420 
    14421  // LCOV_EXCL_START
    14422  default:
    14423  JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert)
    14424  return;
    14425  // LCOV_EXCL_STOP
    14426  }
    14427  }
    14428 
    14435  static std::size_t calc_bson_object_size(const typename BasicJsonType::object_t& value)
    14436  {
    14437  std::size_t document_size = std::accumulate(value.begin(), value.end(), std::size_t(0),
    14438  [](size_t result, const typename BasicJsonType::object_t::value_type & el)
    14439  {
    14440  return result += calc_bson_element_size(el.first, el.second);
    14441  });
    14442 
    14443  return sizeof(std::int32_t) + document_size + 1ul;
    14444  }
    14445 
    14450  void write_bson_object(const typename BasicJsonType::object_t& value)
    14451  {
    14452  write_number<std::int32_t, true>(static_cast<std::int32_t>(calc_bson_object_size(value)));
    14453 
    14454  for (const auto& el : value)
    14455  {
    14456  write_bson_element(el.first, el.second);
    14457  }
    14458 
    14459  oa->write_character(to_char_type(0x00));
    14460  }
    14461 
    14463  // CBOR //
    14465 
    14466  static constexpr CharType get_cbor_float_prefix(float /*unused*/)
    14467  {
    14468  return to_char_type(0xFA); // Single-Precision Float
    14469  }
    14470 
    14471  static constexpr CharType get_cbor_float_prefix(double /*unused*/)
    14472  {
    14473  return to_char_type(0xFB); // Double-Precision Float
    14474  }
    14475 
    14477  // MsgPack //
    14479 
    14480  static constexpr CharType get_msgpack_float_prefix(float /*unused*/)
    14481  {
    14482  return to_char_type(0xCA); // float 32
    14483  }
    14484 
    14485  static constexpr CharType get_msgpack_float_prefix(double /*unused*/)
    14486  {
    14487  return to_char_type(0xCB); // float 64
    14488  }
    14489 
    14491  // UBJSON //
    14493 
    14494  // UBJSON: write number (floating point)
    14495  template<typename NumberType, typename std::enable_if<
    14496  std::is_floating_point<NumberType>::value, int>::type = 0>
    14497  void write_number_with_ubjson_prefix(const NumberType n,
    14498  const bool add_prefix)
    14499  {
    14500  if (add_prefix)
    14501  {
    14502  oa->write_character(get_ubjson_float_prefix(n));
    14503  }
    14504  write_number(n);
    14505  }
    14506 
    14507  // UBJSON: write number (unsigned integer)
    14508  template<typename NumberType, typename std::enable_if<
    14509  std::is_unsigned<NumberType>::value, int>::type = 0>
    14510  void write_number_with_ubjson_prefix(const NumberType n,
    14511  const bool add_prefix)
    14512  {
    14513  if (n <= static_cast<std::uint64_t>((std::numeric_limits<std::int8_t>::max)()))
    14514  {
    14515  if (add_prefix)
    14516  {
    14517  oa->write_character(to_char_type('i')); // int8
    14518  }
    14519  write_number(static_cast<std::uint8_t>(n));
    14520  }
    14521  else if (n <= (std::numeric_limits<std::uint8_t>::max)())
    14522  {
    14523  if (add_prefix)
    14524  {
    14525  oa->write_character(to_char_type('U')); // uint8
    14526  }
    14527  write_number(static_cast<std::uint8_t>(n));
    14528  }
    14529  else if (n <= static_cast<std::uint64_t>((std::numeric_limits<std::int16_t>::max)()))
    14530  {
    14531  if (add_prefix)
    14532  {
    14533  oa->write_character(to_char_type('I')); // int16
    14534  }
    14535  write_number(static_cast<std::int16_t>(n));
    14536  }
    14537  else if (n <= static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)()))
    14538  {
    14539  if (add_prefix)
    14540  {
    14541  oa->write_character(to_char_type('l')); // int32
    14542  }
    14543  write_number(static_cast<std::int32_t>(n));
    14544  }
    14545  else if (n <= static_cast<std::uint64_t>((std::numeric_limits<std::int64_t>::max)()))
    14546  {
    14547  if (add_prefix)
    14548  {
    14549  oa->write_character(to_char_type('L')); // int64
    14550  }
    14551  write_number(static_cast<std::int64_t>(n));
    14552  }
    14553  else
    14554  {
    14555  if (add_prefix)
    14556  {
    14557  oa->write_character(to_char_type('H')); // high-precision number
    14558  }
    14559 
    14560  const auto number = BasicJsonType(n).dump();
    14561  write_number_with_ubjson_prefix(number.size(), true);
    14562  for (std::size_t i = 0; i < number.size(); ++i)
    14563  {
    14564  oa->write_character(to_char_type(static_cast<std::uint8_t>(number[i])));
    14565  }
    14566  }
    14567  }
    14568 
    14569  // UBJSON: write number (signed integer)
    14570  template < typename NumberType, typename std::enable_if <
    14571  std::is_signed<NumberType>::value&&
    14572  !std::is_floating_point<NumberType>::value, int >::type = 0 >
    14573  void write_number_with_ubjson_prefix(const NumberType n,
    14574  const bool add_prefix)
    14575  {
    14576  if ((std::numeric_limits<std::int8_t>::min)() <= n && n <= (std::numeric_limits<std::int8_t>::max)())
    14577  {
    14578  if (add_prefix)
    14579  {
    14580  oa->write_character(to_char_type('i')); // int8
    14581  }
    14582  write_number(static_cast<std::int8_t>(n));
    14583  }
    14584  else if (static_cast<std::int64_t>((std::numeric_limits<std::uint8_t>::min)()) <= n && n <= static_cast<std::int64_t>((std::numeric_limits<std::uint8_t>::max)()))
    14585  {
    14586  if (add_prefix)
    14587  {
    14588  oa->write_character(to_char_type('U')); // uint8
    14589  }
    14590  write_number(static_cast<std::uint8_t>(n));
    14591  }
    14592  else if ((std::numeric_limits<std::int16_t>::min)() <= n && n <= (std::numeric_limits<std::int16_t>::max)())
    14593  {
    14594  if (add_prefix)
    14595  {
    14596  oa->write_character(to_char_type('I')); // int16
    14597  }
    14598  write_number(static_cast<std::int16_t>(n));
    14599  }
    14600  else if ((std::numeric_limits<std::int32_t>::min)() <= n && n <= (std::numeric_limits<std::int32_t>::max)())
    14601  {
    14602  if (add_prefix)
    14603  {
    14604  oa->write_character(to_char_type('l')); // int32
    14605  }
    14606  write_number(static_cast<std::int32_t>(n));
    14607  }
    14608  else if ((std::numeric_limits<std::int64_t>::min)() <= n && n <= (std::numeric_limits<std::int64_t>::max)())
    14609  {
    14610  if (add_prefix)
    14611  {
    14612  oa->write_character(to_char_type('L')); // int64
    14613  }
    14614  write_number(static_cast<std::int64_t>(n));
    14615  }
    14616  // LCOV_EXCL_START
    14617  else
    14618  {
    14619  if (add_prefix)
    14620  {
    14621  oa->write_character(to_char_type('H')); // high-precision number
    14622  }
    14623 
    14624  const auto number = BasicJsonType(n).dump();
    14625  write_number_with_ubjson_prefix(number.size(), true);
    14626  for (std::size_t i = 0; i < number.size(); ++i)
    14627  {
    14628  oa->write_character(to_char_type(static_cast<std::uint8_t>(number[i])));
    14629  }
    14630  }
    14631  // LCOV_EXCL_STOP
    14632  }
    14633 
    14637  CharType ubjson_prefix(const BasicJsonType& j) const noexcept
    14638  {
    14639  switch (j.type())
    14640  {
    14641  case value_t::null:
    14642  return 'Z';
    14643 
    14644  case value_t::boolean:
    14645  return j.m_value.boolean ? 'T' : 'F';
    14646 
    14648  {
    14649  if ((std::numeric_limits<std::int8_t>::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits<std::int8_t>::max)())
    14650  {
    14651  return 'i';
    14652  }
    14653  if ((std::numeric_limits<std::uint8_t>::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits<std::uint8_t>::max)())
    14654  {
    14655  return 'U';
    14656  }
    14657  if ((std::numeric_limits<std::int16_t>::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits<std::int16_t>::max)())
    14658  {
    14659  return 'I';
    14660  }
    14661  if ((std::numeric_limits<std::int32_t>::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits<std::int32_t>::max)())
    14662  {
    14663  return 'l';
    14664  }
    14665  if ((std::numeric_limits<std::int64_t>::min)() <= j.m_value.number_integer && j.m_value.number_integer <= (std::numeric_limits<std::int64_t>::max)())
    14666  {
    14667  return 'L';
    14668  }
    14669  // anything else is treated as high-precision number
    14670  return 'H'; // LCOV_EXCL_LINE
    14671  }
    14672 
    14674  {
    14675  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::int8_t>::max)()))
    14676  {
    14677  return 'i';
    14678  }
    14679  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::uint8_t>::max)()))
    14680  {
    14681  return 'U';
    14682  }
    14683  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::int16_t>::max)()))
    14684  {
    14685  return 'I';
    14686  }
    14687  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)()))
    14688  {
    14689  return 'l';
    14690  }
    14691  if (j.m_value.number_unsigned <= static_cast<std::uint64_t>((std::numeric_limits<std::int64_t>::max)()))
    14692  {
    14693  return 'L';
    14694  }
    14695  // anything else is treated as high-precision number
    14696  return 'H'; // LCOV_EXCL_LINE
    14697  }
    14698 
    14699  case value_t::number_float:
    14700  return get_ubjson_float_prefix(j.m_value.number_float);
    14701 
    14702  case value_t::string:
    14703  return 'S';
    14704 
    14705  case value_t::array: // fallthrough
    14706  case value_t::binary:
    14707  return '[';
    14708 
    14709  case value_t::object:
    14710  return '{';
    14711 
    14712  default: // discarded values
    14713  return 'N';
    14714  }
    14715  }
    14716 
    14717  static constexpr CharType get_ubjson_float_prefix(float /*unused*/)
    14718  {
    14719  return 'd'; // float 32
    14720  }
    14721 
    14722  static constexpr CharType get_ubjson_float_prefix(double /*unused*/)
    14723  {
    14724  return 'D'; // float 64
    14725  }
    14726 
    14728  // Utility functions //
    14730 
    14731  /*
    14732  @brief write a number to output input
    14733  @param[in] n number of type @a NumberType
    14734  @tparam NumberType the type of the number
    14735  @tparam OutputIsLittleEndian Set to true if output data is
    14736  required to be little endian
    14737 
    14738  @note This function needs to respect the system's endianess, because bytes
    14739  in CBOR, MessagePack, and UBJSON are stored in network order (big
    14740  endian) and therefore need reordering on little endian systems.
    14741  */
    14742  template<typename NumberType, bool OutputIsLittleEndian = false>
    14743  void write_number(const NumberType n)
    14744  {
    14745  // step 1: write number to array of length NumberType
    14746  std::array<CharType, sizeof(NumberType)> vec{};
    14747  std::memcpy(vec.data(), &n, sizeof(NumberType));
    14748 
    14749  // step 2: write array to output (with possible reordering)
    14750  if (is_little_endian != OutputIsLittleEndian)
    14751  {
    14752  // reverse byte order prior to conversion if necessary
    14753  std::reverse(vec.begin(), vec.end());
    14754  }
    14755 
    14756  oa->write_characters(vec.data(), sizeof(NumberType));
    14757  }
    14758 
    14760  {
    14761  if (static_cast<double>(n) >= static_cast<double>(std::numeric_limits<float>::lowest()) &&
    14762  static_cast<double>(n) <= static_cast<double>((std::numeric_limits<float>::max)()) &&
    14763  static_cast<double>(static_cast<float>(n)) == static_cast<double>(n))
    14764  {
    14765  oa->write_character(format == detail::input_format_t::cbor
    14766  ? get_cbor_float_prefix(static_cast<float>(n))
    14767  : get_msgpack_float_prefix(static_cast<float>(n)));
    14768  write_number(static_cast<float>(n));
    14769  }
    14770  else
    14771  {
    14772  oa->write_character(format == detail::input_format_t::cbor
    14773  ? get_cbor_float_prefix(n)
    14774  : get_msgpack_float_prefix(n));
    14775  write_number(n);
    14776  }
    14777  }
    14778 
    14779  public:
    14780  // The following to_char_type functions are implement the conversion
    14781  // between uint8_t and CharType. In case CharType is not unsigned,
    14782  // such a conversion is required to allow values greater than 128.
    14783  // See <https://github.com/nlohmann/json/issues/1286> for a discussion.
    14784  template < typename C = CharType,
    14785  enable_if_t < std::is_signed<C>::value && std::is_signed<char>::value > * = nullptr >
    14786  static constexpr CharType to_char_type(std::uint8_t x) noexcept
    14787  {
    14788  return *reinterpret_cast<char*>(&x);
    14789  }
    14790 
    14791  template < typename C = CharType,
    14792  enable_if_t < std::is_signed<C>::value && std::is_unsigned<char>::value > * = nullptr >
    14793  static CharType to_char_type(std::uint8_t x) noexcept
    14794  {
    14795  static_assert(sizeof(std::uint8_t) == sizeof(CharType), "size of CharType must be equal to std::uint8_t");
    14796  static_assert(std::is_trivial<CharType>::value, "CharType must be trivial");
    14797  CharType result;
    14798  std::memcpy(&result, &x, sizeof(x));
    14799  return result;
    14800  }
    14801 
    14802  template<typename C = CharType,
    14804  static constexpr CharType to_char_type(std::uint8_t x) noexcept
    14805  {
    14806  return x;
    14807  }
    14808 
    14809  template < typename InputCharType, typename C = CharType,
    14810  enable_if_t <
    14811  std::is_signed<C>::value &&
    14812  std::is_signed<char>::value &&
    14813  std::is_same<char, typename std::remove_cv<InputCharType>::type>::value
    14814  > * = nullptr >
    14815  static constexpr CharType to_char_type(InputCharType x) noexcept
    14816  {
    14817  return x;
    14818  }
    14819 
    14820  private:
    14822  const bool is_little_endian = little_endianess();
    14823 
    14826 };
    14827 } // namespace detail
    14828 } // namespace nlohmann
    14829 
    14830 // #include <nlohmann/detail/output/output_adapters.hpp>
    14831 
    14832 // #include <nlohmann/detail/output/serializer.hpp>
    14833 
    14834 
    14835 #include <algorithm> // reverse, remove, fill, find, none_of
    14836 #include <array> // array
    14837 #include <clocale> // localeconv, lconv
    14838 #include <cmath> // labs, isfinite, isnan, signbit
    14839 #include <cstddef> // size_t, ptrdiff_t
    14840 #include <cstdint> // uint8_t
    14841 #include <cstdio> // snprintf
    14842 #include <limits> // numeric_limits
    14843 #include <string> // string, char_traits
    14844 #include <type_traits> // is_same
    14845 #include <utility> // move
    14846 
    14847 // #include <nlohmann/detail/conversions/to_chars.hpp>
    14848 
    14849 
    14850 #include <array> // array
    14851 #include <cmath> // signbit, isfinite
    14852 #include <cstdint> // intN_t, uintN_t
    14853 #include <cstring> // memcpy, memmove
    14854 #include <limits> // numeric_limits
    14855 #include <type_traits> // conditional
    14856 
    14857 // #include <nlohmann/detail/macro_scope.hpp>
    14858 
    14859 
    14860 namespace nlohmann
    14861 {
    14862 namespace detail
    14863 {
    14864 
    14884 namespace dtoa_impl
    14885 {
    14886 
    14887 template<typename Target, typename Source>
    14888 Target reinterpret_bits(const Source source)
    14889 {
    14890  static_assert(sizeof(Target) == sizeof(Source), "size mismatch");
    14891 
    14892  Target target;
    14893  std::memcpy(&target, &source, sizeof(Source));
    14894  return target;
    14895 }
    14896 
    14897 struct diyfp // f * 2^e
    14898 {
    14899  static constexpr int kPrecision = 64; // = q
    14900 
    14901  std::uint64_t f = 0;
    14902  int e = 0;
    14903 
    14904  constexpr diyfp(std::uint64_t f_, int e_) noexcept : f(f_), e(e_) {}
    14905 
    14910  static diyfp sub(const diyfp& x, const diyfp& y) noexcept
    14911  {
    14912  JSON_ASSERT(x.e == y.e);
    14913  JSON_ASSERT(x.f >= y.f);
    14914 
    14915  return {x.f - y.f, x.e};
    14916  }
    14917 
    14922  static diyfp mul(const diyfp& x, const diyfp& y) noexcept
    14923  {
    14924  static_assert(kPrecision == 64, "internal error");
    14925 
    14926  // Computes:
    14927  // f = round((x.f * y.f) / 2^q)
    14928  // e = x.e + y.e + q
    14929 
    14930  // Emulate the 64-bit * 64-bit multiplication:
    14931  //
    14932  // p = u * v
    14933  // = (u_lo + 2^32 u_hi) (v_lo + 2^32 v_hi)
    14934  // = (u_lo v_lo ) + 2^32 ((u_lo v_hi ) + (u_hi v_lo )) + 2^64 (u_hi v_hi )
    14935  // = (p0 ) + 2^32 ((p1 ) + (p2 )) + 2^64 (p3 )
    14936  // = (p0_lo + 2^32 p0_hi) + 2^32 ((p1_lo + 2^32 p1_hi) + (p2_lo + 2^32 p2_hi)) + 2^64 (p3 )
    14937  // = (p0_lo ) + 2^32 (p0_hi + p1_lo + p2_lo ) + 2^64 (p1_hi + p2_hi + p3)
    14938  // = (p0_lo ) + 2^32 (Q ) + 2^64 (H )
    14939  // = (p0_lo ) + 2^32 (Q_lo + 2^32 Q_hi ) + 2^64 (H )
    14940  //
    14941  // (Since Q might be larger than 2^32 - 1)
    14942  //
    14943  // = (p0_lo + 2^32 Q_lo) + 2^64 (Q_hi + H)
    14944  //
    14945  // (Q_hi + H does not overflow a 64-bit int)
    14946  //
    14947  // = p_lo + 2^64 p_hi
    14948 
    14949  const std::uint64_t u_lo = x.f & 0xFFFFFFFFu;
    14950  const std::uint64_t u_hi = x.f >> 32u;
    14951  const std::uint64_t v_lo = y.f & 0xFFFFFFFFu;
    14952  const std::uint64_t v_hi = y.f >> 32u;
    14953 
    14954  const std::uint64_t p0 = u_lo * v_lo;
    14955  const std::uint64_t p1 = u_lo * v_hi;
    14956  const std::uint64_t p2 = u_hi * v_lo;
    14957  const std::uint64_t p3 = u_hi * v_hi;
    14958 
    14959  const std::uint64_t p0_hi = p0 >> 32u;
    14960  const std::uint64_t p1_lo = p1 & 0xFFFFFFFFu;
    14961  const std::uint64_t p1_hi = p1 >> 32u;
    14962  const std::uint64_t p2_lo = p2 & 0xFFFFFFFFu;
    14963  const std::uint64_t p2_hi = p2 >> 32u;
    14964 
    14965  std::uint64_t Q = p0_hi + p1_lo + p2_lo;
    14966 
    14967  // The full product might now be computed as
    14968  //
    14969  // p_hi = p3 + p2_hi + p1_hi + (Q >> 32)
    14970  // p_lo = p0_lo + (Q << 32)
    14971  //
    14972  // But in this particular case here, the full p_lo is not required.
    14973  // Effectively we only need to add the highest bit in p_lo to p_hi (and
    14974  // Q_hi + 1 does not overflow).
    14975 
    14976  Q += std::uint64_t{1} << (64u - 32u - 1u); // round, ties up
    14977 
    14978  const std::uint64_t h = p3 + p2_hi + p1_hi + (Q >> 32u);
    14979 
    14980  return {h, x.e + y.e + 64};
    14981  }
    14982 
    14987  static diyfp normalize(diyfp x) noexcept
    14988  {
    14989  JSON_ASSERT(x.f != 0);
    14990 
    14991  while ((x.f >> 63u) == 0)
    14992  {
    14993  x.f <<= 1u;
    14994  x.e--;
    14995  }
    14996 
    14997  return x;
    14998  }
    14999 
    15004  static diyfp normalize_to(const diyfp& x, const int target_exponent) noexcept
    15005  {
    15006  const int delta = x.e - target_exponent;
    15007 
    15008  JSON_ASSERT(delta >= 0);
    15009  JSON_ASSERT(((x.f << delta) >> delta) == x.f);
    15010 
    15011  return {x.f << delta, target_exponent};
    15012  }
    15013 };
    15014 
    15016 {
    15020 };
    15021 
    15028 template<typename FloatType>
    15030 {
    15031  JSON_ASSERT(std::isfinite(value));
    15032  JSON_ASSERT(value > 0);
    15033 
    15034  // Convert the IEEE representation into a diyfp.
    15035  //
    15036  // If v is denormal:
    15037  // value = 0.F * 2^(1 - bias) = ( F) * 2^(1 - bias - (p-1))
    15038  // If v is normalized:
    15039  // value = 1.F * 2^(E - bias) = (2^(p-1) + F) * 2^(E - bias - (p-1))
    15040 
    15041  static_assert(std::numeric_limits<FloatType>::is_iec559,
    15042  "internal error: dtoa_short requires an IEEE-754 floating-point implementation");
    15043 
    15044  constexpr int kPrecision = std::numeric_limits<FloatType>::digits; // = p (includes the hidden bit)
    15045  constexpr int kBias = std::numeric_limits<FloatType>::max_exponent - 1 + (kPrecision - 1);
    15046  constexpr int kMinExp = 1 - kBias;
    15047  constexpr std::uint64_t kHiddenBit = std::uint64_t{1} << (kPrecision - 1); // = 2^(p-1)
    15048 
    15049  using bits_type = typename std::conditional<kPrecision == 24, std::uint32_t, std::uint64_t >::type;
    15050 
    15051  const auto bits = static_cast<std::uint64_t>(reinterpret_bits<bits_type>(value));
    15052  const std::uint64_t E = bits >> (kPrecision - 1);
    15053  const std::uint64_t F = bits & (kHiddenBit - 1);
    15054 
    15055  const bool is_denormal = E == 0;
    15056  const diyfp v = is_denormal
    15057  ? diyfp(F, kMinExp)
    15058  : diyfp(F + kHiddenBit, static_cast<int>(E) - kBias);
    15059 
    15060  // Compute the boundaries m- and m+ of the floating-point value
    15061  // v = f * 2^e.
    15062  //
    15063  // Determine v- and v+, the floating-point predecessor and successor if v,
    15064  // respectively.
    15065  //
    15066  // v- = v - 2^e if f != 2^(p-1) or e == e_min (A)
    15067  // = v - 2^(e-1) if f == 2^(p-1) and e > e_min (B)
    15068  //
    15069  // v+ = v + 2^e
    15070  //
    15071  // Let m- = (v- + v) / 2 and m+ = (v + v+) / 2. All real numbers _strictly_
    15072  // between m- and m+ round to v, regardless of how the input rounding
    15073  // algorithm breaks ties.
    15074  //
    15075  // ---+-------------+-------------+-------------+-------------+--- (A)
    15076  // v- m- v m+ v+
    15077  //
    15078  // -----------------+------+------+-------------+-------------+--- (B)
    15079  // v- m- v m+ v+
    15080 
    15081  const bool lower_boundary_is_closer = F == 0 && E > 1;
    15082  const diyfp m_plus = diyfp(2 * v.f + 1, v.e - 1);
    15083  const diyfp m_minus = lower_boundary_is_closer
    15084  ? diyfp(4 * v.f - 1, v.e - 2) // (B)
    15085  : diyfp(2 * v.f - 1, v.e - 1); // (A)
    15086 
    15087  // Determine the normalized w+ = m+.
    15088  const diyfp w_plus = diyfp::normalize(m_plus);
    15089 
    15090  // Determine w- = m- such that e_(w-) = e_(w+).
    15091  const diyfp w_minus = diyfp::normalize_to(m_minus, w_plus.e);
    15092 
    15093  return {diyfp::normalize(v), w_minus, w_plus};
    15094 }
    15095 
    15096 // Given normalized diyfp w, Grisu needs to find a (normalized) cached
    15097 // power-of-ten c, such that the exponent of the product c * w = f * 2^e lies
    15098 // within a certain range [alpha, gamma] (Definition 3.2 from [1])
    15099 //
    15100 // alpha <= e = e_c + e_w + q <= gamma
    15101 //
    15102 // or
    15103 //
    15104 // f_c * f_w * 2^alpha <= f_c 2^(e_c) * f_w 2^(e_w) * 2^q
    15105 // <= f_c * f_w * 2^gamma
    15106 //
    15107 // Since c and w are normalized, i.e. 2^(q-1) <= f < 2^q, this implies
    15108 //
    15109 // 2^(q-1) * 2^(q-1) * 2^alpha <= c * w * 2^q < 2^q * 2^q * 2^gamma
    15110 //
    15111 // or
    15112 //
    15113 // 2^(q - 2 + alpha) <= c * w < 2^(q + gamma)
    15114 //
    15115 // The choice of (alpha,gamma) determines the size of the table and the form of
    15116 // the digit generation procedure. Using (alpha,gamma)=(-60,-32) works out well
    15117 // in practice:
    15118 //
    15119 // The idea is to cut the number c * w = f * 2^e into two parts, which can be
    15120 // processed independently: An integral part p1, and a fractional part p2:
    15121 //
    15122 // f * 2^e = ( (f div 2^-e) * 2^-e + (f mod 2^-e) ) * 2^e
    15123 // = (f div 2^-e) + (f mod 2^-e) * 2^e
    15124 // = p1 + p2 * 2^e
    15125 //
    15126 // The conversion of p1 into decimal form requires a series of divisions and
    15127 // modulos by (a power of) 10. These operations are faster for 32-bit than for
    15128 // 64-bit integers, so p1 should ideally fit into a 32-bit integer. This can be
    15129 // achieved by choosing
    15130 //
    15131 // -e >= 32 or e <= -32 := gamma
    15132 //
    15133 // In order to convert the fractional part
    15134 //
    15135 // p2 * 2^e = p2 / 2^-e = d[-1] / 10^1 + d[-2] / 10^2 + ...
    15136 //
    15137 // into decimal form, the fraction is repeatedly multiplied by 10 and the digits
    15138 // d[-i] are extracted in order:
    15139 //
    15140 // (10 * p2) div 2^-e = d[-1]
    15141 // (10 * p2) mod 2^-e = d[-2] / 10^1 + ...
    15142 //
    15143 // The multiplication by 10 must not overflow. It is sufficient to choose
    15144 //
    15145 // 10 * p2 < 16 * p2 = 2^4 * p2 <= 2^64.
    15146 //
    15147 // Since p2 = f mod 2^-e < 2^-e,
    15148 //
    15149 // -e <= 60 or e >= -60 := alpha
    15150 
    15151 constexpr int kAlpha = -60;
    15152 constexpr int kGamma = -32;
    15153 
    15154 struct cached_power // c = f * 2^e ~= 10^k
    15155 {
    15156  std::uint64_t f;
    15157  int e;
    15158  int k;
    15159 };
    15160 
    15169 {
    15170  // Now
    15171  //
    15172  // alpha <= e_c + e + q <= gamma (1)
    15173  // ==> f_c * 2^alpha <= c * 2^e * 2^q
    15174  //
    15175  // and since the c's are normalized, 2^(q-1) <= f_c,
    15176  //
    15177  // ==> 2^(q - 1 + alpha) <= c * 2^(e + q)
    15178  // ==> 2^(alpha - e - 1) <= c
    15179  //
    15180  // If c were an exact power of ten, i.e. c = 10^k, one may determine k as
    15181  //
    15182  // k = ceil( log_10( 2^(alpha - e - 1) ) )
    15183  // = ceil( (alpha - e - 1) * log_10(2) )
    15184  //
    15185  // From the paper:
    15186  // "In theory the result of the procedure could be wrong since c is rounded,
    15187  // and the computation itself is approximated [...]. In practice, however,
    15188  // this simple function is sufficient."
    15189  //
    15190  // For IEEE double precision floating-point numbers converted into
    15191  // normalized diyfp's w = f * 2^e, with q = 64,
    15192  //
    15193  // e >= -1022 (min IEEE exponent)
    15194  // -52 (p - 1)
    15195  // -52 (p - 1, possibly normalize denormal IEEE numbers)
    15196  // -11 (normalize the diyfp)
    15197  // = -1137
    15198  //
    15199  // and
    15200  //
    15201  // e <= +1023 (max IEEE exponent)
    15202  // -52 (p - 1)
    15203  // -11 (normalize the diyfp)
    15204  // = 960
    15205  //
    15206  // This binary exponent range [-1137,960] results in a decimal exponent
    15207  // range [-307,324]. One does not need to store a cached power for each
    15208  // k in this range. For each such k it suffices to find a cached power
    15209  // such that the exponent of the product lies in [alpha,gamma].
    15210  // This implies that the difference of the decimal exponents of adjacent
    15211  // table entries must be less than or equal to
    15212  //
    15213  // floor( (gamma - alpha) * log_10(2) ) = 8.
    15214  //
    15215  // (A smaller distance gamma-alpha would require a larger table.)
    15216 
    15217  // NB:
    15218  // Actually this function returns c, such that -60 <= e_c + e + 64 <= -34.
    15219 
    15220  constexpr int kCachedPowersMinDecExp = -300;
    15221  constexpr int kCachedPowersDecStep = 8;
    15222 
    15223  static constexpr std::array<cached_power, 79> kCachedPowers =
    15224  {
    15225  {
    15226  { 0xAB70FE17C79AC6CA, -1060, -300 },
    15227  { 0xFF77B1FCBEBCDC4F, -1034, -292 },
    15228  { 0xBE5691EF416BD60C, -1007, -284 },
    15229  { 0x8DD01FAD907FFC3C, -980, -276 },
    15230  { 0xD3515C2831559A83, -954, -268 },
    15231  { 0x9D71AC8FADA6C9B5, -927, -260 },
    15232  { 0xEA9C227723EE8BCB, -901, -252 },
    15233  { 0xAECC49914078536D, -874, -244 },
    15234  { 0x823C12795DB6CE57, -847, -236 },
    15235  { 0xC21094364DFB5637, -821, -228 },
    15236  { 0x9096EA6F3848984F, -794, -220 },
    15237  { 0xD77485CB25823AC7, -768, -212 },
    15238  { 0xA086CFCD97BF97F4, -741, -204 },
    15239  { 0xEF340A98172AACE5, -715, -196 },
    15240  { 0xB23867FB2A35B28E, -688, -188 },
    15241  { 0x84C8D4DFD2C63F3B, -661, -180 },
    15242  { 0xC5DD44271AD3CDBA, -635, -172 },
    15243  { 0x936B9FCEBB25C996, -608, -164 },
    15244  { 0xDBAC6C247D62A584, -582, -156 },
    15245  { 0xA3AB66580D5FDAF6, -555, -148 },
    15246  { 0xF3E2F893DEC3F126, -529, -140 },
    15247  { 0xB5B5ADA8AAFF80B8, -502, -132 },
    15248  { 0x87625F056C7C4A8B, -475, -124 },
    15249  { 0xC9BCFF6034C13053, -449, -116 },
    15250  { 0x964E858C91BA2655, -422, -108 },
    15251  { 0xDFF9772470297EBD, -396, -100 },
    15252  { 0xA6DFBD9FB8E5B88F, -369, -92 },
    15253  { 0xF8A95FCF88747D94, -343, -84 },
    15254  { 0xB94470938FA89BCF, -316, -76 },
    15255  { 0x8A08F0F8BF0F156B, -289, -68 },
    15256  { 0xCDB02555653131B6, -263, -60 },
    15257  { 0x993FE2C6D07B7FAC, -236, -52 },
    15258  { 0xE45C10C42A2B3B06, -210, -44 },
    15259  { 0xAA242499697392D3, -183, -36 },
    15260  { 0xFD87B5F28300CA0E, -157, -28 },
    15261  { 0xBCE5086492111AEB, -130, -20 },
    15262  { 0x8CBCCC096F5088CC, -103, -12 },
    15263  { 0xD1B71758E219652C, -77, -4 },
    15264  { 0x9C40000000000000, -50, 4 },
    15265  { 0xE8D4A51000000000, -24, 12 },
    15266  { 0xAD78EBC5AC620000, 3, 20 },
    15267  { 0x813F3978F8940984, 30, 28 },
    15268  { 0xC097CE7BC90715B3, 56, 36 },
    15269  { 0x8F7E32CE7BEA5C70, 83, 44 },
    15270  { 0xD5D238A4ABE98068, 109, 52 },
    15271  { 0x9F4F2726179A2245, 136, 60 },
    15272  { 0xED63A231D4C4FB27, 162, 68 },
    15273  { 0xB0DE65388CC8ADA8, 189, 76 },
    15274  { 0x83C7088E1AAB65DB, 216, 84 },
    15275  { 0xC45D1DF942711D9A, 242, 92 },
    15276  { 0x924D692CA61BE758, 269, 100 },
    15277  { 0xDA01EE641A708DEA, 295, 108 },
    15278  { 0xA26DA3999AEF774A, 322, 116 },
    15279  { 0xF209787BB47D6B85, 348, 124 },
    15280  { 0xB454E4A179DD1877, 375, 132 },
    15281  { 0x865B86925B9BC5C2, 402, 140 },
    15282  { 0xC83553C5C8965D3D, 428, 148 },
    15283  { 0x952AB45CFA97A0B3, 455, 156 },
    15284  { 0xDE469FBD99A05FE3, 481, 164 },
    15285  { 0xA59BC234DB398C25, 508, 172 },
    15286  { 0xF6C69A72A3989F5C, 534, 180 },
    15287  { 0xB7DCBF5354E9BECE, 561, 188 },
    15288  { 0x88FCF317F22241E2, 588, 196 },
    15289  { 0xCC20CE9BD35C78A5, 614, 204 },
    15290  { 0x98165AF37B2153DF, 641, 212 },
    15291  { 0xE2A0B5DC971F303A, 667, 220 },
    15292  { 0xA8D9D1535CE3B396, 694, 228 },
    15293  { 0xFB9B7CD9A4A7443C, 720, 236 },
    15294  { 0xBB764C4CA7A44410, 747, 244 },
    15295  { 0x8BAB8EEFB6409C1A, 774, 252 },
    15296  { 0xD01FEF10A657842C, 800, 260 },
    15297  { 0x9B10A4E5E9913129, 827, 268 },
    15298  { 0xE7109BFBA19C0C9D, 853, 276 },
    15299  { 0xAC2820D9623BF429, 880, 284 },
    15300  { 0x80444B5E7AA7CF85, 907, 292 },
    15301  { 0xBF21E44003ACDD2D, 933, 300 },
    15302  { 0x8E679C2F5E44FF8F, 960, 308 },
    15303  { 0xD433179D9C8CB841, 986, 316 },
    15304  { 0x9E19DB92B4E31BA9, 1013, 324 },
    15305  }
    15306  };
    15307 
    15308  // This computation gives exactly the same results for k as
    15309  // k = ceil((kAlpha - e - 1) * 0.30102999566398114)
    15310  // for |e| <= 1500, but doesn't require floating-point operations.
    15311  // NB: log_10(2) ~= 78913 / 2^18
    15312  JSON_ASSERT(e >= -1500);
    15313  JSON_ASSERT(e <= 1500);
    15314  const int f = kAlpha - e - 1;
    15315  const int k = (f * 78913) / (1 << 18) + static_cast<int>(f > 0);
    15316 
    15317  const int index = (-kCachedPowersMinDecExp + k + (kCachedPowersDecStep - 1)) / kCachedPowersDecStep;
    15318  JSON_ASSERT(index >= 0);
    15319  JSON_ASSERT(static_cast<std::size_t>(index) < kCachedPowers.size());
    15320 
    15321  const cached_power cached = kCachedPowers[static_cast<std::size_t>(index)];
    15322  JSON_ASSERT(kAlpha <= cached.e + e + 64);
    15323  JSON_ASSERT(kGamma >= cached.e + e + 64);
    15324 
    15325  return cached;
    15326 }
    15327 
    15332 inline int find_largest_pow10(const std::uint32_t n, std::uint32_t& pow10)
    15333 {
    15334  // LCOV_EXCL_START
    15335  if (n >= 1000000000)
    15336  {
    15337  pow10 = 1000000000;
    15338  return 10;
    15339  }
    15340  // LCOV_EXCL_STOP
    15341  if (n >= 100000000)
    15342  {
    15343  pow10 = 100000000;
    15344  return 9;
    15345  }
    15346  if (n >= 10000000)
    15347  {
    15348  pow10 = 10000000;
    15349  return 8;
    15350  }
    15351  if (n >= 1000000)
    15352  {
    15353  pow10 = 1000000;
    15354  return 7;
    15355  }
    15356  if (n >= 100000)
    15357  {
    15358  pow10 = 100000;
    15359  return 6;
    15360  }
    15361  if (n >= 10000)
    15362  {
    15363  pow10 = 10000;
    15364  return 5;
    15365  }
    15366  if (n >= 1000)
    15367  {
    15368  pow10 = 1000;
    15369  return 4;
    15370  }
    15371  if (n >= 100)
    15372  {
    15373  pow10 = 100;
    15374  return 3;
    15375  }
    15376  if (n >= 10)
    15377  {
    15378  pow10 = 10;
    15379  return 2;
    15380  }
    15381 
    15382  pow10 = 1;
    15383  return 1;
    15384 }
    15385 
    15386 inline void grisu2_round(char* buf, int len, std::uint64_t dist, std::uint64_t delta,
    15387  std::uint64_t rest, std::uint64_t ten_k)
    15388 {
    15389  JSON_ASSERT(len >= 1);
    15390  JSON_ASSERT(dist <= delta);
    15391  JSON_ASSERT(rest <= delta);
    15392  JSON_ASSERT(ten_k > 0);
    15393 
    15394  // <--------------------------- delta ---->
    15395  // <---- dist --------->
    15396  // --------------[------------------+-------------------]--------------
    15397  // M- w M+
    15398  //
    15399  // ten_k
    15400  // <------>
    15401  // <---- rest ---->
    15402  // --------------[------------------+----+--------------]--------------
    15403  // w V
    15404  // = buf * 10^k
    15405  //
    15406  // ten_k represents a unit-in-the-last-place in the decimal representation
    15407  // stored in buf.
    15408  // Decrement buf by ten_k while this takes buf closer to w.
    15409 
    15410  // The tests are written in this order to avoid overflow in unsigned
    15411  // integer arithmetic.
    15412 
    15413  while (rest < dist
    15414  && delta - rest >= ten_k
    15415  && (rest + ten_k < dist || dist - rest > rest + ten_k - dist))
    15416  {
    15417  JSON_ASSERT(buf[len - 1] != '0');
    15418  buf[len - 1]--;
    15419  rest += ten_k;
    15420  }
    15421 }
    15422 
    15427 inline void grisu2_digit_gen(char* buffer, int& length, int& decimal_exponent,
    15428  diyfp M_minus, diyfp w, diyfp M_plus)
    15429 {
    15430  static_assert(kAlpha >= -60, "internal error");
    15431  static_assert(kGamma <= -32, "internal error");
    15432 
    15433  // Generates the digits (and the exponent) of a decimal floating-point
    15434  // number V = buffer * 10^decimal_exponent in the range [M-, M+]. The diyfp's
    15435  // w, M- and M+ share the same exponent e, which satisfies alpha <= e <= gamma.
    15436  //
    15437  // <--------------------------- delta ---->
    15438  // <---- dist --------->
    15439  // --------------[------------------+-------------------]--------------
    15440  // M- w M+
    15441  //
    15442  // Grisu2 generates the digits of M+ from left to right and stops as soon as
    15443  // V is in [M-,M+].
    15444 
    15445  JSON_ASSERT(M_plus.e >= kAlpha);
    15446  JSON_ASSERT(M_plus.e <= kGamma);
    15447 
    15448  std::uint64_t delta = diyfp::sub(M_plus, M_minus).f; // (significand of (M+ - M-), implicit exponent is e)
    15449  std::uint64_t dist = diyfp::sub(M_plus, w ).f; // (significand of (M+ - w ), implicit exponent is e)
    15450 
    15451  // Split M+ = f * 2^e into two parts p1 and p2 (note: e < 0):
    15452  //
    15453  // M+ = f * 2^e
    15454  // = ((f div 2^-e) * 2^-e + (f mod 2^-e)) * 2^e
    15455  // = ((p1 ) * 2^-e + (p2 )) * 2^e
    15456  // = p1 + p2 * 2^e
    15457 
    15458  const diyfp one(std::uint64_t{1} << -M_plus.e, M_plus.e);
    15459 
    15460  auto p1 = static_cast<std::uint32_t>(M_plus.f >> -one.e); // p1 = f div 2^-e (Since -e >= 32, p1 fits into a 32-bit int.)
    15461  std::uint64_t p2 = M_plus.f & (one.f - 1); // p2 = f mod 2^-e
    15462 
    15463  // 1)
    15464  //
    15465  // Generate the digits of the integral part p1 = d[n-1]...d[1]d[0]
    15466 
    15467  JSON_ASSERT(p1 > 0);
    15468 
    15469  std::uint32_t pow10{};
    15470  const int k = find_largest_pow10(p1, pow10);
    15471 
    15472  // 10^(k-1) <= p1 < 10^k, pow10 = 10^(k-1)
    15473  //
    15474  // p1 = (p1 div 10^(k-1)) * 10^(k-1) + (p1 mod 10^(k-1))
    15475  // = (d[k-1] ) * 10^(k-1) + (p1 mod 10^(k-1))
    15476  //
    15477  // M+ = p1 + p2 * 2^e
    15478  // = d[k-1] * 10^(k-1) + (p1 mod 10^(k-1)) + p2 * 2^e
    15479  // = d[k-1] * 10^(k-1) + ((p1 mod 10^(k-1)) * 2^-e + p2) * 2^e
    15480  // = d[k-1] * 10^(k-1) + ( rest) * 2^e
    15481  //
    15482  // Now generate the digits d[n] of p1 from left to right (n = k-1,...,0)
    15483  //
    15484  // p1 = d[k-1]...d[n] * 10^n + d[n-1]...d[0]
    15485  //
    15486  // but stop as soon as
    15487  //
    15488  // rest * 2^e = (d[n-1]...d[0] * 2^-e + p2) * 2^e <= delta * 2^e
    15489 
    15490  int n = k;
    15491  while (n > 0)
    15492  {
    15493  // Invariants:
    15494  // M+ = buffer * 10^n + (p1 + p2 * 2^e) (buffer = 0 for n = k)
    15495  // pow10 = 10^(n-1) <= p1 < 10^n
    15496  //
    15497  const std::uint32_t d = p1 / pow10; // d = p1 div 10^(n-1)
    15498  const std::uint32_t r = p1 % pow10; // r = p1 mod 10^(n-1)
    15499  //
    15500  // M+ = buffer * 10^n + (d * 10^(n-1) + r) + p2 * 2^e
    15501  // = (buffer * 10 + d) * 10^(n-1) + (r + p2 * 2^e)
    15502  //
    15503  JSON_ASSERT(d <= 9);
    15504  buffer[length++] = static_cast<char>('0' + d); // buffer := buffer * 10 + d
    15505  //
    15506  // M+ = buffer * 10^(n-1) + (r + p2 * 2^e)
    15507  //
    15508  p1 = r;
    15509  n--;
    15510  //
    15511  // M+ = buffer * 10^n + (p1 + p2 * 2^e)
    15512  // pow10 = 10^n
    15513  //
    15514 
    15515  // Now check if enough digits have been generated.
    15516  // Compute
    15517  //
    15518  // p1 + p2 * 2^e = (p1 * 2^-e + p2) * 2^e = rest * 2^e
    15519  //
    15520  // Note:
    15521  // Since rest and delta share the same exponent e, it suffices to
    15522  // compare the significands.
    15523  const std::uint64_t rest = (std::uint64_t{p1} << -one.e) + p2;
    15524  if (rest <= delta)
    15525  {
    15526  // V = buffer * 10^n, with M- <= V <= M+.
    15527 
    15528  decimal_exponent += n;
    15529 
    15530  // We may now just stop. But instead look if the buffer could be
    15531  // decremented to bring V closer to w.
    15532  //
    15533  // pow10 = 10^n is now 1 ulp in the decimal representation V.
    15534  // The rounding procedure works with diyfp's with an implicit
    15535  // exponent of e.
    15536  //
    15537  // 10^n = (10^n * 2^-e) * 2^e = ulp * 2^e
    15538  //
    15539  const std::uint64_t ten_n = std::uint64_t{pow10} << -one.e;
    15540  grisu2_round(buffer, length, dist, delta, rest, ten_n);
    15541 
    15542  return;
    15543  }
    15544 
    15545  pow10 /= 10;
    15546  //
    15547  // pow10 = 10^(n-1) <= p1 < 10^n
    15548  // Invariants restored.
    15549  }
    15550 
    15551  // 2)
    15552  //
    15553  // The digits of the integral part have been generated:
    15554  //
    15555  // M+ = d[k-1]...d[1]d[0] + p2 * 2^e
    15556  // = buffer + p2 * 2^e
    15557  //
    15558  // Now generate the digits of the fractional part p2 * 2^e.
    15559  //
    15560  // Note:
    15561  // No decimal point is generated: the exponent is adjusted instead.
    15562  //
    15563  // p2 actually represents the fraction
    15564  //
    15565  // p2 * 2^e
    15566  // = p2 / 2^-e
    15567  // = d[-1] / 10^1 + d[-2] / 10^2 + ...
    15568  //
    15569  // Now generate the digits d[-m] of p1 from left to right (m = 1,2,...)
    15570  //
    15571  // p2 * 2^e = d[-1]d[-2]...d[-m] * 10^-m
    15572  // + 10^-m * (d[-m-1] / 10^1 + d[-m-2] / 10^2 + ...)
    15573  //
    15574  // using
    15575  //
    15576  // 10^m * p2 = ((10^m * p2) div 2^-e) * 2^-e + ((10^m * p2) mod 2^-e)
    15577  // = ( d) * 2^-e + ( r)
    15578  //
    15579  // or
    15580  // 10^m * p2 * 2^e = d + r * 2^e
    15581  //
    15582  // i.e.
    15583  //
    15584  // M+ = buffer + p2 * 2^e
    15585  // = buffer + 10^-m * (d + r * 2^e)
    15586  // = (buffer * 10^m + d) * 10^-m + 10^-m * r * 2^e
    15587  //
    15588  // and stop as soon as 10^-m * r * 2^e <= delta * 2^e
    15589 
    15590  JSON_ASSERT(p2 > delta);
    15591 
    15592  int m = 0;
    15593  for (;;)
    15594  {
    15595  // Invariant:
    15596  // M+ = buffer * 10^-m + 10^-m * (d[-m-1] / 10 + d[-m-2] / 10^2 + ...) * 2^e
    15597  // = buffer * 10^-m + 10^-m * (p2 ) * 2^e
    15598  // = buffer * 10^-m + 10^-m * (1/10 * (10 * p2) ) * 2^e
    15599  // = buffer * 10^-m + 10^-m * (1/10 * ((10*p2 div 2^-e) * 2^-e + (10*p2 mod 2^-e)) * 2^e
    15600  //
    15601  JSON_ASSERT(p2 <= (std::numeric_limits<std::uint64_t>::max)() / 10);
    15602  p2 *= 10;
    15603  const std::uint64_t d = p2 >> -one.e; // d = (10 * p2) div 2^-e
    15604  const std::uint64_t r = p2 & (one.f - 1); // r = (10 * p2) mod 2^-e
    15605  //
    15606  // M+ = buffer * 10^-m + 10^-m * (1/10 * (d * 2^-e + r) * 2^e
    15607  // = buffer * 10^-m + 10^-m * (1/10 * (d + r * 2^e))
    15608  // = (buffer * 10 + d) * 10^(-m-1) + 10^(-m-1) * r * 2^e
    15609  //
    15610  JSON_ASSERT(d <= 9);
    15611  buffer[length++] = static_cast<char>('0' + d); // buffer := buffer * 10 + d
    15612  //
    15613  // M+ = buffer * 10^(-m-1) + 10^(-m-1) * r * 2^e
    15614  //
    15615  p2 = r;
    15616  m++;
    15617  //
    15618  // M+ = buffer * 10^-m + 10^-m * p2 * 2^e
    15619  // Invariant restored.
    15620 
    15621  // Check if enough digits have been generated.
    15622  //
    15623  // 10^-m * p2 * 2^e <= delta * 2^e
    15624  // p2 * 2^e <= 10^m * delta * 2^e
    15625  // p2 <= 10^m * delta
    15626  delta *= 10;
    15627  dist *= 10;
    15628  if (p2 <= delta)
    15629  {
    15630  break;
    15631  }
    15632  }
    15633 
    15634  // V = buffer * 10^-m, with M- <= V <= M+.
    15635 
    15636  decimal_exponent -= m;
    15637 
    15638  // 1 ulp in the decimal representation is now 10^-m.
    15639  // Since delta and dist are now scaled by 10^m, we need to do the
    15640  // same with ulp in order to keep the units in sync.
    15641  //
    15642  // 10^m * 10^-m = 1 = 2^-e * 2^e = ten_m * 2^e
    15643  //
    15644  const std::uint64_t ten_m = one.f;
    15645  grisu2_round(buffer, length, dist, delta, p2, ten_m);
    15646 
    15647  // By construction this algorithm generates the shortest possible decimal
    15648  // number (Loitsch, Theorem 6.2) which rounds back to w.
    15649  // For an input number of precision p, at least
    15650  //
    15651  // N = 1 + ceil(p * log_10(2))
    15652  //
    15653  // decimal digits are sufficient to identify all binary floating-point
    15654  // numbers (Matula, "In-and-Out conversions").
    15655  // This implies that the algorithm does not produce more than N decimal
    15656  // digits.
    15657  //
    15658  // N = 17 for p = 53 (IEEE double precision)
    15659  // N = 9 for p = 24 (IEEE single precision)
    15660 }
    15661 
    15668 inline void grisu2(char* buf, int& len, int& decimal_exponent,
    15669  diyfp m_minus, diyfp v, diyfp m_plus)
    15670 {
    15671  JSON_ASSERT(m_plus.e == m_minus.e);
    15672  JSON_ASSERT(m_plus.e == v.e);
    15673 
    15674  // --------(-----------------------+-----------------------)-------- (A)
    15675  // m- v m+
    15676  //
    15677  // --------------------(-----------+-----------------------)-------- (B)
    15678  // m- v m+
    15679  //
    15680  // First scale v (and m- and m+) such that the exponent is in the range
    15681  // [alpha, gamma].
    15682 
    15683  const cached_power cached = get_cached_power_for_binary_exponent(m_plus.e);
    15684 
    15685  const diyfp c_minus_k(cached.f, cached.e); // = c ~= 10^-k
    15686 
    15687  // The exponent of the products is = v.e + c_minus_k.e + q and is in the range [alpha,gamma]
    15688  const diyfp w = diyfp::mul(v, c_minus_k);
    15689  const diyfp w_minus = diyfp::mul(m_minus, c_minus_k);
    15690  const diyfp w_plus = diyfp::mul(m_plus, c_minus_k);
    15691 
    15692  // ----(---+---)---------------(---+---)---------------(---+---)----
    15693  // w- w w+
    15694  // = c*m- = c*v = c*m+
    15695  //
    15696  // diyfp::mul rounds its result and c_minus_k is approximated too. w, w- and
    15697  // w+ are now off by a small amount.
    15698  // In fact:
    15699  //
    15700  // w - v * 10^k < 1 ulp
    15701  //
    15702  // To account for this inaccuracy, add resp. subtract 1 ulp.
    15703  //
    15704  // --------+---[---------------(---+---)---------------]---+--------
    15705  // w- M- w M+ w+
    15706  //
    15707  // Now any number in [M-, M+] (bounds included) will round to w when input,
    15708  // regardless of how the input rounding algorithm breaks ties.
    15709  //
    15710  // And digit_gen generates the shortest possible such number in [M-, M+].
    15711  // Note that this does not mean that Grisu2 always generates the shortest
    15712  // possible number in the interval (m-, m+).
    15713  const diyfp M_minus(w_minus.f + 1, w_minus.e);
    15714  const diyfp M_plus (w_plus.f - 1, w_plus.e );
    15715 
    15716  decimal_exponent = -cached.k; // = -(-k) = k
    15717 
    15718  grisu2_digit_gen(buf, len, decimal_exponent, M_minus, w, M_plus);
    15719 }
    15720 
    15726 template<typename FloatType>
    15728 void grisu2(char* buf, int& len, int& decimal_exponent, FloatType value)
    15729 {
    15730  static_assert(diyfp::kPrecision >= std::numeric_limits<FloatType>::digits + 3,
    15731  "internal error: not enough precision");
    15732 
    15733  JSON_ASSERT(std::isfinite(value));
    15734  JSON_ASSERT(value > 0);
    15735 
    15736  // If the neighbors (and boundaries) of 'value' are always computed for double-precision
    15737  // numbers, all float's can be recovered using strtod (and strtof). However, the resulting
    15738  // decimal representations are not exactly "short".
    15739  //
    15740  // The documentation for 'std::to_chars' (https://en.cppreference.com/w/cpp/utility/to_chars)
    15741  // says "value is converted to a string as if by std::sprintf in the default ("C") locale"
    15742  // and since sprintf promotes float's to double's, I think this is exactly what 'std::to_chars'
    15743  // does.
    15744  // On the other hand, the documentation for 'std::to_chars' requires that "parsing the
    15745  // representation using the corresponding std::from_chars function recovers value exactly". That
    15746  // indicates that single precision floating-point numbers should be recovered using
    15747  // 'std::strtof'.
    15748  //
    15749  // NB: If the neighbors are computed for single-precision numbers, there is a single float
    15750  // (7.0385307e-26f) which can't be recovered using strtod. The resulting double precision
    15751  // value is off by 1 ulp.
    15752 #if 0
    15753  const boundaries w = compute_boundaries(static_cast<double>(value));
    15754 #else
    15755  const boundaries w = compute_boundaries(value);
    15756 #endif
    15757 
    15758  grisu2(buf, len, decimal_exponent, w.minus, w.w, w.plus);
    15759 }
    15760 
    15768 inline char* append_exponent(char* buf, int e)
    15769 {
    15770  JSON_ASSERT(e > -1000);
    15771  JSON_ASSERT(e < 1000);
    15772 
    15773  if (e < 0)
    15774  {
    15775  e = -e;
    15776  *buf++ = '-';
    15777  }
    15778  else
    15779  {
    15780  *buf++ = '+';
    15781  }
    15782 
    15783  auto k = static_cast<std::uint32_t>(e);
    15784  if (k < 10)
    15785  {
    15786  // Always print at least two digits in the exponent.
    15787  // This is for compatibility with printf("%g").
    15788  *buf++ = '0';
    15789  *buf++ = static_cast<char>('0' + k);
    15790  }
    15791  else if (k < 100)
    15792  {
    15793  *buf++ = static_cast<char>('0' + k / 10);
    15794  k %= 10;
    15795  *buf++ = static_cast<char>('0' + k);
    15796  }
    15797  else
    15798  {
    15799  *buf++ = static_cast<char>('0' + k / 100);
    15800  k %= 100;
    15801  *buf++ = static_cast<char>('0' + k / 10);
    15802  k %= 10;
    15803  *buf++ = static_cast<char>('0' + k);
    15804  }
    15805 
    15806  return buf;
    15807 }
    15808 
    15820 inline char* format_buffer(char* buf, int len, int decimal_exponent,
    15821  int min_exp, int max_exp)
    15822 {
    15823  JSON_ASSERT(min_exp < 0);
    15824  JSON_ASSERT(max_exp > 0);
    15825 
    15826  const int k = len;
    15827  const int n = len + decimal_exponent;
    15828 
    15829  // v = buf * 10^(n-k)
    15830  // k is the length of the buffer (number of decimal digits)
    15831  // n is the position of the decimal point relative to the start of the buffer.
    15832 
    15833  if (k <= n && n <= max_exp)
    15834  {
    15835  // digits[000]
    15836  // len <= max_exp + 2
    15837 
    15838  std::memset(buf + k, '0', static_cast<size_t>(n) - static_cast<size_t>(k));
    15839  // Make it look like a floating-point number (#362, #378)
    15840  buf[n + 0] = '.';
    15841  buf[n + 1] = '0';
    15842  return buf + (static_cast<size_t>(n) + 2);
    15843  }
    15844 
    15845  if (0 < n && n <= max_exp)
    15846  {
    15847  // dig.its
    15848  // len <= max_digits10 + 1
    15849 
    15850  JSON_ASSERT(k > n);
    15851 
    15852  std::memmove(buf + (static_cast<size_t>(n) + 1), buf + n, static_cast<size_t>(k) - static_cast<size_t>(n));
    15853  buf[n] = '.';
    15854  return buf + (static_cast<size_t>(k) + 1U);
    15855  }
    15856 
    15857  if (min_exp < n && n <= 0)
    15858  {
    15859  // 0.[000]digits
    15860  // len <= 2 + (-min_exp - 1) + max_digits10
    15861 
    15862  std::memmove(buf + (2 + static_cast<size_t>(-n)), buf, static_cast<size_t>(k));
    15863  buf[0] = '0';
    15864  buf[1] = '.';
    15865  std::memset(buf + 2, '0', static_cast<size_t>(-n));
    15866  return buf + (2U + static_cast<size_t>(-n) + static_cast<size_t>(k));
    15867  }
    15868 
    15869  if (k == 1)
    15870  {
    15871  // dE+123
    15872  // len <= 1 + 5
    15873 
    15874  buf += 1;
    15875  }
    15876  else
    15877  {
    15878  // d.igitsE+123
    15879  // len <= max_digits10 + 1 + 5
    15880 
    15881  std::memmove(buf + 2, buf + 1, static_cast<size_t>(k) - 1);
    15882  buf[1] = '.';
    15883  buf += 1 + static_cast<size_t>(k);
    15884  }
    15885 
    15886  *buf++ = 'e';
    15887  return append_exponent(buf, n - 1);
    15888 }
    15889 
    15890 } // namespace dtoa_impl
    15891 
    15902 template<typename FloatType>
    15905 char* to_chars(char* first, const char* last, FloatType value)
    15906 {
    15907  static_cast<void>(last); // maybe unused - fix warning
    15908  JSON_ASSERT(std::isfinite(value));
    15909 
    15910  // Use signbit(value) instead of (value < 0) since signbit works for -0.
    15911  if (std::signbit(value))
    15912  {
    15913  value = -value;
    15914  *first++ = '-';
    15915  }
    15916 
    15917  if (value == 0) // +-0
    15918  {
    15919  *first++ = '0';
    15920  // Make it look like a floating-point number (#362, #378)
    15921  *first++ = '.';
    15922  *first++ = '0';
    15923  return first;
    15924  }
    15925 
    15926  JSON_ASSERT(last - first >= std::numeric_limits<FloatType>::max_digits10);
    15927 
    15928  // Compute v = buffer * 10^decimal_exponent.
    15929  // The decimal digits are stored in the buffer, which needs to be interpreted
    15930  // as an unsigned decimal integer.
    15931  // len is the length of the buffer, i.e. the number of decimal digits.
    15932  int len = 0;
    15933  int decimal_exponent = 0;
    15934  dtoa_impl::grisu2(first, len, decimal_exponent, value);
    15935 
    15936  JSON_ASSERT(len <= std::numeric_limits<FloatType>::max_digits10);
    15937 
    15938  // Format the buffer like printf("%.*g", prec, value)
    15939  constexpr int kMinExp = -4;
    15940  // Use digits10 here to increase compatibility with version 2.
    15941  constexpr int kMaxExp = std::numeric_limits<FloatType>::digits10;
    15942 
    15943  JSON_ASSERT(last - first >= kMaxExp + 2);
    15944  JSON_ASSERT(last - first >= 2 + (-kMinExp - 1) + std::numeric_limits<FloatType>::max_digits10);
    15945  JSON_ASSERT(last - first >= std::numeric_limits<FloatType>::max_digits10 + 6);
    15946 
    15947  return dtoa_impl::format_buffer(first, len, decimal_exponent, kMinExp, kMaxExp);
    15948 }
    15949 
    15950 } // namespace detail
    15951 } // namespace nlohmann
    15952 
    15953 // #include <nlohmann/detail/exceptions.hpp>
    15954 
    15955 // #include <nlohmann/detail/macro_scope.hpp>
    15956 
    15957 // #include <nlohmann/detail/meta/cpp_future.hpp>
    15958 
    15959 // #include <nlohmann/detail/output/binary_writer.hpp>
    15960 
    15961 // #include <nlohmann/detail/output/output_adapters.hpp>
    15962 
    15963 // #include <nlohmann/detail/value_t.hpp>
    15964 
    15965 
    15966 namespace nlohmann
    15967 {
    15968 namespace detail
    15969 {
    15971 // serialization //
    15973 
    15976 {
    15977  strict,
    15978  replace,
    15979  ignore
    15980 };
    15981 
    15982 template<typename BasicJsonType>
    15984 {
    15985  using string_t = typename BasicJsonType::string_t;
    15986  using number_float_t = typename BasicJsonType::number_float_t;
    15987  using number_integer_t = typename BasicJsonType::number_integer_t;
    15988  using number_unsigned_t = typename BasicJsonType::number_unsigned_t;
    15989  using binary_char_t = typename BasicJsonType::binary_t::value_type;
    15990  static constexpr std::uint8_t UTF8_ACCEPT = 0;
    15991  static constexpr std::uint8_t UTF8_REJECT = 1;
    15992 
    15993  public:
    15999  serializer(output_adapter_t<char> s, const char ichar,
    16000  error_handler_t error_handler_ = error_handler_t::strict)
    16001  : o(std::move(s))
    16002  , loc(std::localeconv())
    16003  , thousands_sep(loc->thousands_sep == nullptr ? '\0' : std::char_traits<char>::to_char_type(* (loc->thousands_sep)))
    16004  , decimal_point(loc->decimal_point == nullptr ? '\0' : std::char_traits<char>::to_char_type(* (loc->decimal_point)))
    16005  , indent_char(ichar)
    16006  , indent_string(512, indent_char)
    16007  , error_handler(error_handler_)
    16008  {}
    16009 
    16010  // delete because of pointer members
    16011  serializer(const serializer&) = delete;
    16012  serializer& operator=(const serializer&) = delete;
    16013  serializer(serializer&&) = delete;
    16014  serializer& operator=(serializer&&) = delete;
    16015  ~serializer() = default;
    16016 
    16039  void dump(const BasicJsonType& val,
    16040  const bool pretty_print,
    16041  const bool ensure_ascii,
    16042  const unsigned int indent_step,
    16043  const unsigned int current_indent = 0)
    16044  {
    16045  switch (val.m_type)
    16046  {
    16047  case value_t::object:
    16048  {
    16049  if (val.m_value.object->empty())
    16050  {
    16051  o->write_characters("{}", 2);
    16052  return;
    16053  }
    16054 
    16055  if (pretty_print)
    16056  {
    16057  o->write_characters("{\n", 2);
    16058 
    16059  // variable to hold indentation for recursive calls
    16060  const auto new_indent = current_indent + indent_step;
    16061  if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent))
    16062  {
    16063  indent_string.resize(indent_string.size() * 2, ' ');
    16064  }
    16065 
    16066  // first n-1 elements
    16067  auto i = val.m_value.object->cbegin();
    16068  for (std::size_t cnt = 0; cnt < val.m_value.object->size() - 1; ++cnt, ++i)
    16069  {
    16070  o->write_characters(indent_string.c_str(), new_indent);
    16071  o->write_character('\"');
    16072  dump_escaped(i->first, ensure_ascii);
    16073  o->write_characters("\": ", 3);
    16074  dump(i->second, true, ensure_ascii, indent_step, new_indent);
    16075  o->write_characters(",\n", 2);
    16076  }
    16077 
    16078  // last element
    16079  JSON_ASSERT(i != val.m_value.object->cend());
    16080  JSON_ASSERT(std::next(i) == val.m_value.object->cend());
    16081  o->write_characters(indent_string.c_str(), new_indent);
    16082  o->write_character('\"');
    16083  dump_escaped(i->first, ensure_ascii);
    16084  o->write_characters("\": ", 3);
    16085  dump(i->second, true, ensure_ascii, indent_step, new_indent);
    16086 
    16087  o->write_character('\n');
    16088  o->write_characters(indent_string.c_str(), current_indent);
    16089  o->write_character('}');
    16090  }
    16091  else
    16092  {
    16093  o->write_character('{');
    16094 
    16095  // first n-1 elements
    16096  auto i = val.m_value.object->cbegin();
    16097  for (std::size_t cnt = 0; cnt < val.m_value.object->size() - 1; ++cnt, ++i)
    16098  {
    16099  o->write_character('\"');
    16100  dump_escaped(i->first, ensure_ascii);
    16101  o->write_characters("\":", 2);
    16102  dump(i->second, false, ensure_ascii, indent_step, current_indent);
    16103  o->write_character(',');
    16104  }
    16105 
    16106  // last element
    16107  JSON_ASSERT(i != val.m_value.object->cend());
    16108  JSON_ASSERT(std::next(i) == val.m_value.object->cend());
    16109  o->write_character('\"');
    16110  dump_escaped(i->first, ensure_ascii);
    16111  o->write_characters("\":", 2);
    16112  dump(i->second, false, ensure_ascii, indent_step, current_indent);
    16113 
    16114  o->write_character('}');
    16115  }
    16116 
    16117  return;
    16118  }
    16119 
    16120  case value_t::array:
    16121  {
    16122  if (val.m_value.array->empty())
    16123  {
    16124  o->write_characters("[]", 2);
    16125  return;
    16126  }
    16127 
    16128  if (pretty_print)
    16129  {
    16130  o->write_characters("[\n", 2);
    16131 
    16132  // variable to hold indentation for recursive calls
    16133  const auto new_indent = current_indent + indent_step;
    16134  if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent))
    16135  {
    16136  indent_string.resize(indent_string.size() * 2, ' ');
    16137  }
    16138 
    16139  // first n-1 elements
    16140  for (auto i = val.m_value.array->cbegin();
    16141  i != val.m_value.array->cend() - 1; ++i)
    16142  {
    16143  o->write_characters(indent_string.c_str(), new_indent);
    16144  dump(*i, true, ensure_ascii, indent_step, new_indent);
    16145  o->write_characters(",\n", 2);
    16146  }
    16147 
    16148  // last element
    16149  JSON_ASSERT(!val.m_value.array->empty());
    16150  o->write_characters(indent_string.c_str(), new_indent);
    16151  dump(val.m_value.array->back(), true, ensure_ascii, indent_step, new_indent);
    16152 
    16153  o->write_character('\n');
    16154  o->write_characters(indent_string.c_str(), current_indent);
    16155  o->write_character(']');
    16156  }
    16157  else
    16158  {
    16159  o->write_character('[');
    16160 
    16161  // first n-1 elements
    16162  for (auto i = val.m_value.array->cbegin();
    16163  i != val.m_value.array->cend() - 1; ++i)
    16164  {
    16165  dump(*i, false, ensure_ascii, indent_step, current_indent);
    16166  o->write_character(',');
    16167  }
    16168 
    16169  // last element
    16170  JSON_ASSERT(!val.m_value.array->empty());
    16171  dump(val.m_value.array->back(), false, ensure_ascii, indent_step, current_indent);
    16172 
    16173  o->write_character(']');
    16174  }
    16175 
    16176  return;
    16177  }
    16178 
    16179  case value_t::string:
    16180  {
    16181  o->write_character('\"');
    16182  dump_escaped(*val.m_value.string, ensure_ascii);
    16183  o->write_character('\"');
    16184  return;
    16185  }
    16186 
    16187  case value_t::binary:
    16188  {
    16189  if (pretty_print)
    16190  {
    16191  o->write_characters("{\n", 2);
    16192 
    16193  // variable to hold indentation for recursive calls
    16194  const auto new_indent = current_indent + indent_step;
    16195  if (JSON_HEDLEY_UNLIKELY(indent_string.size() < new_indent))
    16196  {
    16197  indent_string.resize(indent_string.size() * 2, ' ');
    16198  }
    16199 
    16200  o->write_characters(indent_string.c_str(), new_indent);
    16201 
    16202  o->write_characters("\"bytes\": [", 10);
    16203 
    16204  if (!val.m_value.binary->empty())
    16205  {
    16206  for (auto i = val.m_value.binary->cbegin();
    16207  i != val.m_value.binary->cend() - 1; ++i)
    16208  {
    16209  dump_integer(*i);
    16210  o->write_characters(", ", 2);
    16211  }
    16212  dump_integer(val.m_value.binary->back());
    16213  }
    16214 
    16215  o->write_characters("],\n", 3);
    16216  o->write_characters(indent_string.c_str(), new_indent);
    16217 
    16218  o->write_characters("\"subtype\": ", 11);
    16219  if (val.m_value.binary->has_subtype())
    16220  {
    16221  dump_integer(val.m_value.binary->subtype());
    16222  }
    16223  else
    16224  {
    16225  o->write_characters("null", 4);
    16226  }
    16227  o->write_character('\n');
    16228  o->write_characters(indent_string.c_str(), current_indent);
    16229  o->write_character('}');
    16230  }
    16231  else
    16232  {
    16233  o->write_characters("{\"bytes\":[", 10);
    16234 
    16235  if (!val.m_value.binary->empty())
    16236  {
    16237  for (auto i = val.m_value.binary->cbegin();
    16238  i != val.m_value.binary->cend() - 1; ++i)
    16239  {
    16240  dump_integer(*i);
    16241  o->write_character(',');
    16242  }
    16243  dump_integer(val.m_value.binary->back());
    16244  }
    16245 
    16246  o->write_characters("],\"subtype\":", 12);
    16247  if (val.m_value.binary->has_subtype())
    16248  {
    16249  dump_integer(val.m_value.binary->subtype());
    16250  o->write_character('}');
    16251  }
    16252  else
    16253  {
    16254  o->write_characters("null}", 5);
    16255  }
    16256  }
    16257  return;
    16258  }
    16259 
    16260  case value_t::boolean:
    16261  {
    16262  if (val.m_value.boolean)
    16263  {
    16264  o->write_characters("true", 4);
    16265  }
    16266  else
    16267  {
    16268  o->write_characters("false", 5);
    16269  }
    16270  return;
    16271  }
    16272 
    16274  {
    16275  dump_integer(val.m_value.number_integer);
    16276  return;
    16277  }
    16278 
    16280  {
    16281  dump_integer(val.m_value.number_unsigned);
    16282  return;
    16283  }
    16284 
    16285  case value_t::number_float:
    16286  {
    16287  dump_float(val.m_value.number_float);
    16288  return;
    16289  }
    16290 
    16291  case value_t::discarded:
    16292  {
    16293  o->write_characters("<discarded>", 11);
    16294  return;
    16295  }
    16296 
    16297  case value_t::null:
    16298  {
    16299  o->write_characters("null", 4);
    16300  return;
    16301  }
    16302 
    16303  default: // LCOV_EXCL_LINE
    16304  JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE
    16305  }
    16306  }
    16307 
    16323  void dump_escaped(const string_t& s, const bool ensure_ascii)
    16324  {
    16325  std::uint32_t codepoint{};
    16326  std::uint8_t state = UTF8_ACCEPT;
    16327  std::size_t bytes = 0; // number of bytes written to string_buffer
    16328 
    16329  // number of bytes written at the point of the last valid byte
    16330  std::size_t bytes_after_last_accept = 0;
    16331  std::size_t undumped_chars = 0;
    16332 
    16333  for (std::size_t i = 0; i < s.size(); ++i)
    16334  {
    16335  const auto byte = static_cast<uint8_t>(s[i]);
    16336 
    16337  switch (decode(state, codepoint, byte))
    16338  {
    16339  case UTF8_ACCEPT: // decode found a new code point
    16340  {
    16341  switch (codepoint)
    16342  {
    16343  case 0x08: // backspace
    16344  {
    16345  string_buffer[bytes++] = '\\';
    16346  string_buffer[bytes++] = 'b';
    16347  break;
    16348  }
    16349 
    16350  case 0x09: // horizontal tab
    16351  {
    16352  string_buffer[bytes++] = '\\';
    16353  string_buffer[bytes++] = 't';
    16354  break;
    16355  }
    16356 
    16357  case 0x0A: // newline
    16358  {
    16359  string_buffer[bytes++] = '\\';
    16360  string_buffer[bytes++] = 'n';
    16361  break;
    16362  }
    16363 
    16364  case 0x0C: // formfeed
    16365  {
    16366  string_buffer[bytes++] = '\\';
    16367  string_buffer[bytes++] = 'f';
    16368  break;
    16369  }
    16370 
    16371  case 0x0D: // carriage return
    16372  {
    16373  string_buffer[bytes++] = '\\';
    16374  string_buffer[bytes++] = 'r';
    16375  break;
    16376  }
    16377 
    16378  case 0x22: // quotation mark
    16379  {
    16380  string_buffer[bytes++] = '\\';
    16381  string_buffer[bytes++] = '\"';
    16382  break;
    16383  }
    16384 
    16385  case 0x5C: // reverse solidus
    16386  {
    16387  string_buffer[bytes++] = '\\';
    16388  string_buffer[bytes++] = '\\';
    16389  break;
    16390  }
    16391 
    16392  default:
    16393  {
    16394  // escape control characters (0x00..0x1F) or, if
    16395  // ensure_ascii parameter is used, non-ASCII characters
    16396  if ((codepoint <= 0x1F) || (ensure_ascii && (codepoint >= 0x7F)))
    16397  {
    16398  if (codepoint <= 0xFFFF)
    16399  {
    16400  // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
    16401  (std::snprintf)(string_buffer.data() + bytes, 7, "\\u%04x",
    16402  static_cast<std::uint16_t>(codepoint));
    16403  bytes += 6;
    16404  }
    16405  else
    16406  {
    16407  // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
    16408  (std::snprintf)(string_buffer.data() + bytes, 13, "\\u%04x\\u%04x",
    16409  static_cast<std::uint16_t>(0xD7C0u + (codepoint >> 10u)),
    16410  static_cast<std::uint16_t>(0xDC00u + (codepoint & 0x3FFu)));
    16411  bytes += 12;
    16412  }
    16413  }
    16414  else
    16415  {
    16416  // copy byte to buffer (all previous bytes
    16417  // been copied have in default case above)
    16418  string_buffer[bytes++] = s[i];
    16419  }
    16420  break;
    16421  }
    16422  }
    16423 
    16424  // write buffer and reset index; there must be 13 bytes
    16425  // left, as this is the maximal number of bytes to be
    16426  // written ("\uxxxx\uxxxx\0") for one code point
    16427  if (string_buffer.size() - bytes < 13)
    16428  {
    16429  o->write_characters(string_buffer.data(), bytes);
    16430  bytes = 0;
    16431  }
    16432 
    16433  // remember the byte position of this accept
    16434  bytes_after_last_accept = bytes;
    16435  undumped_chars = 0;
    16436  break;
    16437  }
    16438 
    16439  case UTF8_REJECT: // decode found invalid UTF-8 byte
    16440  {
    16441  switch (error_handler)
    16442  {
    16444  {
    16445  std::string sn(3, '\0');
    16446  // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
    16447  (std::snprintf)(&sn[0], sn.size(), "%.2X", byte);
    16448  JSON_THROW(type_error::create(316, "invalid UTF-8 byte at index " + std::to_string(i) + ": 0x" + sn, BasicJsonType()));
    16449  }
    16450 
    16453  {
    16454  // in case we saw this character the first time, we
    16455  // would like to read it again, because the byte
    16456  // may be OK for itself, but just not OK for the
    16457  // previous sequence
    16458  if (undumped_chars > 0)
    16459  {
    16460  --i;
    16461  }
    16462 
    16463  // reset length buffer to the last accepted index;
    16464  // thus removing/ignoring the invalid characters
    16465  bytes = bytes_after_last_accept;
    16466 
    16467  if (error_handler == error_handler_t::replace)
    16468  {
    16469  // add a replacement character
    16470  if (ensure_ascii)
    16471  {
    16472  string_buffer[bytes++] = '\\';
    16473  string_buffer[bytes++] = 'u';
    16474  string_buffer[bytes++] = 'f';
    16475  string_buffer[bytes++] = 'f';
    16476  string_buffer[bytes++] = 'f';
    16477  string_buffer[bytes++] = 'd';
    16478  }
    16479  else
    16480  {
    16481  string_buffer[bytes++] = detail::binary_writer<BasicJsonType, char>::to_char_type('\xEF');
    16482  string_buffer[bytes++] = detail::binary_writer<BasicJsonType, char>::to_char_type('\xBF');
    16483  string_buffer[bytes++] = detail::binary_writer<BasicJsonType, char>::to_char_type('\xBD');
    16484  }
    16485 
    16486  // write buffer and reset index; there must be 13 bytes
    16487  // left, as this is the maximal number of bytes to be
    16488  // written ("\uxxxx\uxxxx\0") for one code point
    16489  if (string_buffer.size() - bytes < 13)
    16490  {
    16491  o->write_characters(string_buffer.data(), bytes);
    16492  bytes = 0;
    16493  }
    16494 
    16495  bytes_after_last_accept = bytes;
    16496  }
    16497 
    16498  undumped_chars = 0;
    16499 
    16500  // continue processing the string
    16501  state = UTF8_ACCEPT;
    16502  break;
    16503  }
    16504 
    16505  default: // LCOV_EXCL_LINE
    16506  JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE
    16507  }
    16508  break;
    16509  }
    16510 
    16511  default: // decode found yet incomplete multi-byte code point
    16512  {
    16513  if (!ensure_ascii)
    16514  {
    16515  // code point will not be escaped - copy byte to buffer
    16516  string_buffer[bytes++] = s[i];
    16517  }
    16518  ++undumped_chars;
    16519  break;
    16520  }
    16521  }
    16522  }
    16523 
    16524  // we finished processing the string
    16525  if (JSON_HEDLEY_LIKELY(state == UTF8_ACCEPT))
    16526  {
    16527  // write buffer
    16528  if (bytes > 0)
    16529  {
    16530  o->write_characters(string_buffer.data(), bytes);
    16531  }
    16532  }
    16533  else
    16534  {
    16535  // we finish reading, but do not accept: string was incomplete
    16536  switch (error_handler)
    16537  {
    16539  {
    16540  std::string sn(3, '\0');
    16541  // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
    16542  (std::snprintf)(&sn[0], sn.size(), "%.2X", static_cast<std::uint8_t>(s.back()));
    16543  JSON_THROW(type_error::create(316, "incomplete UTF-8 string; last byte: 0x" + sn, BasicJsonType()));
    16544  }
    16545 
    16547  {
    16548  // write all accepted bytes
    16549  o->write_characters(string_buffer.data(), bytes_after_last_accept);
    16550  break;
    16551  }
    16552 
    16554  {
    16555  // write all accepted bytes
    16556  o->write_characters(string_buffer.data(), bytes_after_last_accept);
    16557  // add a replacement character
    16558  if (ensure_ascii)
    16559  {
    16560  o->write_characters("\\ufffd", 6);
    16561  }
    16562  else
    16563  {
    16564  o->write_characters("\xEF\xBF\xBD", 3);
    16565  }
    16566  break;
    16567  }
    16568 
    16569  default: // LCOV_EXCL_LINE
    16570  JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE
    16571  }
    16572  }
    16573  }
    16574 
    16575  private:
    16584  inline unsigned int count_digits(number_unsigned_t x) noexcept
    16585  {
    16586  unsigned int n_digits = 1;
    16587  for (;;)
    16588  {
    16589  if (x < 10)
    16590  {
    16591  return n_digits;
    16592  }
    16593  if (x < 100)
    16594  {
    16595  return n_digits + 1;
    16596  }
    16597  if (x < 1000)
    16598  {
    16599  return n_digits + 2;
    16600  }
    16601  if (x < 10000)
    16602  {
    16603  return n_digits + 3;
    16604  }
    16605  x = x / 10000u;
    16606  n_digits += 4;
    16607  }
    16608  }
    16609 
    16619  template < typename NumberType, detail::enable_if_t <
    16620  std::is_same<NumberType, number_unsigned_t>::value ||
    16621  std::is_same<NumberType, number_integer_t>::value ||
    16622  std::is_same<NumberType, binary_char_t>::value,
    16623  int > = 0 >
    16624  void dump_integer(NumberType x)
    16625  {
    16626  static constexpr std::array<std::array<char, 2>, 100> digits_to_99
    16627  {
    16628  {
    16629  {{'0', '0'}}, {{'0', '1'}}, {{'0', '2'}}, {{'0', '3'}}, {{'0', '4'}}, {{'0', '5'}}, {{'0', '6'}}, {{'0', '7'}}, {{'0', '8'}}, {{'0', '9'}},
    16630  {{'1', '0'}}, {{'1', '1'}}, {{'1', '2'}}, {{'1', '3'}}, {{'1', '4'}}, {{'1', '5'}}, {{'1', '6'}}, {{'1', '7'}}, {{'1', '8'}}, {{'1', '9'}},
    16631  {{'2', '0'}}, {{'2', '1'}}, {{'2', '2'}}, {{'2', '3'}}, {{'2', '4'}}, {{'2', '5'}}, {{'2', '6'}}, {{'2', '7'}}, {{'2', '8'}}, {{'2', '9'}},
    16632  {{'3', '0'}}, {{'3', '1'}}, {{'3', '2'}}, {{'3', '3'}}, {{'3', '4'}}, {{'3', '5'}}, {{'3', '6'}}, {{'3', '7'}}, {{'3', '8'}}, {{'3', '9'}},
    16633  {{'4', '0'}}, {{'4', '1'}}, {{'4', '2'}}, {{'4', '3'}}, {{'4', '4'}}, {{'4', '5'}}, {{'4', '6'}}, {{'4', '7'}}, {{'4', '8'}}, {{'4', '9'}},
    16634  {{'5', '0'}}, {{'5', '1'}}, {{'5', '2'}}, {{'5', '3'}}, {{'5', '4'}}, {{'5', '5'}}, {{'5', '6'}}, {{'5', '7'}}, {{'5', '8'}}, {{'5', '9'}},
    16635  {{'6', '0'}}, {{'6', '1'}}, {{'6', '2'}}, {{'6', '3'}}, {{'6', '4'}}, {{'6', '5'}}, {{'6', '6'}}, {{'6', '7'}}, {{'6', '8'}}, {{'6', '9'}},
    16636  {{'7', '0'}}, {{'7', '1'}}, {{'7', '2'}}, {{'7', '3'}}, {{'7', '4'}}, {{'7', '5'}}, {{'7', '6'}}, {{'7', '7'}}, {{'7', '8'}}, {{'7', '9'}},
    16637  {{'8', '0'}}, {{'8', '1'}}, {{'8', '2'}}, {{'8', '3'}}, {{'8', '4'}}, {{'8', '5'}}, {{'8', '6'}}, {{'8', '7'}}, {{'8', '8'}}, {{'8', '9'}},
    16638  {{'9', '0'}}, {{'9', '1'}}, {{'9', '2'}}, {{'9', '3'}}, {{'9', '4'}}, {{'9', '5'}}, {{'9', '6'}}, {{'9', '7'}}, {{'9', '8'}}, {{'9', '9'}},
    16639  }
    16640  };
    16641 
    16642  // special case for "0"
    16643  if (x == 0)
    16644  {
    16645  o->write_character('0');
    16646  return;
    16647  }
    16648 
    16649  // use a pointer to fill the buffer
    16650  auto buffer_ptr = number_buffer.begin(); // NOLINT(llvm-qualified-auto,readability-qualified-auto,cppcoreguidelines-pro-type-vararg,hicpp-vararg)
    16651 
    16652  const bool is_negative = std::is_same<NumberType, number_integer_t>::value && !(x >= 0); // see issue #755
    16653  number_unsigned_t abs_value;
    16654 
    16655  unsigned int n_chars{};
    16656 
    16657  if (is_negative)
    16658  {
    16659  *buffer_ptr = '-';
    16660  abs_value = remove_sign(static_cast<number_integer_t>(x));
    16661 
    16662  // account one more byte for the minus sign
    16663  n_chars = 1 + count_digits(abs_value);
    16664  }
    16665  else
    16666  {
    16667  abs_value = static_cast<number_unsigned_t>(x);
    16668  n_chars = count_digits(abs_value);
    16669  }
    16670 
    16671  // spare 1 byte for '\0'
    16672  JSON_ASSERT(n_chars < number_buffer.size() - 1);
    16673 
    16674  // jump to the end to generate the string from backward
    16675  // so we later avoid reversing the result
    16676  buffer_ptr += n_chars;
    16677 
    16678  // Fast int2ascii implementation inspired by "Fastware" talk by Andrei Alexandrescu
    16679  // See: https://www.youtube.com/watch?v=o4-CwDo2zpg
    16680  while (abs_value >= 100)
    16681  {
    16682  const auto digits_index = static_cast<unsigned>((abs_value % 100));
    16683  abs_value /= 100;
    16684  *(--buffer_ptr) = digits_to_99[digits_index][1];
    16685  *(--buffer_ptr) = digits_to_99[digits_index][0];
    16686  }
    16687 
    16688  if (abs_value >= 10)
    16689  {
    16690  const auto digits_index = static_cast<unsigned>(abs_value);
    16691  *(--buffer_ptr) = digits_to_99[digits_index][1];
    16692  *(--buffer_ptr) = digits_to_99[digits_index][0];
    16693  }
    16694  else
    16695  {
    16696  *(--buffer_ptr) = static_cast<char>('0' + abs_value);
    16697  }
    16698 
    16699  o->write_characters(number_buffer.data(), n_chars);
    16700  }
    16701 
    16710  void dump_float(number_float_t x)
    16711  {
    16712  // NaN / inf
    16713  if (!std::isfinite(x))
    16714  {
    16715  o->write_characters("null", 4);
    16716  return;
    16717  }
    16718 
    16719  // If number_float_t is an IEEE-754 single or double precision number,
    16720  // use the Grisu2 algorithm to produce short numbers which are
    16721  // guaranteed to round-trip, using strtof and strtod, resp.
    16722  //
    16723  // NB: The test below works if <long double> == <double>.
    16724  static constexpr bool is_ieee_single_or_double
    16725  = (std::numeric_limits<number_float_t>::is_iec559 && std::numeric_limits<number_float_t>::digits == 24 && std::numeric_limits<number_float_t>::max_exponent == 128) ||
    16726  (std::numeric_limits<number_float_t>::is_iec559 && std::numeric_limits<number_float_t>::digits == 53 && std::numeric_limits<number_float_t>::max_exponent == 1024);
    16727 
    16728  dump_float(x, std::integral_constant<bool, is_ieee_single_or_double>());
    16729  }
    16730 
    16731  void dump_float(number_float_t x, std::true_type /*is_ieee_single_or_double*/)
    16732  {
    16733  auto* begin = number_buffer.data();
    16734  auto* end = ::nlohmann::detail::to_chars(begin, begin + number_buffer.size(), x);
    16735 
    16736  o->write_characters(begin, static_cast<size_t>(end - begin));
    16737  }
    16738 
    16739  void dump_float(number_float_t x, std::false_type /*is_ieee_single_or_double*/)
    16740  {
    16741  // get number of digits for a float -> text -> float round-trip
    16742  static constexpr auto d = std::numeric_limits<number_float_t>::max_digits10;
    16743 
    16744  // the actual conversion
    16745  // NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg)
    16746  std::ptrdiff_t len = (std::snprintf)(number_buffer.data(), number_buffer.size(), "%.*g", d, x);
    16747 
    16748  // negative value indicates an error
    16749  JSON_ASSERT(len > 0);
    16750  // check if buffer was large enough
    16751  JSON_ASSERT(static_cast<std::size_t>(len) < number_buffer.size());
    16752 
    16753  // erase thousands separator
    16754  if (thousands_sep != '\0')
    16755  {
    16756  auto* const end = std::remove(number_buffer.begin(),
    16757  number_buffer.begin() + len, thousands_sep);
    16758  std::fill(end, number_buffer.end(), '\0');
    16759  JSON_ASSERT((end - number_buffer.begin()) <= len);
    16760  len = (end - number_buffer.begin());
    16761  }
    16762 
    16763  // convert decimal point to '.'
    16764  if (decimal_point != '\0' && decimal_point != '.')
    16765  {
    16766  auto* const dec_pos = std::find(number_buffer.begin(), number_buffer.end(), decimal_point);
    16767  if (dec_pos != number_buffer.end())
    16768  {
    16769  *dec_pos = '.';
    16770  }
    16771  }
    16772 
    16773  o->write_characters(number_buffer.data(), static_cast<std::size_t>(len));
    16774 
    16775  // determine if need to append ".0"
    16776  const bool value_is_int_like =
    16777  std::none_of(number_buffer.begin(), number_buffer.begin() + len + 1,
    16778  [](char c)
    16779  {
    16780  return c == '.' || c == 'e';
    16781  });
    16782 
    16783  if (value_is_int_like)
    16784  {
    16785  o->write_characters(".0", 2);
    16786  }
    16787  }
    16788 
    16810  static std::uint8_t decode(std::uint8_t& state, std::uint32_t& codep, const std::uint8_t byte) noexcept
    16811  {
    16812  static const std::array<std::uint8_t, 400> utf8d =
    16813  {
    16814  {
    16815  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 00..1F
    16816  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 20..3F
    16817  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 40..5F
    16818  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 60..7F
    16819  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, // 80..9F
    16820  7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // A0..BF
    16821  8, 8, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, // C0..DF
    16822  0xA, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x4, 0x3, 0x3, // E0..EF
    16823  0xB, 0x6, 0x6, 0x6, 0x5, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, 0x8, // F0..FF
    16824  0x0, 0x1, 0x2, 0x3, 0x5, 0x8, 0x7, 0x1, 0x1, 0x1, 0x4, 0x6, 0x1, 0x1, 0x1, 0x1, // s0..s0
    16825  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, // s1..s2
    16826  1, 2, 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, // s3..s4
    16827  1, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, // s5..s6
    16828  1, 3, 1, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 // s7..s8
    16829  }
    16830  };
    16831 
    16832  JSON_ASSERT(byte < utf8d.size());
    16833  const std::uint8_t type = utf8d[byte];
    16834 
    16835  codep = (state != UTF8_ACCEPT)
    16836  ? (byte & 0x3fu) | (codep << 6u)
    16837  : (0xFFu >> type) & (byte);
    16838 
    16839  std::size_t index = 256u + static_cast<size_t>(state) * 16u + static_cast<size_t>(type);
    16840  JSON_ASSERT(index < 400);
    16841  state = utf8d[index];
    16842  return state;
    16843  }
    16844 
    16845  /*
    16846  * Overload to make the compiler happy while it is instantiating
    16847  * dump_integer for number_unsigned_t.
    16848  * Must never be called.
    16849  */
    16850  number_unsigned_t remove_sign(number_unsigned_t x)
    16851  {
    16852  JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE
    16853  return x; // LCOV_EXCL_LINE
    16854  }
    16855 
    16856  /*
    16857  * Helper function for dump_integer
    16858  *
    16859  * This function takes a negative signed integer and returns its absolute
    16860  * value as unsigned integer. The plus/minus shuffling is necessary as we can
    16861  * not directly remove the sign of an arbitrary signed integer as the
    16862  * absolute values of INT_MIN and INT_MAX are usually not the same. See
    16863  * #1708 for details.
    16864  */
    16865  inline number_unsigned_t remove_sign(number_integer_t x) noexcept
    16866  {
    16867  JSON_ASSERT(x < 0 && x < (std::numeric_limits<number_integer_t>::max)()); // NOLINT(misc-redundant-expression)
    16868  return static_cast<number_unsigned_t>(-(x + 1)) + 1;
    16869  }
    16870 
    16871  private:
    16873  output_adapter_t<char> o = nullptr;
    16874 
    16876  std::array<char, 64> number_buffer{{}};
    16877 
    16879  const std::lconv* loc = nullptr;
    16881  const char thousands_sep = '\0';
    16883  const char decimal_point = '\0';
    16884 
    16886  std::array<char, 512> string_buffer{{}};
    16887 
    16889  const char indent_char;
    16892 
    16895 };
    16896 } // namespace detail
    16897 } // namespace nlohmann
    16898 
    16899 // #include <nlohmann/detail/value_t.hpp>
    16900 
    16901 // #include <nlohmann/json_fwd.hpp>
    16902 
    16903 // #include <nlohmann/ordered_map.hpp>
    16904 
    16905 
    16906 #include <functional> // less
    16907 #include <initializer_list> // initializer_list
    16908 #include <iterator> // input_iterator_tag, iterator_traits
    16909 #include <memory> // allocator
    16910 #include <stdexcept> // for out_of_range
    16911 #include <type_traits> // enable_if, is_convertible
    16912 #include <utility> // pair
    16913 #include <vector> // vector
    16914 
    16915 // #include <nlohmann/detail/macro_scope.hpp>
    16916 
    16917 
    16918 namespace nlohmann
    16919 {
    16920 
    16923 template <class Key, class T, class IgnoredLess = std::less<Key>,
    16924  class Allocator = std::allocator<std::pair<const Key, T>>>
    16925  struct ordered_map : std::vector<std::pair<const Key, T>, Allocator>
    16926 {
    16927  using key_type = Key;
    16928  using mapped_type = T;
    16929  using Container = std::vector<std::pair<const Key, T>, Allocator>;
    16930  using typename Container::iterator;
    16931  using typename Container::const_iterator;
    16932  using typename Container::size_type;
    16933  using typename Container::value_type;
    16934 
    16935  // Explicit constructors instead of `using Container::Container`
    16936  // otherwise older compilers choke on it (GCC <= 5.5, xcode <= 9.4)
    16937  ordered_map(const Allocator& alloc = Allocator()) : Container{alloc} {}
    16938  template <class It>
    16939  ordered_map(It first, It last, const Allocator& alloc = Allocator())
    16940  : Container{first, last, alloc} {}
    16941  ordered_map(std::initializer_list<T> init, const Allocator& alloc = Allocator() )
    16942  : Container{init, alloc} {}
    16943 
    16944  std::pair<iterator, bool> emplace(const key_type& key, T&& t)
    16945  {
    16946  for (auto it = this->begin(); it != this->end(); ++it)
    16947  {
    16948  if (it->first == key)
    16949  {
    16950  return {it, false};
    16951  }
    16952  }
    16953  Container::emplace_back(key, t);
    16954  return {--this->end(), true};
    16955  }
    16956 
    16957  T& operator[](const Key& key)
    16958  {
    16959  return emplace(key, T{}).first->second;
    16960  }
    16961 
    16962  const T& operator[](const Key& key) const
    16963  {
    16964  return at(key);
    16965  }
    16966 
    16967  T& at(const Key& key)
    16968  {
    16969  for (auto it = this->begin(); it != this->end(); ++it)
    16970  {
    16971  if (it->first == key)
    16972  {
    16973  return it->second;
    16974  }
    16975  }
    16976 
    16977  JSON_THROW(std::out_of_range("key not found"));
    16978  }
    16979 
    16980  const T& at(const Key& key) const
    16981  {
    16982  for (auto it = this->begin(); it != this->end(); ++it)
    16983  {
    16984  if (it->first == key)
    16985  {
    16986  return it->second;
    16987  }
    16988  }
    16989 
    16990  JSON_THROW(std::out_of_range("key not found"));
    16991  }
    16992 
    16993  size_type erase(const Key& key)
    16994  {
    16995  for (auto it = this->begin(); it != this->end(); ++it)
    16996  {
    16997  if (it->first == key)
    16998  {
    16999  // Since we cannot move const Keys, re-construct them in place
    17000  for (auto next = it; ++next != this->end(); ++it)
    17001  {
    17002  it->~value_type(); // Destroy but keep allocation
    17003  new (&*it) value_type{std::move(*next)};
    17004  }
    17005  Container::pop_back();
    17006  return 1;
    17007  }
    17008  }
    17009  return 0;
    17010  }
    17011 
    17012  iterator erase(iterator pos)
    17013  {
    17014  auto it = pos;
    17015 
    17016  // Since we cannot move const Keys, re-construct them in place
    17017  for (auto next = it; ++next != this->end(); ++it)
    17018  {
    17019  it->~value_type(); // Destroy but keep allocation
    17020  new (&*it) value_type{std::move(*next)};
    17021  }
    17022  Container::pop_back();
    17023  return pos;
    17024  }
    17025 
    17026  size_type count(const Key& key) const
    17027  {
    17028  for (auto it = this->begin(); it != this->end(); ++it)
    17029  {
    17030  if (it->first == key)
    17031  {
    17032  return 1;
    17033  }
    17034  }
    17035  return 0;
    17036  }
    17037 
    17038  iterator find(const Key& key)
    17039  {
    17040  for (auto it = this->begin(); it != this->end(); ++it)
    17041  {
    17042  if (it->first == key)
    17043  {
    17044  return it;
    17045  }
    17046  }
    17047  return Container::end();
    17048  }
    17049 
    17050  const_iterator find(const Key& key) const
    17051  {
    17052  for (auto it = this->begin(); it != this->end(); ++it)
    17053  {
    17054  if (it->first == key)
    17055  {
    17056  return it;
    17057  }
    17058  }
    17059  return Container::end();
    17060  }
    17061 
    17062  std::pair<iterator, bool> insert( value_type&& value )
    17063  {
    17064  return emplace(value.first, std::move(value.second));
    17065  }
    17066 
    17067  std::pair<iterator, bool> insert( const value_type& value )
    17068  {
    17069  for (auto it = this->begin(); it != this->end(); ++it)
    17070  {
    17071  if (it->first == value.first)
    17072  {
    17073  return {it, false};
    17074  }
    17075  }
    17076  Container::push_back(value);
    17077  return {--this->end(), true};
    17078  }
    17079 
    17080  template<typename InputIt>
    17081  using require_input_iter = typename std::enable_if<std::is_convertible<typename std::iterator_traits<InputIt>::iterator_category,
    17082  std::input_iterator_tag>::value>::type;
    17083 
    17084  template<typename InputIt, typename = require_input_iter<InputIt>>
    17085  void insert(InputIt first, InputIt last)
    17086  {
    17087  for (auto it = first; it != last; ++it)
    17088  {
    17089  insert(*it);
    17090  }
    17091  }
    17092 };
    17093 
    17094 } // namespace nlohmann
    17095 
    17096 
    17097 #if defined(JSON_HAS_CPP_17)
    17098  #include <string_view>
    17099 #endif
    17100 
    17106 namespace nlohmann
    17107 {
    17108 
    17194 class basic_json // NOLINT(cppcoreguidelines-special-member-functions,hicpp-special-member-functions)
    17195 {
    17196  private:
    17197  template<detail::value_t> friend struct detail::external_constructor;
    17198  friend ::nlohmann::json_pointer<basic_json>;
    17199 
    17200  template<typename BasicJsonType, typename InputType>
    17201  friend class ::nlohmann::detail::parser;
    17202  friend ::nlohmann::detail::serializer<basic_json>;
    17203  template<typename BasicJsonType>
    17204  friend class ::nlohmann::detail::iter_impl;
    17205  template<typename BasicJsonType, typename CharType>
    17206  friend class ::nlohmann::detail::binary_writer;
    17207  template<typename BasicJsonType, typename InputType, typename SAX>
    17208  friend class ::nlohmann::detail::binary_reader;
    17209  template<typename BasicJsonType>
    17210  friend class ::nlohmann::detail::json_sax_dom_parser;
    17211  template<typename BasicJsonType>
    17212  friend class ::nlohmann::detail::json_sax_dom_callback_parser;
    17213  friend class ::nlohmann::detail::exception;
    17214 
    17217 
    17219  // convenience aliases for types residing in namespace detail;
    17221 
    17222  template<typename InputAdapterType>
    17223  static ::nlohmann::detail::parser<basic_json, InputAdapterType> parser(
    17224  InputAdapterType adapter,
    17226  const bool allow_exceptions = true,
    17227  const bool ignore_comments = false
    17228  )
    17229  {
    17230  return ::nlohmann::detail::parser<basic_json, InputAdapterType>(std::move(adapter),
    17231  std::move(cb), allow_exceptions, ignore_comments);
    17232  }
    17233 
    17234  private:
    17236  template<typename BasicJsonType>
    17238  template<typename BasicJsonType>
    17240  template<typename Iterator>
    17243 
    17244  template<typename CharType>
    17246 
    17247  template<typename InputType>
    17250 
    17253 
    17254  public:
    17258  template<typename T, typename SFINAE>
    17259  using json_serializer = JSONSerializer<T, SFINAE>;
    17265  using initializer_list_t = std::initializer_list<detail::json_ref<basic_json>>;
    17266 
    17270 
    17272  // exceptions //
    17274 
    17278 
    17291 
    17293 
    17294 
    17296  // container types //
    17298 
    17303 
    17306 
    17310  using const_reference = const value_type&;
    17311 
    17313  using difference_type = std::ptrdiff_t;
    17315  using size_type = std::size_t;
    17316 
    17318  using allocator_type = AllocatorType<basic_json>;
    17319 
    17321  using pointer = typename std::allocator_traits<allocator_type>::pointer;
    17323  using const_pointer = typename std::allocator_traits<allocator_type>::const_pointer;
    17324 
    17333 
    17335 
    17336 
    17341  {
    17342  return allocator_type();
    17343  }
    17344 
    17372  static basic_json meta()
    17373  {
    17374  basic_json result;
    17375 
    17376  result["copyright"] = "(C) 2013-2021 Niels Lohmann";
    17377  result["name"] = "JSON for Modern C++";
    17378  result["url"] = "https://github.com/nlohmann/json";
    17379  result["version"]["string"] =
    17383  result["version"]["major"] = NLOHMANN_JSON_VERSION_MAJOR;
    17384  result["version"]["minor"] = NLOHMANN_JSON_VERSION_MINOR;
    17385  result["version"]["patch"] = NLOHMANN_JSON_VERSION_PATCH;
    17386 
    17387 #ifdef _WIN32
    17388  result["platform"] = "win32";
    17389 #elif defined __linux__
    17390  result["platform"] = "linux";
    17391 #elif defined __APPLE__
    17392  result["platform"] = "apple";
    17393 #elif defined __unix__
    17394  result["platform"] = "unix";
    17395 #else
    17396  result["platform"] = "unknown";
    17397 #endif
    17398 
    17399 #if defined(__ICC) || defined(__INTEL_COMPILER)
    17400  result["compiler"] = {{"family", "icc"}, {"version", __INTEL_COMPILER}};
    17401 #elif defined(__clang__)
    17402  result["compiler"] = {{"family", "clang"}, {"version", __clang_version__}};
    17403 #elif defined(__GNUC__) || defined(__GNUG__)
    17404  result["compiler"] = {{"family", "gcc"}, {"version", std::to_string(__GNUC__) + "." + std::to_string(__GNUC_MINOR__) + "." + std::to_string(__GNUC_PATCHLEVEL__)}};
    17405 #elif defined(__HP_cc) || defined(__HP_aCC)
    17406  result["compiler"] = "hp"
    17407 #elif defined(__IBMCPP__)
    17408  result["compiler"] = {{"family", "ilecpp"}, {"version", __IBMCPP__}};
    17409 #elif defined(_MSC_VER)
    17410  result["compiler"] = {{"family", "msvc"}, {"version", _MSC_VER}};
    17411 #elif defined(__PGI)
    17412  result["compiler"] = {{"family", "pgcpp"}, {"version", __PGI}};
    17413 #elif defined(__SUNPRO_CC)
    17414  result["compiler"] = {{"family", "sunpro"}, {"version", __SUNPRO_CC}};
    17415 #else
    17416  result["compiler"] = {{"family", "unknown"}, {"version", "unknown"}};
    17417 #endif
    17418 
    17419 #ifdef __cplusplus
    17420  result["compiler"]["c++"] = std::to_string(__cplusplus);
    17421 #else
    17422  result["compiler"]["c++"] = "unknown";
    17423 #endif
    17424  return result;
    17425  }
    17426 
    17427 
    17429  // JSON value data types //
    17431 
    17436 
    17437 #if defined(JSON_HAS_CPP_14)
    17438  // Use transparent comparator if possible, combined with perfect forwarding
    17439  // on find() and count() calls prevents unnecessary string construction.
    17440  using object_comparator_t = std::less<>;
    17441 #else
    17442  using object_comparator_t = std::less<StringType>;
    17443 #endif
    17444 
    17528  using object_t = ObjectType<StringType,
    17529  basic_json,
    17531  AllocatorType<std::pair<const StringType,
    17532  basic_json>>>;
    17533 
    17578  using array_t = ArrayType<basic_json, AllocatorType<basic_json>>;
    17579 
    17631  using string_t = StringType;
    17632 
    17657  using boolean_t = BooleanType;
    17658 
    17729  using number_integer_t = NumberIntegerType;
    17730 
    17800  using number_unsigned_t = NumberUnsignedType;
    17801 
    17868  using number_float_t = NumberFloatType;
    17869 
    17941 
    17942  private:
    17943 
    17945  template<typename T, typename... Args>
    17947  static T* create(Args&& ... args)
    17948  {
    17949  AllocatorType<T> alloc;
    17950  using AllocatorTraits = std::allocator_traits<AllocatorType<T>>;
    17951 
    17952  auto deleter = [&](T * obj)
    17953  {
    17954  AllocatorTraits::deallocate(alloc, obj, 1);
    17955  };
    17956  std::unique_ptr<T, decltype(deleter)> obj(AllocatorTraits::allocate(alloc, 1), deleter);
    17957  AllocatorTraits::construct(alloc, obj.get(), std::forward<Args>(args)...);
    17958  JSON_ASSERT(obj != nullptr);
    17959  return obj.release();
    17960  }
    17961 
    17963  // JSON value storage //
    17965 
    17992  union json_value
    17993  {
    18010 
    18012  json_value() = default;
    18014  json_value(boolean_t v) noexcept : boolean(v) {}
    18023  {
    18024  switch (t)
    18025  {
    18026  case value_t::object:
    18027  {
    18028  object = create<object_t>();
    18029  break;
    18030  }
    18031 
    18032  case value_t::array:
    18033  {
    18034  array = create<array_t>();
    18035  break;
    18036  }
    18037 
    18038  case value_t::string:
    18039  {
    18040  string = create<string_t>("");
    18041  break;
    18042  }
    18043 
    18044  case value_t::binary:
    18045  {
    18046  binary = create<binary_t>();
    18047  break;
    18048  }
    18049 
    18050  case value_t::boolean:
    18051  {
    18052  boolean = boolean_t(false);
    18053  break;
    18054  }
    18055 
    18057  {
    18058  number_integer = number_integer_t(0);
    18059  break;
    18060  }
    18061 
    18063  {
    18064  number_unsigned = number_unsigned_t(0);
    18065  break;
    18066  }
    18067 
    18068  case value_t::number_float:
    18069  {
    18070  number_float = number_float_t(0.0);
    18071  break;
    18072  }
    18073 
    18074  case value_t::null:
    18075  {
    18076  object = nullptr; // silence warning, see #821
    18077  break;
    18078  }
    18079 
    18080  default:
    18081  {
    18082  object = nullptr; // silence warning, see #821
    18084  {
    18085  JSON_THROW(other_error::create(500, "961c151d2e87f2686a955a9be24d316f1362bf21 3.9.1", basic_json())); // LCOV_EXCL_LINE
    18086  }
    18087  break;
    18088  }
    18089  }
    18090  }
    18091 
    18094  {
    18095  string = create<string_t>(value);
    18096  }
    18097 
    18100  {
    18101  string = create<string_t>(std::move(value));
    18102  }
    18103 
    18106  {
    18107  object = create<object_t>(value);
    18108  }
    18109 
    18112  {
    18113  object = create<object_t>(std::move(value));
    18114  }
    18115 
    18118  {
    18119  array = create<array_t>(value);
    18120  }
    18121 
    18124  {
    18125  array = create<array_t>(std::move(value));
    18126  }
    18127 
    18130  {
    18131  binary = create<binary_t>(value);
    18132  }
    18133 
    18136  {
    18137  binary = create<binary_t>(std::move(value));
    18138  }
    18139 
    18142  {
    18143  binary = create<binary_t>(value);
    18144  }
    18145 
    18148  {
    18149  binary = create<binary_t>(std::move(value));
    18150  }
    18151 
    18152  void destroy(value_t t) noexcept
    18153  {
    18154  // flatten the current json_value to a heap-allocated stack
    18155  std::vector<basic_json> stack;
    18156 
    18157  // move the top-level items to stack
    18158  if (t == value_t::array)
    18159  {
    18160  stack.reserve(array->size());
    18161  std::move(array->begin(), array->end(), std::back_inserter(stack));
    18162  }
    18163  else if (t == value_t::object)
    18164  {
    18165  stack.reserve(object->size());
    18166  for (auto&& it : *object)
    18167  {
    18168  stack.push_back(std::move(it.second));
    18169  }
    18170  }
    18171 
    18172  while (!stack.empty())
    18173  {
    18174  // move the last item to local variable to be processed
    18175  basic_json current_item(std::move(stack.back()));
    18176  stack.pop_back();
    18177 
    18178  // if current_item is array/object, move
    18179  // its children to the stack to be processed later
    18180  if (current_item.is_array())
    18181  {
    18182  std::move(current_item.m_value.array->begin(), current_item.m_value.array->end(),
    18183  std::back_inserter(stack));
    18184 
    18185  current_item.m_value.array->clear();
    18186  }
    18187  else if (current_item.is_object())
    18188  {
    18189  for (auto&& it : *current_item.m_value.object)
    18190  {
    18191  stack.push_back(std::move(it.second));
    18192  }
    18193 
    18194  current_item.m_value.object->clear();
    18195  }
    18196 
    18197  // it's now safe that current_item get destructed
    18198  // since it doesn't have any children
    18199  }
    18200 
    18201  switch (t)
    18202  {
    18203  case value_t::object:
    18204  {
    18205  AllocatorType<object_t> alloc;
    18206  std::allocator_traits<decltype(alloc)>::destroy(alloc, object);
    18207  std::allocator_traits<decltype(alloc)>::deallocate(alloc, object, 1);
    18208  break;
    18209  }
    18210 
    18211  case value_t::array:
    18212  {
    18213  AllocatorType<array_t> alloc;
    18214  std::allocator_traits<decltype(alloc)>::destroy(alloc, array);
    18215  std::allocator_traits<decltype(alloc)>::deallocate(alloc, array, 1);
    18216  break;
    18217  }
    18218 
    18219  case value_t::string:
    18220  {
    18221  AllocatorType<string_t> alloc;
    18222  std::allocator_traits<decltype(alloc)>::destroy(alloc, string);
    18223  std::allocator_traits<decltype(alloc)>::deallocate(alloc, string, 1);
    18224  break;
    18225  }
    18226 
    18227  case value_t::binary:
    18228  {
    18229  AllocatorType<binary_t> alloc;
    18230  std::allocator_traits<decltype(alloc)>::destroy(alloc, binary);
    18231  std::allocator_traits<decltype(alloc)>::deallocate(alloc, binary, 1);
    18232  break;
    18233  }
    18234 
    18235  default:
    18236  {
    18237  break;
    18238  }
    18239  }
    18240  }
    18241  };
    18242 
    18243  private:
    18262  void assert_invariant(bool check_parents = true) const noexcept
    18263  {
    18264  JSON_ASSERT(m_type != value_t::object || m_value.object != nullptr);
    18265  JSON_ASSERT(m_type != value_t::array || m_value.array != nullptr);
    18266  JSON_ASSERT(m_type != value_t::string || m_value.string != nullptr);
    18267  JSON_ASSERT(m_type != value_t::binary || m_value.binary != nullptr);
    18268 
    18269 #if JSON_DIAGNOSTICS
    18270  JSON_TRY
    18271  {
    18272  // cppcheck-suppress assertWithSideEffect
    18273  JSON_ASSERT(!check_parents || !is_structured() || std::all_of(begin(), end(), [this](const basic_json & j)
    18274  {
    18275  return j.m_parent == this;
    18276  }));
    18277  }
    18278  JSON_CATCH(...) {} // LCOV_EXCL_LINE
    18279 #endif
    18280  static_cast<void>(check_parents);
    18281  }
    18282 
    18284  {
    18285 #if JSON_DIAGNOSTICS
    18286  switch (m_type)
    18287  {
    18288  case value_t::array:
    18289  {
    18290  for (auto& element : *m_value.array)
    18291  {
    18292  element.m_parent = this;
    18293  }
    18294  break;
    18295  }
    18296 
    18297  case value_t::object:
    18298  {
    18299  for (auto& element : *m_value.object)
    18300  {
    18301  element.second.m_parent = this;
    18302  }
    18303  break;
    18304  }
    18305 
    18306  default:
    18307  break;
    18308  }
    18309 #endif
    18310  }
    18311 
    18313  {
    18314 #if JSON_DIAGNOSTICS
    18315  for (typename iterator::difference_type i = 0; i < count; ++i)
    18316  {
    18317  (it + i)->m_parent = this;
    18318  }
    18319 #else
    18320  static_cast<void>(count);
    18321 #endif
    18322  return it;
    18323  }
    18324 
    18326  {
    18327 #if JSON_DIAGNOSTICS
    18328  j.m_parent = this;
    18329 #else
    18330  static_cast<void>(j);
    18331 #endif
    18332  return j;
    18333  }
    18334 
    18335  public:
    18337  // JSON parser callback //
    18339 
    18356 
    18407 
    18409  // constructors //
    18411 
    18416 
    18448  : m_type(v), m_value(v)
    18449  {
    18450  assert_invariant();
    18451  }
    18452 
    18471  basic_json(std::nullptr_t = nullptr) noexcept
    18472  : basic_json(value_t::null)
    18473  {
    18474  assert_invariant();
    18475  }
    18476 
    18539  template < typename CompatibleType,
    18540  typename U = detail::uncvref_t<CompatibleType>,
    18543  basic_json(CompatibleType && val) noexcept(noexcept( // NOLINT(bugprone-forwarding-reference-overload,bugprone-exception-escape)
    18544  JSONSerializer<U>::to_json(std::declval<basic_json_t&>(),
    18545  std::forward<CompatibleType>(val))))
    18546  {
    18547  JSONSerializer<U>::to_json(*this, std::forward<CompatibleType>(val));
    18548  set_parents();
    18549  assert_invariant();
    18550  }
    18551 
    18578  template < typename BasicJsonType,
    18580  detail::is_basic_json<BasicJsonType>::value&& !std::is_same<basic_json, BasicJsonType>::value, int > = 0 >
    18581  basic_json(const BasicJsonType& val)
    18582  {
    18583  using other_boolean_t = typename BasicJsonType::boolean_t;
    18584  using other_number_float_t = typename BasicJsonType::number_float_t;
    18585  using other_number_integer_t = typename BasicJsonType::number_integer_t;
    18586  using other_number_unsigned_t = typename BasicJsonType::number_unsigned_t;
    18587  using other_string_t = typename BasicJsonType::string_t;
    18588  using other_object_t = typename BasicJsonType::object_t;
    18589  using other_array_t = typename BasicJsonType::array_t;
    18590  using other_binary_t = typename BasicJsonType::binary_t;
    18591 
    18592  switch (val.type())
    18593  {
    18594  case value_t::boolean:
    18595  JSONSerializer<other_boolean_t>::to_json(*this, val.template get<other_boolean_t>());
    18596  break;
    18597  case value_t::number_float:
    18598  JSONSerializer<other_number_float_t>::to_json(*this, val.template get<other_number_float_t>());
    18599  break;
    18601  JSONSerializer<other_number_integer_t>::to_json(*this, val.template get<other_number_integer_t>());
    18602  break;
    18604  JSONSerializer<other_number_unsigned_t>::to_json(*this, val.template get<other_number_unsigned_t>());
    18605  break;
    18606  case value_t::string:
    18607  JSONSerializer<other_string_t>::to_json(*this, val.template get_ref<const other_string_t&>());
    18608  break;
    18609  case value_t::object:
    18610  JSONSerializer<other_object_t>::to_json(*this, val.template get_ref<const other_object_t&>());
    18611  break;
    18612  case value_t::array:
    18613  JSONSerializer<other_array_t>::to_json(*this, val.template get_ref<const other_array_t&>());
    18614  break;
    18615  case value_t::binary:
    18616  JSONSerializer<other_binary_t>::to_json(*this, val.template get_ref<const other_binary_t&>());
    18617  break;
    18618  case value_t::null:
    18619  *this = nullptr;
    18620  break;
    18621  case value_t::discarded:
    18622  m_type = value_t::discarded;
    18623  break;
    18624  default: // LCOV_EXCL_LINE
    18625  JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE
    18626  }
    18627  set_parents();
    18628  assert_invariant();
    18629  }
    18630 
    18706  bool type_deduction = true,
    18707  value_t manual_type = value_t::array)
    18708  {
    18709  // check if each element is an array with two elements whose first
    18710  // element is a string
    18711  bool is_an_object = std::all_of(init.begin(), init.end(),
    18712  [](const detail::json_ref<basic_json>& element_ref)
    18713  {
    18714  return element_ref->is_array() && element_ref->size() == 2 && (*element_ref)[0].is_string();
    18715  });
    18716 
    18717  // adjust type if type deduction is not wanted
    18718  if (!type_deduction)
    18719  {
    18720  // if array is wanted, do not create an object though possible
    18721  if (manual_type == value_t::array)
    18722  {
    18723  is_an_object = false;
    18724  }
    18725 
    18726  // if object is wanted but impossible, throw an exception
    18727  if (JSON_HEDLEY_UNLIKELY(manual_type == value_t::object && !is_an_object))
    18728  {
    18729  JSON_THROW(type_error::create(301, "cannot create object from initializer list", basic_json()));
    18730  }
    18731  }
    18732 
    18733  if (is_an_object)
    18734  {
    18735  // the initializer list is a list of pairs -> create object
    18736  m_type = value_t::object;
    18737  m_value = value_t::object;
    18738 
    18739  for (auto& element_ref : init)
    18740  {
    18741  auto element = element_ref.moved_or_copied();
    18742  m_value.object->emplace(
    18743  std::move(*((*element.m_value.array)[0].m_value.string)),
    18744  std::move((*element.m_value.array)[1]));
    18745  }
    18746  }
    18747  else
    18748  {
    18749  // the initializer list describes an array -> create array
    18750  m_type = value_t::array;
    18751  m_value.array = create<array_t>(init.begin(), init.end());
    18752  }
    18753 
    18754  set_parents();
    18755  assert_invariant();
    18756  }
    18757 
    18786  static basic_json binary(const typename binary_t::container_type& init)
    18787  {
    18788  auto res = basic_json();
    18789  res.m_type = value_t::binary;
    18790  res.m_value = init;
    18791  return res;
    18792  }
    18793 
    18823  static basic_json binary(const typename binary_t::container_type& init, std::uint8_t subtype)
    18824  {
    18825  auto res = basic_json();
    18826  res.m_type = value_t::binary;
    18827  res.m_value = binary_t(init, subtype);
    18828  return res;
    18829  }
    18830 
    18833  static basic_json binary(typename binary_t::container_type&& init)
    18834  {
    18835  auto res = basic_json();
    18836  res.m_type = value_t::binary;
    18837  res.m_value = std::move(init);
    18838  return res;
    18839  }
    18840 
    18843  static basic_json binary(typename binary_t::container_type&& init, std::uint8_t subtype)
    18844  {
    18845  auto res = basic_json();
    18846  res.m_type = value_t::binary;
    18847  res.m_value = binary_t(std::move(init), subtype);
    18848  return res;
    18849  }
    18850 
    18889  static basic_json array(initializer_list_t init = {})
    18890  {
    18891  return basic_json(init, false, value_t::array);
    18892  }
    18893 
    18933  static basic_json object(initializer_list_t init = {})
    18934  {
    18935  return basic_json(init, false, value_t::object);
    18936  }
    18937 
    18960  basic_json(size_type cnt, const basic_json& val)
    18961  : m_type(value_t::array)
    18962  {
    18963  m_value.array = create<array_t>(cnt, val);
    18964  set_parents();
    18965  assert_invariant();
    18966  }
    18967 
    19023  template < class InputIT, typename std::enable_if <
    19024  std::is_same<InputIT, typename basic_json_t::iterator>::value ||
    19025  std::is_same<InputIT, typename basic_json_t::const_iterator>::value, int >::type = 0 >
    19026  basic_json(InputIT first, InputIT last)
    19027  {
    19028  JSON_ASSERT(first.m_object != nullptr);
    19029  JSON_ASSERT(last.m_object != nullptr);
    19030 
    19031  // make sure iterator fits the current value
    19032  if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object))
    19033  {
    19034  JSON_THROW(invalid_iterator::create(201, "iterators are not compatible", basic_json()));
    19035  }
    19036 
    19037  // copy type from first iterator
    19038  m_type = first.m_object->m_type;
    19039 
    19040  // check if iterator range is complete for primitive values
    19041  switch (m_type)
    19042  {
    19043  case value_t::boolean:
    19044  case value_t::number_float:
    19047  case value_t::string:
    19048  {
    19049  if (JSON_HEDLEY_UNLIKELY(!first.m_it.primitive_iterator.is_begin()
    19050  || !last.m_it.primitive_iterator.is_end()))
    19051  {
    19052  JSON_THROW(invalid_iterator::create(204, "iterators out of range", *first.m_object));
    19053  }
    19054  break;
    19055  }
    19056 
    19057  default:
    19058  break;
    19059  }
    19060 
    19061  switch (m_type)
    19062  {
    19064  {
    19065  m_value.number_integer = first.m_object->m_value.number_integer;
    19066  break;
    19067  }
    19068 
    19070  {
    19071  m_value.number_unsigned = first.m_object->m_value.number_unsigned;
    19072  break;
    19073  }
    19074 
    19075  case value_t::number_float:
    19076  {
    19077  m_value.number_float = first.m_object->m_value.number_float;
    19078  break;
    19079  }
    19080 
    19081  case value_t::boolean:
    19082  {
    19083  m_value.boolean = first.m_object->m_value.boolean;
    19084  break;
    19085  }
    19086 
    19087  case value_t::string:
    19088  {
    19089  m_value = *first.m_object->m_value.string;
    19090  break;
    19091  }
    19092 
    19093  case value_t::object:
    19094  {
    19095  m_value.object = create<object_t>(first.m_it.object_iterator,
    19096  last.m_it.object_iterator);
    19097  break;
    19098  }
    19099 
    19100  case value_t::array:
    19101  {
    19102  m_value.array = create<array_t>(first.m_it.array_iterator,
    19103  last.m_it.array_iterator);
    19104  break;
    19105  }
    19106 
    19107  case value_t::binary:
    19108  {
    19109  m_value = *first.m_object->m_value.binary;
    19110  break;
    19111  }
    19112 
    19113  default:
    19114  JSON_THROW(invalid_iterator::create(206, "cannot construct with iterators from " + std::string(first.m_object->type_name()), *first.m_object));
    19115  }
    19116 
    19117  set_parents();
    19118  assert_invariant();
    19119  }
    19120 
    19121 
    19123  // other constructors and destructor //
    19125 
    19126  template<typename JsonRef,
    19128  std::is_same<typename JsonRef::value_type, basic_json>>::value, int> = 0 >
    19129  basic_json(const JsonRef& ref) : basic_json(ref.moved_or_copied()) {}
    19130 
    19156  basic_json(const basic_json& other)
    19157  : m_type(other.m_type)
    19158  {
    19159  // check of passed value is valid
    19160  other.assert_invariant();
    19161 
    19162  switch (m_type)
    19163  {
    19164  case value_t::object:
    19165  {
    19166  m_value = *other.m_value.object;
    19167  break;
    19168  }
    19169 
    19170  case value_t::array:
    19171  {
    19172  m_value = *other.m_value.array;
    19173  break;
    19174  }
    19175 
    19176  case value_t::string:
    19177  {
    19178  m_value = *other.m_value.string;
    19179  break;
    19180  }
    19181 
    19182  case value_t::boolean:
    19183  {
    19184  m_value = other.m_value.boolean;
    19185  break;
    19186  }
    19187 
    19189  {
    19190  m_value = other.m_value.number_integer;
    19191  break;
    19192  }
    19193 
    19195  {
    19196  m_value = other.m_value.number_unsigned;
    19197  break;
    19198  }
    19199 
    19200  case value_t::number_float:
    19201  {
    19202  m_value = other.m_value.number_float;
    19203  break;
    19204  }
    19205 
    19206  case value_t::binary:
    19207  {
    19208  m_value = *other.m_value.binary;
    19209  break;
    19210  }
    19211 
    19212  default:
    19213  break;
    19214  }
    19215 
    19216  set_parents();
    19217  assert_invariant();
    19218  }
    19219 
    19246  basic_json(basic_json&& other) noexcept
    19247  : m_type(std::move(other.m_type)),
    19248  m_value(std::move(other.m_value))
    19249  {
    19250  // check that passed value is valid
    19251  other.assert_invariant(false);
    19252 
    19253  // invalidate payload
    19254  other.m_type = value_t::null;
    19255  other.m_value = {};
    19256 
    19257  set_parents();
    19258  assert_invariant();
    19259  }
    19260 
    19284  basic_json& operator=(basic_json other) noexcept (
    19285  std::is_nothrow_move_constructible<value_t>::value&&
    19286  std::is_nothrow_move_assignable<value_t>::value&&
    19287  std::is_nothrow_move_constructible<json_value>::value&&
    19288  std::is_nothrow_move_assignable<json_value>::value
    19289  )
    19290  {
    19291  // check that passed value is valid
    19292  other.assert_invariant();
    19293 
    19294  using std::swap;
    19295  swap(m_type, other.m_type);
    19296  swap(m_value, other.m_value);
    19297 
    19298  set_parents();
    19299  assert_invariant();
    19300  return *this;
    19301  }
    19302 
    19318  ~basic_json() noexcept
    19319  {
    19320  assert_invariant(false);
    19321  m_value.destroy(m_type);
    19322  }
    19323 
    19325 
    19326  public:
    19328  // object inspection //
    19330 
    19334 
    19382  string_t dump(const int indent = -1,
    19383  const char indent_char = ' ',
    19384  const bool ensure_ascii = false,
    19385  const error_handler_t error_handler = error_handler_t::strict) const
    19386  {
    19387  string_t result;
    19388  serializer s(detail::output_adapter<char, string_t>(result), indent_char, error_handler);
    19389 
    19390  if (indent >= 0)
    19391  {
    19392  s.dump(*this, true, ensure_ascii, static_cast<unsigned int>(indent));
    19393  }
    19394  else
    19395  {
    19396  s.dump(*this, false, ensure_ascii, 0);
    19397  }
    19398 
    19399  return result;
    19400  }
    19401 
    19435  constexpr value_t type() const noexcept
    19436  {
    19437  return m_type;
    19438  }
    19439 
    19466  constexpr bool is_primitive() const noexcept
    19467  {
    19468  return is_null() || is_string() || is_boolean() || is_number() || is_binary();
    19469  }
    19470 
    19493  constexpr bool is_structured() const noexcept
    19494  {
    19495  return is_array() || is_object();
    19496  }
    19497 
    19515  constexpr bool is_null() const noexcept
    19516  {
    19517  return m_type == value_t::null;
    19518  }
    19519 
    19537  constexpr bool is_boolean() const noexcept
    19538  {
    19539  return m_type == value_t::boolean;
    19540  }
    19541 
    19567  constexpr bool is_number() const noexcept
    19568  {
    19569  return is_number_integer() || is_number_float();
    19570  }
    19571 
    19596  constexpr bool is_number_integer() const noexcept
    19597  {
    19598  return m_type == value_t::number_integer || m_type == value_t::number_unsigned;
    19599  }
    19600 
    19624  constexpr bool is_number_unsigned() const noexcept
    19625  {
    19626  return m_type == value_t::number_unsigned;
    19627  }
    19628 
    19652  constexpr bool is_number_float() const noexcept
    19653  {
    19654  return m_type == value_t::number_float;
    19655  }
    19656 
    19674  constexpr bool is_object() const noexcept
    19675  {
    19676  return m_type == value_t::object;
    19677  }
    19678 
    19696  constexpr bool is_array() const noexcept
    19697  {
    19698  return m_type == value_t::array;
    19699  }
    19700 
    19718  constexpr bool is_string() const noexcept
    19719  {
    19720  return m_type == value_t::string;
    19721  }
    19722 
    19740  constexpr bool is_binary() const noexcept
    19741  {
    19742  return m_type == value_t::binary;
    19743  }
    19744 
    19767  constexpr bool is_discarded() const noexcept
    19768  {
    19769  return m_type == value_t::discarded;
    19770  }
    19771 
    19793  constexpr operator value_t() const noexcept
    19794  {
    19795  return m_type;
    19796  }
    19797 
    19799 
    19800  private:
    19802  // value access //
    19804 
    19806  boolean_t get_impl(boolean_t* /*unused*/) const
    19807  {
    19808  if (JSON_HEDLEY_LIKELY(is_boolean()))
    19809  {
    19810  return m_value.boolean;
    19811  }
    19812 
    19813  JSON_THROW(type_error::create(302, "type must be boolean, but is " + std::string(type_name()), *this));
    19814  }
    19815 
    19817  object_t* get_impl_ptr(object_t* /*unused*/) noexcept
    19818  {
    19819  return is_object() ? m_value.object : nullptr;
    19820  }
    19821 
    19823  constexpr const object_t* get_impl_ptr(const object_t* /*unused*/) const noexcept
    19824  {
    19825  return is_object() ? m_value.object : nullptr;
    19826  }
    19827 
    19829  array_t* get_impl_ptr(array_t* /*unused*/) noexcept
    19830  {
    19831  return is_array() ? m_value.array : nullptr;
    19832  }
    19833 
    19835  constexpr const array_t* get_impl_ptr(const array_t* /*unused*/) const noexcept
    19836  {
    19837  return is_array() ? m_value.array : nullptr;
    19838  }
    19839 
    19841  string_t* get_impl_ptr(string_t* /*unused*/) noexcept
    19842  {
    19843  return is_string() ? m_value.string : nullptr;
    19844  }
    19845 
    19847  constexpr const string_t* get_impl_ptr(const string_t* /*unused*/) const noexcept
    19848  {
    19849  return is_string() ? m_value.string : nullptr;
    19850  }
    19851 
    19853  boolean_t* get_impl_ptr(boolean_t* /*unused*/) noexcept
    19854  {
    19855  return is_boolean() ? &m_value.boolean : nullptr;
    19856  }
    19857 
    19859  constexpr const boolean_t* get_impl_ptr(const boolean_t* /*unused*/) const noexcept
    19860  {
    19861  return is_boolean() ? &m_value.boolean : nullptr;
    19862  }
    19863 
    19866  {
    19867  return is_number_integer() ? &m_value.number_integer : nullptr;
    19868  }
    19869 
    19871  constexpr const number_integer_t* get_impl_ptr(const number_integer_t* /*unused*/) const noexcept
    19872  {
    19873  return is_number_integer() ? &m_value.number_integer : nullptr;
    19874  }
    19875 
    19878  {
    19879  return is_number_unsigned() ? &m_value.number_unsigned : nullptr;
    19880  }
    19881 
    19883  constexpr const number_unsigned_t* get_impl_ptr(const number_unsigned_t* /*unused*/) const noexcept
    19884  {
    19885  return is_number_unsigned() ? &m_value.number_unsigned : nullptr;
    19886  }
    19887 
    19890  {
    19891  return is_number_float() ? &m_value.number_float : nullptr;
    19892  }
    19893 
    19895  constexpr const number_float_t* get_impl_ptr(const number_float_t* /*unused*/) const noexcept
    19896  {
    19897  return is_number_float() ? &m_value.number_float : nullptr;
    19898  }
    19899 
    19901  binary_t* get_impl_ptr(binary_t* /*unused*/) noexcept
    19902  {
    19903  return is_binary() ? m_value.binary : nullptr;
    19904  }
    19905 
    19907  constexpr const binary_t* get_impl_ptr(const binary_t* /*unused*/) const noexcept
    19908  {
    19909  return is_binary() ? m_value.binary : nullptr;
    19910  }
    19911 
    19923  template<typename ReferenceType, typename ThisType>
    19924  static ReferenceType get_ref_impl(ThisType& obj)
    19925  {
    19926  // delegate the call to get_ptr<>()
    19927  auto* ptr = obj.template get_ptr<typename std::add_pointer<ReferenceType>::type>();
    19928 
    19929  if (JSON_HEDLEY_LIKELY(ptr != nullptr))
    19930  {
    19931  return *ptr;
    19932  }
    19933 
    19934  JSON_THROW(type_error::create(303, "incompatible ReferenceType for get_ref, actual type is " + std::string(obj.type_name()), obj));
    19935  }
    19936 
    19937  public:
    19941 
    19968  template<typename PointerType, typename std::enable_if<
    19969  std::is_pointer<PointerType>::value, int>::type = 0>
    19970  auto get_ptr() noexcept -> decltype(std::declval<basic_json_t&>().get_impl_ptr(std::declval<PointerType>()))
    19971  {
    19972  // delegate the call to get_impl_ptr<>()
    19973  return get_impl_ptr(static_cast<PointerType>(nullptr));
    19974  }
    19975 
    19980  template < typename PointerType, typename std::enable_if <
    19981  std::is_pointer<PointerType>::value&&
    19982  std::is_const<typename std::remove_pointer<PointerType>::type>::value, int >::type = 0 >
    19983  constexpr auto get_ptr() const noexcept -> decltype(std::declval<const basic_json_t&>().get_impl_ptr(std::declval<PointerType>()))
    19984  {
    19985  // delegate the call to get_impl_ptr<>() const
    19986  return get_impl_ptr(static_cast<PointerType>(nullptr));
    19987  }
    19988 
    19989  private:
    20028  template < typename ValueType,
    20032  int > = 0 >
    20033  ValueType get_impl(detail::priority_tag<0> /*unused*/) const noexcept(noexcept(
    20034  JSONSerializer<ValueType>::from_json(std::declval<const basic_json_t&>(), std::declval<ValueType&>())))
    20035  {
    20036  ValueType ret{};
    20038  return ret;
    20039  }
    20040 
    20071  template < typename ValueType,
    20074  int > = 0 >
    20075  ValueType get_impl(detail::priority_tag<1> /*unused*/) const noexcept(noexcept(
    20076  JSONSerializer<ValueType>::from_json(std::declval<const basic_json_t&>())))
    20077  {
    20079  }
    20080 
    20096  template < typename BasicJsonType,
    20099  int > = 0 >
    20100  BasicJsonType get_impl(detail::priority_tag<2> /*unused*/) const
    20101  {
    20102  return *this;
    20103  }
    20104 
    20119  template<typename BasicJsonType,
    20121  std::is_same<BasicJsonType, basic_json_t>::value,
    20122  int> = 0>
    20123  basic_json get_impl(detail::priority_tag<3> /*unused*/) const
    20124  {
    20125  return *this;
    20126  }
    20127 
    20132  template<typename PointerType,
    20134  std::is_pointer<PointerType>::value,
    20135  int> = 0>
    20136  constexpr auto get_impl(detail::priority_tag<4> /*unused*/) const noexcept
    20137  -> decltype(std::declval<const basic_json_t&>().template get_ptr<PointerType>())
    20138  {
    20139  // delegate the call to get_ptr
    20140  return get_ptr<PointerType>();
    20141  }
    20142 
    20143  public:
    20167  template < typename ValueTypeCV, typename ValueType = detail::uncvref_t<ValueTypeCV>>
    20168 #if defined(JSON_HAS_CPP_14)
    20169  constexpr
    20170 #endif
    20171  auto get() const noexcept(
    20172  noexcept(std::declval<const basic_json_t&>().template get_impl<ValueType>(detail::priority_tag<4> {})))
    20173  -> decltype(std::declval<const basic_json_t&>().template get_impl<ValueType>(detail::priority_tag<4> {}))
    20174  {
    20175  // we cannot static_assert on ValueTypeCV being non-const, because
    20176  // there is support for get<const basic_json_t>(), which is why we
    20177  // still need the uncvref
    20178  static_assert(!std::is_reference<ValueTypeCV>::value,
    20179  "get() cannot be used with reference types, you might want to use get_ref()");
    20180  return get_impl<ValueType>(detail::priority_tag<4> {});
    20181  }
    20182 
    20210  template<typename PointerType, typename std::enable_if<
    20211  std::is_pointer<PointerType>::value, int>::type = 0>
    20212  auto get() noexcept -> decltype(std::declval<basic_json_t&>().template get_ptr<PointerType>())
    20213  {
    20214  // delegate the call to get_ptr
    20215  return get_ptr<PointerType>();
    20216  }
    20217 
    20251  template < typename ValueType,
    20254  detail::has_from_json<basic_json_t, ValueType>::value,
    20255  int > = 0 >
    20256  ValueType & get_to(ValueType& v) const noexcept(noexcept(
    20257  JSONSerializer<ValueType>::from_json(std::declval<const basic_json_t&>(), v)))
    20258  {
    20260  return v;
    20261  }
    20262 
    20263  // specialization to allow to call get_to with a basic_json value
    20264  // see https://github.com/nlohmann/json/issues/2175
    20265  template<typename ValueType,
    20268  int> = 0>
    20269  ValueType & get_to(ValueType& v) const
    20270  {
    20271  v = *this;
    20272  return v;
    20273  }
    20274 
    20275  template <
    20276  typename T, std::size_t N,
    20277  typename Array = T (&)[N], // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays)
    20280  Array get_to(T (&v)[N]) const // NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays)
    20281  noexcept(noexcept(JSONSerializer<Array>::from_json(
    20282  std::declval<const basic_json_t&>(), v)))
    20283  {
    20285  return v;
    20286  }
    20287 
    20314  template<typename ReferenceType, typename std::enable_if<
    20315  std::is_reference<ReferenceType>::value, int>::type = 0>
    20316  ReferenceType get_ref()
    20317  {
    20318  // delegate call to get_ref_impl
    20319  return get_ref_impl<ReferenceType>(*this);
    20320  }
    20321 
    20326  template < typename ReferenceType, typename std::enable_if <
    20327  std::is_reference<ReferenceType>::value&&
    20328  std::is_const<typename std::remove_reference<ReferenceType>::type>::value, int >::type = 0 >
    20329  ReferenceType get_ref() const
    20330  {
    20331  // delegate call to get_ref_impl
    20332  return get_ref_impl<ReferenceType>(*this);
    20333  }
    20334 
    20364  template < typename ValueType, typename std::enable_if <
    20365  !std::is_pointer<ValueType>::value&&
    20366  !std::is_same<ValueType, detail::json_ref<basic_json>>::value&&
    20367  !std::is_same<ValueType, typename string_t::value_type>::value&&
    20368  !detail::is_basic_json<ValueType>::value
    20369  && !std::is_same<ValueType, std::initializer_list<typename string_t::value_type>>::value
    20370 #if defined(JSON_HAS_CPP_17) && (defined(__GNUC__) || (defined(_MSC_VER) && _MSC_VER >= 1910 && _MSC_VER <= 1914))
    20371  && !std::is_same<ValueType, typename std::string_view>::value
    20372 #endif
    20374  , int >::type = 0 >
    20375  JSON_EXPLICIT operator ValueType() const
    20376  {
    20377  // delegate the call to get<>() const
    20378  return get<ValueType>();
    20379  }
    20380 
    20391  {
    20392  if (!is_binary())
    20393  {
    20394  JSON_THROW(type_error::create(302, "type must be binary, but is " + std::string(type_name()), *this));
    20395  }
    20396 
    20397  return *get_ptr<binary_t*>();
    20398  }
    20399 
    20401  const binary_t& get_binary() const
    20402  {
    20403  if (!is_binary())
    20404  {
    20405  JSON_THROW(type_error::create(302, "type must be binary, but is " + std::string(type_name()), *this));
    20406  }
    20407 
    20408  return *get_ptr<const binary_t*>();
    20409  }
    20410 
    20412 
    20413 
    20415  // element access //
    20417 
    20421 
    20449  {
    20450  // at only works for arrays
    20451  if (JSON_HEDLEY_LIKELY(is_array()))
    20452  {
    20453  JSON_TRY
    20454  {
    20455  return set_parent(m_value.array->at(idx));
    20456  }
    20457  JSON_CATCH (std::out_of_range&)
    20458  {
    20459  // create better exception explanation
    20460  JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range", *this));
    20461  }
    20462  }
    20463  else
    20464  {
    20465  JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name()), *this));
    20466  }
    20467  }
    20468 
    20496  {
    20497  // at only works for arrays
    20498  if (JSON_HEDLEY_LIKELY(is_array()))
    20499  {
    20500  JSON_TRY
    20501  {
    20502  return m_value.array->at(idx);
    20503  }
    20504  JSON_CATCH (std::out_of_range&)
    20505  {
    20506  // create better exception explanation
    20507  JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range", *this));
    20508  }
    20509  }
    20510  else
    20511  {
    20512  JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name()), *this));
    20513  }
    20514  }
    20515 
    20546  reference at(const typename object_t::key_type& key)
    20547  {
    20548  // at only works for objects
    20549  if (JSON_HEDLEY_LIKELY(is_object()))
    20550  {
    20551  JSON_TRY
    20552  {
    20553  return set_parent(m_value.object->at(key));
    20554  }
    20555  JSON_CATCH (std::out_of_range&)
    20556  {
    20557  // create better exception explanation
    20558  JSON_THROW(out_of_range::create(403, "key '" + key + "' not found", *this));
    20559  }
    20560  }
    20561  else
    20562  {
    20563  JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name()), *this));
    20564  }
    20565  }
    20566 
    20597  const_reference at(const typename object_t::key_type& key) const
    20598  {
    20599  // at only works for objects
    20600  if (JSON_HEDLEY_LIKELY(is_object()))
    20601  {
    20602  JSON_TRY
    20603  {
    20604  return m_value.object->at(key);
    20605  }
    20606  JSON_CATCH (std::out_of_range&)
    20607  {
    20608  // create better exception explanation
    20609  JSON_THROW(out_of_range::create(403, "key '" + key + "' not found", *this));
    20610  }
    20611  }
    20612  else
    20613  {
    20614  JSON_THROW(type_error::create(304, "cannot use at() with " + std::string(type_name()), *this));
    20615  }
    20616  }
    20617 
    20644  {
    20645  // implicitly convert null value to an empty array
    20646  if (is_null())
    20647  {
    20648  m_type = value_t::array;
    20649  m_value.array = create<array_t>();
    20650  assert_invariant();
    20651  }
    20652 
    20653  // operator[] only works for arrays
    20654  if (JSON_HEDLEY_LIKELY(is_array()))
    20655  {
    20656  // fill up array with null values if given idx is outside range
    20657  if (idx >= m_value.array->size())
    20658  {
    20659 #if JSON_DIAGNOSTICS
    20660  // remember array size before resizing
    20661  const auto previous_size = m_value.array->size();
    20662 #endif
    20663  m_value.array->resize(idx + 1);
    20664 
    20665 #if JSON_DIAGNOSTICS
    20666  // set parent for values added above
    20667  set_parents(begin() + static_cast<typename iterator::difference_type>(previous_size), static_cast<typename iterator::difference_type>(idx + 1 - previous_size));
    20668 #endif
    20669  }
    20670 
    20671  return m_value.array->operator[](idx);
    20672  }
    20673 
    20674  JSON_THROW(type_error::create(305, "cannot use operator[] with a numeric argument with " + std::string(type_name()), *this));
    20675  }
    20676 
    20697  {
    20698  // const operator[] only works for arrays
    20699  if (JSON_HEDLEY_LIKELY(is_array()))
    20700  {
    20701  return m_value.array->operator[](idx);
    20702  }
    20703 
    20704  JSON_THROW(type_error::create(305, "cannot use operator[] with a numeric argument with " + std::string(type_name()), *this));
    20705  }
    20706 
    20734  reference operator[](const typename object_t::key_type& key)
    20735  {
    20736  // implicitly convert null value to an empty object
    20737  if (is_null())
    20738  {
    20739  m_type = value_t::object;
    20740  m_value.object = create<object_t>();
    20741  assert_invariant();
    20742  }
    20743 
    20744  // operator[] only works for objects
    20745  if (JSON_HEDLEY_LIKELY(is_object()))
    20746  {
    20747  return set_parent(m_value.object->operator[](key));
    20748  }
    20749 
    20750  JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name()), *this));
    20751  }
    20752 
    20783  const_reference operator[](const typename object_t::key_type& key) const
    20784  {
    20785  // const operator[] only works for objects
    20786  if (JSON_HEDLEY_LIKELY(is_object()))
    20787  {
    20788  JSON_ASSERT(m_value.object->find(key) != m_value.object->end());
    20789  return m_value.object->find(key)->second;
    20790  }
    20791 
    20792  JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name()), *this));
    20793  }
    20794 
    20822  template<typename T>
    20824  reference operator[](T* key)
    20825  {
    20826  // implicitly convert null to object
    20827  if (is_null())
    20828  {
    20829  m_type = value_t::object;
    20830  m_value = value_t::object;
    20831  assert_invariant();
    20832  }
    20833 
    20834  // at only works for objects
    20835  if (JSON_HEDLEY_LIKELY(is_object()))
    20836  {
    20837  return set_parent(m_value.object->operator[](key));
    20838  }
    20839 
    20840  JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name()), *this));
    20841  }
    20842 
    20873  template<typename T>
    20875  const_reference operator[](T* key) const
    20876  {
    20877  // at only works for objects
    20878  if (JSON_HEDLEY_LIKELY(is_object()))
    20879  {
    20880  JSON_ASSERT(m_value.object->find(key) != m_value.object->end());
    20881  return m_value.object->find(key)->second;
    20882  }
    20883 
    20884  JSON_THROW(type_error::create(305, "cannot use operator[] with a string argument with " + std::string(type_name()), *this));
    20885  }
    20886 
    20937  // using std::is_convertible in a std::enable_if will fail when using explicit conversions
    20938  template < class ValueType, typename std::enable_if <
    20940  && !std::is_same<value_t, ValueType>::value, int >::type = 0 >
    20941  ValueType value(const typename object_t::key_type& key, const ValueType& default_value) const
    20942  {
    20943  // at only works for objects
    20944  if (JSON_HEDLEY_LIKELY(is_object()))
    20945  {
    20946  // if key is found, return value and given default value otherwise
    20947  const auto it = find(key);
    20948  if (it != end())
    20949  {
    20950  return it->template get<ValueType>();
    20951  }
    20952 
    20953  return default_value;
    20954  }
    20955 
    20956  JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name()), *this));
    20957  }
    20958 
    20963  string_t value(const typename object_t::key_type& key, const char* default_value) const
    20964  {
    20965  return value(key, string_t(default_value));
    20966  }
    20967 
    21011  template<class ValueType, typename std::enable_if<
    21013  ValueType value(const json_pointer& ptr, const ValueType& default_value) const
    21014  {
    21015  // at only works for objects
    21016  if (JSON_HEDLEY_LIKELY(is_object()))
    21017  {
    21018  // if pointer resolves a value, return it or use default value
    21019  JSON_TRY
    21020  {
    21021  return ptr.get_checked(this).template get<ValueType>();
    21022  }
    21024  {
    21025  return default_value;
    21026  }
    21027  }
    21028 
    21029  JSON_THROW(type_error::create(306, "cannot use value() with " + std::string(type_name()), *this));
    21030  }
    21031 
    21037  string_t value(const json_pointer& ptr, const char* default_value) const
    21038  {
    21039  return value(ptr, string_t(default_value));
    21040  }
    21041 
    21068  {
    21069  return *begin();
    21070  }
    21071 
    21076  {
    21077  return *cbegin();
    21078  }
    21079 
    21112  {
    21113  auto tmp = end();
    21114  --tmp;
    21115  return *tmp;
    21116  }
    21117 
    21122  {
    21123  auto tmp = cend();
    21124  --tmp;
    21125  return *tmp;
    21126  }
    21127 
    21174  template < class IteratorType, typename std::enable_if <
    21175  std::is_same<IteratorType, typename basic_json_t::iterator>::value ||
    21176  std::is_same<IteratorType, typename basic_json_t::const_iterator>::value, int >::type
    21177  = 0 >
    21178  IteratorType erase(IteratorType pos)
    21179  {
    21180  // make sure iterator fits the current value
    21181  if (JSON_HEDLEY_UNLIKELY(this != pos.m_object))
    21182  {
    21183  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value", *this));
    21184  }
    21185 
    21186  IteratorType result = end();
    21187 
    21188  switch (m_type)
    21189  {
    21190  case value_t::boolean:
    21191  case value_t::number_float:
    21194  case value_t::string:
    21195  case value_t::binary:
    21196  {
    21197  if (JSON_HEDLEY_UNLIKELY(!pos.m_it.primitive_iterator.is_begin()))
    21198  {
    21199  JSON_THROW(invalid_iterator::create(205, "iterator out of range", *this));
    21200  }
    21201 
    21202  if (is_string())
    21203  {
    21204  AllocatorType<string_t> alloc;
    21205  std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.string);
    21206  std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.string, 1);
    21207  m_value.string = nullptr;
    21208  }
    21209  else if (is_binary())
    21210  {
    21211  AllocatorType<binary_t> alloc;
    21212  std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.binary);
    21213  std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.binary, 1);
    21214  m_value.binary = nullptr;
    21215  }
    21216 
    21217  m_type = value_t::null;
    21218  assert_invariant();
    21219  break;
    21220  }
    21221 
    21222  case value_t::object:
    21223  {
    21224  result.m_it.object_iterator = m_value.object->erase(pos.m_it.object_iterator);
    21225  break;
    21226  }
    21227 
    21228  case value_t::array:
    21229  {
    21230  result.m_it.array_iterator = m_value.array->erase(pos.m_it.array_iterator);
    21231  break;
    21232  }
    21233 
    21234  default:
    21235  JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name()), *this));
    21236  }
    21237 
    21238  return result;
    21239  }
    21240 
    21287  template < class IteratorType, typename std::enable_if <
    21288  std::is_same<IteratorType, typename basic_json_t::iterator>::value ||
    21289  std::is_same<IteratorType, typename basic_json_t::const_iterator>::value, int >::type
    21290  = 0 >
    21291  IteratorType erase(IteratorType first, IteratorType last)
    21292  {
    21293  // make sure iterator fits the current value
    21294  if (JSON_HEDLEY_UNLIKELY(this != first.m_object || this != last.m_object))
    21295  {
    21296  JSON_THROW(invalid_iterator::create(203, "iterators do not fit current value", *this));
    21297  }
    21298 
    21299  IteratorType result = end();
    21300 
    21301  switch (m_type)
    21302  {
    21303  case value_t::boolean:
    21304  case value_t::number_float:
    21307  case value_t::string:
    21308  case value_t::binary:
    21309  {
    21310  if (JSON_HEDLEY_LIKELY(!first.m_it.primitive_iterator.is_begin()
    21311  || !last.m_it.primitive_iterator.is_end()))
    21312  {
    21313  JSON_THROW(invalid_iterator::create(204, "iterators out of range", *this));
    21314  }
    21315 
    21316  if (is_string())
    21317  {
    21318  AllocatorType<string_t> alloc;
    21319  std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.string);
    21320  std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.string, 1);
    21321  m_value.string = nullptr;
    21322  }
    21323  else if (is_binary())
    21324  {
    21325  AllocatorType<binary_t> alloc;
    21326  std::allocator_traits<decltype(alloc)>::destroy(alloc, m_value.binary);
    21327  std::allocator_traits<decltype(alloc)>::deallocate(alloc, m_value.binary, 1);
    21328  m_value.binary = nullptr;
    21329  }
    21330 
    21331  m_type = value_t::null;
    21332  assert_invariant();
    21333  break;
    21334  }
    21335 
    21336  case value_t::object:
    21337  {
    21338  result.m_it.object_iterator = m_value.object->erase(first.m_it.object_iterator,
    21339  last.m_it.object_iterator);
    21340  break;
    21341  }
    21342 
    21343  case value_t::array:
    21344  {
    21345  result.m_it.array_iterator = m_value.array->erase(first.m_it.array_iterator,
    21346  last.m_it.array_iterator);
    21347  break;
    21348  }
    21349 
    21350  default:
    21351  JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name()), *this));
    21352  }
    21353 
    21354  return result;
    21355  }
    21356 
    21386  size_type erase(const typename object_t::key_type& key)
    21387  {
    21388  // this erase only works for objects
    21389  if (JSON_HEDLEY_LIKELY(is_object()))
    21390  {
    21391  return m_value.object->erase(key);
    21392  }
    21393 
    21394  JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name()), *this));
    21395  }
    21396 
    21421  void erase(const size_type idx)
    21422  {
    21423  // this erase only works for arrays
    21424  if (JSON_HEDLEY_LIKELY(is_array()))
    21425  {
    21426  if (JSON_HEDLEY_UNLIKELY(idx >= size()))
    21427  {
    21428  JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range", *this));
    21429  }
    21430 
    21431  m_value.array->erase(m_value.array->begin() + static_cast<difference_type>(idx));
    21432  }
    21433  else
    21434  {
    21435  JSON_THROW(type_error::create(307, "cannot use erase() with " + std::string(type_name()), *this));
    21436  }
    21437  }
    21438 
    21440 
    21441 
    21443  // lookup //
    21445 
    21448 
    21473  template<typename KeyT>
    21475  {
    21476  auto result = end();
    21477 
    21478  if (is_object())
    21479  {
    21480  result.m_it.object_iterator = m_value.object->find(std::forward<KeyT>(key));
    21481  }
    21482 
    21483  return result;
    21484  }
    21485 
    21490  template<typename KeyT>
    21491  const_iterator find(KeyT&& key) const
    21492  {
    21493  auto result = cend();
    21494 
    21495  if (is_object())
    21496  {
    21497  result.m_it.object_iterator = m_value.object->find(std::forward<KeyT>(key));
    21498  }
    21499 
    21500  return result;
    21501  }
    21502 
    21524  template<typename KeyT>
    21525  size_type count(KeyT&& key) const
    21526  {
    21527  // return 0 for all nonobject types
    21528  return is_object() ? m_value.object->count(std::forward<KeyT>(key)) : 0;
    21529  }
    21530 
    21556  template < typename KeyT, typename std::enable_if <
    21557  !std::is_same<typename std::decay<KeyT>::type, json_pointer>::value, int >::type = 0 >
    21558  bool contains(KeyT && key) const
    21559  {
    21560  return is_object() && m_value.object->find(std::forward<KeyT>(key)) != m_value.object->end();
    21561  }
    21562 
    21589  bool contains(const json_pointer& ptr) const
    21590  {
    21591  return ptr.contains(this);
    21592  }
    21593 
    21595 
    21596 
    21598  // iterators //
    21600 
    21603 
    21628  iterator begin() noexcept
    21629  {
    21630  iterator result(this);
    21631  result.set_begin();
    21632  return result;
    21633  }
    21634 
    21638  const_iterator begin() const noexcept
    21639  {
    21640  return cbegin();
    21641  }
    21642 
    21668  const_iterator cbegin() const noexcept
    21669  {
    21670  const_iterator result(this);
    21671  result.set_begin();
    21672  return result;
    21673  }
    21674 
    21699  iterator end() noexcept
    21700  {
    21701  iterator result(this);
    21702  result.set_end();
    21703  return result;
    21704  }
    21705 
    21709  const_iterator end() const noexcept
    21710  {
    21711  return cend();
    21712  }
    21713 
    21739  const_iterator cend() const noexcept
    21740  {
    21741  const_iterator result(this);
    21742  result.set_end();
    21743  return result;
    21744  }
    21745 
    21770  {
    21771  return reverse_iterator(end());
    21772  }
    21773 
    21778  {
    21779  return crbegin();
    21780  }
    21781 
    21807  {
    21808  return reverse_iterator(begin());
    21809  }
    21810 
    21814  const_reverse_iterator rend() const noexcept
    21815  {
    21816  return crend();
    21817  }
    21818 
    21844  {
    21845  return const_reverse_iterator(cend());
    21846  }
    21847 
    21873  {
    21874  return const_reverse_iterator(cbegin());
    21875  }
    21876 
    21877  public:
    21935  JSON_HEDLEY_DEPRECATED_FOR(3.1.0, items())
    21936  static iteration_proxy<iterator> iterator_wrapper(reference ref) noexcept
    21937  {
    21938  return ref.items();
    21939  }
    21940 
    21944  JSON_HEDLEY_DEPRECATED_FOR(3.1.0, items())
    21945  static iteration_proxy<const_iterator> iterator_wrapper(const_reference ref) noexcept
    21946  {
    21947  return ref.items();
    21948  }
    21949 
    22019  {
    22020  return iteration_proxy<iterator>(*this);
    22021  }
    22022 
    22027  {
    22028  return iteration_proxy<const_iterator>(*this);
    22029  }
    22030 
    22032 
    22033 
    22035  // capacity //
    22037 
    22040 
    22083  bool empty() const noexcept
    22084  {
    22085  switch (m_type)
    22086  {
    22087  case value_t::null:
    22088  {
    22089  // null values are empty
    22090  return true;
    22091  }
    22092 
    22093  case value_t::array:
    22094  {
    22095  // delegate call to array_t::empty()
    22096  return m_value.array->empty();
    22097  }
    22098 
    22099  case value_t::object:
    22100  {
    22101  // delegate call to object_t::empty()
    22102  return m_value.object->empty();
    22103  }
    22104 
    22105  default:
    22106  {
    22107  // all other types are nonempty
    22108  return false;
    22109  }
    22110  }
    22111  }
    22112 
    22156  size_type size() const noexcept
    22157  {
    22158  switch (m_type)
    22159  {
    22160  case value_t::null:
    22161  {
    22162  // null values are empty
    22163  return 0;
    22164  }
    22165 
    22166  case value_t::array:
    22167  {
    22168  // delegate call to array_t::size()
    22169  return m_value.array->size();
    22170  }
    22171 
    22172  case value_t::object:
    22173  {
    22174  // delegate call to object_t::size()
    22175  return m_value.object->size();
    22176  }
    22177 
    22178  default:
    22179  {
    22180  // all other types have size 1
    22181  return 1;
    22182  }
    22183  }
    22184  }
    22185 
    22227  size_type max_size() const noexcept
    22228  {
    22229  switch (m_type)
    22230  {
    22231  case value_t::array:
    22232  {
    22233  // delegate call to array_t::max_size()
    22234  return m_value.array->max_size();
    22235  }
    22236 
    22237  case value_t::object:
    22238  {
    22239  // delegate call to object_t::max_size()
    22240  return m_value.object->max_size();
    22241  }
    22242 
    22243  default:
    22244  {
    22245  // all other types have max_size() == size()
    22246  return size();
    22247  }
    22248  }
    22249  }
    22250 
    22252 
    22253 
    22255  // modifiers //
    22257 
    22260 
    22298  void clear() noexcept
    22299  {
    22300  switch (m_type)
    22301  {
    22303  {
    22304  m_value.number_integer = 0;
    22305  break;
    22306  }
    22307 
    22309  {
    22310  m_value.number_unsigned = 0;
    22311  break;
    22312  }
    22313 
    22314  case value_t::number_float:
    22315  {
    22316  m_value.number_float = 0.0;
    22317  break;
    22318  }
    22319 
    22320  case value_t::boolean:
    22321  {
    22322  m_value.boolean = false;
    22323  break;
    22324  }
    22325 
    22326  case value_t::string:
    22327  {
    22328  m_value.string->clear();
    22329  break;
    22330  }
    22331 
    22332  case value_t::binary:
    22333  {
    22334  m_value.binary->clear();
    22335  break;
    22336  }
    22337 
    22338  case value_t::array:
    22339  {
    22340  m_value.array->clear();
    22341  break;
    22342  }
    22343 
    22344  case value_t::object:
    22345  {
    22346  m_value.object->clear();
    22347  break;
    22348  }
    22349 
    22350  default:
    22351  break;
    22352  }
    22353  }
    22354 
    22375  void push_back(basic_json&& val)
    22376  {
    22377  // push_back only works for null objects or arrays
    22378  if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_array())))
    22379  {
    22380  JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name()), *this));
    22381  }
    22382 
    22383  // transform null object into an array
    22384  if (is_null())
    22385  {
    22386  m_type = value_t::array;
    22387  m_value = value_t::array;
    22388  assert_invariant();
    22389  }
    22390 
    22391  // add element to array (move semantics)
    22392  m_value.array->push_back(std::move(val));
    22393  set_parent(m_value.array->back());
    22394  // if val is moved from, basic_json move constructor marks it null so we do not call the destructor
    22395  }
    22396 
    22401  reference operator+=(basic_json&& val)
    22402  {
    22403  push_back(std::move(val));
    22404  return *this;
    22405  }
    22406 
    22411  void push_back(const basic_json& val)
    22412  {
    22413  // push_back only works for null objects or arrays
    22414  if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_array())))
    22415  {
    22416  JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name()), *this));
    22417  }
    22418 
    22419  // transform null object into an array
    22420  if (is_null())
    22421  {
    22422  m_type = value_t::array;
    22423  m_value = value_t::array;
    22424  assert_invariant();
    22425  }
    22426 
    22427  // add element to array
    22428  m_value.array->push_back(val);
    22429  set_parent(m_value.array->back());
    22430  }
    22431 
    22436  reference operator+=(const basic_json& val)
    22437  {
    22438  push_back(val);
    22439  return *this;
    22440  }
    22441 
    22462  void push_back(const typename object_t::value_type& val)
    22463  {
    22464  // push_back only works for null objects or objects
    22465  if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_object())))
    22466  {
    22467  JSON_THROW(type_error::create(308, "cannot use push_back() with " + std::string(type_name()), *this));
    22468  }
    22469 
    22470  // transform null object into an object
    22471  if (is_null())
    22472  {
    22473  m_type = value_t::object;
    22474  m_value = value_t::object;
    22475  assert_invariant();
    22476  }
    22477 
    22478  // add element to object
    22479  auto res = m_value.object->insert(val);
    22480  set_parent(res.first->second);
    22481  }
    22482 
    22487  reference operator+=(const typename object_t::value_type& val)
    22488  {
    22489  push_back(val);
    22490  return *this;
    22491  }
    22492 
    22519  {
    22520  if (is_object() && init.size() == 2 && (*init.begin())->is_string())
    22521  {
    22522  basic_json&& key = init.begin()->moved_or_copied();
    22523  push_back(typename object_t::value_type(
    22524  std::move(key.get_ref<string_t&>()), (init.begin() + 1)->moved_or_copied()));
    22525  }
    22526  else
    22527  {
    22528  push_back(basic_json(init));
    22529  }
    22530  }
    22531 
    22537  {
    22538  push_back(init);
    22539  return *this;
    22540  }
    22541 
    22565  template<class... Args>
    22566  reference emplace_back(Args&& ... args)
    22567  {
    22568  // emplace_back only works for null objects or arrays
    22569  if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_array())))
    22570  {
    22571  JSON_THROW(type_error::create(311, "cannot use emplace_back() with " + std::string(type_name()), *this));
    22572  }
    22573 
    22574  // transform null object into an array
    22575  if (is_null())
    22576  {
    22577  m_type = value_t::array;
    22578  m_value = value_t::array;
    22579  assert_invariant();
    22580  }
    22581 
    22582  // add element to array (perfect forwarding)
    22583 #ifdef JSON_HAS_CPP_17
    22584  return set_parent(m_value.array->emplace_back(std::forward<Args>(args)...));
    22585 #else
    22586  m_value.array->emplace_back(std::forward<Args>(args)...);
    22587  return set_parent(m_value.array->back());
    22588 #endif
    22589  }
    22590 
    22618  template<class... Args>
    22619  std::pair<iterator, bool> emplace(Args&& ... args)
    22620  {
    22621  // emplace only works for null objects or arrays
    22622  if (JSON_HEDLEY_UNLIKELY(!(is_null() || is_object())))
    22623  {
    22624  JSON_THROW(type_error::create(311, "cannot use emplace() with " + std::string(type_name()), *this));
    22625  }
    22626 
    22627  // transform null object into an object
    22628  if (is_null())
    22629  {
    22630  m_type = value_t::object;
    22631  m_value = value_t::object;
    22632  assert_invariant();
    22633  }
    22634 
    22635  // add element to array (perfect forwarding)
    22636  auto res = m_value.object->emplace(std::forward<Args>(args)...);
    22637  set_parent(res.first->second);
    22638 
    22639  // create result iterator and set iterator to the result of emplace
    22640  auto it = begin();
    22641  it.m_it.object_iterator = res.first;
    22642 
    22643  // return pair of iterator and boolean
    22644  return {it, res.second};
    22645  }
    22646 
    22650  template<typename... Args>
    22652  {
    22653  iterator result(this);
    22654  JSON_ASSERT(m_value.array != nullptr);
    22655 
    22656  auto insert_pos = std::distance(m_value.array->begin(), pos.m_it.array_iterator);
    22657  m_value.array->insert(pos.m_it.array_iterator, std::forward<Args>(args)...);
    22658  result.m_it.array_iterator = m_value.array->begin() + insert_pos;
    22659 
    22660  // This could have been written as:
    22661  // result.m_it.array_iterator = m_value.array->insert(pos.m_it.array_iterator, cnt, val);
    22662  // but the return value of insert is missing in GCC 4.8, so it is written this way instead.
    22663 
    22664  return result;
    22665  }
    22666 
    22689  iterator insert(const_iterator pos, const basic_json& val)
    22690  {
    22691  // insert only works for arrays
    22692  if (JSON_HEDLEY_LIKELY(is_array()))
    22693  {
    22694  // check if iterator pos fits to this JSON value
    22695  if (JSON_HEDLEY_UNLIKELY(pos.m_object != this))
    22696  {
    22697  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value", *this));
    22698  }
    22699 
    22700  // insert to array and return iterator
    22701  return set_parents(insert_iterator(pos, val), static_cast<typename iterator::difference_type>(1));
    22702  }
    22703 
    22704  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()), *this));
    22705  }
    22706 
    22711  iterator insert(const_iterator pos, basic_json&& val)
    22712  {
    22713  return insert(pos, val);
    22714  }
    22715 
    22740  iterator insert(const_iterator pos, size_type cnt, const basic_json& val)
    22741  {
    22742  // insert only works for arrays
    22743  if (JSON_HEDLEY_LIKELY(is_array()))
    22744  {
    22745  // check if iterator pos fits to this JSON value
    22746  if (JSON_HEDLEY_UNLIKELY(pos.m_object != this))
    22747  {
    22748  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value", *this));
    22749  }
    22750 
    22751  // insert to array and return iterator
    22752  return set_parents(insert_iterator(pos, cnt, val), static_cast<typename iterator::difference_type>(cnt));
    22753  }
    22754 
    22755  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()), *this));
    22756  }
    22757 
    22789  {
    22790  // insert only works for arrays
    22791  if (JSON_HEDLEY_UNLIKELY(!is_array()))
    22792  {
    22793  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()), *this));
    22794  }
    22795 
    22796  // check if iterator pos fits to this JSON value
    22797  if (JSON_HEDLEY_UNLIKELY(pos.m_object != this))
    22798  {
    22799  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value", *this));
    22800  }
    22801 
    22802  // check if range iterators belong to the same JSON object
    22803  if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object))
    22804  {
    22805  JSON_THROW(invalid_iterator::create(210, "iterators do not fit", *this));
    22806  }
    22807 
    22808  if (JSON_HEDLEY_UNLIKELY(first.m_object == this))
    22809  {
    22810  JSON_THROW(invalid_iterator::create(211, "passed iterators may not belong to container", *this));
    22811  }
    22812 
    22813  // insert to array and return iterator
    22814  return set_parents(insert_iterator(pos, first.m_it.array_iterator, last.m_it.array_iterator), std::distance(first, last));
    22815  }
    22816 
    22842  {
    22843  // insert only works for arrays
    22844  if (JSON_HEDLEY_UNLIKELY(!is_array()))
    22845  {
    22846  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()), *this));
    22847  }
    22848 
    22849  // check if iterator pos fits to this JSON value
    22850  if (JSON_HEDLEY_UNLIKELY(pos.m_object != this))
    22851  {
    22852  JSON_THROW(invalid_iterator::create(202, "iterator does not fit current value", *this));
    22853  }
    22854 
    22855  // insert to array and return iterator
    22856  return set_parents(insert_iterator(pos, ilist.begin(), ilist.end()), static_cast<typename iterator::difference_type>(ilist.size()));
    22857  }
    22858 
    22883  {
    22884  // insert only works for objects
    22885  if (JSON_HEDLEY_UNLIKELY(!is_object()))
    22886  {
    22887  JSON_THROW(type_error::create(309, "cannot use insert() with " + std::string(type_name()), *this));
    22888  }
    22889 
    22890  // check if range iterators belong to the same JSON object
    22891  if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object))
    22892  {
    22893  JSON_THROW(invalid_iterator::create(210, "iterators do not fit", *this));
    22894  }
    22895 
    22896  // passed iterators must belong to objects
    22897  if (JSON_HEDLEY_UNLIKELY(!first.m_object->is_object()))
    22898  {
    22899  JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects", *this));
    22900  }
    22901 
    22902  m_value.object->insert(first.m_it.object_iterator, last.m_it.object_iterator);
    22903  }
    22904 
    22925  {
    22926  // implicitly convert null value to an empty object
    22927  if (is_null())
    22928  {
    22929  m_type = value_t::object;
    22930  m_value.object = create<object_t>();
    22931  assert_invariant();
    22932  }
    22933 
    22934  if (JSON_HEDLEY_UNLIKELY(!is_object()))
    22935  {
    22936  JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name()), *this));
    22937  }
    22938  if (JSON_HEDLEY_UNLIKELY(!j.is_object()))
    22939  {
    22940  JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(j.type_name()), *this));
    22941  }
    22942 
    22943  for (auto it = j.cbegin(); it != j.cend(); ++it)
    22944  {
    22945  m_value.object->operator[](it.key()) = it.value();
    22946  }
    22947  }
    22948 
    22976  {
    22977  // implicitly convert null value to an empty object
    22978  if (is_null())
    22979  {
    22980  m_type = value_t::object;
    22981  m_value.object = create<object_t>();
    22982  assert_invariant();
    22983  }
    22984 
    22985  if (JSON_HEDLEY_UNLIKELY(!is_object()))
    22986  {
    22987  JSON_THROW(type_error::create(312, "cannot use update() with " + std::string(type_name()), *this));
    22988  }
    22989 
    22990  // check if range iterators belong to the same JSON object
    22991  if (JSON_HEDLEY_UNLIKELY(first.m_object != last.m_object))
    22992  {
    22993  JSON_THROW(invalid_iterator::create(210, "iterators do not fit", *this));
    22994  }
    22995 
    22996  // passed iterators must belong to objects
    22997  if (JSON_HEDLEY_UNLIKELY(!first.m_object->is_object()
    22998  || !last.m_object->is_object()))
    22999  {
    23000  JSON_THROW(invalid_iterator::create(202, "iterators first and last must point to objects", *this));
    23001  }
    23002 
    23003  for (auto it = first; it != last; ++it)
    23004  {
    23005  m_value.object->operator[](it.key()) = it.value();
    23006  }
    23007  }
    23008 
    23026  void swap(reference other) noexcept (
    23027  std::is_nothrow_move_constructible<value_t>::value&&
    23028  std::is_nothrow_move_assignable<value_t>::value&&
    23029  std::is_nothrow_move_constructible<json_value>::value&&
    23030  std::is_nothrow_move_assignable<json_value>::value
    23031  )
    23032  {
    23033  std::swap(m_type, other.m_type);
    23034  std::swap(m_value, other.m_value);
    23035 
    23036  set_parents();
    23037  other.set_parents();
    23038  assert_invariant();
    23039  }
    23040 
    23059  friend void swap(reference left, reference right) noexcept (
    23060  std::is_nothrow_move_constructible<value_t>::value&&
    23061  std::is_nothrow_move_assignable<value_t>::value&&
    23062  std::is_nothrow_move_constructible<json_value>::value&&
    23063  std::is_nothrow_move_assignable<json_value>::value
    23064  )
    23065  {
    23066  left.swap(right);
    23067  }
    23068 
    23089  void swap(array_t& other) // NOLINT(bugprone-exception-escape)
    23090  {
    23091  // swap only works for arrays
    23092  if (JSON_HEDLEY_LIKELY(is_array()))
    23093  {
    23094  std::swap(*(m_value.array), other);
    23095  }
    23096  else
    23097  {
    23098  JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()), *this));
    23099  }
    23100  }
    23101 
    23122  void swap(object_t& other) // NOLINT(bugprone-exception-escape)
    23123  {
    23124  // swap only works for objects
    23125  if (JSON_HEDLEY_LIKELY(is_object()))
    23126  {
    23127  std::swap(*(m_value.object), other);
    23128  }
    23129  else
    23130  {
    23131  JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()), *this));
    23132  }
    23133  }
    23134 
    23155  void swap(string_t& other) // NOLINT(bugprone-exception-escape)
    23156  {
    23157  // swap only works for strings
    23158  if (JSON_HEDLEY_LIKELY(is_string()))
    23159  {
    23160  std::swap(*(m_value.string), other);
    23161  }
    23162  else
    23163  {
    23164  JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()), *this));
    23165  }
    23166  }
    23167 
    23188  void swap(binary_t& other) // NOLINT(bugprone-exception-escape)
    23189  {
    23190  // swap only works for strings
    23191  if (JSON_HEDLEY_LIKELY(is_binary()))
    23192  {
    23193  std::swap(*(m_value.binary), other);
    23194  }
    23195  else
    23196  {
    23197  JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()), *this));
    23198  }
    23199  }
    23200 
    23202  void swap(typename binary_t::container_type& other) // NOLINT(bugprone-exception-escape)
    23203  {
    23204  // swap only works for strings
    23205  if (JSON_HEDLEY_LIKELY(is_binary()))
    23206  {
    23207  std::swap(*(m_value.binary), other);
    23208  }
    23209  else
    23210  {
    23211  JSON_THROW(type_error::create(310, "cannot use swap() with " + std::string(type_name()), *this));
    23212  }
    23213  }
    23214 
    23216 
    23217  public:
    23219  // lexicographical comparison operators //
    23221 
    23224 
    23280  friend bool operator==(const_reference lhs, const_reference rhs) noexcept
    23281  {
    23282  const auto lhs_type = lhs.type();
    23283  const auto rhs_type = rhs.type();
    23284 
    23285  if (lhs_type == rhs_type)
    23286  {
    23287  switch (lhs_type)
    23288  {
    23289  case value_t::array:
    23290  return *lhs.m_value.array == *rhs.m_value.array;
    23291 
    23292  case value_t::object:
    23293  return *lhs.m_value.object == *rhs.m_value.object;
    23294 
    23295  case value_t::null:
    23296  return true;
    23297 
    23298  case value_t::string:
    23299  return *lhs.m_value.string == *rhs.m_value.string;
    23300 
    23301  case value_t::boolean:
    23302  return lhs.m_value.boolean == rhs.m_value.boolean;
    23303 
    23305  return lhs.m_value.number_integer == rhs.m_value.number_integer;
    23306 
    23308  return lhs.m_value.number_unsigned == rhs.m_value.number_unsigned;
    23309 
    23310  case value_t::number_float:
    23311  return lhs.m_value.number_float == rhs.m_value.number_float;
    23312 
    23313  case value_t::binary:
    23314  return *lhs.m_value.binary == *rhs.m_value.binary;
    23315 
    23316  default:
    23317  return false;
    23318  }
    23319  }
    23320  else if (lhs_type == value_t::number_integer && rhs_type == value_t::number_float)
    23321  {
    23322  return static_cast<number_float_t>(lhs.m_value.number_integer) == rhs.m_value.number_float;
    23323  }
    23324  else if (lhs_type == value_t::number_float && rhs_type == value_t::number_integer)
    23325  {
    23326  return lhs.m_value.number_float == static_cast<number_float_t>(rhs.m_value.number_integer);
    23327  }
    23328  else if (lhs_type == value_t::number_unsigned && rhs_type == value_t::number_float)
    23329  {
    23330  return static_cast<number_float_t>(lhs.m_value.number_unsigned) == rhs.m_value.number_float;
    23331  }
    23332  else if (lhs_type == value_t::number_float && rhs_type == value_t::number_unsigned)
    23333  {
    23334  return lhs.m_value.number_float == static_cast<number_float_t>(rhs.m_value.number_unsigned);
    23335  }
    23336  else if (lhs_type == value_t::number_unsigned && rhs_type == value_t::number_integer)
    23337  {
    23338  return static_cast<number_integer_t>(lhs.m_value.number_unsigned) == rhs.m_value.number_integer;
    23339  }
    23340  else if (lhs_type == value_t::number_integer && rhs_type == value_t::number_unsigned)
    23341  {
    23342  return lhs.m_value.number_integer == static_cast<number_integer_t>(rhs.m_value.number_unsigned);
    23343  }
    23344 
    23345  return false;
    23346  }
    23347 
    23352  template<typename ScalarType, typename std::enable_if<
    23353  std::is_scalar<ScalarType>::value, int>::type = 0>
    23354  friend bool operator==(const_reference lhs, ScalarType rhs) noexcept
    23355  {
    23356  return lhs == basic_json(rhs);
    23357  }
    23358 
    23363  template<typename ScalarType, typename std::enable_if<
    23364  std::is_scalar<ScalarType>::value, int>::type = 0>
    23365  friend bool operator==(ScalarType lhs, const_reference rhs) noexcept
    23366  {
    23367  return basic_json(lhs) == rhs;
    23368  }
    23369 
    23388  friend bool operator!=(const_reference lhs, const_reference rhs) noexcept
    23389  {
    23390  return !(lhs == rhs);
    23391  }
    23392 
    23397  template<typename ScalarType, typename std::enable_if<
    23398  std::is_scalar<ScalarType>::value, int>::type = 0>
    23399  friend bool operator!=(const_reference lhs, ScalarType rhs) noexcept
    23400  {
    23401  return lhs != basic_json(rhs);
    23402  }
    23403 
    23408  template<typename ScalarType, typename std::enable_if<
    23409  std::is_scalar<ScalarType>::value, int>::type = 0>
    23410  friend bool operator!=(ScalarType lhs, const_reference rhs) noexcept
    23411  {
    23412  return basic_json(lhs) != rhs;
    23413  }
    23414 
    23441  friend bool operator<(const_reference lhs, const_reference rhs) noexcept
    23442  {
    23443  const auto lhs_type = lhs.type();
    23444  const auto rhs_type = rhs.type();
    23445 
    23446  if (lhs_type == rhs_type)
    23447  {
    23448  switch (lhs_type)
    23449  {
    23450  case value_t::array:
    23451  // note parentheses are necessary, see
    23452  // https://github.com/nlohmann/json/issues/1530
    23453  return (*lhs.m_value.array) < (*rhs.m_value.array);
    23454 
    23455  case value_t::object:
    23456  return (*lhs.m_value.object) < (*rhs.m_value.object);
    23457 
    23458  case value_t::null:
    23459  return false;
    23460 
    23461  case value_t::string:
    23462  return (*lhs.m_value.string) < (*rhs.m_value.string);
    23463 
    23464  case value_t::boolean:
    23465  return (lhs.m_value.boolean) < (rhs.m_value.boolean);
    23466 
    23468  return (lhs.m_value.number_integer) < (rhs.m_value.number_integer);
    23469 
    23471  return (lhs.m_value.number_unsigned) < (rhs.m_value.number_unsigned);
    23472 
    23473  case value_t::number_float:
    23474  return (lhs.m_value.number_float) < (rhs.m_value.number_float);
    23475 
    23476  case value_t::binary:
    23477  return (*lhs.m_value.binary) < (*rhs.m_value.binary);
    23478 
    23479  default:
    23480  return false;
    23481  }
    23482  }
    23483  else if (lhs_type == value_t::number_integer && rhs_type == value_t::number_float)
    23484  {
    23485  return static_cast<number_float_t>(lhs.m_value.number_integer) < rhs.m_value.number_float;
    23486  }
    23487  else if (lhs_type == value_t::number_float && rhs_type == value_t::number_integer)
    23488  {
    23489  return lhs.m_value.number_float < static_cast<number_float_t>(rhs.m_value.number_integer);
    23490  }
    23491  else if (lhs_type == value_t::number_unsigned && rhs_type == value_t::number_float)
    23492  {
    23493  return static_cast<number_float_t>(lhs.m_value.number_unsigned) < rhs.m_value.number_float;
    23494  }
    23495  else if (lhs_type == value_t::number_float && rhs_type == value_t::number_unsigned)
    23496  {
    23497  return lhs.m_value.number_float < static_cast<number_float_t>(rhs.m_value.number_unsigned);
    23498  }
    23499  else if (lhs_type == value_t::number_integer && rhs_type == value_t::number_unsigned)
    23500  {
    23501  return lhs.m_value.number_integer < static_cast<number_integer_t>(rhs.m_value.number_unsigned);
    23502  }
    23503  else if (lhs_type == value_t::number_unsigned && rhs_type == value_t::number_integer)
    23504  {
    23505  return static_cast<number_integer_t>(lhs.m_value.number_unsigned) < rhs.m_value.number_integer;
    23506  }
    23507 
    23508  // We only reach this line if we cannot compare values. In that case,
    23509  // we compare types. Note we have to call the operator explicitly,
    23510  // because MSVC has problems otherwise.
    23511  return operator<(lhs_type, rhs_type);
    23512  }
    23513 
    23518  template<typename ScalarType, typename std::enable_if<
    23519  std::is_scalar<ScalarType>::value, int>::type = 0>
    23520  friend bool operator<(const_reference lhs, ScalarType rhs) noexcept
    23521  {
    23522  return lhs < basic_json(rhs);
    23523  }
    23524 
    23529  template<typename ScalarType, typename std::enable_if<
    23530  std::is_scalar<ScalarType>::value, int>::type = 0>
    23531  friend bool operator<(ScalarType lhs, const_reference rhs) noexcept
    23532  {
    23533  return basic_json(lhs) < rhs;
    23534  }
    23535 
    23555  friend bool operator<=(const_reference lhs, const_reference rhs) noexcept
    23556  {
    23557  return !(rhs < lhs);
    23558  }
    23559 
    23564  template<typename ScalarType, typename std::enable_if<
    23565  std::is_scalar<ScalarType>::value, int>::type = 0>
    23566  friend bool operator<=(const_reference lhs, ScalarType rhs) noexcept
    23567  {
    23568  return lhs <= basic_json(rhs);
    23569  }
    23570 
    23575  template<typename ScalarType, typename std::enable_if<
    23576  std::is_scalar<ScalarType>::value, int>::type = 0>
    23577  friend bool operator<=(ScalarType lhs, const_reference rhs) noexcept
    23578  {
    23579  return basic_json(lhs) <= rhs;
    23580  }
    23581 
    23601  friend bool operator>(const_reference lhs, const_reference rhs) noexcept
    23602  {
    23603  return !(lhs <= rhs);
    23604  }
    23605 
    23610  template<typename ScalarType, typename std::enable_if<
    23611  std::is_scalar<ScalarType>::value, int>::type = 0>
    23612  friend bool operator>(const_reference lhs, ScalarType rhs) noexcept
    23613  {
    23614  return lhs > basic_json(rhs);
    23615  }
    23616 
    23621  template<typename ScalarType, typename std::enable_if<
    23622  std::is_scalar<ScalarType>::value, int>::type = 0>
    23623  friend bool operator>(ScalarType lhs, const_reference rhs) noexcept
    23624  {
    23625  return basic_json(lhs) > rhs;
    23626  }
    23627 
    23647  friend bool operator>=(const_reference lhs, const_reference rhs) noexcept
    23648  {
    23649  return !(lhs < rhs);
    23650  }
    23651 
    23656  template<typename ScalarType, typename std::enable_if<
    23657  std::is_scalar<ScalarType>::value, int>::type = 0>
    23658  friend bool operator>=(const_reference lhs, ScalarType rhs) noexcept
    23659  {
    23660  return lhs >= basic_json(rhs);
    23661  }
    23662 
    23667  template<typename ScalarType, typename std::enable_if<
    23668  std::is_scalar<ScalarType>::value, int>::type = 0>
    23669  friend bool operator>=(ScalarType lhs, const_reference rhs) noexcept
    23670  {
    23671  return basic_json(lhs) >= rhs;
    23672  }
    23673 
    23675 
    23677  // serialization //
    23679 
    23682 
    23714  friend std::ostream& operator<<(std::ostream& o, const basic_json& j)
    23715  {
    23716  // read width member and use it as indentation parameter if nonzero
    23717  const bool pretty_print = o.width() > 0;
    23718  const auto indentation = pretty_print ? o.width() : 0;
    23719 
    23720  // reset width to 0 for subsequent calls to this stream
    23721  o.width(0);
    23722 
    23723  // do the actual serialization
    23724  serializer s(detail::output_adapter<char>(o), o.fill());
    23725  s.dump(j, pretty_print, false, static_cast<unsigned int>(indentation));
    23726  return o;
    23727  }
    23728 
    23737  JSON_HEDLEY_DEPRECATED_FOR(3.0.0, operator<<(std::ostream&, const basic_json&))
    23738  friend std::ostream& operator>>(const basic_json& j, std::ostream& o)
    23739  {
    23740  return o << j;
    23741  }
    23742 
    23744 
    23745 
    23747  // deserialization //
    23749 
    23752 
    23804  template<typename InputType>
    23806  static basic_json parse(InputType&& i,
    23807  const parser_callback_t cb = nullptr,
    23808  const bool allow_exceptions = true,
    23809  const bool ignore_comments = false)
    23810  {
    23811  basic_json result;
    23812  parser(detail::input_adapter(std::forward<InputType>(i)), cb, allow_exceptions, ignore_comments).parse(true, result);
    23813  return result;
    23814  }
    23815 
    23842  template<typename IteratorType>
    23844  static basic_json parse(IteratorType first,
    23845  IteratorType last,
    23846  const parser_callback_t cb = nullptr,
    23847  const bool allow_exceptions = true,
    23848  const bool ignore_comments = false)
    23849  {
    23850  basic_json result;
    23851  parser(detail::input_adapter(std::move(first), std::move(last)), cb, allow_exceptions, ignore_comments).parse(true, result);
    23852  return result;
    23853  }
    23854 
    23856  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, parse(ptr, ptr + len))
    23857  static basic_json parse(detail::span_input_adapter&& i,
    23858  const parser_callback_t cb = nullptr,
    23859  const bool allow_exceptions = true,
    23860  const bool ignore_comments = false)
    23861  {
    23862  basic_json result;
    23863  parser(i.get(), cb, allow_exceptions, ignore_comments).parse(true, result);
    23864  return result;
    23865  }
    23866 
    23897  template<typename InputType>
    23898  static bool accept(InputType&& i,
    23899  const bool ignore_comments = false)
    23900  {
    23901  return parser(detail::input_adapter(std::forward<InputType>(i)), nullptr, false, ignore_comments).accept(true);
    23902  }
    23903 
    23904  template<typename IteratorType>
    23905  static bool accept(IteratorType first, IteratorType last,
    23906  const bool ignore_comments = false)
    23907  {
    23908  return parser(detail::input_adapter(std::move(first), std::move(last)), nullptr, false, ignore_comments).accept(true);
    23909  }
    23910 
    23912  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, accept(ptr, ptr + len))
    23913  static bool accept(detail::span_input_adapter&& i,
    23914  const bool ignore_comments = false)
    23915  {
    23916  return parser(i.get(), nullptr, false, ignore_comments).accept(true);
    23917  }
    23918 
    23959  template <typename InputType, typename SAX>
    23961  static bool sax_parse(InputType&& i, SAX* sax,
    23963  const bool strict = true,
    23964  const bool ignore_comments = false)
    23965  {
    23966  auto ia = detail::input_adapter(std::forward<InputType>(i));
    23967  return format == input_format_t::json
    23968  ? parser(std::move(ia), nullptr, true, ignore_comments).sax_parse(sax, strict)
    23969  : detail::binary_reader<basic_json, decltype(ia), SAX>(std::move(ia)).sax_parse(format, sax, strict);
    23970  }
    23971 
    23972  template<class IteratorType, class SAX>
    23974  static bool sax_parse(IteratorType first, IteratorType last, SAX* sax,
    23976  const bool strict = true,
    23977  const bool ignore_comments = false)
    23978  {
    23979  auto ia = detail::input_adapter(std::move(first), std::move(last));
    23980  return format == input_format_t::json
    23981  ? parser(std::move(ia), nullptr, true, ignore_comments).sax_parse(sax, strict)
    23982  : detail::binary_reader<basic_json, decltype(ia), SAX>(std::move(ia)).sax_parse(format, sax, strict);
    23983  }
    23984 
    23985  template <typename SAX>
    23986  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, sax_parse(ptr, ptr + len, ...))
    23988  static bool sax_parse(detail::span_input_adapter&& i, SAX* sax,
    23990  const bool strict = true,
    23991  const bool ignore_comments = false)
    23992  {
    23993  auto ia = i.get();
    23994  return format == input_format_t::json
    23995  // NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg)
    23996  ? parser(std::move(ia), nullptr, true, ignore_comments).sax_parse(sax, strict)
    23997  // NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg)
    23998  : detail::binary_reader<basic_json, decltype(ia), SAX>(std::move(ia)).sax_parse(format, sax, strict);
    23999  }
    24000 
    24009  JSON_HEDLEY_DEPRECATED_FOR(3.0.0, operator>>(std::istream&, basic_json&))
    24010  friend std::istream& operator<<(basic_json& j, std::istream& i)
    24011  {
    24012  return operator>>(i, j);
    24013  }
    24014 
    24040  friend std::istream& operator>>(std::istream& i, basic_json& j)
    24041  {
    24042  parser(detail::input_adapter(i)).parse(false, j);
    24043  return i;
    24044  }
    24045 
    24047 
    24049  // convenience functions //
    24051 
    24084  const char* type_name() const noexcept
    24085  {
    24086  {
    24087  switch (m_type)
    24088  {
    24089  case value_t::null:
    24090  return "null";
    24091  case value_t::object:
    24092  return "object";
    24093  case value_t::array:
    24094  return "array";
    24095  case value_t::string:
    24096  return "string";
    24097  case value_t::boolean:
    24098  return "boolean";
    24099  case value_t::binary:
    24100  return "binary";
    24101  case value_t::discarded:
    24102  return "discarded";
    24103  default:
    24104  return "number";
    24105  }
    24106  }
    24107  }
    24108 
    24109 
    24112  // member variables //
    24114 
    24117 
    24119  json_value m_value = {};
    24120 
    24121 #if JSON_DIAGNOSTICS
    24122  basic_json* m_parent = nullptr;
    24124 #endif
    24125 
    24127  // binary serialization/deserialization //
    24129 
    24132 
    24133  public:
    24228  static std::vector<uint8_t> to_cbor(const basic_json& j)
    24229  {
    24230  std::vector<uint8_t> result;
    24231  to_cbor(j, result);
    24232  return result;
    24233  }
    24234 
    24235  static void to_cbor(const basic_json& j, detail::output_adapter<uint8_t> o)
    24236  {
    24237  binary_writer<uint8_t>(o).write_cbor(j);
    24238  }
    24239 
    24240  static void to_cbor(const basic_json& j, detail::output_adapter<char> o)
    24241  {
    24242  binary_writer<char>(o).write_cbor(j);
    24243  }
    24244 
    24323  static std::vector<uint8_t> to_msgpack(const basic_json& j)
    24324  {
    24325  std::vector<uint8_t> result;
    24326  to_msgpack(j, result);
    24327  return result;
    24328  }
    24329 
    24330  static void to_msgpack(const basic_json& j, detail::output_adapter<uint8_t> o)
    24331  {
    24332  binary_writer<uint8_t>(o).write_msgpack(j);
    24333  }
    24334 
    24335  static void to_msgpack(const basic_json& j, detail::output_adapter<char> o)
    24336  {
    24337  binary_writer<char>(o).write_msgpack(j);
    24338  }
    24339 
    24426  static std::vector<uint8_t> to_ubjson(const basic_json& j,
    24427  const bool use_size = false,
    24428  const bool use_type = false)
    24429  {
    24430  std::vector<uint8_t> result;
    24431  to_ubjson(j, result, use_size, use_type);
    24432  return result;
    24433  }
    24434 
    24435  static void to_ubjson(const basic_json& j, detail::output_adapter<uint8_t> o,
    24436  const bool use_size = false, const bool use_type = false)
    24437  {
    24438  binary_writer<uint8_t>(o).write_ubjson(j, use_size, use_type);
    24439  }
    24440 
    24441  static void to_ubjson(const basic_json& j, detail::output_adapter<char> o,
    24442  const bool use_size = false, const bool use_type = false)
    24443  {
    24444  binary_writer<char>(o).write_ubjson(j, use_size, use_type);
    24445  }
    24446 
    24447 
    24504  static std::vector<uint8_t> to_bson(const basic_json& j)
    24505  {
    24506  std::vector<uint8_t> result;
    24507  to_bson(j, result);
    24508  return result;
    24509  }
    24510 
    24519  static void to_bson(const basic_json& j, detail::output_adapter<uint8_t> o)
    24520  {
    24521  binary_writer<uint8_t>(o).write_bson(j);
    24522  }
    24523 
    24527  static void to_bson(const basic_json& j, detail::output_adapter<char> o)
    24528  {
    24529  binary_writer<char>(o).write_bson(j);
    24530  }
    24531 
    24532 
    24635  template<typename InputType>
    24637  static basic_json from_cbor(InputType&& i,
    24638  const bool strict = true,
    24639  const bool allow_exceptions = true,
    24640  const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)
    24641  {
    24642  basic_json result;
    24643  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
    24644  auto ia = detail::input_adapter(std::forward<InputType>(i));
    24645  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict, tag_handler);
    24646  return res ? result : basic_json(value_t::discarded);
    24647  }
    24648 
    24652  template<typename IteratorType>
    24654  static basic_json from_cbor(IteratorType first, IteratorType last,
    24655  const bool strict = true,
    24656  const bool allow_exceptions = true,
    24657  const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)
    24658  {
    24659  basic_json result;
    24660  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
    24661  auto ia = detail::input_adapter(std::move(first), std::move(last));
    24662  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict, tag_handler);
    24663  return res ? result : basic_json(value_t::discarded);
    24664  }
    24665 
    24666  template<typename T>
    24668  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len))
    24669  static basic_json from_cbor(const T* ptr, std::size_t len,
    24670  const bool strict = true,
    24671  const bool allow_exceptions = true,
    24672  const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)
    24673  {
    24674  return from_cbor(ptr, ptr + len, strict, allow_exceptions, tag_handler);
    24675  }
    24676 
    24677 
    24679  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_cbor(ptr, ptr + len))
    24680  static basic_json from_cbor(detail::span_input_adapter&& i,
    24681  const bool strict = true,
    24682  const bool allow_exceptions = true,
    24683  const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error)
    24684  {
    24685  basic_json result;
    24686  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
    24687  auto ia = i.get();
    24688  // NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg)
    24689  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::cbor, &sdp, strict, tag_handler);
    24690  return res ? result : basic_json(value_t::discarded);
    24691  }
    24692 
    24779  template<typename InputType>
    24781  static basic_json from_msgpack(InputType&& i,
    24782  const bool strict = true,
    24783  const bool allow_exceptions = true)
    24784  {
    24785  basic_json result;
    24786  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
    24787  auto ia = detail::input_adapter(std::forward<InputType>(i));
    24788  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict);
    24789  return res ? result : basic_json(value_t::discarded);
    24790  }
    24791 
    24795  template<typename IteratorType>
    24797  static basic_json from_msgpack(IteratorType first, IteratorType last,
    24798  const bool strict = true,
    24799  const bool allow_exceptions = true)
    24800  {
    24801  basic_json result;
    24802  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
    24803  auto ia = detail::input_adapter(std::move(first), std::move(last));
    24804  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict);
    24805  return res ? result : basic_json(value_t::discarded);
    24806  }
    24807 
    24808 
    24809  template<typename T>
    24811  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len))
    24812  static basic_json from_msgpack(const T* ptr, std::size_t len,
    24813  const bool strict = true,
    24814  const bool allow_exceptions = true)
    24815  {
    24816  return from_msgpack(ptr, ptr + len, strict, allow_exceptions);
    24817  }
    24818 
    24820  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_msgpack(ptr, ptr + len))
    24821  static basic_json from_msgpack(detail::span_input_adapter&& i,
    24822  const bool strict = true,
    24823  const bool allow_exceptions = true)
    24824  {
    24825  basic_json result;
    24826  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
    24827  auto ia = i.get();
    24828  // NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg)
    24829  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::msgpack, &sdp, strict);
    24830  return res ? result : basic_json(value_t::discarded);
    24831  }
    24832 
    24833 
    24896  template<typename InputType>
    24898  static basic_json from_ubjson(InputType&& i,
    24899  const bool strict = true,
    24900  const bool allow_exceptions = true)
    24901  {
    24902  basic_json result;
    24903  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
    24904  auto ia = detail::input_adapter(std::forward<InputType>(i));
    24905  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict);
    24906  return res ? result : basic_json(value_t::discarded);
    24907  }
    24908 
    24912  template<typename IteratorType>
    24914  static basic_json from_ubjson(IteratorType first, IteratorType last,
    24915  const bool strict = true,
    24916  const bool allow_exceptions = true)
    24917  {
    24918  basic_json result;
    24919  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
    24920  auto ia = detail::input_adapter(std::move(first), std::move(last));
    24921  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict);
    24922  return res ? result : basic_json(value_t::discarded);
    24923  }
    24924 
    24925  template<typename T>
    24927  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len))
    24928  static basic_json from_ubjson(const T* ptr, std::size_t len,
    24929  const bool strict = true,
    24930  const bool allow_exceptions = true)
    24931  {
    24932  return from_ubjson(ptr, ptr + len, strict, allow_exceptions);
    24933  }
    24934 
    24936  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_ubjson(ptr, ptr + len))
    24937  static basic_json from_ubjson(detail::span_input_adapter&& i,
    24938  const bool strict = true,
    24939  const bool allow_exceptions = true)
    24940  {
    24941  basic_json result;
    24942  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
    24943  auto ia = i.get();
    24944  // NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg)
    24945  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::ubjson, &sdp, strict);
    24946  return res ? result : basic_json(value_t::discarded);
    24947  }
    24948 
    24949 
    25010  template<typename InputType>
    25012  static basic_json from_bson(InputType&& i,
    25013  const bool strict = true,
    25014  const bool allow_exceptions = true)
    25015  {
    25016  basic_json result;
    25017  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
    25018  auto ia = detail::input_adapter(std::forward<InputType>(i));
    25019  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict);
    25020  return res ? result : basic_json(value_t::discarded);
    25021  }
    25022 
    25026  template<typename IteratorType>
    25028  static basic_json from_bson(IteratorType first, IteratorType last,
    25029  const bool strict = true,
    25030  const bool allow_exceptions = true)
    25031  {
    25032  basic_json result;
    25033  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
    25034  auto ia = detail::input_adapter(std::move(first), std::move(last));
    25035  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict);
    25036  return res ? result : basic_json(value_t::discarded);
    25037  }
    25038 
    25039  template<typename T>
    25041  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len))
    25042  static basic_json from_bson(const T* ptr, std::size_t len,
    25043  const bool strict = true,
    25044  const bool allow_exceptions = true)
    25045  {
    25046  return from_bson(ptr, ptr + len, strict, allow_exceptions);
    25047  }
    25048 
    25050  JSON_HEDLEY_DEPRECATED_FOR(3.8.0, from_bson(ptr, ptr + len))
    25051  static basic_json from_bson(detail::span_input_adapter&& i,
    25052  const bool strict = true,
    25053  const bool allow_exceptions = true)
    25054  {
    25055  basic_json result;
    25056  detail::json_sax_dom_parser<basic_json> sdp(result, allow_exceptions);
    25057  auto ia = i.get();
    25058  // NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg)
    25059  const bool res = binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::bson, &sdp, strict);
    25060  return res ? result : basic_json(value_t::discarded);
    25061  }
    25063 
    25065  // JSON Pointer support //
    25067 
    25070 
    25105  {
    25106  return ptr.get_unchecked(this);
    25107  }
    25108 
    25133  {
    25134  return ptr.get_unchecked(this);
    25135  }
    25136 
    25176  {
    25177  return ptr.get_checked(this);
    25178  }
    25179 
    25218  const_reference at(const json_pointer& ptr) const
    25219  {
    25220  return ptr.get_checked(this);
    25221  }
    25222 
    25245  basic_json flatten() const
    25246  {
    25247  basic_json result(value_t::object);
    25248  json_pointer::flatten("", *this, result);
    25249  return result;
    25250  }
    25251 
    25282  basic_json unflatten() const
    25283  {
    25284  return json_pointer::unflatten(*this);
    25285  }
    25286 
    25288 
    25290  // JSON Patch functions //
    25292 
    25295 
    25343  basic_json patch(const basic_json& json_patch) const
    25344  {
    25345  // make a working copy to apply the patch to
    25346  basic_json result = *this;
    25347 
    25348  // the valid JSON Patch operations
    25349  enum class patch_operations {add, remove, replace, move, copy, test, invalid};
    25350 
    25351  const auto get_op = [](const std::string & op)
    25352  {
    25353  if (op == "add")
    25354  {
    25355  return patch_operations::add;
    25356  }
    25357  if (op == "remove")
    25358  {
    25359  return patch_operations::remove;
    25360  }
    25361  if (op == "replace")
    25362  {
    25364  }
    25365  if (op == "move")
    25366  {
    25367  return patch_operations::move;
    25368  }
    25369  if (op == "copy")
    25370  {
    25371  return patch_operations::copy;
    25372  }
    25373  if (op == "test")
    25374  {
    25375  return patch_operations::test;
    25376  }
    25377 
    25378  return patch_operations::invalid;
    25379  };
    25380 
    25381  // wrapper for "add" operation; add value at ptr
    25382  const auto operation_add = [&result](json_pointer & ptr, basic_json val)
    25383  {
    25384  // adding to the root of the target document means replacing it
    25385  if (ptr.empty())
    25386  {
    25387  result = val;
    25388  return;
    25389  }
    25390 
    25391  // make sure the top element of the pointer exists
    25392  json_pointer top_pointer = ptr.top();
    25393  if (top_pointer != ptr)
    25394  {
    25395  result.at(top_pointer);
    25396  }
    25397 
    25398  // get reference to parent of JSON pointer ptr
    25399  const auto last_path = ptr.back();
    25400  ptr.pop_back();
    25401  basic_json& parent = result[ptr];
    25402 
    25403  switch (parent.m_type)
    25404  {
    25405  case value_t::null:
    25406  case value_t::object:
    25407  {
    25408  // use operator[] to add value
    25409  parent[last_path] = val;
    25410  break;
    25411  }
    25412 
    25413  case value_t::array:
    25414  {
    25415  if (last_path == "-")
    25416  {
    25417  // special case: append to back
    25418  parent.push_back(val);
    25419  }
    25420  else
    25421  {
    25422  const auto idx = json_pointer::array_index(last_path);
    25423  if (JSON_HEDLEY_UNLIKELY(idx > parent.size()))
    25424  {
    25425  // avoid undefined behavior
    25426  JSON_THROW(out_of_range::create(401, "array index " + std::to_string(idx) + " is out of range", parent));
    25427  }
    25428 
    25429  // default case: insert add offset
    25430  parent.insert(parent.begin() + static_cast<difference_type>(idx), val);
    25431  }
    25432  break;
    25433  }
    25434 
    25435  // if there exists a parent it cannot be primitive
    25436  default: // LCOV_EXCL_LINE
    25437  JSON_ASSERT(false); // NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) LCOV_EXCL_LINE
    25438  }
    25439  };
    25440 
    25441  // wrapper for "remove" operation; remove value at ptr
    25442  const auto operation_remove = [this, &result](json_pointer & ptr)
    25443  {
    25444  // get reference to parent of JSON pointer ptr
    25445  const auto last_path = ptr.back();
    25446  ptr.pop_back();
    25447  basic_json& parent = result.at(ptr);
    25448 
    25449  // remove child
    25450  if (parent.is_object())
    25451  {
    25452  // perform range check
    25453  auto it = parent.find(last_path);
    25454  if (JSON_HEDLEY_LIKELY(it != parent.end()))
    25455  {
    25456  parent.erase(it);
    25457  }
    25458  else
    25459  {
    25460  JSON_THROW(out_of_range::create(403, "key '" + last_path + "' not found", *this));
    25461  }
    25462  }
    25463  else if (parent.is_array())
    25464  {
    25465  // note erase performs range check
    25466  parent.erase(json_pointer::array_index(last_path));
    25467  }
    25468  };
    25469 
    25470  // type check: top level value must be an array
    25471  if (JSON_HEDLEY_UNLIKELY(!json_patch.is_array()))
    25472  {
    25473  JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects", json_patch));
    25474  }
    25475 
    25476  // iterate and apply the operations
    25477  for (const auto& val : json_patch)
    25478  {
    25479  // wrapper to get a value for an operation
    25480  const auto get_value = [&val](const std::string & op,
    25481  const std::string & member,
    25482  bool string_type) -> basic_json &
    25483  {
    25484  // find value
    25485  auto it = val.m_value.object->find(member);
    25486 
    25487  // context-sensitive error message
    25488  const auto error_msg = (op == "op") ? "operation" : "operation '" + op + "'";
    25489 
    25490  // check if desired value is present
    25491  if (JSON_HEDLEY_UNLIKELY(it == val.m_value.object->end()))
    25492  {
    25493  // NOLINTNEXTLINE(performance-inefficient-string-concatenation)
    25494  JSON_THROW(parse_error::create(105, 0, error_msg + " must have member '" + member + "'", val));
    25495  }
    25496 
    25497  // check if result is of type string
    25498  if (JSON_HEDLEY_UNLIKELY(string_type && !it->second.is_string()))
    25499  {
    25500  // NOLINTNEXTLINE(performance-inefficient-string-concatenation)
    25501  JSON_THROW(parse_error::create(105, 0, error_msg + " must have string member '" + member + "'", val));
    25502  }
    25503 
    25504  // no error: return value
    25505  return it->second;
    25506  };
    25507 
    25508  // type check: every element of the array must be an object
    25509  if (JSON_HEDLEY_UNLIKELY(!val.is_object()))
    25510  {
    25511  JSON_THROW(parse_error::create(104, 0, "JSON patch must be an array of objects", val));
    25512  }
    25513 
    25514  // collect mandatory members
    25515  const auto op = get_value("op", "op", true).template get<std::string>();
    25516  const auto path = get_value(op, "path", true).template get<std::string>();
    25517  json_pointer ptr(path);
    25518 
    25519  switch (get_op(op))
    25520  {
    25521  case patch_operations::add:
    25522  {
    25523  operation_add(ptr, get_value("add", "value", false));
    25524  break;
    25525  }
    25526 
    25527  case patch_operations::remove:
    25528  {
    25529  operation_remove(ptr);
    25530  break;
    25531  }
    25532 
    25534  {
    25535  // the "path" location must exist - use at()
    25536  result.at(ptr) = get_value("replace", "value", false);
    25537  break;
    25538  }
    25539 
    25540  case patch_operations::move:
    25541  {
    25542  const auto from_path = get_value("move", "from", true).template get<std::string>();
    25543  json_pointer from_ptr(from_path);
    25544 
    25545  // the "from" location must exist - use at()
    25546  basic_json v = result.at(from_ptr);
    25547 
    25548  // The move operation is functionally identical to a
    25549  // "remove" operation on the "from" location, followed
    25550  // immediately by an "add" operation at the target
    25551  // location with the value that was just removed.
    25552  operation_remove(from_ptr);
    25553  operation_add(ptr, v);
    25554  break;
    25555  }
    25556 
    25557  case patch_operations::copy:
    25558  {
    25559  const auto from_path = get_value("copy", "from", true).template get<std::string>();
    25560  const json_pointer from_ptr(from_path);
    25561 
    25562  // the "from" location must exist - use at()
    25563  basic_json v = result.at(from_ptr);
    25564 
    25565  // The copy is functionally identical to an "add"
    25566  // operation at the target location using the value
    25567  // specified in the "from" member.
    25568  operation_add(ptr, v);
    25569  break;
    25570  }
    25571 
    25572  case patch_operations::test:
    25573  {
    25574  bool success = false;
    25575  JSON_TRY
    25576  {
    25577  // check if "value" matches the one at "path"
    25578  // the "path" location must exist - use at()
    25579  success = (result.at(ptr) == get_value("test", "value", false));
    25580  }
    25582  {
    25583  // ignore out of range errors: success remains false
    25584  }
    25585 
    25586  // throw an exception if test fails
    25587  if (JSON_HEDLEY_UNLIKELY(!success))
    25588  {
    25589  JSON_THROW(other_error::create(501, "unsuccessful: " + val.dump(), val));
    25590  }
    25591 
    25592  break;
    25593  }
    25594 
    25595  default:
    25596  {
    25597  // op must be "add", "remove", "replace", "move", "copy", or
    25598  // "test"
    25599  JSON_THROW(parse_error::create(105, 0, "operation value '" + op + "' is invalid", val));
    25600  }
    25601  }
    25602  }
    25603 
    25604  return result;
    25605  }
    25606 
    25641  static basic_json diff(const basic_json& source, const basic_json& target,
    25642  const std::string& path = "")
    25643  {
    25644  // the patch
    25645  basic_json result(value_t::array);
    25646 
    25647  // if the values are the same, return empty patch
    25648  if (source == target)
    25649  {
    25650  return result;
    25651  }
    25652 
    25653  if (source.type() != target.type())
    25654  {
    25655  // different types: replace value
    25656  result.push_back(
    25657  {
    25658  {"op", "replace"}, {"path", path}, {"value", target}
    25659  });
    25660  return result;
    25661  }
    25662 
    25663  switch (source.type())
    25664  {
    25665  case value_t::array:
    25666  {
    25667  // first pass: traverse common elements
    25668  std::size_t i = 0;
    25669  while (i < source.size() && i < target.size())
    25670  {
    25671  // recursive call to compare array values at index i
    25672  auto temp_diff = diff(source[i], target[i], path + "/" + std::to_string(i));
    25673  result.insert(result.end(), temp_diff.begin(), temp_diff.end());
    25674  ++i;
    25675  }
    25676 
    25677  // i now reached the end of at least one array
    25678  // in a second pass, traverse the remaining elements
    25679 
    25680  // remove my remaining elements
    25681  const auto end_index = static_cast<difference_type>(result.size());
    25682  while (i < source.size())
    25683  {
    25684  // add operations in reverse order to avoid invalid
    25685  // indices
    25686  result.insert(result.begin() + end_index, object(
    25687  {
    25688  {"op", "remove"},
    25689  {"path", path + "/" + std::to_string(i)}
    25690  }));
    25691  ++i;
    25692  }
    25693 
    25694  // add other remaining elements
    25695  while (i < target.size())
    25696  {
    25697  result.push_back(
    25698  {
    25699  {"op", "add"},
    25700  {"path", path + "/-"},
    25701  {"value", target[i]}
    25702  });
    25703  ++i;
    25704  }
    25705 
    25706  break;
    25707  }
    25708 
    25709  case value_t::object:
    25710  {
    25711  // first pass: traverse this object's elements
    25712  for (auto it = source.cbegin(); it != source.cend(); ++it)
    25713  {
    25714  // escape the key name to be used in a JSON patch
    25715  const auto path_key = path + "/" + detail::escape(it.key());
    25716 
    25717  if (target.find(it.key()) != target.end())
    25718  {
    25719  // recursive call to compare object values at key it
    25720  auto temp_diff = diff(it.value(), target[it.key()], path_key);
    25721  result.insert(result.end(), temp_diff.begin(), temp_diff.end());
    25722  }
    25723  else
    25724  {
    25725  // found a key that is not in o -> remove it
    25726  result.push_back(object(
    25727  {
    25728  {"op", "remove"}, {"path", path_key}
    25729  }));
    25730  }
    25731  }
    25732 
    25733  // second pass: traverse other object's elements
    25734  for (auto it = target.cbegin(); it != target.cend(); ++it)
    25735  {
    25736  if (source.find(it.key()) == source.end())
    25737  {
    25738  // found a key that is not in this -> add it
    25739  const auto path_key = path + "/" + detail::escape(it.key());
    25740  result.push_back(
    25741  {
    25742  {"op", "add"}, {"path", path_key},
    25743  {"value", it.value()}
    25744  });
    25745  }
    25746  }
    25747 
    25748  break;
    25749  }
    25750 
    25751  default:
    25752  {
    25753  // both primitive type: replace value
    25754  result.push_back(
    25755  {
    25756  {"op", "replace"}, {"path", path}, {"value", target}
    25757  });
    25758  break;
    25759  }
    25760  }
    25761 
    25762  return result;
    25763  }
    25764 
    25766 
    25768  // JSON Merge Patch functions //
    25770 
    25773 
    25816  void merge_patch(const basic_json& apply_patch)
    25817  {
    25818  if (apply_patch.is_object())
    25819  {
    25820  if (!is_object())
    25821  {
    25822  *this = object();
    25823  }
    25824  for (auto it = apply_patch.begin(); it != apply_patch.end(); ++it)
    25825  {
    25826  if (it.value().is_null())
    25827  {
    25828  erase(it.key());
    25829  }
    25830  else
    25831  {
    25832  operator[](it.key()).merge_patch(it.value());
    25833  }
    25834  }
    25835  }
    25836  else
    25837  {
    25838  *this = apply_patch;
    25839  }
    25840  }
    25841 
    25843 };
    25844 
    25855 std::string to_string(const NLOHMANN_BASIC_JSON_TPL& j)
    25856 {
    25857  return j.dump();
    25858 }
    25859 } // namespace nlohmann
    25860 
    25862 // nonmember support //
    25864 
    25865 // specialization of std::swap, and std::hash
    25866 namespace std
    25867 {
    25868 
    25870 template<>
    25872 {
    25878  std::size_t operator()(const nlohmann::json& j) const
    25879  {
    25880  return nlohmann::detail::hash(j);
    25881  }
    25882 };
    25883 
    25887 template<>
    25889 {
    25895  nlohmann::detail::value_t rhs) const noexcept
    25896  {
    25897  return nlohmann::detail::operator<(lhs, rhs);
    25898  }
    25899 };
    25900 
    25901 // C++20 prohibit function specialization in the std namespace.
    25902 #ifndef JSON_HAS_CPP_20
    25903 
    25909 template<>
    25910 inline void swap<nlohmann::json>(nlohmann::json& j1, nlohmann::json& j2) noexcept( // NOLINT(readability-inconsistent-declaration-parameter-name)
    25911  is_nothrow_move_constructible<nlohmann::json>::value&& // NOLINT(misc-redundant-expression)
    25912  is_nothrow_move_assignable<nlohmann::json>::value
    25913  )
    25914 {
    25915  j1.swap(j2);
    25916 }
    25917 
    25918 #endif
    25919 
    25920 } // namespace std
    25921 
    25936 inline nlohmann::json operator "" _json(const char* s, std::size_t n)
    25937 {
    25938  return nlohmann::json::parse(s, s + n);
    25939 }
    25940 
    25955 inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t n)
    25956 {
    25958 }
    25959 
    25960 // #include <nlohmann/detail/macro_unscope.hpp>
    25961 
    25962 
    25963 // restore GCC/clang diagnostic settings
    25964 #if defined(__clang__)
    25965  #pragma GCC diagnostic pop
    25966 #endif
    25967 
    25968 // clean up
    25969 #undef JSON_ASSERT
    25970 #undef JSON_INTERNAL_CATCH
    25971 #undef JSON_CATCH
    25972 #undef JSON_THROW
    25973 #undef JSON_TRY
    25974 #undef JSON_PRIVATE_UNLESS_TESTED
    25975 #undef JSON_HAS_CPP_14
    25976 #undef JSON_HAS_CPP_17
    25977 #undef NLOHMANN_BASIC_JSON_TPL_DECLARATION
    25978 #undef NLOHMANN_BASIC_JSON_TPL
    25979 #undef JSON_EXPLICIT
    25980 
    25981 // #include <nlohmann/thirdparty/hedley/hedley_undef.hpp>
    25982 
    25983 
    25984 #undef JSON_HEDLEY_ALWAYS_INLINE
    25985 #undef JSON_HEDLEY_ARM_VERSION
    25986 #undef JSON_HEDLEY_ARM_VERSION_CHECK
    25987 #undef JSON_HEDLEY_ARRAY_PARAM
    25988 #undef JSON_HEDLEY_ASSUME
    25989 #undef JSON_HEDLEY_BEGIN_C_DECLS
    25990 #undef JSON_HEDLEY_CLANG_HAS_ATTRIBUTE
    25991 #undef JSON_HEDLEY_CLANG_HAS_BUILTIN
    25992 #undef JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE
    25993 #undef JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE
    25994 #undef JSON_HEDLEY_CLANG_HAS_EXTENSION
    25995 #undef JSON_HEDLEY_CLANG_HAS_FEATURE
    25996 #undef JSON_HEDLEY_CLANG_HAS_WARNING
    25997 #undef JSON_HEDLEY_COMPCERT_VERSION
    25998 #undef JSON_HEDLEY_COMPCERT_VERSION_CHECK
    25999 #undef JSON_HEDLEY_CONCAT
    26000 #undef JSON_HEDLEY_CONCAT3
    26001 #undef JSON_HEDLEY_CONCAT3_EX
    26002 #undef JSON_HEDLEY_CONCAT_EX
    26003 #undef JSON_HEDLEY_CONST
    26004 #undef JSON_HEDLEY_CONSTEXPR
    26005 #undef JSON_HEDLEY_CONST_CAST
    26006 #undef JSON_HEDLEY_CPP_CAST
    26007 #undef JSON_HEDLEY_CRAY_VERSION
    26008 #undef JSON_HEDLEY_CRAY_VERSION_CHECK
    26009 #undef JSON_HEDLEY_C_DECL
    26010 #undef JSON_HEDLEY_DEPRECATED
    26011 #undef JSON_HEDLEY_DEPRECATED_FOR
    26012 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL
    26013 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_
    26014 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED
    26015 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES
    26016 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS
    26017 #undef JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION
    26018 #undef JSON_HEDLEY_DIAGNOSTIC_POP
    26019 #undef JSON_HEDLEY_DIAGNOSTIC_PUSH
    26020 #undef JSON_HEDLEY_DMC_VERSION
    26021 #undef JSON_HEDLEY_DMC_VERSION_CHECK
    26022 #undef JSON_HEDLEY_EMPTY_BASES
    26023 #undef JSON_HEDLEY_EMSCRIPTEN_VERSION
    26024 #undef JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK
    26025 #undef JSON_HEDLEY_END_C_DECLS
    26026 #undef JSON_HEDLEY_FLAGS
    26027 #undef JSON_HEDLEY_FLAGS_CAST
    26028 #undef JSON_HEDLEY_GCC_HAS_ATTRIBUTE
    26029 #undef JSON_HEDLEY_GCC_HAS_BUILTIN
    26030 #undef JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE
    26031 #undef JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE
    26032 #undef JSON_HEDLEY_GCC_HAS_EXTENSION
    26033 #undef JSON_HEDLEY_GCC_HAS_FEATURE
    26034 #undef JSON_HEDLEY_GCC_HAS_WARNING
    26035 #undef JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK
    26036 #undef JSON_HEDLEY_GCC_VERSION
    26037 #undef JSON_HEDLEY_GCC_VERSION_CHECK
    26038 #undef JSON_HEDLEY_GNUC_HAS_ATTRIBUTE
    26039 #undef JSON_HEDLEY_GNUC_HAS_BUILTIN
    26040 #undef JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE
    26041 #undef JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE
    26042 #undef JSON_HEDLEY_GNUC_HAS_EXTENSION
    26043 #undef JSON_HEDLEY_GNUC_HAS_FEATURE
    26044 #undef JSON_HEDLEY_GNUC_HAS_WARNING
    26045 #undef JSON_HEDLEY_GNUC_VERSION
    26046 #undef JSON_HEDLEY_GNUC_VERSION_CHECK
    26047 #undef JSON_HEDLEY_HAS_ATTRIBUTE
    26048 #undef JSON_HEDLEY_HAS_BUILTIN
    26049 #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE
    26050 #undef JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS
    26051 #undef JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE
    26052 #undef JSON_HEDLEY_HAS_EXTENSION
    26053 #undef JSON_HEDLEY_HAS_FEATURE
    26054 #undef JSON_HEDLEY_HAS_WARNING
    26055 #undef JSON_HEDLEY_IAR_VERSION
    26056 #undef JSON_HEDLEY_IAR_VERSION_CHECK
    26057 #undef JSON_HEDLEY_IBM_VERSION
    26058 #undef JSON_HEDLEY_IBM_VERSION_CHECK
    26059 #undef JSON_HEDLEY_IMPORT
    26060 #undef JSON_HEDLEY_INLINE
    26061 #undef JSON_HEDLEY_INTEL_CL_VERSION
    26062 #undef JSON_HEDLEY_INTEL_CL_VERSION_CHECK
    26063 #undef JSON_HEDLEY_INTEL_VERSION
    26064 #undef JSON_HEDLEY_INTEL_VERSION_CHECK
    26065 #undef JSON_HEDLEY_IS_CONSTANT
    26066 #undef JSON_HEDLEY_IS_CONSTEXPR_
    26067 #undef JSON_HEDLEY_LIKELY
    26068 #undef JSON_HEDLEY_MALLOC
    26069 #undef JSON_HEDLEY_MCST_LCC_VERSION
    26070 #undef JSON_HEDLEY_MCST_LCC_VERSION_CHECK
    26071 #undef JSON_HEDLEY_MESSAGE
    26072 #undef JSON_HEDLEY_MSVC_VERSION
    26073 #undef JSON_HEDLEY_MSVC_VERSION_CHECK
    26074 #undef JSON_HEDLEY_NEVER_INLINE
    26075 #undef JSON_HEDLEY_NON_NULL
    26076 #undef JSON_HEDLEY_NO_ESCAPE
    26077 #undef JSON_HEDLEY_NO_RETURN
    26078 #undef JSON_HEDLEY_NO_THROW
    26079 #undef JSON_HEDLEY_NULL
    26080 #undef JSON_HEDLEY_PELLES_VERSION
    26081 #undef JSON_HEDLEY_PELLES_VERSION_CHECK
    26082 #undef JSON_HEDLEY_PGI_VERSION
    26083 #undef JSON_HEDLEY_PGI_VERSION_CHECK
    26084 #undef JSON_HEDLEY_PREDICT
    26085 #undef JSON_HEDLEY_PRINTF_FORMAT
    26086 #undef JSON_HEDLEY_PRIVATE
    26087 #undef JSON_HEDLEY_PUBLIC
    26088 #undef JSON_HEDLEY_PURE
    26089 #undef JSON_HEDLEY_REINTERPRET_CAST
    26090 #undef JSON_HEDLEY_REQUIRE
    26091 #undef JSON_HEDLEY_REQUIRE_CONSTEXPR
    26092 #undef JSON_HEDLEY_REQUIRE_MSG
    26093 #undef JSON_HEDLEY_RESTRICT
    26094 #undef JSON_HEDLEY_RETURNS_NON_NULL
    26095 #undef JSON_HEDLEY_SENTINEL
    26096 #undef JSON_HEDLEY_STATIC_ASSERT
    26097 #undef JSON_HEDLEY_STATIC_CAST
    26098 #undef JSON_HEDLEY_STRINGIFY
    26099 #undef JSON_HEDLEY_STRINGIFY_EX
    26100 #undef JSON_HEDLEY_SUNPRO_VERSION
    26101 #undef JSON_HEDLEY_SUNPRO_VERSION_CHECK
    26102 #undef JSON_HEDLEY_TINYC_VERSION
    26103 #undef JSON_HEDLEY_TINYC_VERSION_CHECK
    26104 #undef JSON_HEDLEY_TI_ARMCL_VERSION
    26105 #undef JSON_HEDLEY_TI_ARMCL_VERSION_CHECK
    26106 #undef JSON_HEDLEY_TI_CL2000_VERSION
    26107 #undef JSON_HEDLEY_TI_CL2000_VERSION_CHECK
    26108 #undef JSON_HEDLEY_TI_CL430_VERSION
    26109 #undef JSON_HEDLEY_TI_CL430_VERSION_CHECK
    26110 #undef JSON_HEDLEY_TI_CL6X_VERSION
    26111 #undef JSON_HEDLEY_TI_CL6X_VERSION_CHECK
    26112 #undef JSON_HEDLEY_TI_CL7X_VERSION
    26113 #undef JSON_HEDLEY_TI_CL7X_VERSION_CHECK
    26114 #undef JSON_HEDLEY_TI_CLPRU_VERSION
    26115 #undef JSON_HEDLEY_TI_CLPRU_VERSION_CHECK
    26116 #undef JSON_HEDLEY_TI_VERSION
    26117 #undef JSON_HEDLEY_TI_VERSION_CHECK
    26118 #undef JSON_HEDLEY_UNAVAILABLE
    26119 #undef JSON_HEDLEY_UNLIKELY
    26120 #undef JSON_HEDLEY_UNPREDICTABLE
    26121 #undef JSON_HEDLEY_UNREACHABLE
    26122 #undef JSON_HEDLEY_UNREACHABLE_RETURN
    26123 #undef JSON_HEDLEY_VERSION
    26124 #undef JSON_HEDLEY_VERSION_DECODE_MAJOR
    26125 #undef JSON_HEDLEY_VERSION_DECODE_MINOR
    26126 #undef JSON_HEDLEY_VERSION_DECODE_REVISION
    26127 #undef JSON_HEDLEY_VERSION_ENCODE
    26128 #undef JSON_HEDLEY_WARNING
    26129 #undef JSON_HEDLEY_WARN_UNUSED_RESULT
    26130 #undef JSON_HEDLEY_WARN_UNUSED_RESULT_MSG
    26131 #undef JSON_HEDLEY_FALL_THROUGH
    26132 
    26133 
    26134 
    26135 #endif // INCLUDE_NLOHMANN_JSON_HPP_
    value_type moved_or_copied() const
    Definition: json.hpp:13067
    +
    const_reference operator[](const typename object_t::key_type &key) const
    read-only access specified object element
    Definition: json.hpp:20783
    +
    void write_number_with_ubjson_prefix(const NumberType n, const bool add_prefix)
    Definition: json.hpp:14497
    +
    static constexpr CharType get_ubjson_float_prefix(float)
    Definition: json.hpp:14717
    + +
    iter_impl & operator=(const iter_impl< const BasicJsonType > &other) noexcept
    converting assignment
    Definition: json.hpp:11450
    +
    json_pointer & operator/=(std::string token)
    append an unescaped reference token at the end of this JSON pointer
    Definition: json.hpp:12207
    +
    size_type count(KeyT &&key) const
    returns the number of occurrences of a key in a JSON object
    Definition: json.hpp:21525
    +
    friend other_iter_impl
    allow basic_json to access private members
    Definition: json.hpp:11353
    +
    bool contains(const BasicJsonType *ptr) const
    Definition: json.hpp:12745
    +
    bool parse_error(std::size_t, const std::string &, const detail::exception &)
    Definition: json.hpp:6411
    +
    decltype(std::declval< T & >().string(std::declval< String & >())) string_function_t
    Definition: json.hpp:8087
    + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json binary(typename binary_t::container_type &&init, std::uint8_t subtype)
    explicitly create a binary array (with subtype)
    Definition: json.hpp:18843
    + +
    typename utility_internal::Gen< T, N >::type make_integer_sequence
    Definition: json.hpp:3136
    + + +
    void from_json_array_impl(const BasicJsonType &j, typename BasicJsonType::array_t &arr, priority_tag< 3 >)
    Definition: json.hpp:3989
    + +
    const string_type & key() const
    return key of the iterator
    Definition: json.hpp:4361
    +
    ::nlohmann::json_pointer< basic_json > json_pointer
    JSON Pointer, see nlohmann::json_pointer.
    Definition: json.hpp:17257
    +
    number_unsigned_t number_unsigned
    number (unsigned integer)
    Definition: json.hpp:18007
    +
    static void construct(BasicJsonType &j, const CompatibleArrayType &arr)
    Definition: json.hpp:4605
    +
    bool get_cbor_binary(binary_t &result)
    reads a CBOR byte array
    Definition: json.hpp:9127
    +
    typename BasicJsonType::number_float_t number_float_t
    Definition: json.hpp:6530
    +
    typename T::pointer pointer_t
    Definition: json.hpp:3469
    +
    const int id
    the id of the exception
    Definition: json.hpp:2652
    +
    friend bool operator==(const_reference lhs, ScalarType rhs) noexcept
    comparison: equal
    Definition: json.hpp:23354
    + +
    binary_t * get_impl_ptr(binary_t *) noexcept
    get a pointer to the value (binary)
    Definition: json.hpp:19901
    +
    basic_json(CompatibleType &&val) noexcept(noexcept(//NOLINT(bugprone-forwarding-reference-overload, bugprone-exception-escape) JSONSerializer< U >::to_json(std::declval< basic_json_t &>(), std::forward< CompatibleType >(val))))
    create a JSON value
    Definition: json.hpp:18543
    + + +
    iter_impl operator+(difference_type i) const
    add to iterator
    Definition: json.hpp:11842
    +
    #define JSON_HEDLEY_PURE
    Definition: json.hpp:1637
    +
    parse_error(int id_, std::size_t byte_, const char *what_arg)
    Definition: json.hpp:2810
    +
    static void construct(BasicJsonType &j, const CompatibleStringType &str)
    Definition: json.hpp:4517
    +
    IteratorType erase(IteratorType first, IteratorType last)
    remove elements given an iterator range
    Definition: json.hpp:21291
    + +
    static bool little_endianess(int num=1) noexcept
    determine system byte order
    Definition: json.hpp:8225
    + +
    basic_json(InputIT first, InputIT last)
    construct a JSON container given an iterator range
    Definition: json.hpp:19026
    +
    void from_json(const BasicJsonType &j, typename std::nullptr_t &n)
    Definition: json.hpp:3841
    +
    static constexpr CharType get_cbor_float_prefix(float)
    Definition: json.hpp:14466
    +
    iterator begin() noexcept
    returns an iterator to the first element
    Definition: json.hpp:21628
    +
    IteratorType::reference value() const
    return value of the iterator
    Definition: json.hpp:4389
    + +
    array_t * array
    array (stored with pointer to save storage)
    Definition: json.hpp:17997
    +
    typename BasicJsonType::binary_t binary_t
    Definition: json.hpp:8245
    +
    json_value(number_float_t v) noexcept
    constructor for numbers (floating-point)
    Definition: json.hpp:18020
    + +
    friend bool operator<(const_reference lhs, const_reference rhs) noexcept
    comparison: less than
    Definition: json.hpp:23441
    +
    std::function< bool(int, parse_event_t, BasicJsonType &)> parser_callback_t
    Definition: json.hpp:10700
    + +
    error_handler_t
    how to treat decoding errors
    Definition: json.hpp:15975
    +
    typename std::char_traits< char_type >::int_type char_int_type
    Definition: json.hpp:6533
    +
    iteration_proxy_value(IteratorType it) noexcept
    Definition: json.hpp:4329
    +
    typename BasicJsonType::number_float_t number_float_t
    Definition: json.hpp:15986
    +
    static std::size_t calc_bson_string_size(const string_t &value)
    Definition: json.hpp:14185
    + +
    #define JSON_CATCH(exception)
    Definition: json.hpp:2265
    +
    wide_string_input_adapter(BaseInputAdapter base)
    Definition: json.hpp:5516
    +
    size_type size() const noexcept
    returns the number of elements
    Definition: json.hpp:22156
    +
    void insert(InputIt first, InputIt last)
    Definition: json.hpp:17085
    +
    void unget()
    unget current character (read it again on next get)
    Definition: json.hpp:7789
    +
    reference operator[](difference_type n) const
    access to successor
    Definition: json.hpp:12058
    +
    NLOHMANN_BASIC_JSON_TPL basic_json_t
    workaround type for MSVC
    Definition: json.hpp:17216
    +
    JSON_HEDLEY_RETURNS_NON_NULL const char * type_name() const noexcept
    return the type as string
    Definition: json.hpp:24084
    +
    typename BasicJsonType::string_t string_t
    Definition: json.hpp:6041
    +
    NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string to_string(const NLOHMANN_BASIC_JSON_TPL &j)
    user-defined to_string function for JSON values
    Definition: json.hpp:25855
    +
    #define JSON_HEDLEY_DIAGNOSTIC_POP
    Definition: json.hpp:953
    +
    typename std::iterator_traits< IteratorType >::value_type char_type
    Definition: json.hpp:5354
    +
    static diyfp sub(const diyfp &x, const diyfp &y) noexcept
    returns x - y
    Definition: json.hpp:14910
    +
    decltype(input_adapter(std::declval< const char * >(), std::declval< const char * >())) contiguous_bytes_input_adapter
    Definition: json.hpp:5649
    +
    iter_impl & operator+=(difference_type i)
    add to iterator
    Definition: json.hpp:11804
    +
    decltype(std::declval< T & >().boolean(std::declval< bool >())) boolean_function_t
    Definition: json.hpp:8071
    +
    bool parse_cbor_internal(const bool get_char, const cbor_tag_handler_t tag_handler)
    Definition: json.hpp:8586
    + +
    bool operator>(const iter_impl &other) const
    comparison: greater than
    Definition: json.hpp:11786
    +
    value_t
    the JSON type enumeration
    Definition: json.hpp:118
    +
    binary_reader(InputAdapterType &&adapter) noexcept
    create a binary reader
    Definition: json.hpp:8256
    +
    primitive_iterator_t & operator+=(difference_type n) noexcept
    Definition: json.hpp:11264
    +
    iter_impl operator-(difference_type i) const
    subtract from iterator
    Definition: json.hpp:11864
    +
    void grisu2_digit_gen(char *buffer, int &length, int &decimal_exponent, diyfp M_minus, diyfp w, diyfp M_plus)
    Definition: json.hpp:15427
    +
    auto key() const -> decltype(std::declval< Base >().key())
    return the key of an object iterator
    Definition: json.hpp:12064
    +
    json_reverse_iterator const operator--(int)
    post-decrement (it–)
    Definition: json.hpp:12022
    +
    void push_back(basic_json &&val)
    add an object to an array
    Definition: json.hpp:22375
    +
    static BasicJsonType::size_type array_index(const std::string &s)
    Definition: json.hpp:12420
    +
    bool get_msgpack_object(const std::size_t len)
    Definition: json.hpp:9907
    +
    static void construct(BasicJsonType &j, typename BasicJsonType::number_float_t val) noexcept
    Definition: json.hpp:4549
    +
    void write_bson_object(const typename BasicJsonType::object_t &value)
    Definition: json.hpp:14450
    +
    const_reference operator[](const json_pointer &ptr) const
    access specified element via JSON Pointer
    Definition: json.hpp:25132
    +
    byte_container_with_subtype(container_type &&b, std::uint8_t subtype_) noexcept(noexcept(container_type(std::move(b))))
    Definition: json.hpp:4957
    + + +
    reference value() const
    return the value of an iterator
    Definition: json.hpp:12071
    +
    iterator end() noexcept
    returns an iterator to one past the last element
    Definition: json.hpp:21699
    + +
    number_unsigned_t * get_impl_ptr(number_unsigned_t *) noexcept
    get a pointer to the value (unsigned number)
    Definition: json.hpp:19877
    +
    Array get_to(T(&v)[N]) const noexcept(noexcept(JSONSerializer< Array >::from_json(std::declval< const basic_json_t &>(), v)))
    Definition: json.hpp:20280
    +
    bool contains(KeyT &&key) const
    check the existence of an element in a JSON object
    Definition: json.hpp:21558
    +
    typename std::remove_cv< typename std::remove_reference< T >::type >::type uncvref_t
    Definition: json.hpp:3034
    +
    void push_back(const typename object_t::value_type &val)
    add an object to an object
    Definition: json.hpp:22462
    +
    static void construct(BasicJsonType &j, typename BasicJsonType::array_t &&arr)
    Definition: json.hpp:4594
    +
    bool start_array(std::size_t len)
    Definition: json.hpp:5954
    +
    static void unescape(std::string &s)
    string unescaping as described in RFC 6901 (Sect. 4)
    Definition: json.hpp:2565
    +
    iterator insert(const_iterator pos, const_iterator first, const_iterator last)
    inserts elements
    Definition: json.hpp:22788
    +
    typename InputAdapterType::char_type char_type
    Definition: json.hpp:6532
    +
    std::pair< iterator, bool > emplace(Args &&... args)
    add an object to an object if key does not exist
    Definition: json.hpp:22619
    +
    typename BasicJsonType::string_t string_t
    Definition: json.hpp:5867
    +
    json_value(const string_t &value)
    constructor for strings
    Definition: json.hpp:18093
    +
    size_type count(const Key &key) const
    Definition: json.hpp:17026
    +
    primitive_iterator_t & operator++() noexcept
    Definition: json.hpp:11238
    +
    void push_back(const basic_json &val)
    add an object to an array
    Definition: json.hpp:22411
    +
    const char * what() const noexcept override
    returns the explanatory string
    Definition: json.hpp:2646
    +
    throw a parse_error exception in case of a tag
    +
    #define JSON_EXPLICIT
    Definition: json.hpp:2509
    +
    bool number_integer(number_integer_t val)
    Definition: json.hpp:5898
    +
    std::reverse_iterator< Base > base_iterator
    shortcut to the reverse iterator adapter
    Definition: json.hpp:11998
    + + +
    iterator insert(const_iterator pos, size_type cnt, const basic_json &val)
    inserts elements
    Definition: json.hpp:22740
    + +
    array (ordered collection of values)
    +
    basic_json & operator=(basic_json other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)
    copy assignment
    Definition: json.hpp:19284
    +
    void write_bson_double(const string_t &name, const double value)
    Writes a BSON element with key name and double value value.
    Definition: json.hpp:14175
    +
    detail::parser_callback_t< basic_json > parser_callback_t
    per-element parser callback type
    Definition: json.hpp:18406
    +
    json_pointer(const std::string &s="")
    create JSON pointer
    Definition: json.hpp:12133
    +
    InputAdapterType ia
    input adapter
    Definition: json.hpp:8014
    +
    primitive_iterator_t operator+(difference_type n) noexcept
    Definition: json.hpp:11226
    +
    basic_json(const BasicJsonType &val)
    create a JSON value from an existing one
    Definition: json.hpp:18581
    +
    std::less< StringType > object_comparator_t
    Definition: json.hpp:17442
    + +
    constexpr auto get_ptr() const noexcept -> decltype(std::declval< const basic_json_t &>().get_impl_ptr(std::declval< PointerType >()))
    get a pointer value (implicit)
    Definition: json.hpp:19983
    +
    iter_impl & operator++()
    pre-increment (++it)
    Definition: json.hpp:11637
    +
    reference emplace_back(Args &&... args)
    add an object to an array
    Definition: json.hpp:22566
    +
    ValueType get_impl(detail::priority_tag< 1 >) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>())))
    get a value (explicit); special case
    Definition: json.hpp:20075
    +
    static constexpr CharType to_char_type(InputCharType x) noexcept
    Definition: json.hpp:14815
    + +
    reference back()
    access the last element
    Definition: json.hpp:21111
    +
    a template for a reverse iterator class
    Definition: json.hpp:11993
    +
    bool start_object(std::size_t=std::size_t(-1))
    Definition: json.hpp:6386
    +
    const char indent_char
    the indentation character
    Definition: json.hpp:16889
    +
    iter_impl(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
    converting constructor
    Definition: json.hpp:11465
    +
    std::runtime_error m
    an exception object as storage for error messages
    Definition: json.hpp:2721
    +
    a class to store JSON values
    Definition: json.hpp:3366
    + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)
    create a JSON value from an input in MessagePack format
    Definition: json.hpp:24797
    + +
    static constexpr std::size_t size() noexcept
    Definition: json.hpp:3078
    +
    boolean_t * get_impl_ptr(boolean_t *) noexcept
    get a pointer to the value (boolean)
    Definition: json.hpp:19853
    +
    typename T::iterator iterator_t
    Definition: json.hpp:3478
    +
    #define JSON_HEDLEY_DIAGNOSTIC_PUSH
    Definition: json.hpp:952
    +
    void destroy(value_t t) noexcept
    Definition: json.hpp:18152
    +
    void to_json(BasicJsonType &j, const T &b)
    Definition: json.hpp:4803
    +
    typename BasicJsonType::binary_t binary_t
    Definition: json.hpp:6042
    +
    output_stream_adapter(std::basic_ostream< CharType > &s) noexcept
    Definition: json.hpp:13182
    +
    std::string to_string() const
    return a string representation of the JSON pointer
    Definition: json.hpp:12151
    + +
    friend bool operator>=(ScalarType lhs, const_reference rhs) noexcept
    comparison: greater than or equal
    Definition: json.hpp:23669
    + +
    bool operator>=(const iter_impl &other) const
    comparison: greater than or equal
    Definition: json.hpp:11795
    +
    string_t * get_impl_ptr(string_t *) noexcept
    get a pointer to the value (string)
    Definition: json.hpp:19841
    + +
    std::vector< std::pair< const Key, T >, Allocator > Container
    Definition: json.hpp:16929
    +
    std::char_traits< char >::int_type get_character()
    Definition: json.hpp:5331
    +
    typename BasicJsonType::string_t string_t
    Definition: json.hpp:8126
    +
    default JSONSerializer template argument
    Definition: json.hpp:3353
    +
    iter_impl const operator--(int)
    post-decrement (it–)
    Definition: json.hpp:11669
    + + +
    json_value(const array_t &value)
    constructor for arrays
    Definition: json.hpp:18117
    +
    BasicJsonType & get_and_create(BasicJsonType &j) const
    create and return a reference to the pointed to value
    Definition: json.hpp:12485
    + +
    void write_compact_float(const number_float_t n, detail::input_format_t format)
    Definition: json.hpp:14759
    +
    friend std::ostream & operator<<(std::ostream &o, const basic_json &j)
    serialize to stream
    Definition: json.hpp:23714
    +
    constexpr number_float_t get_number_float() const noexcept
    return floating-point value
    Definition: json.hpp:7839
    +
    json_value(string_t &&value)
    constructor for rvalue strings
    Definition: json.hpp:18099
    +
    void write_bson_object_entry(const string_t &name, const typename BasicJsonType::object_t &value)
    Writes a BSON element with key name and object value.
    Definition: json.hpp:14275
    +
    const_iterator cend() const noexcept
    returns a const iterator to one past the last element
    Definition: json.hpp:21739
    +
    static bool accept(IteratorType first, IteratorType last, const bool ignore_comments=false)
    Definition: json.hpp:23905
    + +
    void swap(binary_t &other)
    exchanges the values
    Definition: json.hpp:23188
    +
    bool operator<(const iter_impl &other) const
    comparison: smaller
    Definition: json.hpp:11750
    + +
    auto operator()(BasicJsonType &j, T &&val) const noexcept(noexcept(to_json(j, std::forward< T >(val)))) -> decltype(to_json(j, std::forward< T >(val)), void())
    Definition: json.hpp:4823
    +
    ::nlohmann::detail::output_adapter_t< CharType > output_adapter_t
    Definition: json.hpp:17245
    +
    std::string get_token_string() const
    Definition: json.hpp:7863
    +
    static diyfp normalize_to(const diyfp &x, const int target_exponent) noexcept
    normalize x such that the result has the exponent E
    Definition: json.hpp:15004
    + + +
    static std::string position_string(const position_t &pos)
    Definition: json.hpp:2813
    +
    #define JSON_HEDLEY_WARN_UNUSED_RESULT
    Definition: json.hpp:1298
    +
    number value (signed integer)
    + +
    const object_t::key_type & key() const
    return the key of an object iterator
    Definition: json.hpp:11927
    +
    constexpr auto get_impl(detail::priority_tag< 4 >) const noexcept -> decltype(std::declval< const basic_json_t &>().template get_ptr< PointerType >())
    get a pointer value (explicit)
    Definition: json.hpp:20136
    +
    #define JSON_INTERNAL_CATCH(exception)
    Definition: json.hpp:2266
    +
    void reset() noexcept
    reset token_buffer; current character is beginning of token
    Definition: json.hpp:7735
    +
    Target reinterpret_bits(const Source source)
    Definition: json.hpp:14888
    +
    typename std::allocator_traits< allocator_type >::pointer pointer
    the type of an element pointer
    Definition: json.hpp:17321
    +
    NumberIntegerType number_integer_t
    a type for a number (integer)
    Definition: json.hpp:17729
    +
    ValueType value(const typename object_t::key_type &key, const ValueType &default_value) const
    access specified object element with default value
    Definition: json.hpp:20941
    +
    STL namespace.
    +
    typename BasicJsonType::number_unsigned_t number_unsigned_t
    Definition: json.hpp:6529
    +
    the parser read [ and started to process a JSON array
    + +
    static void construct(BasicJsonType &j, const typename BasicJsonType::string_t &s)
    Definition: json.hpp:4499
    +
    json_reverse_iterator & operator+=(difference_type i)
    add to iterator
    Definition: json.hpp:12034
    +
    void grisu2_round(char *buf, int len, std::uint64_t dist, std::uint64_t delta, std::uint64_t rest, std::uint64_t ten_k)
    Definition: json.hpp:15386
    +
    std::string exception_message(const input_format_t format, const std::string &detail, const std::string &context) const
    Definition: json.hpp:10595
    + +
    static constexpr CharType get_ubjson_float_prefix(double)
    Definition: json.hpp:14722
    + +
    json_ref(Args &&... args)
    Definition: json.hpp:13056
    +
    const_reverse_iterator crend() const noexcept
    returns a const reverse iterator to one before the first
    Definition: json.hpp:21872
    +
    void dump(const BasicJsonType &val, const bool pretty_print, const bool ensure_ascii, const unsigned int indent_step, const unsigned int current_indent=0)
    internal implementation of the serialization function
    Definition: json.hpp:16039
    +
    static std::vector< uint8_t > to_msgpack(const basic_json &j)
    create a MessagePack serialization of a given JSON value
    Definition: json.hpp:24323
    +
    iteration_proxy(typename IteratorType::reference cont) noexcept
    construct iteration proxy from a container
    Definition: json.hpp:4404
    +
    iter_impl & operator-=(difference_type i)
    subtract from iterator
    Definition: json.hpp:11833
    +
    auto get_ptr() noexcept -> decltype(std::declval< basic_json_t &>().get_impl_ptr(std::declval< PointerType >()))
    get a pointer value (implicit)
    Definition: json.hpp:19970
    +
    void push_back(std::string &&token)
    append an unescaped token at the end of the reference pointer
    Definition: json.hpp:12385
    +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)
    create a JSON value from an input in CBOR format
    Definition: json.hpp:24654
    +
    BasicJsonType & get_unchecked(BasicJsonType *ptr) const
    return a reference to the pointed to value
    Definition: json.hpp:12557
    +
    void set_end() noexcept
    set the iterator past the last value
    Definition: json.hpp:11524
    + +
    a template for a bidirectional iterator for the basic_json class This class implements a both iterato...
    Definition: json.hpp:11348
    +
    typename InputAdapterType::char_type char_type
    Definition: json.hpp:8247
    + +
    bool parse_bson_element_list(const bool is_array)
    Read a BSON element list (as specified in the BSON-spec)
    Definition: json.hpp:8518
    +
    std::size_t hash(const BasicJsonType &j)
    hash a JSON value
    Definition: json.hpp:5117
    +
    void get_arithmetic_value(const BasicJsonType &j, ArithmeticType &val)
    Definition: json.hpp:3855
    + +
    std::size_t chars_read_current_line
    the number of characters read in the current line
    Definition: json.hpp:2589
    +
    std::bidirectional_iterator_tag iterator_category
    Definition: json.hpp:11371
    +
    friend bool operator>(ScalarType lhs, const_reference rhs) noexcept
    comparison: greater than
    Definition: json.hpp:23623
    +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json diff(const basic_json &source, const basic_json &target, const std::string &path="")
    creates a diff as a JSON patch
    Definition: json.hpp:25641
    +
    output_adapter(std::basic_ostream< CharType > &s)
    Definition: json.hpp:13232
    +
    const_iterator begin() const noexcept
    returns a const iterator to the first element
    Definition: json.hpp:21638
    +
    void write_character(CharType c) override
    Definition: json.hpp:13210
    +
    cached_power get_cached_power_for_binary_exponent(int e)
    Definition: json.hpp:15168
    + +
    decltype(std::declval< T & >().start_array(std::declval< std::size_t >())) start_array_function_t
    Definition: json.hpp:8106
    + +
    json_reverse_iterator(const typename base_iterator::iterator_type &it) noexcept
    create reverse iterator from iterator
    Definition: json.hpp:12003
    +
    byte_container_with_subtype(container_type &&b) noexcept(noexcept(container_type(std::move(b))))
    Definition: json.hpp:4947
    +
    typename BasicJsonType::binary_t binary_t
    Definition: json.hpp:8127
    +
    typename BasicJsonType::binary_t::value_type binary_char_t
    Definition: json.hpp:15989
    +
    static std::vector< std::string > split(const std::string &reference_string)
    split the string input to reference tokens
    Definition: json.hpp:12825
    +
    constexpr const number_integer_t * get_impl_ptr(const number_integer_t *) const noexcept
    get a pointer to the value (integer number)
    Definition: json.hpp:19871
    +
    auto operator()(const BasicJsonType &j, T &&val) const noexcept(noexcept(from_json(j, std::forward< T >(val)))) -> decltype(from_json(j, std::forward< T >(val)))
    Definition: json.hpp:4251
    +
    lexical analysis
    Definition: json.hpp:6526
    +
    size_type erase(const typename object_t::key_type &key)
    remove element from a JSON object given a key
    Definition: json.hpp:21386
    +
    static void construct(BasicJsonType &j, typename BasicJsonType::number_unsigned_t val) noexcept
    Definition: json.hpp:4561
    +
    basic_json get_impl(detail::priority_tag< 3 >) const
    get special-case overload
    Definition: json.hpp:20123
    +
    void write_bson(const BasicJsonType &j)
    Definition: json.hpp:13283
    +
    typename Extend< typename Gen< T, N/2 >::type, N/2, N % 2 >::type type
    Definition: json.hpp:3117
    +
    json_value(const binary_t &value)
    constructor for binary arrays (internal type)
    Definition: json.hpp:18141
    + +
    void set_end() noexcept
    set iterator to a defined past the end
    Definition: json.hpp:11199
    +
    static out_of_range create(int id_, const std::string &what_arg, const BasicJsonType &context)
    Definition: json.hpp:2964
    +
    typename BasicJsonType::number_integer_t number_integer_t
    Definition: json.hpp:6345
    +
    constexpr std::uint8_t subtype() const noexcept
    return the binary subtype
    Definition: json.hpp:5019
    +
    friend bool operator==(json_pointer const &lhs, json_pointer const &rhs) noexcept
    compares two JSON pointers for equality
    Definition: json.hpp:12994
    +
    void from_json(const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m)
    Definition: json.hpp:4231
    +
    bool get_bson_binary(const NumberType len, binary_t &result)
    Parses a byte array input of length len from the BSON input.
    Definition: json.hpp:8414
    +
    syntax analysis
    Definition: json.hpp:10708
    +
    constexpr const object_t * get_impl_ptr(const object_t *) const noexcept
    get a pointer to the value (object)
    Definition: json.hpp:19823
    +
    serialization to CBOR and MessagePack values
    Definition: json.hpp:13262
    + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor(InputType &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)
    create a JSON value from an input in CBOR format
    Definition: json.hpp:24637
    +
    std::false_type value_t
    Definition: json.hpp:3296
    +
    iterator insert(const_iterator pos, initializer_list_t ilist)
    inserts elements
    Definition: json.hpp:22841
    +
    output adapter for byte vectors
    Definition: json.hpp:13155
    +
    pointer operator->() const
    dereference the iterator
    Definition: json.hpp:11592
    +
    JSON_HEDLEY_RETURNS_NON_NULL static JSON_HEDLEY_CONST const char * token_type_name(const token_type t) noexcept
    return name of values of type token_type (only used for errors)
    Definition: json.hpp:6477
    + +
    std::string get_token_string() const
    Definition: json.hpp:10582
    +
    const std::size_t byte
    byte index of the parse error
    Definition: json.hpp:2807
    +
    bool get_cbor_array(const std::size_t len, const cbor_tag_handler_t tag_handler)
    Definition: json.hpp:9221
    +
    typename BasicJsonType::number_unsigned_t number_unsigned_t
    Definition: json.hpp:5733
    +
    std::char_traits< char_type >::int_type get_character()
    Definition: json.hpp:5360
    +
    bool get_ubjson_value(const char_int_type prefix)
    Definition: json.hpp:10135
    +
    BasicJsonType::object_t::iterator object_iterator
    iterator for JSON objects
    Definition: json.hpp:11293
    +
    void to_json(BasicJsonType &j, T b) noexcept
    Definition: json.hpp:4686
    + +
    integer_sequence< size_t, Ints... > index_sequence
    Definition: json.hpp:3090
    +
    byte_container_with_subtype() noexcept(noexcept(container_type()))
    Definition: json.hpp:4939
    +
    number_integer_t * get_impl_ptr(number_integer_t *) noexcept
    get a pointer to the value (integer number)
    Definition: json.hpp:19865
    +
    const_iterator find(const Key &key) const
    Definition: json.hpp:17050
    + + +
    constexpr bool is_boolean() const noexcept
    return whether value is a boolean
    Definition: json.hpp:19537
    +
    throw a type_error exception in case of invalid UTF-8
    +
    bool accept(const bool strict=true)
    public accept interface
    Definition: json.hpp:10801
    + +
    token_type scan()
    Definition: json.hpp:7924
    +
    bool skip_bom()
    skip the UTF-8 byte order mark
    Definition: json.hpp:7901
    +
    const_reference front() const
    access the first element
    Definition: json.hpp:21075
    +
    bool number_float(number_float_t val, const string_t &)
    Definition: json.hpp:5910
    +
    typename std::iterator_traits< iterator_type >::value_type char_type
    Definition: json.hpp:5559
    +
    exception indicating access out of the defined range
    Definition: json.hpp:2960
    +
    byte_container_with_subtype(const container_type &b) noexcept(noexcept(container_type(b)))
    Definition: json.hpp:4943
    +
    friend bool operator!=(ScalarType lhs, const_reference rhs) noexcept
    comparison: not equal
    Definition: json.hpp:23410
    +
    reverse_iterator rend() noexcept
    returns an iterator to the reverse-end
    Definition: json.hpp:21806
    +
    typename BasicJsonType::number_unsigned_t number_unsigned_t
    Definition: json.hpp:6039
    + +
    JSON_HEDLEY_RETURNS_NON_NULL BasicJsonType * handle_value(Value &&v)
    Definition: json.hpp:6000
    +
    primitive_iterator_t & operator--() noexcept
    Definition: json.hpp:11251
    +
    binary array (ordered collection of bytes)
    + + +
    void set_begin() noexcept
    set iterator to a defined beginning
    Definition: json.hpp:11193
    +
    decltype(std::declval< T >().template get< U >()) get_template_function
    Definition: json.hpp:3487
    + +
    void write_msgpack(const BasicJsonType &j)
    Definition: json.hpp:13608
    +
    the parser read ] and finished processing a JSON array
    +
    typename std::iterator_traits< T >::value_type value_type
    Definition: json.hpp:5571
    +
    static constexpr std::size_t calc_bson_unsigned_size(const std::uint64_t value) noexcept
    Definition: json.hpp:14243
    +
    bool get_bson_string(const NumberType len, string_t &result)
    Parses a zero-terminated string of length len from the BSON input.
    Definition: json.hpp:8393
    +
    IteratorType erase(IteratorType pos)
    remove element given an iterator
    Definition: json.hpp:21178
    +
    void swap(typename binary_t::container_type &other)
    exchanges the values
    Definition: json.hpp:23202
    +
    static diyfp normalize(diyfp x) noexcept
    normalize x such that the significand is >= 2^(q-1)
    Definition: json.hpp:14987
    + +
    bool operator==(const iteration_proxy_value &o) const
    equality operator (needed for InputIterator)
    Definition: json.hpp:4349
    +
    typename BasicJsonType::exception exception_t
    Definition: json.hpp:8128
    +
    primitive_iterator_t const operator++(int) noexcept
    Definition: json.hpp:11244
    +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack(InputType &&i, const bool strict=true, const bool allow_exceptions=true)
    create a JSON value from an input in MessagePack format
    Definition: json.hpp:24781
    +
    ReferenceType get_ref() const
    get a reference value (implicit)
    Definition: json.hpp:20329
    +
    typename T::difference_type difference_type_t
    Definition: json.hpp:3466
    +
    typename BasicJsonType::parser_callback_t parser_callback_t
    Definition: json.hpp:6043
    +
    void write_bson_string(const string_t &name, const string_t &value)
    Writes a BSON element with key name and string value value.
    Definition: json.hpp:14193
    +
    iter_impl const operator++(int)
    post-increment (it++)
    Definition: json.hpp:11626
    +
    static void fill_buffer(BaseInputAdapter &input, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)
    Definition: json.hpp:5451
    +
    BasicJsonType get_impl(detail::priority_tag< 2 >) const
    get special-case overload
    Definition: json.hpp:20100
    +
    typename BasicJsonType::number_float_t number_float_t
    Definition: json.hpp:8243
    +
    decltype(std::declval< T & >().end_object()) end_object_function_t
    Definition: json.hpp:8102
    +
    basic_json(const basic_json &other)
    copy constructor
    Definition: json.hpp:19156
    +
    std::is_convertible< detected_t< Op, Args... >, To > is_detected_convertible
    Definition: json.hpp:3324
    + + + +
    SAX implementation to create a JSON value from SAX events.
    Definition: json.hpp:5861
    +
    typename detector< nonesuch, void, Op, Args... >::type detected_t
    Definition: json.hpp:3311
    + +
    static void construct(BasicJsonType &j, const typename BasicJsonType::object_t &obj)
    Definition: json.hpp:4649
    +
    token_type scan_number()
    scan a number literal
    Definition: json.hpp:7384
    +
    token_type
    token types for the parser
    Definition: json.hpp:6453
    +
    string_t value(const typename object_t::key_type &key, const char *default_value) const
    overload for a default value of type const char*
    Definition: json.hpp:20963
    +
    static void to_msgpack(const basic_json &j, detail::output_adapter< char > o)
    Definition: json.hpp:24335
    +
    json_reverse_iterator operator-(difference_type i) const
    subtract from iterator
    Definition: json.hpp:12046
    +
    constexpr bool is_binary() const noexcept
    return whether value is a binary array
    Definition: json.hpp:19740
    +
    NumberFloatType number_float_t
    a type for a number (floating-point)
    Definition: json.hpp:17868
    +
    the parser read a key of a value in an object
    + +
    typename std::enable_if< std::is_convertible< typename std::iterator_traits< InputIt >::iterator_category, std::input_iterator_tag >::value >::type require_input_iter
    Definition: json.hpp:17082
    + +
    static void fill_buffer(BaseInputAdapter &input, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)
    Definition: json.hpp:5393
    +
    typename BasicJsonType::number_unsigned_t number_unsigned_t
    Definition: json.hpp:8124
    +
    span_input_adapter(CharT b, std::size_t l)
    Definition: json.hpp:5684
    +
    void erase(const size_type idx)
    remove element from a JSON array given an index
    Definition: json.hpp:21421
    +
    bool get_cbor_string(string_t &result)
    reads a CBOR string
    Definition: json.hpp:9032
    +
    exception indicating a parse error
    Definition: json.hpp:2769
    + +
    input_stream_adapter(input_stream_adapter &&rhs) noexcept
    Definition: json.hpp:5321
    +
    #define JSON_THROW(exception)
    Definition: json.hpp:2263
    +
    difference_type operator-(const iter_impl &other) const
    return difference
    Definition: json.hpp:11875
    +
    json_reverse_iterator(const base_iterator &it) noexcept
    create reverse iterator from base class
    Definition: json.hpp:12007
    + +
    decltype(std::declval< T & >().parse_error(std::declval< std::size_t >(), std::declval< const std::string & >(), std::declval< const Exception & >())) parse_error_function_t
    Definition: json.hpp:8114
    +
    bool get_binary(const input_format_t format, const NumberType len, binary_t &result)
    create a byte array by reading bytes from the input
    Definition: json.hpp:10545
    +
    typename detector< nonesuch, void, Op, Args... >::value_t is_detected
    Definition: json.hpp:3308
    +
    json_reverse_iterator const operator++(int)
    post-increment (it++)
    Definition: json.hpp:12010
    +
    bool number_unsigned(number_unsigned_t val)
    Definition: json.hpp:6079
    +
    static void construct(BasicJsonType &j, const typename BasicJsonType::array_t &arr)
    Definition: json.hpp:4585
    +
    bool get_string(const input_format_t format, const NumberType len, string_t &result)
    create a string by reading characters from the input
    Definition: json.hpp:10512
    +
    decltype(std::declval< T & >().end_array()) end_array_function_t
    Definition: json.hpp:8109
    +
    json_value(boolean_t v) noexcept
    constructor for booleans
    Definition: json.hpp:18014
    +
    std::vector< CharType > & v
    Definition: json.hpp:13174
    +
    friend json_pointer operator/(const json_pointer &ptr, std::size_t array_idx)
    create a new JSON pointer by appending the array-index-token at the end of the JSON pointer ...
    Definition: json.hpp:12290
    +
    bool parse_bson_internal()
    Reads in a BSON-object and passes it to the SAX-parser.
    Definition: json.hpp:8338
    +
    const_iterator cbegin() const noexcept
    returns a const iterator to the first element
    Definition: json.hpp:21668
    +
    reverse_iterator rbegin() noexcept
    returns an iterator to the reverse-beginning
    Definition: json.hpp:21769
    + +
    typename Base::reference reference
    the reference type for the pointed-to element
    Definition: json.hpp:12000
    +
    #define JSON_HEDLEY_RETURNS_NON_NULL
    Definition: json.hpp:1897
    +
    primitive_iterator_t primitive_iterator
    generic iterator for all other types
    Definition: json.hpp:11297
    + +
    abstract output adapter interface
    Definition: json.hpp:13136
    +
    const_reference back() const
    access the last element
    Definition: json.hpp:21121
    +
    void write_character(CharType c) override
    Definition: json.hpp:13162
    + +
    general exception of the basic_json class
    Definition: json.hpp:2642
    +
    IteratorType::reference container
    the container to iterate
    Definition: json.hpp:4400
    +
    number_float_t * get_impl_ptr(number_float_t *) noexcept
    get a pointer to the value (floating-point number)
    Definition: json.hpp:19889
    +
    JSON_HEDLEY_RETURNS_NON_NULL char * append_exponent(char *buf, int e)
    appends a decimal representation of e to buf
    Definition: json.hpp:15768
    +
    bool operator!=(const byte_container_with_subtype &rhs) const
    Definition: json.hpp:4969
    +
    boundaries compute_boundaries(FloatType value)
    Definition: json.hpp:15029
    + +
    constexpr bool is_object() const noexcept
    return whether value is an object
    Definition: json.hpp:19674
    +
    json_value(value_t t)
    constructor for empty values of a given type
    Definition: json.hpp:18022
    +
    constexpr const array_t * get_impl_ptr(const array_t *) const noexcept
    get a pointer to the value (array)
    Definition: json.hpp:19835
    +
    typename lexer_t::token_type token_type
    Definition: json.hpp:10715
    +
    json_value(binary_t &&value)
    constructor for rvalue binary arrays (internal type)
    Definition: json.hpp:18147
    +
    bool operator!=(const iteration_proxy_value &o) const
    inequality operator (needed for range-based for)
    Definition: json.hpp:4355
    + +
    static parse_error create(int id_, const position_t &pos, const std::string &what_arg, const BasicJsonType &context)
    create a parse error exception
    Definition: json.hpp:2782
    +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson(InputType &&i, const bool strict=true, const bool allow_exceptions=true)
    create a JSON value from an input in UBJSON format
    Definition: json.hpp:24898
    +
    void write_bson_null(const string_t &name)
    Writes a BSON element with key name and null value.
    Definition: json.hpp:14207
    +
    void clear() noexcept
    clears the contents
    Definition: json.hpp:22298
    +
    bool get_msgpack_array(const std::size_t len)
    Definition: json.hpp:9885
    + +
    const_reverse_iterator crbegin() const noexcept
    returns a const reverse iterator to the last element
    Definition: json.hpp:21843
    +
    const error_handler_t error_handler
    error_handler how to react on decoding errors
    Definition: json.hpp:16894
    +
    static void construct(BasicJsonType &j, typename BasicJsonType::number_integer_t val) noexcept
    Definition: json.hpp:4573
    +
    BasicJsonType::array_t::iterator array_iterator
    iterator for JSON arrays
    Definition: json.hpp:11295
    + +
    std::string exception_message(const token_type expected, const std::string &context)
    Definition: json.hpp:11107
    +
    typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference >::type reference
    defines a reference to the type iterated over (value_type)
    Definition: json.hpp:11385
    +
    bool number_integer(number_integer_t val)
    Definition: json.hpp:6073
    +
    basic_json patch(const basic_json &json_patch) const
    applies a JSON patch
    Definition: json.hpp:25343
    +
    output_adapter(std::vector< CharType > &vec)
    Definition: json.hpp:13229
    +
    an internal type for a backed binary type
    Definition: json.hpp:4933
    + +
    internal_iterator< typename std::remove_const< BasicJsonType >::type > m_it
    the actual iterator of the associated instance
    Definition: json.hpp:11952
    +
    typename std::remove_cv< typename std::remove_reference< decltype(std::declval< IteratorType >().key()) >::type >::type string_type
    Definition: json.hpp:4314
    +
    typename BasicJsonType::number_float_t number_float_t
    Definition: json.hpp:13266
    +
    the parser read } and finished processing a JSON object
    +
    contiguous_bytes_input_adapter ia
    Definition: json.hpp:5700
    +
    bool next_byte_in_range(std::initializer_list< char_int_type > ranges)
    check if the next byte(s) are inside a given range
    Definition: json.hpp:6632
    +
    void push_back(const std::string &token)
    append an unescaped token at the end of the reference pointer
    Definition: json.hpp:12379
    +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)
    Create a JSON value from an input in BSON format.
    Definition: json.hpp:25028
    +
    exception indicating errors with iterators
    Definition: json.hpp:2857
    + + +
    void swap(array_t &other)
    exchanges the values
    Definition: json.hpp:23089
    +
    const BasicJsonType & get_unchecked(const BasicJsonType *ptr) const
    return a const reference to the pointed to value
    Definition: json.hpp:12665
    +
    bool operator<(const value_t lhs, const value_t rhs) noexcept
    comparison operator for JSON types
    Definition: json.hpp:145
    +
    size_type max_size() const noexcept
    returns the maximum possible number of elements
    Definition: json.hpp:22227
    + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json meta()
    returns version information on the library
    Definition: json.hpp:17372
    +
    void grisu2(char *buf, int &len, int &decimal_exponent, diyfp m_minus, diyfp v, diyfp m_plus)
    Definition: json.hpp:15668
    +
    reference operator+=(basic_json &&val)
    add an object to an array
    Definition: json.hpp:22401
    + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json object(initializer_list_t init={})
    explicitly create an object from an initializer list
    Definition: json.hpp:18933
    +
    namespace for Niels Lohmann
    Definition: json.hpp:86
    +
    static std::vector< uint8_t > to_ubjson(const basic_json &j, const bool use_size=false, const bool use_type=false)
    create a UBJSON serialization of a given JSON value
    Definition: json.hpp:24426
    +
    string_t dump(const int indent=-1, const char indent_char=' ', const bool ensure_ascii=false, const error_handler_t error_handler=error_handler_t::strict) const
    serialization
    Definition: json.hpp:19382
    +
    bool number_integer(number_integer_t)
    Definition: json.hpp:6361
    +
    bool number_float(number_float_t val, const string_t &)
    Definition: json.hpp:6085
    +
    token_type scan_string()
    scan a string literal
    Definition: json.hpp:6669
    +
    static type_error create(int id_, const std::string &what_arg, const BasicJsonType &context)
    Definition: json.hpp:2916
    +
    #define JSON_HEDLEY_CONST
    Definition: json.hpp:1668
    +
    json_ref(std::initializer_list< json_ref > init)
    Definition: json.hpp:13049
    + +
    bool parse_error(std::size_t, const std::string &, const Exception &ex)
    Definition: json.hpp:5974
    +
    typename BasicJsonType::string_t string_t
    Definition: json.hpp:8244
    +
    constexpr value_t type() const noexcept
    return the type of the JSON value (explicit)
    Definition: json.hpp:19435
    +
    constexpr difference_type get_value() const noexcept
    Definition: json.hpp:11187
    +
    std::char_traits< char >::int_type get_character() noexcept
    Definition: json.hpp:5519
    +
    json_reverse_iterator operator+(difference_type i) const
    add to iterator
    Definition: json.hpp:12040
    +
    typename BasicJsonType::string_t string_t
    Definition: json.hpp:6531
    +
    typename BasicJsonType::number_integer_t number_integer_t
    Definition: json.hpp:15987
    +
    bool start_object(std::size_t len)
    Definition: json.hpp:5928
    +
    object (unordered set of name/value pairs)
    +
    void write_number(const NumberType n)
    Definition: json.hpp:14743
    + + +
    token_type get_token()
    get next token from lexer
    Definition: json.hpp:11102
    +
    void write_bson_unsigned(const string_t &name, const BasicJsonType &j)
    Writes a BSON element with key name and unsigned value.
    Definition: json.hpp:14253
    +
    NumberUnsignedType number_unsigned_t
    a type for a number (unsigned)
    Definition: json.hpp:17800
    +
    static std::string diagnostics(const BasicJsonType &leaf_element)
    Definition: json.hpp:2664
    +
    typename BasicJsonType::template json_serializer< T, void > serializer
    Definition: json.hpp:3536
    + +
    typename BasicJsonType::number_float_t number_float_t
    Definition: json.hpp:10712
    +
    T & at(const Key &key)
    Definition: json.hpp:16967
    + +
    reference operator*() const
    return a reference to the value pointed to by the iterator
    Definition: json.hpp:11555
    +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json array(initializer_list_t init={})
    explicitly create an array from an initializer list
    Definition: json.hpp:18889
    + + +
    iterator find(KeyT &&key)
    find an element in a JSON object
    Definition: json.hpp:21474
    +
    number_float_t number_float
    number (floating-point)
    Definition: json.hpp:18009
    +
    typename std::enable_if< B, T >::type enable_if_t
    Definition: json.hpp:3048
    +
    json_value(number_integer_t v) noexcept
    constructor for numbers (integer)
    Definition: json.hpp:18016
    +
    ordered_map(const Allocator &alloc=Allocator())
    Definition: json.hpp:16937
    +
    ValueType & get_to(ValueType &v) const
    Definition: json.hpp:20269
    +
    const_reference at(size_type idx) const
    access specified array element with bounds checking
    Definition: json.hpp:20495
    +
    typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer >::type pointer
    defines a pointer to the type iterated over (value_type)
    Definition: json.hpp:11380
    +
    basic_json(const value_t v)
    create an empty value with a given type
    Definition: json.hpp:18447
    +
    #define NLOHMANN_BASIC_JSON_TPL
    Definition: json.hpp:2345
    +
    const T & operator[](const Key &key) const
    Definition: json.hpp:16962
    +
    friend bool operator!=(json_pointer const &lhs, json_pointer const &rhs) noexcept
    compares two JSON pointers for inequality
    Definition: json.hpp:13011
    +
    exception indicating executing a member function with a wrong type
    Definition: json.hpp:2912
    +
    std::size_t combine(std::size_t seed, std::size_t h) noexcept
    Definition: json.hpp:5099
    +
    constexpr bool is_number_unsigned() const noexcept
    return whether value is an unsigned integer number
    Definition: json.hpp:19624
    +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson(InputType &&i, const bool strict=true, const bool allow_exceptions=true)
    Create a JSON value from an input in BSON format.
    Definition: json.hpp:25012
    +
    #define NLOHMANN_JSON_VERSION_PATCH
    Definition: json.hpp:35
    +
    const_reference operator[](size_type idx) const
    access specified array element
    Definition: json.hpp:20696
    +
    static void flatten(const std::string &reference_string, const BasicJsonType &value, BasicJsonType &result)
    Definition: json.hpp:12893
    +
    void write_bson_entry_header(const string_t &name, const std::uint8_t element_type)
    Writes the given element_type and name to the output adapter.
    Definition: json.hpp:14153
    +
    typename BasicJsonType::number_integer_t number_integer_t
    Definition: json.hpp:10710
    +
    static constexpr CharType get_cbor_float_prefix(double)
    Definition: json.hpp:14471
    +
    constexpr bool is_begin() const noexcept
    return whether the iterator can be dereferenced
    Definition: json.hpp:11205
    + +
    constexpr bool is_primitive() const noexcept
    return whether type is primitive
    Definition: json.hpp:19466
    +
    static adapter_type create(IteratorType first, IteratorType last)
    Definition: json.hpp:5562
    +
    static auto from_json(BasicJsonType &&j) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), detail::identity_tag< TargetType > {}))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), detail::identity_tag< TargetType >
    convert a JSON value to any value type
    Definition: json.hpp:4883
    + +
    boolean_t boolean
    boolean
    Definition: json.hpp:18003
    +
    typename BasicJsonType::number_float_t number_float_t
    Definition: json.hpp:6040
    +
    friend std::istream & operator>>(std::istream &i, basic_json &j)
    deserialize from stream
    Definition: json.hpp:24040
    +
    bool get_msgpack_binary(binary_t &result)
    reads a MessagePack byte array
    Definition: json.hpp:9774
    +
    typename BasicJsonType::parse_event_t parse_event_t
    Definition: json.hpp:6044
    +
    size_type erase(const Key &key)
    Definition: json.hpp:16993
    +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json binary(const typename binary_t::container_type &init)
    explicitly create a binary array (without subtype)
    Definition: json.hpp:18786
    +
    typename BasicJsonType::template json_serializer< T, void > serializer
    Definition: json.hpp:3506
    +
    friend bool operator==(const_reference lhs, const_reference rhs) noexcept
    comparison: equal
    Definition: json.hpp:23280
    + +
    friend json_pointer operator/(const json_pointer &ptr, std::string token)
    create a new JSON pointer by appending the unescaped token at the end of the JSON pointer ...
    Definition: json.hpp:12270
    +
    cbor_tag_handler_t
    how to treat CBOR tags
    Definition: json.hpp:8212
    +
    static void construct(BasicJsonType &j, typename BasicJsonType::object_t &&obj)
    Definition: json.hpp:4658
    +
    ValueType & get_to(ValueType &v) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>(), v)))
    get a value (explicit)
    Definition: json.hpp:20256
    + +
    typename BasicJsonType::number_unsigned_t number_unsigned_t
    Definition: json.hpp:6346
    +
    make_integer_sequence< size_t, N > make_index_sequence
    Definition: json.hpp:3144
    +
    decltype(std::declval< T & >().number_integer(std::declval< Integer >())) number_integer_function_t
    Definition: json.hpp:8075
    +
    #define JSON_HEDLEY_NON_NULL(...)
    Definition: json.hpp:1456
    +
    const_reference at(const json_pointer &ptr) const
    access specified element via JSON Pointer
    Definition: json.hpp:25218
    +
    static void construct(BasicJsonType &j, typename BasicJsonType::binary_t &&b)
    Definition: json.hpp:4537
    +
    static JSON_HEDLEY_RETURNS_NON_NULL T * create(Args &&... args)
    helper for exception-safe object creation
    Definition: json.hpp:17947
    +
    basic_json(initializer_list_t init, bool type_deduction=true, value_t manual_type=value_t::array)
    create a container (array or object) from an initializer list
    Definition: json.hpp:18705
    +
    typename T::value_type value_type_t
    Definition: json.hpp:3463
    +
    constexpr bool is_errored() const
    Definition: json.hpp:5986
    +
    output_vector_adapter(std::vector< CharType > &vec) noexcept
    Definition: json.hpp:13158
    +
    ValueType get_impl(detail::priority_tag< 0 >) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>(), std::declval< ValueType &>())))
    get a value (explicit)
    Definition: json.hpp:20033
    +
    char_int_type get_ignore_noop()
    Definition: json.hpp:10444
    +
    std::pair< iterator, bool > emplace(const key_type &key, T &&t)
    Definition: json.hpp:16944
    +
    static JSON_HEDLEY_PURE char get_decimal_point() noexcept
    return the locale-dependent decimal point
    Definition: json.hpp:6558
    +
    typename BasicJsonType::binary_t binary_t
    Definition: json.hpp:8158
    +
    static ::nlohmann::detail::parser< basic_json, InputAdapterType > parser(InputAdapterType adapter, detail::parser_callback_t< basic_json >cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)
    Definition: json.hpp:17223
    +
    ArrayType< basic_json, AllocatorType< basic_json > > array_t
    a type for an array
    Definition: json.hpp:17578
    +
    bool start_array(std::size_t=std::size_t(-1))
    Definition: json.hpp:6401
    +
    bool operator==(const byte_container_with_subtype &rhs) const
    Definition: json.hpp:4963
    +
    j template void())
    Definition: json.hpp:4061
    +
    static std::size_t calc_bson_array_size(const typename BasicJsonType::array_t &value)
    Definition: json.hpp:14285
    +
    decltype(std::declval< T & >().null()) null_function_t
    Definition: json.hpp:8067
    + +
    bool empty() const noexcept
    return whether pointer points to the root document
    Definition: json.hpp:12404
    +
    friend bool operator==(ScalarType lhs, const_reference rhs) noexcept
    comparison: equal
    Definition: json.hpp:23365
    +
    typename BasicJsonType::number_float_t number_float_t
    Definition: json.hpp:5734
    +
    static void construct(BasicJsonType &j, const typename BasicJsonType::binary_t &b)
    Definition: json.hpp:4529
    +
    json_pointer & operator/=(std::size_t array_idx)
    append an array index at the end of this JSON pointer
    Definition: json.hpp:12229
    +
    boolean_t get_impl(boolean_t *) const
    get a boolean (explicit)
    Definition: json.hpp:19806
    +
    IteratorType anchor
    the iterator
    Definition: json.hpp:4318
    + +
    void write_bson_array(const string_t &name, const typename BasicJsonType::array_t &value)
    Writes a BSON element with key name and array value.
    Definition: json.hpp:14308
    +
    basic_json flatten() const
    return flattened JSON value
    Definition: json.hpp:25245
    + + +
    void parse(const bool strict, BasicJsonType &result)
    public parser interface
    Definition: json.hpp:10741
    +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)
    create a JSON value from an input in UBJSON format
    Definition: json.hpp:24914
    +
    bool get_number(const input_format_t format, NumberType &result)
    Definition: json.hpp:10469
    +
    std::initializer_list< detail::json_ref< basic_json > > initializer_list_t
    helper type for initializer lists of basic_json values
    Definition: json.hpp:17265
    +
    typename std::allocator_traits< allocator_type >::const_pointer const_pointer
    the type of an element const pointer
    Definition: json.hpp:17323
    +
    std::size_t operator()(const nlohmann::json &j) const
    return a hash value for a JSON object
    Definition: json.hpp:25878
    +
    const BasicJsonType & get_checked(const BasicJsonType *ptr) const
    Definition: json.hpp:12705
    +
    bool empty() const noexcept
    checks whether the container is empty.
    Definition: json.hpp:22083
    +
    typename BasicJsonType::exception exception_t
    Definition: json.hpp:8159
    +
    void assert_invariant(bool check_parents=true) const noexcept
    checks the class invariants
    Definition: json.hpp:18262
    +
    constexpr bool is_number_float() const noexcept
    return whether value is a floating-point number
    Definition: json.hpp:19652
    +
    BasicJsonType & root
    the parsed JSON value
    Definition: json.hpp:6023
    +
    #define JSON_TRY
    Definition: json.hpp:2264
    + +
    typename BasicJsonType::binary_t binary_t
    Definition: json.hpp:13265
    + +
    iteration_proxy_value< IteratorType > begin() noexcept
    return iterator begin (needed for range-based for)
    Definition: json.hpp:4408
    +
    bool parse_bson_element_internal(const char_int_type element_type, const std::size_t element_type_parse_position)
    Read a BSON document element of the given element_type.
    Definition: json.hpp:8440
    +
    std::char_traits< char >::int_type get_character() noexcept
    Definition: json.hpp:5277
    + +
    bool get_cbor_object(const std::size_t len, const cbor_tag_handler_t tag_handler)
    Definition: json.hpp:9259
    +
    lexer< BasicJsonType, InputAdapterType > lexer_t
    Definition: json.hpp:10714
    + +
    reference at(size_type idx)
    access specified array element with bounds checking
    Definition: json.hpp:20448
    +
    void add(char_int_type c)
    add a character to token_buffer
    Definition: json.hpp:7816
    +
    reference front()
    access the first element
    Definition: json.hpp:21067
    +
    typename T::key_type key_type_t
    Definition: json.hpp:3460
    +
    output adapter for basic_string
    Definition: json.hpp:13203
    +
    typename std::char_traits< char_type >::int_type char_int_type
    Definition: json.hpp:8248
    +
    the parser read { and started to process a JSON object
    +
    iterator insert_iterator(const_iterator pos, Args &&... args)
    Definition: json.hpp:22651
    +
    input_stream_adapter(std::istream &i)
    Definition: json.hpp:5312
    +
    static void to_ubjson(const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false)
    Definition: json.hpp:24441
    +
    static auto from_json(BasicJsonType &&j, TargetType &val) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), val))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), val), void())
    convert a JSON value to any value type
    Definition: json.hpp:4863
    + + +
    std::shared_ptr< output_adapter_protocol< CharType > > output_adapter_t
    a type to simplify interfaces
    Definition: json.hpp:13151
    +
    #define JSON_HEDLEY_LIKELY(expr)
    Definition: json.hpp:1563
    +
    iterator erase(iterator pos)
    Definition: json.hpp:17012
    + +
    StringType string_t
    a type for a string
    Definition: json.hpp:17631
    +
    friend bool operator>(const_reference lhs, const_reference rhs) noexcept
    comparison: greater than
    Definition: json.hpp:23601
    +
    typename BasicJsonType::number_float_t number_float_t
    Definition: json.hpp:6347
    +
    bool number_unsigned(number_unsigned_t)
    Definition: json.hpp:6366
    +
    #define JSON_PRIVATE_UNLESS_TESTED
    Definition: json.hpp:2299
    +
    std::pair< iterator, bool > insert(const value_type &value)
    Definition: json.hpp:17067
    +
    iteration_proxy_value & operator*()
    dereference operator (needed for range-based for)
    Definition: json.hpp:4334
    +
    void swap(reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)
    exchanges the values
    Definition: json.hpp:23026
    +
    binary_writer(output_adapter_t< CharType > adapter)
    create a binary writer
    Definition: json.hpp:13274
    +
    static BasicJsonType unflatten(const BasicJsonType &value)
    Definition: json.hpp:12956
    +
    typename BasicJsonType::string_t string_t
    Definition: json.hpp:10713
    +
    output adapter for output streams
    Definition: json.hpp:13179
    +
    static std::size_t calc_bson_object_size(const typename BasicJsonType::object_t &value)
    Calculates the size of the BSON serialization of the given JSON-object j.
    Definition: json.hpp:14435
    + +
    string_t * string
    string (stored with pointer to save storage)
    Definition: json.hpp:17999
    +
    int get_codepoint()
    get codepoint from 4 hex characters following \u
    Definition: json.hpp:6584
    +
    #define NLOHMANN_JSON_VERSION_MINOR
    Definition: json.hpp:34
    +
    basic_json(size_type cnt, const basic_json &val)
    construct an array with count copies of given value
    Definition: json.hpp:18960
    +
    typename BasicJsonType::object_t object_t
    Definition: json.hpp:11358
    +
    std::pair< iterator, bool > insert(value_type &&value)
    Definition: json.hpp:17062
    +
    BooleanType boolean_t
    a type for a boolean
    Definition: json.hpp:17657
    +
    json_value(number_unsigned_t v) noexcept
    constructor for numbers (unsigned)
    Definition: json.hpp:18018
    + +
    constexpr const number_unsigned_t * get_impl_ptr(const number_unsigned_t *) const noexcept
    get a pointer to the value (unsigned number)
    Definition: json.hpp:19883
    +
    iterator find(const Key &key)
    Definition: json.hpp:17038
    +
    static std::size_t calc_bson_entry_header_size(const string_t &name, const BasicJsonType &j)
    Definition: json.hpp:14139
    +
    value_type const & operator*() const
    Definition: json.hpp:13076
    +
    friend bool operator<(const_reference lhs, ScalarType rhs) noexcept
    comparison: less than
    Definition: json.hpp:23520
    +
    static parse_error create(int id_, std::size_t byte_, const std::string &what_arg, const BasicJsonType &context)
    Definition: json.hpp:2790
    +
    json_ref(value_type &&value)
    Definition: json.hpp:13041
    + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json parse(InputType &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)
    deserialize from a compatible input
    Definition: json.hpp:23806
    +
    exception indicating other library errors
    Definition: json.hpp:2999
    +
    typename BasicJsonType::number_integer_t number_integer_t
    Definition: json.hpp:5732
    +
    bool get_ubjson_size_value(std::size_t &result)
    Definition: json.hpp:10017
    +
    std::input_iterator_tag iterator_category
    Definition: json.hpp:4313
    +
    void update(const_reference j)
    updates a JSON object from another object, overwriting existing keys
    Definition: json.hpp:22924
    +
    typename BasicJsonType::number_float_t number_float_t
    Definition: json.hpp:8156
    +
    JSON_HEDLEY_RETURNS_NON_NULL constexpr const char * get_error_message() const noexcept
    return syntax error message
    Definition: json.hpp:7888
    +
    decltype(std::declval< T & >().number_float(std::declval< Float >(), std::declval< const String & >())) number_float_function_t
    Definition: json.hpp:8083
    + + + +
    static std::string name(const std::string &ename, int id_)
    Definition: json.hpp:2658
    +
    constexpr bool is_end() const noexcept
    return whether the iterator is at end
    Definition: json.hpp:11211
    +
    typename BasicJsonType::string_t string_t
    Definition: json.hpp:15985
    +
    reference set_parent(reference j)
    Definition: json.hpp:18325
    +
    reference operator+=(const basic_json &val)
    add an object to an array
    Definition: json.hpp:22436
    + +
    std::pair< bool, BasicJsonType * > handle_value(Value &&v, const bool skip_callback=false)
    Definition: json.hpp:6258
    +
    std::tuple< Args... > from_json_tuple_impl_base(BasicJsonType &&j, index_sequence< Idx... >)
    Definition: json.hpp:4166
    +
    decltype(std::declval< T & >().start_object(std::declval< std::size_t >())) start_object_function_t
    Definition: json.hpp:8095
    + +
    static invalid_iterator create(int id_, const std::string &what_arg, const BasicJsonType &context)
    Definition: json.hpp:2861
    +
    reference operator[](const json_pointer &ptr)
    access specified element via JSON Pointer
    Definition: json.hpp:25104
    + +
    json_pointer & operator/=(const json_pointer &ptr)
    append another JSON pointer at the end of this JSON pointer
    Definition: json.hpp:12183
    +
    deserialization of CBOR, MessagePack, and UBJSON values
    Definition: json.hpp:8239
    +
    iterator insert(const_iterator pos, const basic_json &val)
    inserts element
    Definition: json.hpp:22689
    +
    basic_json(std::nullptr_t=nullptr) noexcept
    create a null object
    Definition: json.hpp:18471
    +
    friend void swap(reference left, reference right) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)
    exchanges the values
    Definition: json.hpp:23059
    + +
    AllocatorType< basic_json > allocator_type
    the allocator type
    Definition: json.hpp:17318
    +
    void to_json_tuple_impl(BasicJsonType &j, const Tuple &t, index_sequence< Idx... >)
    Definition: json.hpp:4809
    +
    constexpr bool is_number_integer() const noexcept
    return whether value is an integer number
    Definition: json.hpp:19596
    +
    static void to_bson(const basic_json &j, detail::output_adapter< char > o)
    Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the ...
    Definition: json.hpp:24527
    +
    typename BasicJsonType::value_type value_type
    the type of the values when the iterator is dereferenced
    Definition: json.hpp:11374
    +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json binary(typename binary_t::container_type &&init)
    explicitly create a binary array (without subtype)
    Definition: json.hpp:18833
    +
    bool parse_error(std::size_t, const std::string &, const Exception &ex)
    Definition: json.hpp:6224
    +
    bool scan_comment()
    scan a comment
    Definition: json.hpp:7259
    +
    std::array< T, sizeof...(Idx)> from_json_inplace_array_impl(BasicJsonType &&j, identity_tag< std::array< T, sizeof...(Idx)>>, index_sequence< Idx... >)
    Definition: json.hpp:4072
    +
    the parser finished reading a JSON value
    +
    std::size_t lines_read
    the number of lines read
    Definition: json.hpp:2591
    +
    decltype(std::declval< T & >().number_unsigned(std::declval< Unsigned >())) number_unsigned_function_t
    Definition: json.hpp:8079
    +
    bool operator()(nlohmann::detail::value_t lhs, nlohmann::detail::value_t rhs) const noexcept
    compare two value_t enum values
    Definition: json.hpp:25894
    +
    json_sax_dom_parser(BasicJsonType &r, const bool allow_exceptions_=true)
    Definition: json.hpp:5875
    +
    std::string escape(std::string s)
    string escaping as described in RFC 6901 (Sect. 4)
    Definition: json.hpp:2551
    +
    void set_subtype(std::uint8_t subtype_) noexcept
    sets the binary subtype
    Definition: json.hpp:4992
    +
    bool get_bson_cstr(string_t &result)
    Parses a C-style string from the BSON input.
    Definition: json.hpp:8363
    +
    typename BasicJsonType::number_float_t number_float_t
    Definition: json.hpp:8125
    +
    static std::size_t calc_bson_integer_size(const std::int64_t value)
    Definition: json.hpp:14215
    +
    void insert(const_iterator first, const_iterator last)
    inserts elements
    Definition: json.hpp:22882
    +
    friend constexpr bool operator==(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    Definition: json.hpp:11216
    +
    std::basic_ostream< CharType > & stream
    Definition: json.hpp:13198
    + +
    InputAdapterType ia
    input adapter
    Definition: json.hpp:10628
    + +
    typename BasicJsonType::binary_t binary_t
    Definition: json.hpp:5868
    +
    const_reverse_iterator rbegin() const noexcept
    returns a const reverse iterator to the last element
    Definition: json.hpp:21777
    + +
    reference operator+=(initializer_list_t init)
    add an object to an object
    Definition: json.hpp:22536
    +
    static constexpr CharType get_msgpack_float_prefix(float)
    Definition: json.hpp:14480
    + +
    constexpr const number_float_t * get_impl_ptr(const number_float_t *) const noexcept
    get a pointer to the value (floating-point number)
    Definition: json.hpp:19895
    +
    static void construct(BasicJsonType &j, const std::vector< bool > &arr)
    Definition: json.hpp:4616
    + + + +
    constexpr bool is_number() const noexcept
    return whether value is a number
    Definition: json.hpp:19567
    + +
    object_t * get_impl_ptr(object_t *) noexcept
    get a pointer to the value (object)
    Definition: json.hpp:19817
    +
    void write_character(CharType c) override
    Definition: json.hpp:13186
    +
    void write_bson_integer(const string_t &name, const std::int64_t value)
    Writes a BSON element with key name and integer value.
    Definition: json.hpp:14225
    +
    BasicJsonType value_type
    Definition: json.hpp:13039
    +
    decltype(T::from_json(std::declval< Args >()...)) from_json_function
    Definition: json.hpp:3484
    + +
    static CharType to_char_type(std::uint8_t x) noexcept
    Definition: json.hpp:14793
    +
    bool operator<=(const iter_impl &other) const
    comparison: less than or equal
    Definition: json.hpp:11777
    +
    iter_impl & operator=(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept
    converting assignment
    Definition: json.hpp:11475
    +
    static auto to_json(BasicJsonType &j, TargetType &&val) noexcept(noexcept(::nlohmann::to_json(j, std::forward< TargetType >(val)))) -> decltype(::nlohmann::to_json(j, std::forward< TargetType >(val)), void())
    convert any value type to a JSON value
    Definition: json.hpp:4900
    +
    static std::size_t calc_bson_element_size(const string_t &name, const BasicJsonType &j)
    Calculates the size necessary to serialize the JSON value j with its name.
    Definition: json.hpp:14342
    +
    iterator insert(const_iterator pos, basic_json &&val)
    inserts element
    Definition: json.hpp:22711
    + + +
    void write_bson_boolean(const string_t &name, const bool value)
    Writes a BSON element with key name and boolean value value.
    Definition: json.hpp:14165
    +
    iter_impl & operator--()
    pre-decrement (–it)
    Definition: json.hpp:11680
    + +
    replace invalid UTF-8 sequences with U+FFFD
    + + +
    static void to_msgpack(const basic_json &j, detail::output_adapter< uint8_t > o)
    Definition: json.hpp:24330
    +
    typename make_void< Ts... >::type void_t
    Definition: json.hpp:3211
    +
    const T & at(const Key &key) const
    Definition: json.hpp:16980
    +
    static void construct(BasicJsonType &j, const std::valarray< T > &arr)
    Definition: json.hpp:4631
    +
    friend bool operator>=(const_reference lhs, ScalarType rhs) noexcept
    comparison: greater than or equal
    Definition: json.hpp:23658
    +
    constexpr bool is_array() const noexcept
    return whether value is an array
    Definition: json.hpp:19696
    +
    friend bool operator<=(ScalarType lhs, const_reference rhs) noexcept
    comparison: less than or equal
    Definition: json.hpp:23577
    + +
    iterator_input_adapter(IteratorType first, IteratorType last)
    Definition: json.hpp:5356
    + +
    static constexpr CharType to_char_type(std::uint8_t x) noexcept
    Definition: json.hpp:14786
    + +
    int find_largest_pow10(const std::uint32_t n, std::uint32_t &pow10)
    Definition: json.hpp:15332
    +
    void update(const_iterator first, const_iterator last)
    updates a JSON object from another object, overwriting existing keys
    Definition: json.hpp:22975
    +
    typename BasicJsonType::number_unsigned_t number_unsigned_t
    Definition: json.hpp:10711
    +
    typename BasicJsonType::string_t string_t
    Definition: json.hpp:13264
    + +
    json_sax_dom_callback_parser(BasicJsonType &r, const parser_callback_t cb, const bool allow_exceptions_=true)
    Definition: json.hpp:6046
    + +
    static void to_cbor(const basic_json &j, detail::output_adapter< uint8_t > o)
    Definition: json.hpp:24235
    +
    ordered_map(It first, It last, const Allocator &alloc=Allocator())
    Definition: json.hpp:16939
    +
    input_format_t
    the supported input formats
    Definition: json.hpp:5250
    +
    const_reference at(const typename object_t::key_type &key) const
    access specified object element with bounds checking
    Definition: json.hpp:20597
    +
    typename BasicJsonType::number_integer_t number_integer_t
    Definition: json.hpp:6038
    +
    iteration_proxy_value< IteratorType > end() noexcept
    return iterator end (needed for range-based for)
    Definition: json.hpp:4414
    +
    typename BasicJsonType::number_unsigned_t number_unsigned_t
    Definition: json.hpp:8155
    +
    bool contains(const json_pointer &ptr) const
    check the existence of an element in a JSON object given a JSON pointer
    Definition: json.hpp:21589
    +
    constexpr bool is_null() const noexcept
    return whether value is null
    Definition: json.hpp:19515
    + +
    static void construct(BasicJsonType &j, const CompatibleObjectType &obj)
    Definition: json.hpp:4668
    +
    constexpr number_integer_t get_number_integer() const noexcept
    return integer value
    Definition: json.hpp:7827
    +
    basic_json(const JsonRef &ref)
    Definition: json.hpp:19129
    +
    typename BasicJsonType::number_integer_t number_integer_t
    Definition: json.hpp:8241
    +
    bool get_msgpack_string(string_t &result)
    reads a MessagePack string
    Definition: json.hpp:9692
    +
    typename BasicJsonType::number_unsigned_t number_unsigned_t
    Definition: json.hpp:15988
    + +
    typename BasicJsonType::string_t string_t
    Definition: json.hpp:8157
    +
    typename BasicJsonType::difference_type difference_type
    a type to represent differences between iterators
    Definition: json.hpp:11376
    +
    std::pair< A1, A2 > from_json_tuple_impl(BasicJsonType &&j, identity_tag< std::pair< A1, A2 >>, priority_tag< 0 >)
    Definition: json.hpp:4172
    +
    primitive_iterator_t const operator--(int) noexcept
    Definition: json.hpp:11257
    +
    typename detected_or< Default, Op, Args... >::type detected_or_t
    Definition: json.hpp:3317
    + +
    basic_json unflatten() const
    unflatten a previously flattened JSON value
    Definition: json.hpp:25282
    + +
    void swap(string_t &other)
    exchanges the values
    Definition: json.hpp:23155
    +
    constexpr const string_t * get_impl_ptr(const string_t *) const noexcept
    get a pointer to the value (string)
    Definition: json.hpp:19847
    +
    T & operator[](const Key &key)
    Definition: json.hpp:16957
    +
    BasicJsonType & root
    the parsed JSON value
    Definition: json.hpp:6322
    +
    parser(InputAdapterType &&adapter, const parser_callback_t< BasicJsonType > cb=nullptr, const bool allow_exceptions_=true, const bool skip_comments=false)
    a parser reading from an input adapter
    Definition: json.hpp:10719
    + + +
    void write_ubjson(const BasicJsonType &j, const bool use_count, const bool use_type, const bool add_prefix=true)
    Definition: json.hpp:13932
    +
    ValueType value(const json_pointer &ptr, const ValueType &default_value) const
    access specified object element via JSON Pointer with default value
    Definition: json.hpp:21013
    +
    constexpr position_t get_position() const noexcept
    return position of last read token
    Definition: json.hpp:7855
    + +
    JSON Pointer.
    Definition: json.hpp:3380
    +
    void swap(object_t &other)
    exchanges the values
    Definition: json.hpp:23122
    + +
    static std::size_t calc_bson_binary_size(const typename BasicJsonType::binary_t &value)
    Definition: json.hpp:14300
    +
    byte_container_with_subtype(const container_type &b, std::uint8_t subtype_) noexcept(noexcept(container_type(b)))
    Definition: json.hpp:4951
    +
    reference operator[](difference_type n) const
    access to successor
    Definition: json.hpp:11896
    +
    ordered_map(std::initializer_list< T > init, const Allocator &alloc=Allocator())
    Definition: json.hpp:16941
    + +
    struct to capture the start position of the current token
    Definition: json.hpp:2584
    +
    static void to_cbor(const basic_json &j, detail::output_adapter< char > o)
    Definition: json.hpp:24240
    +
    typename BasicJsonType::number_unsigned_t number_unsigned_t
    Definition: json.hpp:8242
    + +
    ~basic_json() noexcept
    destructor
    Definition: json.hpp:19318
    +
    std::ptrdiff_t difference_type
    a type to represent differences between iterators
    Definition: json.hpp:17313
    +
    bool parse_ubjson_internal(const bool get_char=true)
    Definition: json.hpp:9944
    +
    number value (unsigned integer)
    +
    friend bool operator<(ScalarType lhs, const_reference rhs) noexcept
    comparison: less than
    Definition: json.hpp:23531
    +
    number_integer_t number_integer
    number (integer)
    Definition: json.hpp:18005
    +
    static bool accept(InputType &&i, const bool ignore_comments=false)
    check if the input is valid JSON
    Definition: json.hpp:23898
    +
    iter_impl(const iter_impl< const BasicJsonType > &other) noexcept
    const copy constructor
    Definition: json.hpp:11440
    +
    reference operator+=(const typename object_t::value_type &val)
    add an object to an object
    Definition: json.hpp:22487
    +
    BasicJsonType & get_checked(BasicJsonType *ptr) const
    Definition: json.hpp:12616
    +
    static other_error create(int id_, const std::string &what_arg, const BasicJsonType &context)
    Definition: json.hpp:3003
    +
    static ReferenceType get_ref_impl(ThisType &obj)
    helper function to implement get_ref()
    Definition: json.hpp:19924
    +
    typename BasicJsonType::array_t array_t
    Definition: json.hpp:11359
    +
    serializer(output_adapter_t< char > s, const char ichar, error_handler_t error_handler_=error_handler_t::strict)
    Definition: json.hpp:15999
    +
    static void to_bson(const basic_json &j, detail::output_adapter< uint8_t > o)
    Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the ...
    Definition: json.hpp:24519
    +
    CharType ubjson_prefix(const BasicJsonType &j) const noexcept
    determine the type prefix of container values
    Definition: json.hpp:14637
    +
    array_t * get_impl_ptr(array_t *) noexcept
    get a pointer to the value (array)
    Definition: json.hpp:19829
    +
    const binary_t & get_binary() const
    Definition: json.hpp:20401
    + +
    decltype(std::declval< T & >().key(std::declval< String & >())) key_function_t
    Definition: json.hpp:8099
    +
    std::FILE * m_file
    the file pointer to read from
    Definition: json.hpp:5284
    + +
    lexer_t m_lexer
    the lexer
    Definition: json.hpp:11142
    +
    iteration_proxy< const_iterator > items() const noexcept
    helper to access iterator member functions in range-based for
    Definition: json.hpp:22026
    +
    json_value(const typename binary_t::container_type &value)
    constructor for binary arrays
    Definition: json.hpp:18129
    +
    constexpr bool is_structured() const noexcept
    return whether type is structured
    Definition: json.hpp:19493
    +
    reference at(const typename object_t::key_type &key)
    access specified object element with bounds checking
    Definition: json.hpp:20546
    +
    static std::vector< uint8_t > to_bson(const basic_json &j)
    Serializes the given JSON object j to BSON and returns a vector containing the corresponding BSON-rep...
    Definition: json.hpp:24504
    +
    typename T::iterator_category iterator_category_t
    Definition: json.hpp:3475
    +
    friend constexpr difference_type operator-(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    Definition: json.hpp:11233
    +
    typename BasicJsonType::number_integer_t number_integer_t
    Definition: json.hpp:8154
    +
    void merge_patch(const basic_json &apply_patch)
    applies a JSON Merge Patch
    Definition: json.hpp:25816
    +
    iterator set_parents(iterator it, typename iterator::difference_type count)
    Definition: json.hpp:18312
    +
    ReferenceType get_ref()
    get a reference value (implicit)
    Definition: json.hpp:20316
    + +
    span_input_adapter(IteratorType first, IteratorType last)
    Definition: json.hpp:5691
    + +
    json_value m_value
    the value of the current element
    Definition: json.hpp:24119
    +
    iteration_proxy< iterator > items() noexcept
    helper to access iterator member functions in range-based for
    Definition: json.hpp:22018
    +
    const std::string & back() const
    return last reference token
    Definition: json.hpp:12357
    +
    static allocator_type get_allocator()
    returns the allocator associated with the container
    Definition: json.hpp:17340
    +
    JSON_HEDLEY_RETURNS_NON_NULL char * format_buffer(char *buf, int len, int decimal_exponent, int min_exp, int max_exp)
    prettify v = buf * 10^decimal_exponent
    Definition: json.hpp:15820
    +
    decltype(T::to_json(std::declval< Args >()...)) to_json_function
    Definition: json.hpp:3481
    +
    friend bool operator!=(const_reference lhs, ScalarType rhs) noexcept
    comparison: not equal
    Definition: json.hpp:23399
    +
    typename BasicJsonType::number_integer_t number_integer_t
    Definition: json.hpp:5864
    +
    JSONSerializer< T, SFINAE > json_serializer
    Definition: json.hpp:17259
    +
    make_index_sequence< sizeof...(Ts)> index_sequence_for
    Definition: json.hpp:3152
    +
    void grisu2(char *buf, int &len, int &decimal_exponent, FloatType value)
    Definition: json.hpp:15728
    + + +
    json_value(array_t &&value)
    constructor for rvalue arrays
    Definition: json.hpp:18123
    +
    typename T::reference reference_t
    Definition: json.hpp:3472
    +
    void push_back(initializer_list_t init)
    add an object to an object
    Definition: json.hpp:22518
    +
    reference value() const
    return the value of an iterator
    Definition: json.hpp:11943
    +
    reference at(const json_pointer &ptr)
    access specified element via JSON Pointer
    Definition: json.hpp:25175
    +
    constexpr const binary_t * get_impl_ptr(const binary_t *) const noexcept
    get a pointer to the value (binary)
    Definition: json.hpp:19907
    +
    proxy class for the items() function
    Definition: json.hpp:4396
    + +
    json_reverse_iterator & operator--()
    pre-decrement (–it)
    Definition: json.hpp:12028
    + +
    typename BasicJsonType::binary_t binary_t
    Definition: json.hpp:6349
    +
    const_iterator find(KeyT &&key) const
    find an element in a JSON object
    Definition: json.hpp:21491
    +
    friend json_pointer operator/(const json_pointer &lhs, const json_pointer &rhs)
    create a new JSON pointer by appending the right JSON pointer at the end of the left JSON pointer ...
    Definition: json.hpp:12249
    +
    bool number_unsigned(number_unsigned_t val)
    Definition: json.hpp:5904
    +
    friend bool operator<=(const_reference lhs, ScalarType rhs) noexcept
    comparison: less than or equal
    Definition: json.hpp:23566
    +
    binary_t & get_binary()
    Definition: json.hpp:20390
    +
    typename BasicJsonType::number_float_t number_float_t
    Definition: json.hpp:5866
    +
    json_value(const object_t &value)
    constructor for objects
    Definition: json.hpp:18105
    +
    string_t indent_string
    the indentation string
    Definition: json.hpp:16891
    +
    constexpr number_unsigned_t get_number_unsigned() const noexcept
    return unsigned integer value
    Definition: json.hpp:7833
    + + +
    std::size_t size_type
    a type to represent container sizes
    Definition: json.hpp:17315
    +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json parse(IteratorType first, IteratorType last, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)
    deserialize from a pair of character iterators
    Definition: json.hpp:23844
    +
    friend constexpr bool operator<(primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept
    Definition: json.hpp:11221
    +
    reference operator[](size_type idx)
    access specified array element
    Definition: json.hpp:20643
    +
    SAX interface.
    Definition: json.hpp:5730
    +
    void write_bson_binary(const string_t &name, const binary_t &value)
    Writes a BSON element with key name and binary value value.
    Definition: json.hpp:14327
    + +
    constexpr const boolean_t * get_impl_ptr(const boolean_t *) const noexcept
    get a pointer to the value (boolean)
    Definition: json.hpp:19859
    +
    friend bool operator<=(const_reference lhs, const_reference rhs) noexcept
    comparison: less than or equal
    Definition: json.hpp:23555
    +
    iterator_input_adapter_factory< IteratorType >::adapter_type input_adapter(IteratorType first, IteratorType last)
    Definition: json.hpp:5594
    +
    number value (floating-point)
    +
    typename BasicJsonType::number_unsigned_t number_unsigned_t
    Definition: json.hpp:5865
    +
    constexpr diyfp(std::uint64_t f_, int e_) noexcept
    Definition: json.hpp:14904
    +
    friend bool operator>=(const_reference lhs, const_reference rhs) noexcept
    comparison: greater than or equal
    Definition: json.hpp:23647
    +
    typename BasicJsonType::number_integer_t number_integer_t
    Definition: json.hpp:8123
    +
    std::vector< std::string > reference_tokens
    the reference tokens
    Definition: json.hpp:13018
    +
    basic_json(basic_json &&other) noexcept
    move constructor
    Definition: json.hpp:19246
    + +
    friend bool operator!=(const_reference lhs, const_reference rhs) noexcept
    comparison: not equal
    Definition: json.hpp:23388
    +
    constexpr bool is_discarded() const noexcept
    return whether value is discarded
    Definition: json.hpp:19767
    + +
    typename BasicJsonType::number_integer_t number_integer_t
    Definition: json.hpp:6528
    +
    void write_cbor(const BasicJsonType &j)
    Definition: json.hpp:13303
    +
    ObjectType< StringType, basic_json, object_comparator_t, AllocatorType< std::pair< const StringType, basic_json > >> object_t
    a type for an object
    Definition: json.hpp:17532
    +
    typename BasicJsonType::string_t string_t
    Definition: json.hpp:6348
    +
    static void construct(BasicJsonType &j, typename BasicJsonType::boolean_t b) noexcept
    Definition: json.hpp:4487
    +
    reference operator[](const typename object_t::key_type &key)
    access specified object element
    Definition: json.hpp:20734
    +
    std::size_t chars_read_total
    the total number of characters read
    Definition: json.hpp:2587
    +
    typename lexer_base< BasicJsonType >::token_type token_type
    Definition: json.hpp:6536
    +
    #define JSON_HEDLEY_UNLIKELY(expr)
    Definition: json.hpp:1564
    + +
    static std::vector< uint8_t > to_cbor(const basic_json &j)
    create a CBOR serialization of a given JSON value
    Definition: json.hpp:24228
    +
    static void construct(BasicJsonType &j, typename BasicJsonType::string_t &&s)
    Definition: json.hpp:4507
    + +
    const_iterator end() const noexcept
    returns a const iterator to one past the last element
    Definition: json.hpp:21709
    +
    lexer(InputAdapterType &&adapter, bool ignore_comments_=false) noexcept
    Definition: json.hpp:6538
    + + +
    #define JSON_HEDLEY_DEPRECATED_FOR(since, replacement)
    Definition: json.hpp:1246
    +
    void replace_substring(std::string &s, const std::string &f, const std::string &t)
    replace all occurrences of a substring by another string
    Definition: json.hpp:2533
    +
    #define NLOHMANN_BASIC_JSON_TPL_DECLARATION
    Definition: json.hpp:2336
    +
    binary_t * binary
    binary (stored with pointer to save storage)
    Definition: json.hpp:18001
    +
    bool parse_bson_array()
    Reads an array from the BSON input and passes it to the SAX-parser.
    Definition: json.hpp:8556
    + + +
    json_ref(const value_type &value)
    Definition: json.hpp:13045
    + +
    json_value(object_t &&value)
    constructor for rvalue objects
    Definition: json.hpp:18111
    +
    void write_bson_element(const string_t &name, const BasicJsonType &j)
    Serializes the JSON value j to BSON and associates it with the key name.
    Definition: json.hpp:14389
    + +
    json_reverse_iterator & operator++()
    pre-increment (++it)
    Definition: json.hpp:12016
    + +
    friend bool operator>(const_reference lhs, ScalarType rhs) noexcept
    comparison: greater than
    Definition: json.hpp:23612
    +
    value_type const * operator->() const
    Definition: json.hpp:13081
    +
    void int_to_string(string_type &target, std::size_t value)
    Definition: json.hpp:4300
    +
    output_string_adapter(StringType &s) noexcept
    Definition: json.hpp:13206
    +
    bool get_ubjson_size_type(std::pair< std::size_t, char_int_type > &result)
    determine the type and size for a container
    Definition: json.hpp:10094
    +
    primitive_iterator_t & operator-=(difference_type n) noexcept
    Definition: json.hpp:11270
    +
    static void to_ubjson(const basic_json &j, detail::output_adapter< uint8_t > o, const bool use_size=false, const bool use_type=false)
    Definition: json.hpp:24435
    +
    const_reverse_iterator rend() const noexcept
    returns a const reverse iterator to one before the first
    Definition: json.hpp:21814
    + +
    json_value(typename binary_t::container_type &&value)
    constructor for rvalue binary arrays
    Definition: json.hpp:18135
    +
    decltype(std::declval< T & >().binary(std::declval< Binary & >())) binary_function_t
    Definition: json.hpp:8091
    +
    static constexpr CharType get_msgpack_float_prefix(double)
    Definition: json.hpp:14485
    +
    std::is_same< Expected, detected_t< Op, Args... > > is_detected_exact
    Definition: json.hpp:3320
    +
    JSON_HEDLEY_RETURNS_NON_NULL char * to_chars(char *first, const char *last, FloatType value)
    generates a decimal representation of the floating-point number value in [first, last).
    Definition: json.hpp:15905
    + +
    void clear_subtype() noexcept
    clears the binary subtype
    Definition: json.hpp:5064
    + + + +
    typename BasicJsonType::string_t string_t
    Definition: json.hpp:5735
    +
    string_t & get_string()
    return current string value (implicitly resets the token; useful only once)
    Definition: json.hpp:7845
    +
    friend iter_impl operator+(difference_type i, const iter_impl &it)
    addition of distance and iterator
    Definition: json.hpp:11853
    +
    decltype(get< N >(std::declval< ::nlohmann::detail::iteration_proxy_value< IteratorType > >())) type
    Definition: json.hpp:4459
    +
    json_pointer parent_pointer() const
    returns the parent of this JSON pointer
    Definition: json.hpp:12308
    +
    discarded by the parser callback function
    +
    void pop_back()
    remove last reference token
    Definition: json.hpp:12333
    +
    #define JSON_ASSERT(x)
    Definition: json.hpp:2292
    + +
    #define NLOHMANN_JSON_VERSION_MAJOR
    Definition: json.hpp:33
    +
    iteration_proxy_value & operator++()
    increment operator (needed for range-based for)
    Definition: json.hpp:4340
    +
    difference_type operator-(const json_reverse_iterator &other) const
    return difference
    Definition: json.hpp:12052
    +
    constexpr bool is_string() const noexcept
    return whether value is a string
    Definition: json.hpp:19718
    +
    bool get_ubjson_string(string_t &result, const bool get_char=true)
    reads a UBJSON string
    Definition: json.hpp:9963
    +
    typename T::mapped_type mapped_type_t
    Definition: json.hpp:3457
    +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json binary(const typename binary_t::container_type &init, std::uint8_t subtype)
    explicitly create a binary array (with subtype)
    Definition: json.hpp:18823
    +
    bool number_float(number_float_t, const string_t &)
    Definition: json.hpp:6371
    +
    static diyfp mul(const diyfp &x, const diyfp &y) noexcept
    returns x * y
    Definition: json.hpp:14922
    +
    typename BasicJsonType::binary_t binary_t
    Definition: json.hpp:5736
    +
    constexpr bool has_subtype() const noexcept
    return whether the value has a subtype
    Definition: json.hpp:5040
    +
    +
    + + + + diff --git a/docs/d5/dc8/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.map b/docs/d5/dc8/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.map new file mode 100644 index 00000000..d53b0d76 --- /dev/null +++ b/docs/d5/dc8/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d5/dc8/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.md5 b/docs/d5/dc8/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.md5 new file mode 100644 index 00000000..b0f47f69 --- /dev/null +++ b/docs/d5/dc8/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.md5 @@ -0,0 +1 @@ +505e57a8fe341bd6f9c2ac16261de30a \ No newline at end of file diff --git a/docs/d5/dc8/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.png b/docs/d5/dc8/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.png new file mode 100644 index 00000000..c299652f Binary files /dev/null and b/docs/d5/dc8/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.png differ diff --git a/docs/d5/dc8/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html b/docs/d5/dc8/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html new file mode 100644 index 00000000..52132406 --- /dev/null +++ b/docs/d5/dc8/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html @@ -0,0 +1,129 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_default_constructible< std::tuple< Ts... > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_default_constructible< std::tuple< Ts... > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_default_constructible< std::tuple< Ts... > >:
    +
    +
    Inheritance graph
    + + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_default_constructible< std::tuple< Ts... > >:
    +
    +
    Collaboration graph
    + + + + +
    +

    Detailed Description

    +

    template<typename... Ts>
    +struct nlohmann::detail::is_default_constructible< std::tuple< Ts... > >

    + + +

    Definition at line 3570 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d5/dc8/structnlohmann_1_1detail_1_1iterator__types__inherit__graph.map b/docs/d5/dc8/structnlohmann_1_1detail_1_1iterator__types__inherit__graph.map new file mode 100644 index 00000000..8c78c357 --- /dev/null +++ b/docs/d5/dc8/structnlohmann_1_1detail_1_1iterator__types__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d5/dc8/structnlohmann_1_1detail_1_1iterator__types__inherit__graph.md5 b/docs/d5/dc8/structnlohmann_1_1detail_1_1iterator__types__inherit__graph.md5 new file mode 100644 index 00000000..37d44831 --- /dev/null +++ b/docs/d5/dc8/structnlohmann_1_1detail_1_1iterator__types__inherit__graph.md5 @@ -0,0 +1 @@ +5675a4d5ef06f8b860899e248fa1a7b9 \ No newline at end of file diff --git a/docs/d5/dc8/structnlohmann_1_1detail_1_1iterator__types__inherit__graph.png b/docs/d5/dc8/structnlohmann_1_1detail_1_1iterator__types__inherit__graph.png new file mode 100644 index 00000000..5a97ac75 Binary files /dev/null and b/docs/d5/dc8/structnlohmann_1_1detail_1_1iterator__types__inherit__graph.png differ diff --git a/docs/d5/dca/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.map b/docs/d5/dca/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.map new file mode 100644 index 00000000..13885899 --- /dev/null +++ b/docs/d5/dca/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d5/dca/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.md5 b/docs/d5/dca/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.md5 new file mode 100644 index 00000000..dca154a2 --- /dev/null +++ b/docs/d5/dca/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.md5 @@ -0,0 +1 @@ +4c615a63af00ad529cb899a49836aa7a \ No newline at end of file diff --git a/docs/d5/dca/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.png b/docs/d5/dca/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.png new file mode 100644 index 00000000..30c5ca44 Binary files /dev/null and b/docs/d5/dca/structnlohmann_1_1detail_1_1is__constructible__string__type__inherit__graph.png differ diff --git a/docs/d5/dd1/cudnn__frontend__find__plan_8h__incl.map b/docs/d5/dd1/cudnn__frontend__find__plan_8h__incl.map index 5dad7eb3..b33c8d58 100644 --- a/docs/d5/dd1/cudnn__frontend__find__plan_8h__incl.map +++ b/docs/d5/dd1/cudnn__frontend__find__plan_8h__incl.map @@ -1,19 +1,22 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/docs/d5/dd1/cudnn__frontend__find__plan_8h__incl.md5 b/docs/d5/dd1/cudnn__frontend__find__plan_8h__incl.md5 index e4c096cf..b5a50181 100644 --- a/docs/d5/dd1/cudnn__frontend__find__plan_8h__incl.md5 +++ b/docs/d5/dd1/cudnn__frontend__find__plan_8h__incl.md5 @@ -1 +1 @@ -f684299354d84580a0793034511b0550 \ No newline at end of file +acda3ac99ba8f36afb1bc2518d68942f \ No newline at end of file diff --git a/docs/d5/dd1/cudnn__frontend__find__plan_8h__incl.png b/docs/d5/dd1/cudnn__frontend__find__plan_8h__incl.png index 6b672e21..b7177a0d 100644 Binary files a/docs/d5/dd1/cudnn__frontend__find__plan_8h__incl.png and b/docs/d5/dd1/cudnn__frontend__find__plan_8h__incl.png differ diff --git a/docs/d5/dd6/structnlohmann_1_1detail_1_1output__adapter__protocol__coll__graph.map b/docs/d5/dd6/structnlohmann_1_1detail_1_1output__adapter__protocol__coll__graph.map new file mode 100644 index 00000000..d7c45bf9 --- /dev/null +++ b/docs/d5/dd6/structnlohmann_1_1detail_1_1output__adapter__protocol__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d5/dd6/structnlohmann_1_1detail_1_1output__adapter__protocol__coll__graph.md5 b/docs/d5/dd6/structnlohmann_1_1detail_1_1output__adapter__protocol__coll__graph.md5 new file mode 100644 index 00000000..dc33828e --- /dev/null +++ b/docs/d5/dd6/structnlohmann_1_1detail_1_1output__adapter__protocol__coll__graph.md5 @@ -0,0 +1 @@ +1e62331209985c19b55dff43e167611f \ No newline at end of file diff --git a/docs/d5/dd6/structnlohmann_1_1detail_1_1output__adapter__protocol__coll__graph.png b/docs/d5/dd6/structnlohmann_1_1detail_1_1output__adapter__protocol__coll__graph.png new file mode 100644 index 00000000..8010268d Binary files /dev/null and b/docs/d5/dd6/structnlohmann_1_1detail_1_1output__adapter__protocol__coll__graph.png differ diff --git a/docs/d5/dda/structnlohmann_1_1detail_1_1is__compatible__object__type.html b/docs/d5/dda/structnlohmann_1_1detail_1_1is__compatible__object__type.html new file mode 100644 index 00000000..2450c282 --- /dev/null +++ b/docs/d5/dda/structnlohmann_1_1detail_1_1is__compatible__object__type.html @@ -0,0 +1,128 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType >:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType >:
    +
    +
    Collaboration graph
    + + + + +
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename CompatibleObjectType>
    +struct nlohmann::detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType >

    + + +

    Definition at line 3643 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d5/de1/classnlohmann_1_1byte__container__with__subtype-members.html b/docs/d5/de1/classnlohmann_1_1byte__container__with__subtype-members.html new file mode 100644 index 00000000..7739a344 --- /dev/null +++ b/docs/d5/de1/classnlohmann_1_1byte__container__with__subtype-members.html @@ -0,0 +1,115 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::byte_container_with_subtype< BinaryType > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::byte_container_with_subtype< BinaryType >, including all inherited members.

    + + + + + + + + + + + + + + + +
    byte_container_with_subtype() noexcept(noexcept(container_type()))nlohmann::byte_container_with_subtype< BinaryType >inline
    byte_container_with_subtype(const container_type &b) noexcept(noexcept(container_type(b)))nlohmann::byte_container_with_subtype< BinaryType >inline
    byte_container_with_subtype(container_type &&b) noexcept(noexcept(container_type(std::move(b))))nlohmann::byte_container_with_subtype< BinaryType >inline
    byte_container_with_subtype(const container_type &b, std::uint8_t subtype_) noexcept(noexcept(container_type(b)))nlohmann::byte_container_with_subtype< BinaryType >inline
    byte_container_with_subtype(container_type &&b, std::uint8_t subtype_) noexcept(noexcept(container_type(std::move(b))))nlohmann::byte_container_with_subtype< BinaryType >inline
    clear_subtype() noexceptnlohmann::byte_container_with_subtype< BinaryType >inline
    container_type typedefnlohmann::byte_container_with_subtype< BinaryType >
    has_subtype() const noexceptnlohmann::byte_container_with_subtype< BinaryType >inline
    m_has_subtypenlohmann::byte_container_with_subtype< BinaryType >private
    m_subtypenlohmann::byte_container_with_subtype< BinaryType >private
    operator!=(const byte_container_with_subtype &rhs) constnlohmann::byte_container_with_subtype< BinaryType >inline
    operator==(const byte_container_with_subtype &rhs) constnlohmann::byte_container_with_subtype< BinaryType >inline
    set_subtype(std::uint8_t subtype_) noexceptnlohmann::byte_container_with_subtype< BinaryType >inline
    subtype() const noexceptnlohmann::byte_container_with_subtype< BinaryType >inline
    +
    + + + + diff --git a/docs/d5/de2/cudnn__frontend_8h__dep__incl.md5 b/docs/d5/de2/cudnn__frontend_8h__dep__incl.md5 index d394f292..6c19b1be 100644 --- a/docs/d5/de2/cudnn__frontend_8h__dep__incl.md5 +++ b/docs/d5/de2/cudnn__frontend_8h__dep__incl.md5 @@ -1 +1 @@ -af0bc10e492008e9a2644aac8560dcfa \ No newline at end of file +d6587775c6d29c2e928c1ea92931575e \ No newline at end of file diff --git a/docs/d5/de6/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.map b/docs/d5/de6/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.map new file mode 100644 index 00000000..0d724aa0 --- /dev/null +++ b/docs/d5/de6/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d5/de6/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.md5 b/docs/d5/de6/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.md5 new file mode 100644 index 00000000..02e323f8 --- /dev/null +++ b/docs/d5/de6/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +3f96d6a53a99c7570fb0fafa6b69d73d \ No newline at end of file diff --git a/docs/d5/de6/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.png b/docs/d5/de6/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.png new file mode 100644 index 00000000..2d0e8e16 Binary files /dev/null and b/docs/d5/de6/structnlohmann_1_1detail_1_1is__constructible__object__type__impl__inherit__graph.png differ diff --git a/docs/d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html b/docs/d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html new file mode 100644 index 00000000..dc0c951c --- /dev/null +++ b/docs/d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html @@ -0,0 +1,659 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::iteration_proxy_value< IteratorType > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::iteration_proxy_value< IteratorType > Class Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::iteration_proxy_value< IteratorType >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + + + + + +

    +Public Types

    using difference_type = std::ptrdiff_t
     
    using value_type = iteration_proxy_value
     
    using pointer = value_type *
     
    using reference = value_type &
     
    using iterator_category = std::input_iterator_tag
     
    using string_type = typename std::remove_cv< typename std::remove_reference< decltype(std::declval< IteratorType >().key()) >::type >::type
     
    + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     iteration_proxy_value (IteratorType it) noexcept
     
    iteration_proxy_valueoperator* ()
     dereference operator (needed for range-based for) More...
     
    iteration_proxy_valueoperator++ ()
     increment operator (needed for range-based for) More...
     
    bool operator== (const iteration_proxy_value &o) const
     equality operator (needed for InputIterator) More...
     
    bool operator!= (const iteration_proxy_value &o) const
     inequality operator (needed for range-based for) More...
     
    const string_typekey () const
     return key of the iterator More...
     
    IteratorType::reference value () const
     return value of the iterator More...
     
    + + + + + + + + + + + + + + + + +

    +Private Attributes

    IteratorType anchor
     the iterator More...
     
    std::size_t array_index = 0
     an index for arrays (used to create key names) More...
     
    std::size_t array_index_last = 0
     last stringified array index More...
     
    string_type array_index_str = "0"
     a string representation of the array index More...
     
    const string_type empty_str {}
     an empty string (to return a reference for primitive values) More...
     
    +

    Detailed Description

    +

    template<typename IteratorType>
    +class nlohmann::detail::iteration_proxy_value< IteratorType >

    + + +

    Definition at line 4306 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ difference_type

    + +
    +
    +
    +template<typename IteratorType >
    + + + + +
    using nlohmann::detail::iteration_proxy_value< IteratorType >::difference_type = std::ptrdiff_t
    +
    + +

    Definition at line 4309 of file json.hpp.

    + +
    +
    + +

    ◆ iterator_category

    + +
    +
    +
    +template<typename IteratorType >
    + + + + +
    using nlohmann::detail::iteration_proxy_value< IteratorType >::iterator_category = std::input_iterator_tag
    +
    + +

    Definition at line 4313 of file json.hpp.

    + +
    +
    + +

    ◆ pointer

    + +
    +
    +
    +template<typename IteratorType >
    + + + + +
    using nlohmann::detail::iteration_proxy_value< IteratorType >::pointer = value_type *
    +
    + +

    Definition at line 4311 of file json.hpp.

    + +
    +
    + +

    ◆ reference

    + +
    +
    +
    +template<typename IteratorType >
    + + + + +
    using nlohmann::detail::iteration_proxy_value< IteratorType >::reference = value_type &
    +
    + +

    Definition at line 4312 of file json.hpp.

    + +
    +
    + +

    ◆ string_type

    + +
    +
    +
    +template<typename IteratorType >
    + + + + +
    using nlohmann::detail::iteration_proxy_value< IteratorType >::string_type = typename std::remove_cv< typename std::remove_reference<decltype( std::declval<IteratorType>().key() ) >::type >::type
    +
    + +

    Definition at line 4314 of file json.hpp.

    + +
    +
    + +

    ◆ value_type

    + +
    +
    +
    +template<typename IteratorType >
    + + + + +
    using nlohmann::detail::iteration_proxy_value< IteratorType >::value_type = iteration_proxy_value
    +
    + +

    Definition at line 4310 of file json.hpp.

    + +
    +
    +

    Constructor & Destructor Documentation

    + +

    ◆ iteration_proxy_value()

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::iteration_proxy_value< IteratorType >::iteration_proxy_value (IteratorType it)
    +
    +inlineexplicitnoexcept
    +
    + +

    Definition at line 4329 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ key()

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + +
    const string_type& nlohmann::detail::iteration_proxy_value< IteratorType >::key () const
    +
    +inline
    +
    + +

    return key of the iterator

    + +

    Definition at line 4361 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::int_to_string(), JSON_ASSERT, and nlohmann::detail::object.

    + +

    Referenced by nlohmann::detail::get().

    + +
    +
    + +

    ◆ operator!=()

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::iteration_proxy_value< IteratorType >::operator!= (const iteration_proxy_value< IteratorType > & o) const
    +
    +inline
    +
    + +

    inequality operator (needed for range-based for)

    + +

    Definition at line 4355 of file json.hpp.

    + +

    References nlohmann::detail::iteration_proxy_value< IteratorType >::anchor.

    + +
    +
    + +

    ◆ operator*()

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + +
    iteration_proxy_value& nlohmann::detail::iteration_proxy_value< IteratorType >::operator* ()
    +
    +inline
    +
    + +

    dereference operator (needed for range-based for)

    + +

    Definition at line 4334 of file json.hpp.

    + +
    +
    + +

    ◆ operator++()

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + +
    iteration_proxy_value& nlohmann::detail::iteration_proxy_value< IteratorType >::operator++ ()
    +
    +inline
    +
    + +

    increment operator (needed for range-based for)

    + +

    Definition at line 4340 of file json.hpp.

    + +
    +
    + +

    ◆ operator==()

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::iteration_proxy_value< IteratorType >::operator== (const iteration_proxy_value< IteratorType > & o) const
    +
    +inline
    +
    + +

    equality operator (needed for InputIterator)

    + +

    Definition at line 4349 of file json.hpp.

    + +

    References nlohmann::detail::iteration_proxy_value< IteratorType >::anchor.

    + +
    +
    + +

    ◆ value()

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + +
    IteratorType::reference nlohmann::detail::iteration_proxy_value< IteratorType >::value () const
    +
    +inline
    +
    + +

    return value of the iterator

    + +

    Definition at line 4389 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ anchor

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + +
    IteratorType nlohmann::detail::iteration_proxy_value< IteratorType >::anchor
    +
    +private
    +
    +
    + +

    ◆ array_index

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + +
    std::size_t nlohmann::detail::iteration_proxy_value< IteratorType >::array_index = 0
    +
    +private
    +
    + +

    an index for arrays (used to create key names)

    + +

    Definition at line 4320 of file json.hpp.

    + +
    +
    + +

    ◆ array_index_last

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + +
    std::size_t nlohmann::detail::iteration_proxy_value< IteratorType >::array_index_last = 0
    +
    +mutableprivate
    +
    + +

    last stringified array index

    + +

    Definition at line 4322 of file json.hpp.

    + +
    +
    + +

    ◆ array_index_str

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + +
    string_type nlohmann::detail::iteration_proxy_value< IteratorType >::array_index_str = "0"
    +
    +mutableprivate
    +
    + +

    a string representation of the array index

    + +

    Definition at line 4324 of file json.hpp.

    + +
    +
    + +

    ◆ empty_str

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + +
    const string_type nlohmann::detail::iteration_proxy_value< IteratorType >::empty_str {}
    +
    +private
    +
    + +

    an empty string (to return a reference for primitive values)

    + +

    Definition at line 4326 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.js b/docs/d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.js new file mode 100644 index 00000000..aeec94c4 --- /dev/null +++ b/docs/d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.js @@ -0,0 +1,21 @@ +var classnlohmann_1_1detail_1_1iteration__proxy__value = +[ + [ "difference_type", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#ada6b4e6d55d8ed7ac79e49a03e9d1fe2", null ], + [ "iterator_category", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a1ab8c44e3772c03651b5ad07216043cf", null ], + [ "pointer", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a44c64feee85b8e7164a05310e6418a4b", null ], + [ "reference", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a5bc7d3133daab5ec4797f3132e093af8", null ], + [ "string_type", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a1fc63b88a585fa39942007aab69a74e6", null ], + [ "value_type", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a5e90a5810cc1bb6c1000eabbfdfe7b9e", null ], + [ "iteration_proxy_value", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a459dd8961b80b2089d8161c9aa466581", null ], + [ "key", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#af2949ac0d70212738030bfda29c5bcc2", null ], + [ "operator!=", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a646dbb2b1842f44f42ee1e14245b8595", null ], + [ "operator*", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a10accadf05a172fdc69a016bec201e81", null ], + [ "operator++", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#adf4db2aef31822f3a179435158a4de11", null ], + [ "operator==", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#af2b78a8b9c9276b07c928b21bb1e2d54", null ], + [ "value", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#ab8e33bd01c285a1a80b737a1905ceb97", null ], + [ "anchor", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a073741b6536b7a5166467a5515bc59cb", null ], + [ "array_index", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#ad3d18c83aff5e9f4bdbf99385b29a39a", null ], + [ "array_index_last", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#aac6e7cc0c17242a0a42c14d1e714747c", null ], + [ "array_index_str", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#ab0b34133f45a3610070492d32978f2ea", null ], + [ "empty_str", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a298dae04e3c0a64719752c16754d1d71", null ] +]; \ No newline at end of file diff --git a/docs/d5/df0/classnlohmann_1_1detail_1_1iter__impl__coll__graph.map b/docs/d5/df0/classnlohmann_1_1detail_1_1iter__impl__coll__graph.map new file mode 100644 index 00000000..0540ae16 --- /dev/null +++ b/docs/d5/df0/classnlohmann_1_1detail_1_1iter__impl__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d5/df0/classnlohmann_1_1detail_1_1iter__impl__coll__graph.md5 b/docs/d5/df0/classnlohmann_1_1detail_1_1iter__impl__coll__graph.md5 new file mode 100644 index 00000000..268e004b --- /dev/null +++ b/docs/d5/df0/classnlohmann_1_1detail_1_1iter__impl__coll__graph.md5 @@ -0,0 +1 @@ +1e8f46bf5d372b809897c701c88f43b2 \ No newline at end of file diff --git a/docs/d5/df0/classnlohmann_1_1detail_1_1iter__impl__coll__graph.png b/docs/d5/df0/classnlohmann_1_1detail_1_1iter__impl__coll__graph.png new file mode 100644 index 00000000..ee15568a Binary files /dev/null and b/docs/d5/df0/classnlohmann_1_1detail_1_1iter__impl__coll__graph.png differ diff --git a/docs/d5/df3/structnlohmann_1_1detail_1_1is__getable__coll__graph.map b/docs/d5/df3/structnlohmann_1_1detail_1_1is__getable__coll__graph.map new file mode 100644 index 00000000..9186ce42 --- /dev/null +++ b/docs/d5/df3/structnlohmann_1_1detail_1_1is__getable__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d5/df3/structnlohmann_1_1detail_1_1is__getable__coll__graph.md5 b/docs/d5/df3/structnlohmann_1_1detail_1_1is__getable__coll__graph.md5 new file mode 100644 index 00000000..f7b34dc0 --- /dev/null +++ b/docs/d5/df3/structnlohmann_1_1detail_1_1is__getable__coll__graph.md5 @@ -0,0 +1 @@ +4bab612ff5e2a3c0a0a0f354bf208103 \ No newline at end of file diff --git a/docs/d5/df3/structnlohmann_1_1detail_1_1is__getable__coll__graph.png b/docs/d5/df3/structnlohmann_1_1detail_1_1is__getable__coll__graph.png new file mode 100644 index 00000000..a07eaaff Binary files /dev/null and b/docs/d5/df3/structnlohmann_1_1detail_1_1is__getable__coll__graph.png differ diff --git a/docs/d5/df5/classnlohmann_1_1detail_1_1other__error-members.html b/docs/d5/df5/classnlohmann_1_1detail_1_1other__error-members.html new file mode 100644 index 00000000..5f7e3ad9 --- /dev/null +++ b/docs/d5/df5/classnlohmann_1_1detail_1_1other__error-members.html @@ -0,0 +1,108 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::other_error Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::other_error, including all inherited members.

    + + + + + + + + +
    create(int id_, const std::string &what_arg, const BasicJsonType &context)nlohmann::detail::other_errorinlinestatic
    diagnostics(const BasicJsonType &leaf_element)nlohmann::detail::exceptioninlineprotectedstatic
    exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
    idnlohmann::detail::exception
    name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
    other_error(int id_, const char *what_arg)nlohmann::detail::other_errorinlineprivate
    what() const noexcept overridenlohmann::detail::exceptioninline
    +
    + + + + diff --git a/docs/d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html b/docs/d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html new file mode 100644 index 00000000..fa0ec4c0 --- /dev/null +++ b/docs/d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html @@ -0,0 +1,170 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::external_constructor< value_t::number_unsigned > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::external_constructor< value_t::number_unsigned > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::external_constructor< value_t::number_unsigned >:
    +
    +
    Collaboration graph
    + + +
    + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, typename BasicJsonType::number_unsigned_t val) noexcept
     
    +

    Detailed Description

    +

    template<>
    +struct nlohmann::detail::external_constructor< value_t::number_unsigned >

    + + +

    Definition at line 4558 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ construct()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::external_constructor< value_t::number_unsigned >::construct (BasicJsonType & j,
    typename BasicJsonType::number_unsigned_t val 
    )
    +
    +inlinestaticnoexcept
    +
    + +

    Definition at line 4561 of file json.hpp.

    + +

    References nlohmann::detail::number_unsigned.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.js b/docs/d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.js new file mode 100644 index 00000000..1142d6f8 --- /dev/null +++ b/docs/d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4 = +[ + [ "construct", "d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html#a17969b14852f43e04353858c87b0f539", null ] +]; \ No newline at end of file diff --git a/docs/d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html b/docs/d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html new file mode 100644 index 00000000..072a09aa --- /dev/null +++ b/docs/d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html @@ -0,0 +1,182 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::dtoa_impl::cached_power Struct Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::dtoa_impl::cached_power Struct Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::dtoa_impl::cached_power:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + +

    +Public Attributes

    std::uint64_t f
     
    int e
     
    int k
     
    +

    Detailed Description

    +
    +

    Definition at line 15154 of file json.hpp.

    +

    Member Data Documentation

    + +

    ◆ e

    + +
    +
    + + + + +
    int nlohmann::detail::dtoa_impl::cached_power::e
    +
    + +

    Definition at line 15157 of file json.hpp.

    + +

    Referenced by nlohmann::detail::dtoa_impl::grisu2().

    + +
    +
    + +

    ◆ f

    + +
    +
    + + + + +
    std::uint64_t nlohmann::detail::dtoa_impl::cached_power::f
    +
    + +

    Definition at line 15156 of file json.hpp.

    + +

    Referenced by nlohmann::detail::dtoa_impl::grisu2().

    + +
    +
    + +

    ◆ k

    + +
    +
    + + + + +
    int nlohmann::detail::dtoa_impl::cached_power::k
    +
    + +

    Definition at line 15158 of file json.hpp.

    + +

    Referenced by nlohmann::detail::dtoa_impl::grisu2().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.js b/docs/d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.js new file mode 100644 index 00000000..07c0388c --- /dev/null +++ b/docs/d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.js @@ -0,0 +1,6 @@ +var structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power = +[ + [ "e", "d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html#a9e89bc89bb7bf4361f43ea27eed91d23", null ], + [ "f", "d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html#a21ae81f515f5b08d5bf423775ee56074", null ], + [ "k", "d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html#a8c1f2efed643eeaa8fae83c697a29c6a", null ] +]; \ No newline at end of file diff --git a/docs/d6/d02/structnlohmann_1_1detail_1_1position__t.html b/docs/d6/d02/structnlohmann_1_1detail_1_1position__t.html new file mode 100644 index 00000000..93cfa0d2 --- /dev/null +++ b/docs/d6/d02/structnlohmann_1_1detail_1_1position__t.html @@ -0,0 +1,232 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::position_t Struct Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::position_t Struct Reference
    +
    +
    + +

    struct to capture the start position of the current token + More...

    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::position_t:
    +
    +
    Collaboration graph
    + + +
    + + + + + +

    +Public Member Functions

    constexpr operator size_t () const
     conversion to size_t to preserve SAX interface More...
     
    + + + + + + + + + + +

    +Public Attributes

    std::size_t chars_read_total = 0
     the total number of characters read More...
     
    std::size_t chars_read_current_line = 0
     the number of characters read in the current line More...
     
    std::size_t lines_read = 0
     the number of lines read More...
     
    +

    Detailed Description

    +

    struct to capture the start position of the current token

    + +

    Definition at line 2584 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ operator size_t()

    + +
    +
    + + + + + +
    + + + + + + + +
    constexpr nlohmann::detail::position_t::operator size_t () const
    +
    +inline
    +
    + +

    conversion to size_t to preserve SAX interface

    + +

    Definition at line 2594 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ chars_read_current_line

    + +
    +
    + + + + +
    std::size_t nlohmann::detail::position_t::chars_read_current_line = 0
    +
    + +

    the number of characters read in the current line

    + +

    Definition at line 2589 of file json.hpp.

    + +

    Referenced by nlohmann::detail::parse_error::position_string().

    + +
    +
    + +

    ◆ chars_read_total

    + +
    +
    + + + + +
    std::size_t nlohmann::detail::position_t::chars_read_total = 0
    +
    + +

    the total number of characters read

    + +

    Definition at line 2587 of file json.hpp.

    + +

    Referenced by nlohmann::detail::parse_error::create().

    + +
    +
    + +

    ◆ lines_read

    + +
    +
    + + + + +
    std::size_t nlohmann::detail::position_t::lines_read = 0
    +
    + +

    the number of lines read

    + +

    Definition at line 2591 of file json.hpp.

    + +

    Referenced by nlohmann::detail::parse_error::position_string().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d6/d02/structnlohmann_1_1detail_1_1position__t.js b/docs/d6/d02/structnlohmann_1_1detail_1_1position__t.js new file mode 100644 index 00000000..f2f7368c --- /dev/null +++ b/docs/d6/d02/structnlohmann_1_1detail_1_1position__t.js @@ -0,0 +1,7 @@ +var structnlohmann_1_1detail_1_1position__t = +[ + [ "operator size_t", "d6/d02/structnlohmann_1_1detail_1_1position__t.html#ac9ad1e0f143f162e2e0c979cd678d683", null ], + [ "chars_read_current_line", "d6/d02/structnlohmann_1_1detail_1_1position__t.html#a74df94563dd32102152ceb8c6d9041d8", null ], + [ "chars_read_total", "d6/d02/structnlohmann_1_1detail_1_1position__t.html#a94cf85cd91d478c20ae143eba906ea1a", null ], + [ "lines_read", "d6/d02/structnlohmann_1_1detail_1_1position__t.html#a4bbad8bc2c0d17c1b61c3ce729908b71", null ] +]; \ No newline at end of file diff --git a/docs/d6/d05/structnlohmann_1_1detail_1_1utility__internal_1_1Extend__coll__graph.map b/docs/d6/d05/structnlohmann_1_1detail_1_1utility__internal_1_1Extend__coll__graph.map new file mode 100644 index 00000000..8ba128ff --- /dev/null +++ b/docs/d6/d05/structnlohmann_1_1detail_1_1utility__internal_1_1Extend__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d6/d05/structnlohmann_1_1detail_1_1utility__internal_1_1Extend__coll__graph.md5 b/docs/d6/d05/structnlohmann_1_1detail_1_1utility__internal_1_1Extend__coll__graph.md5 new file mode 100644 index 00000000..8445e7bd --- /dev/null +++ b/docs/d6/d05/structnlohmann_1_1detail_1_1utility__internal_1_1Extend__coll__graph.md5 @@ -0,0 +1 @@ +4aee636dbb4e0933e11d8072955d281a \ No newline at end of file diff --git a/docs/d6/d05/structnlohmann_1_1detail_1_1utility__internal_1_1Extend__coll__graph.png b/docs/d6/d05/structnlohmann_1_1detail_1_1utility__internal_1_1Extend__coll__graph.png new file mode 100644 index 00000000..b0272f21 Binary files /dev/null and b/docs/d6/d05/structnlohmann_1_1detail_1_1utility__internal_1_1Extend__coll__graph.png differ diff --git a/docs/d6/d06/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.map b/docs/d6/d06/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.map new file mode 100644 index 00000000..0480eb16 --- /dev/null +++ b/docs/d6/d06/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d6/d06/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.md5 b/docs/d6/d06/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.md5 new file mode 100644 index 00000000..9ea9f585 --- /dev/null +++ b/docs/d6/d06/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +29633a2d78a4d3b1b29a7f28c76b8dfc \ No newline at end of file diff --git a/docs/d6/d06/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.png b/docs/d6/d06/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.png new file mode 100644 index 00000000..0d6cbff8 Binary files /dev/null and b/docs/d6/d06/structnlohmann_1_1detail_1_1is__constructible__string__type__impl__inherit__graph.png differ diff --git a/docs/d6/d07/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4-members.html b/docs/d6/d07/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4-members.html new file mode 100644 index 00000000..6a98c4fd --- /dev/null +++ b/docs/d6/d07/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::utility_internal::Gen< T, 0 > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::utility_internal::Gen< T, 0 >, including all inherited members.

    + + +
    type typedefnlohmann::detail::utility_internal::Gen< T, 0 >
    +
    + + + + diff --git a/docs/d6/d14/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.map b/docs/d6/d14/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.map new file mode 100644 index 00000000..5c2bf659 --- /dev/null +++ b/docs/d6/d14/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/d6/d14/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.md5 b/docs/d6/d14/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.md5 new file mode 100644 index 00000000..de47d582 --- /dev/null +++ b/docs/d6/d14/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.md5 @@ -0,0 +1 @@ +9e3ba59ddfd6a83db6e99220dbd21ddf \ No newline at end of file diff --git a/docs/d6/d14/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.png b/docs/d6/d14/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.png new file mode 100644 index 00000000..8c6b2d14 Binary files /dev/null and b/docs/d6/d14/classnlohmann_1_1detail_1_1output__stream__adapter__coll__graph.png differ diff --git a/docs/d6/d2b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.map b/docs/d6/d2b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.map new file mode 100644 index 00000000..cd835332 --- /dev/null +++ b/docs/d6/d2b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d6/d2b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.md5 b/docs/d6/d2b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.md5 new file mode 100644 index 00000000..362514c9 --- /dev/null +++ b/docs/d6/d2b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +8cf5207737d1dae95ff98fd2c0f7b9f9 \ No newline at end of file diff --git a/docs/d6/d2b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.png b/docs/d6/d2b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.png new file mode 100644 index 00000000..501d1a89 Binary files /dev/null and b/docs/d6/d2b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__inherit__graph.png differ diff --git a/docs/d6/d30/classnlohmann_1_1detail_1_1binary__reader.html b/docs/d6/d30/classnlohmann_1_1detail_1_1binary__reader.html new file mode 100644 index 00000000..ac633f88 --- /dev/null +++ b/docs/d6/d30/classnlohmann_1_1detail_1_1binary__reader.html @@ -0,0 +1,2309 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > Class Template Reference
    +
    +
    + +

    deserialization of CBOR, MessagePack, and UBJSON values + More...

    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     binary_reader (InputAdapterType &&adapter) noexcept
     create a binary reader More...
     
     binary_reader (const binary_reader &)=delete
     
     binary_reader (binary_reader &&)=default
     
    binary_readeroperator= (const binary_reader &)=delete
     
    binary_readeroperator= (binary_reader &&)=default
     
     ~binary_reader ()=default
     
    bool sax_parse (const input_format_t format, json_sax_t *sax_, const bool strict=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)
     
    + + + + + + + + + + + + + + + + + +

    +Private Types

    using number_integer_t = typename BasicJsonType::number_integer_t
     
    using number_unsigned_t = typename BasicJsonType::number_unsigned_t
     
    using number_float_t = typename BasicJsonType::number_float_t
     
    using string_t = typename BasicJsonType::string_t
     
    using binary_t = typename BasicJsonType::binary_t
     
    using json_sax_t = SAX
     
    using char_type = typename InputAdapterType::char_type
     
    using char_int_type = typename std::char_traits< char_type >::int_type
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Private Member Functions

    bool parse_bson_internal ()
     Reads in a BSON-object and passes it to the SAX-parser. More...
     
    bool get_bson_cstr (string_t &result)
     Parses a C-style string from the BSON input. More...
     
    template<typename NumberType >
    bool get_bson_string (const NumberType len, string_t &result)
     Parses a zero-terminated string of length len from the BSON input. More...
     
    template<typename NumberType >
    bool get_bson_binary (const NumberType len, binary_t &result)
     Parses a byte array input of length len from the BSON input. More...
     
    bool parse_bson_element_internal (const char_int_type element_type, const std::size_t element_type_parse_position)
     Read a BSON document element of the given element_type. More...
     
    bool parse_bson_element_list (const bool is_array)
     Read a BSON element list (as specified in the BSON-spec) More...
     
    bool parse_bson_array ()
     Reads an array from the BSON input and passes it to the SAX-parser. More...
     
    bool parse_cbor_internal (const bool get_char, const cbor_tag_handler_t tag_handler)
     
    bool get_cbor_string (string_t &result)
     reads a CBOR string More...
     
    bool get_cbor_binary (binary_t &result)
     reads a CBOR byte array More...
     
    bool get_cbor_array (const std::size_t len, const cbor_tag_handler_t tag_handler)
     
    bool get_cbor_object (const std::size_t len, const cbor_tag_handler_t tag_handler)
     
    bool parse_msgpack_internal ()
     
    bool get_msgpack_string (string_t &result)
     reads a MessagePack string More...
     
    bool get_msgpack_binary (binary_t &result)
     reads a MessagePack byte array More...
     
    bool get_msgpack_array (const std::size_t len)
     
    bool get_msgpack_object (const std::size_t len)
     
    bool parse_ubjson_internal (const bool get_char=true)
     
    bool get_ubjson_string (string_t &result, const bool get_char=true)
     reads a UBJSON string More...
     
    bool get_ubjson_size_value (std::size_t &result)
     
    bool get_ubjson_size_type (std::pair< std::size_t, char_int_type > &result)
     determine the type and size for a container More...
     
    bool get_ubjson_value (const char_int_type prefix)
     
    bool get_ubjson_array ()
     
    bool get_ubjson_object ()
     
    bool get_ubjson_high_precision_number ()
     
    char_int_type get ()
     get next character from the input More...
     
    char_int_type get_ignore_noop ()
     
    template<typename NumberType , bool InputIsLittleEndian = false>
    bool get_number (const input_format_t format, NumberType &result)
     
    template<typename NumberType >
    bool get_string (const input_format_t format, const NumberType len, string_t &result)
     create a string by reading characters from the input More...
     
    template<typename NumberType >
    bool get_binary (const input_format_t format, const NumberType len, binary_t &result)
     create a byte array by reading bytes from the input More...
     
    bool unexpect_eof (const input_format_t format, const char *context) const
     
    std::string get_token_string () const
     
    std::string exception_message (const input_format_t format, const std::string &detail, const std::string &context) const
     
    + + + + + + + + + + + + + + + + +

    +Private Attributes

    InputAdapterType ia
     input adapter More...
     
    char_int_type current = std::char_traits<char_type>::eof()
     the current character More...
     
    std::size_t chars_read = 0
     the number of characters read More...
     
    const bool is_little_endian = little_endianess()
     whether we can assume little endianess More...
     
    json_sax_tsax = nullptr
     the SAX parser More...
     
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename InputAdapterType, typename SAX = json_sax_dom_parser<BasicJsonType>>
    +class nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >

    + +

    deserialization of CBOR, MessagePack, and UBJSON values

    + +

    Definition at line 8239 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ binary_t

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + +
    using nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::binary_t = typename BasicJsonType::binary_t
    +
    +private
    +
    + +

    Definition at line 8245 of file json.hpp.

    + +
    +
    + +

    ◆ char_int_type

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + +
    using nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::char_int_type = typename std::char_traits<char_type>::int_type
    +
    +private
    +
    + +

    Definition at line 8248 of file json.hpp.

    + +
    +
    + +

    ◆ char_type

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + +
    using nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::char_type = typename InputAdapterType::char_type
    +
    +private
    +
    + +

    Definition at line 8247 of file json.hpp.

    + +
    +
    + +

    ◆ json_sax_t

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + +
    using nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::json_sax_t = SAX
    +
    +private
    +
    + +

    Definition at line 8246 of file json.hpp.

    + +
    +
    + +

    ◆ number_float_t

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + +
    using nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::number_float_t = typename BasicJsonType::number_float_t
    +
    +private
    +
    + +

    Definition at line 8243 of file json.hpp.

    + +
    +
    + +

    ◆ number_integer_t

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + +
    using nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::number_integer_t = typename BasicJsonType::number_integer_t
    +
    +private
    +
    + +

    Definition at line 8241 of file json.hpp.

    + +
    +
    + +

    ◆ number_unsigned_t

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + +
    using nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
    +
    +private
    +
    + +

    Definition at line 8242 of file json.hpp.

    + +
    +
    + +

    ◆ string_t

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + +
    using nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::string_t = typename BasicJsonType::string_t
    +
    +private
    +
    + +

    Definition at line 8244 of file json.hpp.

    + +
    +
    +

    Constructor & Destructor Documentation

    + +

    ◆ binary_reader() [1/3]

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::binary_reader (InputAdapterType && adapter)
    +
    +inlineexplicitnoexcept
    +
    + +

    create a binary reader

    +
    Parameters
    + + +
    [in]adapterinput adapter to read from
    +
    +
    + +

    Definition at line 8256 of file json.hpp.

    + +

    References JSON_HEDLEY_NON_NULL, and nlohmann::detail::void().

    + +
    +
    + +

    ◆ binary_reader() [2/3]

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::binary_reader (const binary_reader< BasicJsonType, InputAdapterType, SAX > & )
    +
    +delete
    +
    + +
    +
    + +

    ◆ binary_reader() [3/3]

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::binary_reader (binary_reader< BasicJsonType, InputAdapterType, SAX > && )
    +
    +default
    +
    + +
    +
    + +

    ◆ ~binary_reader()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + +
    nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::~binary_reader ()
    +
    +default
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ exception_message()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    std::string nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::exception_message (const input_format_t format,
    const std::stringdetail,
    const std::stringcontext 
    ) const
    +
    +inlineprivate
    +
    +
    Parameters
    + + + + +
    [in]formatthe current format
    [in]detaila detailed error message
    [in]contextfurther context information
    +
    +
    +
    Returns
    a message string to use in the parse_error exceptions
    + +

    Definition at line 10595 of file json.hpp.

    + +

    References nlohmann::detail::bson, nlohmann::detail::cbor, JSON_ASSERT, nlohmann::detail::msgpack, nlohmann::detail::string, and nlohmann::detail::ubjson.

    + +
    +
    + +

    ◆ get()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + +
    char_int_type nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get ()
    +
    +inlineprivate
    +
    + +

    get next character from the input

    +

    This function provides the interface to the used input adapter. It does not throw in case the input reached EOF, but returns a -'ve valued std::char_traits<char_type>::eof() in that case.

    +
    Returns
    character read from the input
    + +

    Definition at line 10435 of file json.hpp.

    + +
    +
    + +

    ◆ get_binary()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    +
    +template<typename NumberType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_binary (const input_format_t format,
    const NumberType len,
    binary_tresult 
    )
    +
    +inlineprivate
    +
    + +

    create a byte array by reading bytes from the input

    +
    Template Parameters
    + + +
    NumberTypethe type of the number
    +
    +
    +
    Parameters
    + + + + +
    [in]formatthe current format (for diagnostics)
    [in]lennumber of bytes to read
    [out]resultbyte array created by reading len bytes
    +
    +
    +
    Returns
    whether byte array creation completed
    +
    Note
    We can not reserve len bytes for the result, because len may be too large. Usually, unexpect_eof() detects the end of the input before we run out of memory.
    + +

    Definition at line 10545 of file json.hpp.

    + +

    References JSON_HEDLEY_NON_NULL, and JSON_HEDLEY_UNLIKELY.

    + +
    +
    + +

    ◆ get_bson_binary()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    +
    +template<typename NumberType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_binary (const NumberType len,
    binary_tresult 
    )
    +
    +inlineprivate
    +
    + +

    Parses a byte array input of length len from the BSON input.

    +
    Parameters
    + + + +
    [in]lenThe length of the byte array to be read.
    [in,out]resultA reference to the binary variable where the read array is to be stored.
    +
    +
    +
    Template Parameters
    + + +
    NumberTypeThe type of the length len
    +
    +
    +
    Precondition
    len >= 0
    +
    Returns
    true if the byte array was successfully parsed
    + +

    Definition at line 8414 of file json.hpp.

    + +

    References nlohmann::detail::bson, nlohmann::detail::parse_error::create(), JSON_HEDLEY_UNLIKELY, and nlohmann::to_string().

    + +
    +
    + +

    ◆ get_bson_cstr()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_cstr (string_tresult)
    +
    +inlineprivate
    +
    + +

    Parses a C-style string from the BSON input.

    +
    Parameters
    + + +
    [in,out]resultA reference to the string variable where the read string is to be stored.
    +
    +
    +
    Returns
    true if the -byte indicating the end of the string was encountered before the EOF; false` indicates an unexpected EOF.
    + +

    Definition at line 8363 of file json.hpp.

    + +

    References nlohmann::detail::bson, and JSON_HEDLEY_UNLIKELY.

    + +
    +
    + +

    ◆ get_bson_string()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    +
    +template<typename NumberType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_string (const NumberType len,
    string_tresult 
    )
    +
    +inlineprivate
    +
    + +

    Parses a zero-terminated string of length len from the BSON input.

    +
    Parameters
    + + + +
    [in]lenThe length (including the zero-byte at the end) of the string to be read.
    [in,out]resultA reference to the string variable where the read string is to be stored.
    +
    +
    +
    Template Parameters
    + + +
    NumberTypeThe type of the length len
    +
    +
    +
    Precondition
    len >= 1
    +
    Returns
    true if the string was successfully parsed
    + +

    Definition at line 8393 of file json.hpp.

    + +

    References nlohmann::detail::bson, nlohmann::detail::parse_error::create(), JSON_HEDLEY_UNLIKELY, and nlohmann::to_string().

    + +
    +
    + +

    ◆ get_cbor_array()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_array (const std::size_t len,
    const cbor_tag_handler_t tag_handler 
    )
    +
    +inlineprivate
    +
    +
    Parameters
    + + + +
    [in]lenthe length of the array or std::size_t(-1) for an array of indefinite size
    [in]tag_handlerhow CBOR tags should be treated
    +
    +
    +
    Returns
    whether array creation completed
    + +

    Definition at line 9221 of file json.hpp.

    + +

    References JSON_HEDLEY_UNLIKELY.

    + +
    +
    + +

    ◆ get_cbor_binary()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_binary (binary_tresult)
    +
    +inlineprivate
    +
    + +

    reads a CBOR byte array

    +

    This function first reads starting bytes to determine the expected byte array length and then copies this number of bytes into the byte array. Additionally, CBOR's byte arrays with indefinite lengths are supported.

    +
    Parameters
    + + +
    [out]resultcreated byte array
    +
    +
    +
    Returns
    whether byte array creation completed
    + +

    Definition at line 9127 of file json.hpp.

    + +

    References nlohmann::detail::cbor, nlohmann::detail::parse_error::create(), and JSON_HEDLEY_UNLIKELY.

    + +
    +
    + +

    ◆ get_cbor_object()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_object (const std::size_t len,
    const cbor_tag_handler_t tag_handler 
    )
    +
    +inlineprivate
    +
    +
    Parameters
    + + + +
    [in]lenthe length of the object or std::size_t(-1) for an object of indefinite size
    [in]tag_handlerhow CBOR tags should be treated
    +
    +
    +
    Returns
    whether object creation completed
    + +

    Definition at line 9259 of file json.hpp.

    + +

    References JSON_HEDLEY_UNLIKELY, and nlohmann::detail::key.

    + +
    +
    + +

    ◆ get_cbor_string()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_string (string_tresult)
    +
    +inlineprivate
    +
    + +

    reads a CBOR string

    +

    This function first reads starting bytes to determine the expected string length and then copies this number of bytes into a string. Additionally, CBOR's strings with indefinite lengths are supported.

    +
    Parameters
    + + +
    [out]resultcreated string
    +
    +
    +
    Returns
    whether string creation completed
    + +

    Definition at line 9032 of file json.hpp.

    + +

    References nlohmann::detail::cbor, nlohmann::detail::parse_error::create(), and JSON_HEDLEY_UNLIKELY.

    + +
    +
    + +

    ◆ get_ignore_noop()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + +
    char_int_type nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ignore_noop ()
    +
    +inlineprivate
    +
    +
    Returns
    character read from the input after ignoring all 'N' entries
    + +

    Definition at line 10444 of file json.hpp.

    + +
    +
    + +

    ◆ get_msgpack_array()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_array (const std::size_t len)
    +
    +inlineprivate
    +
    +
    Parameters
    + + +
    [in]lenthe length of the array
    +
    +
    +
    Returns
    whether array creation completed
    + +

    Definition at line 9885 of file json.hpp.

    + +

    References JSON_HEDLEY_UNLIKELY.

    + +
    +
    + +

    ◆ get_msgpack_binary()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_binary (binary_tresult)
    +
    +inlineprivate
    +
    + +

    reads a MessagePack byte array

    +

    This function first reads starting bytes to determine the expected byte array length and then copies this number of bytes into a byte array.

    +
    Parameters
    + + +
    [out]resultcreated byte array
    +
    +
    +
    Returns
    whether byte array creation completed
    + +

    Definition at line 9774 of file json.hpp.

    + +

    References nlohmann::detail::msgpack.

    + +
    +
    + +

    ◆ get_msgpack_object()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_object (const std::size_t len)
    +
    +inlineprivate
    +
    +
    Parameters
    + + +
    [in]lenthe length of the object
    +
    +
    +
    Returns
    whether object creation completed
    + +

    Definition at line 9907 of file json.hpp.

    + +

    References JSON_HEDLEY_UNLIKELY, and nlohmann::detail::key.

    + +
    +
    + +

    ◆ get_msgpack_string()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_string (string_tresult)
    +
    +inlineprivate
    +
    + +

    reads a MessagePack string

    +

    This function first reads starting bytes to determine the expected string length and then copies this number of bytes into a string.

    +
    Parameters
    + + +
    [out]resultcreated string
    +
    +
    +
    Returns
    whether string creation completed
    + +

    Definition at line 9692 of file json.hpp.

    + +

    References nlohmann::detail::parse_error::create(), JSON_HEDLEY_UNLIKELY, and nlohmann::detail::msgpack.

    + +
    +
    + +

    ◆ get_number()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    +
    +template<typename NumberType , bool InputIsLittleEndian = false>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_number (const input_format_t format,
    NumberType & result 
    )
    +
    +inlineprivate
    +
    + +

    Definition at line 10469 of file json.hpp.

    + +

    References JSON_HEDLEY_UNLIKELY.

    + +
    +
    + +

    ◆ get_string()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    +
    +template<typename NumberType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_string (const input_format_t format,
    const NumberType len,
    string_tresult 
    )
    +
    +inlineprivate
    +
    + +

    create a string by reading characters from the input

    +
    Template Parameters
    + + +
    NumberTypethe type of the number
    +
    +
    +
    Parameters
    + + + + +
    [in]formatthe current format (for diagnostics)
    [in]lennumber of characters to read
    [out]resultstring created by reading len bytes
    +
    +
    +
    Returns
    whether string creation completed
    +
    Note
    We can not reserve len bytes for the result, because len may be too large. Usually, unexpect_eof() detects the end of the input before we run out of string memory.
    + +

    Definition at line 10512 of file json.hpp.

    + +

    References JSON_HEDLEY_UNLIKELY.

    + +
    +
    + +

    ◆ get_token_string()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + +
    std::string nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_token_string () const
    +
    +inlineprivate
    +
    +
    Returns
    a string representation of the last read byte
    + +

    Definition at line 10582 of file json.hpp.

    + +

    References nlohmann::detail::string.

    + +
    +
    + +

    ◆ get_ubjson_array()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_array ()
    +
    +inlineprivate
    +
    +
    Returns
    whether array creation completed
    + +

    Definition at line 10236 of file json.hpp.

    + +

    References JSON_HEDLEY_UNLIKELY.

    + +
    +
    + +

    ◆ get_ubjson_high_precision_number()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_high_precision_number ()
    +
    +inlineprivate
    +
    +
    + +

    ◆ get_ubjson_object()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_object ()
    +
    +inlineprivate
    +
    +
    Returns
    whether object creation completed
    + +

    Definition at line 10298 of file json.hpp.

    + +

    References JSON_HEDLEY_UNLIKELY, and nlohmann::detail::key.

    + +
    +
    + +

    ◆ get_ubjson_size_type()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_type (std::pair< std::size_t, char_int_type > & result)
    +
    +inlineprivate
    +
    + +

    determine the type and size for a container

    +

    In the optimized UBJSON format, a type and a size can be provided to allow for a more compact representation.

    +
    Parameters
    + + +
    [out]resultpair of the size and the type
    +
    +
    +
    Returns
    whether pair creation completed
    + +

    Definition at line 10094 of file json.hpp.

    + +

    References nlohmann::detail::parse_error::create(), JSON_HEDLEY_UNLIKELY, and nlohmann::detail::ubjson.

    + +
    +
    + +

    ◆ get_ubjson_size_value()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_value (std::size_t & result)
    +
    +inlineprivate
    +
    +
    Parameters
    + + +
    [out]resultdetermined size
    +
    +
    +
    Returns
    whether size determination completed
    + +

    Definition at line 10017 of file json.hpp.

    + +

    References nlohmann::detail::parse_error::create(), JSON_HEDLEY_UNLIKELY, and nlohmann::detail::ubjson.

    + +
    +
    + +

    ◆ get_ubjson_string()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_string (string_tresult,
    const bool get_char = true 
    )
    +
    +inlineprivate
    +
    + +

    reads a UBJSON string

    +

    This function is either called after reading the 'S' byte explicitly indicating a string, or in case of an object key where the 'S' byte can be left out.

    +
    Parameters
    + + + +
    [out]resultcreated string
    [in]get_charwhether a new character should be retrieved from the input (true, default) or whether the last read character should be considered instead
    +
    +
    +
    Returns
    whether string creation completed
    + +

    Definition at line 9963 of file json.hpp.

    + +

    References nlohmann::detail::parse_error::create(), JSON_HEDLEY_UNLIKELY, and nlohmann::detail::ubjson.

    + +
    +
    + +

    ◆ get_ubjson_value()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_value (const char_int_type prefix)
    +
    +inlineprivate
    +
    +
    Parameters
    + + +
    prefixthe previously read or set type prefix
    +
    +
    +
    Returns
    whether value creation completed
    + +

    Definition at line 10135 of file json.hpp.

    + +

    References nlohmann::detail::parse_error::create(), JSON_HEDLEY_UNLIKELY, and nlohmann::detail::ubjson.

    + +
    +
    + +

    ◆ operator=() [1/2]

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    binary_reader& nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::operator= (const binary_reader< BasicJsonType, InputAdapterType, SAX > & )
    +
    +delete
    +
    + +
    +
    + +

    ◆ operator=() [2/2]

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    binary_reader& nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::operator= (binary_reader< BasicJsonType, InputAdapterType, SAX > && )
    +
    +default
    +
    + +
    +
    + +

    ◆ parse_bson_array()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_array ()
    +
    +inlineprivate
    +
    + +

    Reads an array from the BSON input and passes it to the SAX-parser.

    +
    Returns
    whether a valid BSON-array was passed to the SAX parser
    + +

    Definition at line 8556 of file json.hpp.

    + +

    References nlohmann::detail::bson, and JSON_HEDLEY_UNLIKELY.

    + +
    +
    + +

    ◆ parse_bson_element_internal()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_element_internal (const char_int_type element_type,
    const std::size_t element_type_parse_position 
    )
    +
    +inlineprivate
    +
    + +

    Read a BSON document element of the given element_type.

    +
    Parameters
    + + + +
    [in]element_typeThe BSON element type, c.f. http://bsonspec.org/spec.html
    [in]element_type_parse_positionThe position in the input stream, where the element_type was read.
    +
    +
    +
    Warning
    Not all BSON element types are supported yet. An unsupported element_type will give rise to a parse_error.114: Unsupported BSON record type 0x...
    +
    Returns
    whether a valid BSON-object/array was passed to the SAX parser
    + +

    Definition at line 8440 of file json.hpp.

    + +

    References nlohmann::detail::bson, nlohmann::detail::parse_error::create(), nlohmann::detail::string, and nlohmann::detail::value.

    + +
    +
    + +

    ◆ parse_bson_element_list()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_element_list (const bool is_array)
    +
    +inlineprivate
    +
    + +

    Read a BSON element list (as specified in the BSON-spec)

    +

    The same binary layout is used for objects and arrays, hence it must be indicated with the argument is_array which one is expected (true –> array, false –> object).

    +
    Parameters
    + + +
    [in]is_arrayDetermines if the element list being read is to be treated as an object (is_array == false), or as an array (is_array == true).
    +
    +
    +
    Returns
    whether a valid BSON-object/array was passed to the SAX parser
    + +

    Definition at line 8518 of file json.hpp.

    + +

    References nlohmann::detail::bson, JSON_HEDLEY_UNLIKELY, and nlohmann::detail::key.

    + +
    +
    + +

    ◆ parse_bson_internal()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_internal ()
    +
    +inlineprivate
    +
    + +

    Reads in a BSON-object and passes it to the SAX-parser.

    +
    Returns
    whether a valid BSON-value was passed to the SAX parser
    + +

    Definition at line 8338 of file json.hpp.

    + +

    References nlohmann::detail::bson, and JSON_HEDLEY_UNLIKELY.

    + +
    +
    + +

    ◆ parse_cbor_internal()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_cbor_internal (const bool get_char,
    const cbor_tag_handler_t tag_handler 
    )
    +
    +inlineprivate
    +
    +
    Parameters
    + + + +
    [in]get_charwhether a new character should be retrieved from the input (true) or whether the last read character should be considered instead (false)
    [in]tag_handlerhow CBOR tags should be treated
    +
    +
    +
    Returns
    whether a valid CBOR value was passed to the SAX parser
    + +

    Definition at line 8586 of file json.hpp.

    + +

    References nlohmann::detail::cbor, nlohmann::detail::parse_error::create(), nlohmann::detail::error, nlohmann::detail::ignore, JSON_ASSERT, and JSON_HEDLEY_UNLIKELY.

    + +
    +
    + +

    ◆ parse_msgpack_internal()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_msgpack_internal ()
    +
    +inlineprivate
    +
    +
    Returns
    whether a valid MessagePack value was passed to the SAX parser
    + +

    Definition at line 9312 of file json.hpp.

    + +

    References nlohmann::detail::parse_error::create(), and nlohmann::detail::msgpack.

    + +
    +
    + +

    ◆ parse_ubjson_internal()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_ubjson_internal (const bool get_char = true)
    +
    +inlineprivate
    +
    +
    Parameters
    + + +
    [in]get_charwhether a new character should be retrieved from the input (true, default) or whether the last read character should be considered instead
    +
    +
    +
    Returns
    whether a valid UBJSON value was passed to the SAX parser
    + +

    Definition at line 9944 of file json.hpp.

    + +
    +
    + +

    ◆ sax_parse()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax_parse (const input_format_t format,
    json_sax_tsax_,
    const bool strict = true,
    const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error 
    )
    +
    +inline
    +
    +
    Parameters
    + + + + + +
    [in]formatthe binary format to parse
    [in]sax_a SAX event processor
    [in]strictwhether to expect the input to be consumed completed
    [in]tag_handlerhow to treat CBOR tags
    +
    +
    +
    Returns
    whether parsing was successful
    + +

    Definition at line 8277 of file json.hpp.

    + +

    References nlohmann::detail::bson, nlohmann::detail::cbor, nlohmann::detail::parse_error::create(), JSON_ASSERT, JSON_HEDLEY_UNLIKELY, nlohmann::detail::msgpack, nlohmann::detail::strict, and nlohmann::detail::ubjson.

    + +
    +
    + +

    ◆ unexpect_eof()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::unexpect_eof (const input_format_t format,
    const char * context 
    ) const
    +
    +inlineprivate
    +
    +
    Parameters
    + + + +
    [in]formatthe current format (for diagnostics)
    [in]contextfurther context information (for diagnostics)
    +
    +
    +
    Returns
    whether the last read character is not EOF
    + +

    Definition at line 10569 of file json.hpp.

    + +

    References nlohmann::detail::parse_error::create(), and JSON_HEDLEY_UNLIKELY.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ chars_read

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + +
    std::size_t nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::chars_read = 0
    +
    +private
    +
    + +

    the number of characters read

    + +

    Definition at line 10634 of file json.hpp.

    + +
    +
    + +

    ◆ current

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + +
    char_int_type nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::current = std::char_traits<char_type>::eof()
    +
    +private
    +
    + +

    the current character

    + +

    Definition at line 10631 of file json.hpp.

    + +
    +
    + +

    ◆ ia

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + +
    InputAdapterType nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::ia
    +
    +private
    +
    + +

    input adapter

    + +

    Definition at line 10628 of file json.hpp.

    + +
    +
    + +

    ◆ is_little_endian

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + +
    const bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::is_little_endian = little_endianess()
    +
    +private
    +
    + +

    whether we can assume little endianess

    + +

    Definition at line 10637 of file json.hpp.

    + +
    +
    + +

    ◆ sax

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType , typename SAX = json_sax_dom_parser<BasicJsonType>>
    + + + + + +
    + + + + +
    json_sax_t* nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax = nullptr
    +
    +private
    +
    + +

    the SAX parser

    + +

    Definition at line 10640 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/d6/d30/classnlohmann_1_1detail_1_1binary__reader.js b/docs/d6/d30/classnlohmann_1_1detail_1_1binary__reader.js new file mode 100644 index 00000000..b639f091 --- /dev/null +++ b/docs/d6/d30/classnlohmann_1_1detail_1_1binary__reader.js @@ -0,0 +1,56 @@ +var classnlohmann_1_1detail_1_1binary__reader = +[ + [ "binary_t", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#acf127bb88e4147fb692edabc2a0f0663", null ], + [ "char_int_type", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aa12ade9a8c0acaebef6399e3d446b970", null ], + [ "char_type", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#abc20ff256868de6791b3646ab33fff76", null ], + [ "json_sax_t", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a4c33ab78a0df5afd524f16887550436d", null ], + [ "number_float_t", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ae4f1a7d10118d578ad03f7ee36df6fbe", null ], + [ "number_integer_t", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a2b46c2a929071fdb0b028befa77814bd", null ], + [ "number_unsigned_t", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a02a70f424099428d9a69606b7fb7074a", null ], + [ "string_t", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a823c244e5dbf1a8edae40819f9434237", null ], + [ "binary_reader", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a2aee4c3507eca623f7cec32544fdc5b2", null ], + [ "binary_reader", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ab29d56b1e980a7b9a3383cf1ce862d1b", null ], + [ "binary_reader", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#acca2c4076df85f27dc1c904475e05c26", null ], + [ "~binary_reader", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a359031cba136452d9030ed9ab4517b74", null ], + [ "exception_message", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a9c413c9a1bade1ce345740f4d69156f0", null ], + [ "get", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ad222095c0b21a87824cb10629299629a", null ], + [ "get_binary", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a55e13d567a53234573ab3833c0ca32e9", null ], + [ "get_bson_binary", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a9940f56290b9278c58772eda2931e599", null ], + [ "get_bson_cstr", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a354cbbaaea672c024ac949e1801c4302", null ], + [ "get_bson_string", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a23921422802aa472360dd05023e20565", null ], + [ "get_cbor_array", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a3750658328bf3ec3cf23f1626f9ec3af", null ], + [ "get_cbor_binary", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#acb001d18095dc5bcf7336ae5122b8340", null ], + [ "get_cbor_object", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a47092a2195bf9cd3cdb4dda67cc404ed", null ], + [ "get_cbor_string", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a545a44ae4b3fa2b7a61d9e8517fb7154", null ], + [ "get_ignore_noop", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a252c1179651d22c5343bcf0b538ed26a", null ], + [ "get_msgpack_array", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a0ce1d7066597952efb008aaf578b2bd6", null ], + [ "get_msgpack_binary", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a389e550fd397a48121cb82d92bb7475a", null ], + [ "get_msgpack_object", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a8bebd21ceef09b6b2562e87861832700", null ], + [ "get_msgpack_string", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ad8cba5585327caa550dd5b6dd25a64f8", null ], + [ "get_number", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ac356c6364fe0273d3303fb7a447f4ef6", null ], + [ "get_string", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a540919db22df36512f05a88945c13263", null ], + [ "get_token_string", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a7d323283c60a0b89ee5eeadf5cb9a5ad", null ], + [ "get_ubjson_array", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#afb36cb588b795efa513fc95e949493b7", null ], + [ "get_ubjson_high_precision_number", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a26c694413fb860057e1a839d5422b361", null ], + [ "get_ubjson_object", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#adcf64ad3207f4bf37a5a31c920a385c3", null ], + [ "get_ubjson_size_type", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a7b6c2d4c95d56751e233e285a5f1fea7", null ], + [ "get_ubjson_size_value", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aba7ba9ec9a52ad2bee8baff70176aa20", null ], + [ "get_ubjson_string", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a4ae90db51c102e912b7eac83c78733a6", null ], + [ "get_ubjson_value", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a7e5e0b71548d0649ce4f131280d06c33", null ], + [ "operator=", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a35abcd6b3231a4c9d651f9c0eb610c96", null ], + [ "operator=", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ad3dc8b0f8ef6035465c14ed7dcbb67d4", null ], + [ "parse_bson_array", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a23eb89a222e22533e9fd43e76722f44f", null ], + [ "parse_bson_element_internal", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a23bde2450d7a5772bf5051e36ff560a4", null ], + [ "parse_bson_element_list", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a4e07b75ccb2579d0e738b894f0fd8cf8", null ], + [ "parse_bson_internal", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#abf2051ba57d9ea9b378a2e7c14e22b34", null ], + [ "parse_cbor_internal", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a4e4accd5a2a41bfb2f18a8a0fcc9421c", null ], + [ "parse_msgpack_internal", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ae020385ce9424271d61f85d3842c02cb", null ], + [ "parse_ubjson_internal", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a5a79480d661019b0f3fc615ae12f7de7", null ], + [ "sax_parse", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ab4afd9ee276bbb15a0f898061aad94dd", null ], + [ "unexpect_eof", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a61a0bd8bbe7b560bd429fa990ba3ba1a", null ], + [ "chars_read", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aa03c779d4512b5764895dc341b0ef902", null ], + [ "current", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ab47df98119524e9c7d9ff0b820913883", null ], + [ "ia", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a548c770e60f2285a931de4b7333c1ab0", null ], + [ "is_little_endian", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ad615eba561e265165a80c95061af75b0", null ], + [ "sax", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aba4d89d9d38235f72f60332d6c385222", null ] +]; \ No newline at end of file diff --git a/docs/d6/d3d/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4-members.html b/docs/d6/d3d/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4-members.html new file mode 100644 index 00000000..94222759 --- /dev/null +++ b/docs/d6/d3d/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    std::less<::nlohmann::detail::value_t > Member List
    +
    +
    + +

    This is the complete list of members for std::less<::nlohmann::detail::value_t >, including all inherited members.

    + + +
    operator()(nlohmann::detail::value_t lhs, nlohmann::detail::value_t rhs) const noexceptstd::less<::nlohmann::detail::value_t >inline
    +
    + + + + diff --git a/docs/d6/d44/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.map b/docs/d6/d44/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.map new file mode 100644 index 00000000..3f5fbd6e --- /dev/null +++ b/docs/d6/d44/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d6/d44/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.md5 b/docs/d6/d44/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.md5 new file mode 100644 index 00000000..cd156c79 --- /dev/null +++ b/docs/d6/d44/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.md5 @@ -0,0 +1 @@ +5853a2da022dd7dd5410b3e38a400a0a \ No newline at end of file diff --git a/docs/d6/d44/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.png b/docs/d6/d44/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.png new file mode 100644 index 00000000..b1256e28 Binary files /dev/null and b/docs/d6/d44/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.png differ diff --git a/docs/d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html b/docs/d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html new file mode 100644 index 00000000..e86b8bc7 --- /dev/null +++ b/docs/d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html @@ -0,0 +1,166 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_iterator_of_multibyte< T > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::is_iterator_of_multibyte< T > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::is_iterator_of_multibyte< T >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + +

    +Public Types

    enum  
     
    using value_type = typename std::iterator_traits< T >::value_type
     
    +

    Detailed Description

    +

    template<typename T>
    +struct nlohmann::detail::is_iterator_of_multibyte< T >

    + + +

    Definition at line 5569 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ value_type

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::is_iterator_of_multibyte< T >::value_type = typename std::iterator_traits<T>::value_type
    +
    + +

    Definition at line 5571 of file json.hpp.

    + +
    +
    +

    Member Enumeration Documentation

    + +

    ◆ anonymous enum

    + +
    +
    +
    +template<typename T >
    + + + + +
    anonymous enum
    +
    + +

    Definition at line 5572 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.js b/docs/d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.js new file mode 100644 index 00000000..f2e90e7f --- /dev/null +++ b/docs/d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1is__iterator__of__multibyte = +[ + [ "value_type", "d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html#a830339a3ad86d82d32a67f9c180523b1", null ] +]; \ No newline at end of file diff --git a/docs/d6/d51/cudnn__frontend__ExecutionPlan_8h.html b/docs/d6/d51/cudnn__frontend__ExecutionPlan_8h.html index 707d3eca..3ce319ba 100644 --- a/docs/d6/d51/cudnn__frontend__ExecutionPlan_8h.html +++ b/docs/d6/d51/cudnn__frontend__ExecutionPlan_8h.html @@ -102,15 +102,16 @@
    - - - - - - - - - + + + + + + + + + +
    diff --git a/docs/d6/d51/cudnn__frontend__ExecutionPlan_8h_source.html b/docs/d6/d51/cudnn__frontend__ExecutionPlan_8h_source.html index 1b586977..fd3d96ca 100644 --- a/docs/d6/d51/cudnn__frontend__ExecutionPlan_8h_source.html +++ b/docs/d6/d51/cudnn__frontend__ExecutionPlan_8h_source.html @@ -84,7 +84,7 @@
    cudnn_frontend_ExecutionPlan.h
    -Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <algorithm>
    26 #include <array>
    27 #include <functional>
    28 #include <memory>
    29 #include <sstream>
    30 #include <utility>
    31 
    32 #include <cudnn.h>
    33 #include <cudnn_backend.h>
    34 
    35 #include "cudnn_frontend_Engine.h"
    36 #include "cudnn_frontend_utils.h"
    37 
    38 namespace cudnn_frontend {
    52  public:
    54 
    56  : BackendDescriptor(from.get_desc(), from.get_status(), from.get_error()),
    58  handle(from.handle),
    59  planTag(from.planTag) {}
    60  ~ExecutionPlan_v8() = default;
    65  auto
    67  getWorkspaceSize(void) const -> int64_t {
    68  std::int64_t workSpaceSize = 0;
    69  auto status = cudnnBackendGetAttribute(pointer->get_backend_descriptor(),
    70  CUDNN_ATTR_EXECUTION_PLAN_WORKSPACE_SIZE,
    71  CUDNN_TYPE_INT64,
    72  1,
    73  NULL,
    74  &workSpaceSize);
    75  if (status != CUDNN_STATUS_SUCCESS) {
    77  status,
    78  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: GetAttribute "
    79  "CUDNN_ATTR_EXECUTION_PLAN_WORKSPACE_SIZE Failed");
    80  return workSpaceSize;
    81  }
    82  if (workSpaceSize < 0) {
    84  this, status, "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: GetAttribute Workspace Size Invalid");
    85  return workSpaceSize;
    86  }
    87  return workSpaceSize;
    88  }
    89 
    90  std::string
    91  describe() const override {
    92  std::stringstream ss;
    93  ss << "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR :";
    94  return ss.str();
    95  }
    96 
    97  std::string const &
    98  getTag() const {
    99  return planTag;
    100  }
    101 
    102  private:
    103  void
    105  // Compute a unique tag for execution plan:
    106  auto status = CUDNN_STATUS_SUCCESS;
    107  std::stringstream tag{""};
    108  int64_t elemCount = 0, engineId = 0, numKnobs = 0;
    109 
    110  ManagedOpaqueDescriptor extractedEngine = make_shared_backend_pointer(CUDNN_BACKEND_ENGINE_DESCRIPTOR);
    111  status = extractedEngine->get_status();
    112  std::array<ManagedOpaqueDescriptor, CUDNN_KNOB_TYPE_COUNTS> extractedKnobs{{nullptr}};
    113  if (status != CUDNN_STATUS_SUCCESS) {
    115  this, status, "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: cudnnCreate Failed when compute tag");
    116  }
    117 
    118  for (auto &knob : extractedKnobs) {
    119  knob = make_shared_backend_pointer(CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR);
    120  status = knob->get_status();
    121  if (status != CUDNN_STATUS_SUCCESS) {
    123  this, status, "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: cudnnCreate Failed when compute tag");
    124  }
    125  }
    126 
    127  cudnnBackendDescriptor_t extractedEngine_ = extractedEngine->get_backend_descriptor();
    128  std::array<cudnnBackendDescriptor_t, CUDNN_KNOB_TYPE_COUNTS> extractedKnobs_{{nullptr}};
    129  for (std::uint32_t i = 0; i < extractedKnobs.size(); i++) {
    130  extractedKnobs_[i] = extractedKnobs[i]->get_backend_descriptor();
    131  }
    132 
    133  status = cudnnBackendGetAttribute(engine_config->get_backend_descriptor(),
    134  CUDNN_ATTR_ENGINECFG_ENGINE,
    135  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    136  1,
    137  &elemCount,
    138  &extractedEngine_);
    139  if (status != CUDNN_STATUS_SUCCESS) {
    141  status,
    142  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: GetAttribute "
    143  "CUDNN_ATTR_ENGINECFG_ENGINE Failed");
    144  }
    145  status = cudnnBackendGetAttribute(
    146  extractedEngine_, CUDNN_ATTR_ENGINE_GLOBAL_INDEX, CUDNN_TYPE_INT64, 1, &elemCount, &engineId);
    147  if (status != CUDNN_STATUS_SUCCESS) {
    149  status,
    150  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: GetAttribute "
    151  "CUDNN_ATTR_ENGINE_GLOBAL_INDEX Failed");
    152  }
    153  tag << "eng" << engineId;
    154 
    155  status = cudnnBackendGetAttribute(engine_config->get_backend_descriptor(),
    156  CUDNN_ATTR_ENGINECFG_KNOB_CHOICES,
    157  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    158  CUDNN_KNOB_TYPE_COUNTS,
    159  &numKnobs,
    160  &(extractedKnobs_[0]));
    161  if (status != CUDNN_STATUS_SUCCESS) {
    163  status,
    164  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: GetAttribute "
    165  "CUDNN_ATTR_ENGINECFG_KNOB_CHOICES Failed");
    166  }
    167  if (numKnobs > CUDNN_KNOB_TYPE_COUNTS) {
    169  status,
    170  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: GetAttribute "
    171  "numKnobs exceed the CUDNN_KNOB_TYPE_COUNTS");
    172  }
    173  for (int64_t idx = 0; idx < numKnobs; ++idx) {
    174  const cudnnBackendDescriptor_t &knob = extractedKnobs_[idx];
    175  cudnnBackendKnobType_t type = CUDNN_KNOB_TYPE_COUNTS;
    176  int64_t choice = -2;
    177  status = cudnnBackendGetAttribute(
    178  knob, CUDNN_ATTR_KNOB_CHOICE_KNOB_TYPE, CUDNN_TYPE_KNOB_TYPE, 1, nullptr, &type);
    179  if (status != CUDNN_STATUS_SUCCESS) {
    181  status,
    182  "computeTag CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: GetAttribute "
    183  "CUDNN_ATTR_KNOB_CHOICE_KNOB_TYPE Failed");
    184  }
    185  status = cudnnBackendGetAttribute(
    186  knob, CUDNN_ATTR_KNOB_CHOICE_KNOB_VALUE, CUDNN_TYPE_INT64, 1, nullptr, &choice);
    187  if (status != CUDNN_STATUS_SUCCESS) {
    189  status,
    190  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: GetAttribute "
    191  "CUDNN_ATTR_KNOB_CHOICE_KNOB_VALUE Failed");
    192  }
    193  tag << "_k" << type << "(" << choice << ")";
    194  }
    195  planTag += tag.str();
    196  }
    197 
    198  ExecutionPlan_v8() = default;
    199  ExecutionPlan_v8(ExecutionPlan_v8 const &) = delete;
    201  operator=(ExecutionPlan_v8 const &) = delete;
    202 
    204  cudnnHandle_t handle = nullptr;
    205  std::string planTag;
    206 };
    207 
    212  public:
    217  auto
    219  setHandle(cudnnHandle_t handle_) -> ExecutionPlanBuilder_v8 & {
    220  m_execution_plan.handle = handle_;
    221  return *this;
    222  }
    224  auto
    226  m_execution_plan.engine_config = engine_config_.get_desc();
    227  m_execution_plan.planTag = engine_config_.getTag();
    228  return *this;
    229  }
    230 
    232  auto
    233  setEngineConfig(ManagedOpaqueDescriptor &desc, std::string const &opGraphTag_ = "") -> ExecutionPlanBuilder_v8 & {
    234  m_execution_plan.engine_config = desc;
    235  m_execution_plan.planTag = opGraphTag_;
    236  return *this;
    237  }
    243  build() {
    244  if (m_execution_plan.handle == nullptr) {
    246  &m_execution_plan,
    247  CUDNN_STATUS_BAD_PARAM,
    248  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: Check and Set the CUDNN_ATTR_EXECUTION_PLAN_HANDLE");
    249  return std::move(m_execution_plan);
    250  };
    251  if (m_execution_plan.engine_config == nullptr) {
    253  &m_execution_plan,
    254  CUDNN_STATUS_BAD_PARAM,
    255  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: Check and Set the CUDNN_ATTR_EXECUTION_PLAN_ENGINE_CONFIG");
    256  return std::move(m_execution_plan);
    257  };
    258 
    259  // Create a descriptor. Memory allocation happens here.
    260  auto status = m_execution_plan.initialize_managed_backend_pointer(CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR);
    261  if (status != CUDNN_STATUS_SUCCESS) {
    263  &m_execution_plan, status, "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: cudnnCreate Failed");
    264  return std::move(m_execution_plan);
    265  }
    266 
    267  status = cudnnBackendSetAttribute(m_execution_plan.pointer->get_backend_descriptor(),
    268  CUDNN_ATTR_EXECUTION_PLAN_ENGINE_CONFIG,
    269  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    270  1,
    271  &(m_execution_plan.engine_config->get_backend_descriptor()));
    272  if (status != CUDNN_STATUS_SUCCESS) {
    274  &m_execution_plan,
    275  status,
    276  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: SetAttribute CUDNN_ATTR_EXECUTION_PLAN_ENGINE_CONFIG Failed");
    277  return std::move(m_execution_plan);
    278  }
    279  status = cudnnBackendSetAttribute(m_execution_plan.pointer->get_backend_descriptor(),
    280  CUDNN_ATTR_EXECUTION_PLAN_HANDLE,
    281  CUDNN_TYPE_HANDLE,
    282  1,
    283  &m_execution_plan.handle);
    284  if (status != CUDNN_STATUS_SUCCESS) {
    286  &m_execution_plan,
    287  status,
    288  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: SetAttribute CUDNN_ATTR_EXECUTION_PLAN_HANDLE Failed");
    289  return std::move(m_execution_plan);
    290  }
    291  // Finalizing the descriptor
    292  status = cudnnBackendFinalize(m_execution_plan.pointer->get_backend_descriptor());
    293  if (status != CUDNN_STATUS_SUCCESS) {
    295  &m_execution_plan, status, "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: cudnnFinalize Descriptor Failed");
    296  return std::move(m_execution_plan);
    297  }
    298 
    299  m_execution_plan.computeTag();
    300 
    301  return std::move(m_execution_plan);
    302  }
    303 
    304  explicit ExecutionPlanBuilder_v8() = default;
    305  ~ExecutionPlanBuilder_v8() = default;
    309  operator=(ExecutionPlanBuilder_v8 const &) = delete;
    310 
    311  private:
    313 };
    314 }
    auto setEngineConfig(EngineConfig_v8 const &engine_config_) -> ExecutionPlanBuilder_v8 &
    Set engine Config for the Plan.
    +Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <algorithm>
    26 #include <array>
    27 #include <functional>
    28 #include <memory>
    29 #include <sstream>
    30 #include <utility>
    31 
    32 #include <cudnn.h>
    33 #include <cudnn_backend.h>
    34 
    35 #include "cudnn_frontend_Engine.h"
    36 #include "cudnn_frontend_utils.h"
    37 
    38 namespace cudnn_frontend {
    52  public:
    54 
    56  : BackendDescriptor(from.get_desc(), from.get_status(), from.get_error()),
    58  handle(from.handle),
    59  planTag(from.planTag) {}
    60  ~ExecutionPlan_v8() = default;
    65  auto
    67  getWorkspaceSize(void) const -> int64_t {
    68  std::int64_t workSpaceSize = 0;
    69  auto status = cudnnBackendGetAttribute(pointer->get_backend_descriptor(),
    70  CUDNN_ATTR_EXECUTION_PLAN_WORKSPACE_SIZE,
    71  CUDNN_TYPE_INT64,
    72  1,
    73  NULL,
    74  &workSpaceSize);
    75  if (status != CUDNN_STATUS_SUCCESS) {
    77  status,
    78  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: GetAttribute "
    79  "CUDNN_ATTR_EXECUTION_PLAN_WORKSPACE_SIZE Failed");
    80  return workSpaceSize;
    81  }
    82  if (workSpaceSize < 0) {
    84  this, status, "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: GetAttribute Workspace Size Invalid");
    85  return workSpaceSize;
    86  }
    87  return workSpaceSize;
    88  }
    89 
    90  std::string
    91  describe() const override {
    92  std::stringstream ss;
    93  ss << "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR :";
    94  return ss.str();
    95  }
    96 
    97  std::string const &
    98  getTag() const {
    99  return planTag;
    100  }
    101 
    102  private:
    103  void
    105  // Compute a unique tag for execution plan:
    106  auto status = CUDNN_STATUS_SUCCESS;
    107  std::stringstream tag{""};
    108  int64_t elemCount = 0, engineId = 0, numKnobs = 0;
    109 
    110  ManagedOpaqueDescriptor extractedEngine = make_shared_backend_pointer(CUDNN_BACKEND_ENGINE_DESCRIPTOR);
    111  status = extractedEngine->get_status();
    112  std::array<ManagedOpaqueDescriptor, CUDNN_KNOB_TYPE_COUNTS> extractedKnobs{{nullptr}};
    113  if (status != CUDNN_STATUS_SUCCESS) {
    115  this, status, "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: cudnnCreate Failed when compute tag");
    116  }
    117 
    118  for (auto &knob : extractedKnobs) {
    119  knob = make_shared_backend_pointer(CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR);
    120  status = knob->get_status();
    121  if (status != CUDNN_STATUS_SUCCESS) {
    123  this, status, "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: cudnnCreate Failed when compute tag");
    124  }
    125  }
    126 
    127  cudnnBackendDescriptor_t extractedEngine_ = extractedEngine->get_backend_descriptor();
    128  std::array<cudnnBackendDescriptor_t, CUDNN_KNOB_TYPE_COUNTS> extractedKnobs_{{nullptr}};
    129  for (std::uint32_t i = 0; i < extractedKnobs.size(); i++) {
    130  extractedKnobs_[i] = extractedKnobs[i]->get_backend_descriptor();
    131  }
    132 
    133  status = cudnnBackendGetAttribute(engine_config->get_backend_descriptor(),
    134  CUDNN_ATTR_ENGINECFG_ENGINE,
    135  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    136  1,
    137  &elemCount,
    138  &extractedEngine_);
    139  if (status != CUDNN_STATUS_SUCCESS) {
    141  status,
    142  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: GetAttribute "
    143  "CUDNN_ATTR_ENGINECFG_ENGINE Failed");
    144  }
    145  status = cudnnBackendGetAttribute(
    146  extractedEngine_, CUDNN_ATTR_ENGINE_GLOBAL_INDEX, CUDNN_TYPE_INT64, 1, &elemCount, &engineId);
    147  if (status != CUDNN_STATUS_SUCCESS) {
    149  status,
    150  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: GetAttribute "
    151  "CUDNN_ATTR_ENGINE_GLOBAL_INDEX Failed");
    152  }
    153  tag << "eng" << engineId;
    154 
    155  status = cudnnBackendGetAttribute(engine_config->get_backend_descriptor(),
    156  CUDNN_ATTR_ENGINECFG_KNOB_CHOICES,
    157  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    158  CUDNN_KNOB_TYPE_COUNTS,
    159  &numKnobs,
    160  &(extractedKnobs_[0]));
    161  if (status != CUDNN_STATUS_SUCCESS) {
    163  status,
    164  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: GetAttribute "
    165  "CUDNN_ATTR_ENGINECFG_KNOB_CHOICES Failed");
    166  }
    167  if (numKnobs > CUDNN_KNOB_TYPE_COUNTS) {
    169  status,
    170  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: GetAttribute "
    171  "numKnobs exceed the CUDNN_KNOB_TYPE_COUNTS");
    172  }
    173  for (int64_t idx = 0; idx < numKnobs; ++idx) {
    174  const cudnnBackendDescriptor_t &knob = extractedKnobs_[idx];
    175  cudnnBackendKnobType_t type = CUDNN_KNOB_TYPE_COUNTS;
    176  int64_t choice = -2;
    177  status = cudnnBackendGetAttribute(
    178  knob, CUDNN_ATTR_KNOB_CHOICE_KNOB_TYPE, CUDNN_TYPE_KNOB_TYPE, 1, nullptr, &type);
    179  if (status != CUDNN_STATUS_SUCCESS) {
    181  status,
    182  "computeTag CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: GetAttribute "
    183  "CUDNN_ATTR_KNOB_CHOICE_KNOB_TYPE Failed");
    184  }
    185  status = cudnnBackendGetAttribute(
    186  knob, CUDNN_ATTR_KNOB_CHOICE_KNOB_VALUE, CUDNN_TYPE_INT64, 1, nullptr, &choice);
    187  if (status != CUDNN_STATUS_SUCCESS) {
    189  status,
    190  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: GetAttribute "
    191  "CUDNN_ATTR_KNOB_CHOICE_KNOB_VALUE Failed");
    192  }
    193  tag << "_k" << type << "=" << choice;
    194  }
    195  planTag += tag.str();
    196  }
    197 
    198  ExecutionPlan_v8() = default;
    199  ExecutionPlan_v8(ExecutionPlan_v8 const &) = delete;
    201  operator=(ExecutionPlan_v8 const &) = delete;
    202 
    204  cudnnHandle_t handle = nullptr;
    205  std::string planTag;
    206 };
    207 
    212  public:
    217  auto
    219  setHandle(cudnnHandle_t handle_) -> ExecutionPlanBuilder_v8 & {
    220  m_execution_plan.handle = handle_;
    221  return *this;
    222  }
    224  auto
    226  m_execution_plan.engine_config = engine_config_.get_desc();
    227  m_execution_plan.planTag = engine_config_.getTag();
    228  return *this;
    229  }
    230 
    232  auto
    233  setEngineConfig(ManagedOpaqueDescriptor &desc, std::string const &opGraphTag_ = "") -> ExecutionPlanBuilder_v8 & {
    234  m_execution_plan.engine_config = desc;
    235  m_execution_plan.planTag = opGraphTag_;
    236  return *this;
    237  }
    243  build() {
    244  if (m_execution_plan.handle == nullptr) {
    246  &m_execution_plan,
    247  CUDNN_STATUS_BAD_PARAM,
    248  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: Check and Set the CUDNN_ATTR_EXECUTION_PLAN_HANDLE");
    249  return std::move(m_execution_plan);
    250  };
    251  if (m_execution_plan.engine_config == nullptr) {
    253  &m_execution_plan,
    254  CUDNN_STATUS_BAD_PARAM,
    255  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: Check and Set the CUDNN_ATTR_EXECUTION_PLAN_ENGINE_CONFIG");
    256  return std::move(m_execution_plan);
    257  };
    258 
    259  // Create a descriptor. Memory allocation happens here.
    260  auto status = m_execution_plan.initialize_managed_backend_pointer(CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR);
    261  if (status != CUDNN_STATUS_SUCCESS) {
    263  &m_execution_plan, status, "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: cudnnCreate Failed");
    264  return std::move(m_execution_plan);
    265  }
    266 
    267  status = cudnnBackendSetAttribute(m_execution_plan.pointer->get_backend_descriptor(),
    268  CUDNN_ATTR_EXECUTION_PLAN_ENGINE_CONFIG,
    269  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    270  1,
    271  &(m_execution_plan.engine_config->get_backend_descriptor()));
    272  if (status != CUDNN_STATUS_SUCCESS) {
    274  &m_execution_plan,
    275  status,
    276  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: SetAttribute CUDNN_ATTR_EXECUTION_PLAN_ENGINE_CONFIG Failed");
    277  return std::move(m_execution_plan);
    278  }
    279  status = cudnnBackendSetAttribute(m_execution_plan.pointer->get_backend_descriptor(),
    280  CUDNN_ATTR_EXECUTION_PLAN_HANDLE,
    281  CUDNN_TYPE_HANDLE,
    282  1,
    283  &m_execution_plan.handle);
    284  if (status != CUDNN_STATUS_SUCCESS) {
    286  &m_execution_plan,
    287  status,
    288  "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: SetAttribute CUDNN_ATTR_EXECUTION_PLAN_HANDLE Failed");
    289  return std::move(m_execution_plan);
    290  }
    291  // Finalizing the descriptor
    292  status = cudnnBackendFinalize(m_execution_plan.pointer->get_backend_descriptor());
    293  if (status != CUDNN_STATUS_SUCCESS) {
    295  &m_execution_plan, status, "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR: cudnnFinalize Descriptor Failed");
    296  return std::move(m_execution_plan);
    297  }
    298 
    299  m_execution_plan.computeTag();
    300 
    301  return std::move(m_execution_plan);
    302  }
    303 
    304  explicit ExecutionPlanBuilder_v8() = default;
    305  ~ExecutionPlanBuilder_v8() = default;
    309  operator=(ExecutionPlanBuilder_v8 const &) = delete;
    310 
    311  private:
    313 };
    314 }
    auto setEngineConfig(EngineConfig_v8 const &engine_config_) -> ExecutionPlanBuilder_v8 &
    Set engine Config for the Plan.
    static void set_error_and_throw_exception(BackendDescriptor const *desc, cudnnStatus_t status, const char *message)
    @@ -108,6 +108,7 @@
    const char * get_error() const
    Diagonistic error message if any.
    + diff --git a/docs/d6/d63/cudnn__frontend__Operation_8h__dep__incl.md5 b/docs/d6/d63/cudnn__frontend__Operation_8h__dep__incl.md5 index 22c9844a..b4582777 100644 --- a/docs/d6/d63/cudnn__frontend__Operation_8h__dep__incl.md5 +++ b/docs/d6/d63/cudnn__frontend__Operation_8h__dep__incl.md5 @@ -1 +1 @@ -be1f9c4e64c31407fa91a43e0bf28c83 \ No newline at end of file +8d5892700f7a2a51746eedb5ac944530 \ No newline at end of file diff --git a/docs/d6/d67/cudnn__frontend__EngineConfig_8h.html b/docs/d6/d67/cudnn__frontend__EngineConfig_8h.html index 6d457852..5238e9d1 100644 --- a/docs/d6/d67/cudnn__frontend__EngineConfig_8h.html +++ b/docs/d6/d67/cudnn__frontend__EngineConfig_8h.html @@ -103,15 +103,16 @@
    - - - - - - - - - + + + + + + + + + +
    diff --git a/docs/d6/d67/cudnn__frontend__EngineConfig_8h_source.html b/docs/d6/d67/cudnn__frontend__EngineConfig_8h_source.html index f52f6666..df8d27d2 100644 --- a/docs/d6/d67/cudnn__frontend__EngineConfig_8h_source.html +++ b/docs/d6/d67/cudnn__frontend__EngineConfig_8h_source.html @@ -84,7 +84,7 @@
    cudnn_frontend_EngineConfig.h
    -Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <algorithm>
    26 #include <array>
    27 #include <functional>
    28 #include <memory>
    29 #include <sstream>
    30 #include <utility>
    31 
    32 #include <cudnn.h>
    33 #include <cudnn_backend.h>
    34 
    35 #include "cudnn_frontend_Engine.h"
    36 #include "cudnn_frontend_utils.h"
    37 
    38 namespace cudnn_frontend {
    52  public:
    53  friend class EngineConfigBuilder_v8;
    54  std::string
    55  describe() const override {
    56  std::stringstream ss;
    57  ss << "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR :";
    58  ss << " Number of knobs: " << numKnobs;
    59  return ss.str();
    60  }
    62  : BackendDescriptor(from.get_desc(), from.get_status(), from.get_error()),
    63  engine(from.engine),
    64  numKnobs(from.numKnobs),
    65  opGraphTag(from.opGraphTag) {
    66  bChoices = from.bChoices;
    67  }
    68  ~EngineConfig_v8() = default;
    69 
    70  std::string const &
    71  getTag() const {
    72  return opGraphTag;
    73  }
    74 
    75  private:
    77  cudnnStatus_t status;
    78  for (uint64_t i = 0; i < bChoices.size(); i++) {
    79  bChoices[i] = make_shared_backend_pointer(CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR);
    80  if (bChoices[i]->is_good() == false) {
    81  status = bChoices[i]->get_status();
    83  this,
    84  status,
    85  "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR cudnnCreate Failed");
    86  break;
    87  }
    88  }
    89  }
    90  EngineConfig_v8(EngineConfig_v8 const &) = delete;
    92  operator=(EngineConfig_v8 const &) = delete;
    93 
    95  int64_t numKnobs = 0;
    96  std::string opGraphTag;
    97  std::array<ManagedOpaqueDescriptor, CUDNN_KNOB_TYPE_COUNTS> bChoices = {};
    98 };
    99 
    104  public:
    109  auto
    112  m_engine_config.engine = engine_.get_desc();
    113  m_engine_config.opGraphTag = engine_.getTag();
    114  auto &knobs = engine_.getFinalizedKnobs();
    115  m_engine_config.numKnobs = knobs.size();
    116  for (std::uint32_t i = 0; i < knobs.size(); i++) {
    117  cudnnStatus_t status;
    118  cudnnBackendKnobType_t type = knobs[i].getKnobType();
    119  int64_t value = knobs[i].getChoice();
    120  status = cudnnBackendSetAttribute(m_engine_config.bChoices[i]->get_backend_descriptor(),
    121  CUDNN_ATTR_KNOB_CHOICE_KNOB_TYPE,
    122  CUDNN_TYPE_KNOB_TYPE,
    123  1,
    124  &type);
    125  if (status != CUDNN_STATUS_SUCCESS) {
    126  set_error_and_throw_exception(&m_engine_config,
    127  status,
    128  "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: "
    129  "CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR SetAttribute "
    130  "CUDNN_ATTR_KNOB_CHOICE_KNOB_TYPE Failed");
    131  }
    132  status = cudnnBackendSetAttribute(m_engine_config.bChoices[i]->get_backend_descriptor(),
    133  CUDNN_ATTR_KNOB_CHOICE_KNOB_VALUE,
    134  CUDNN_TYPE_INT64,
    135  1,
    136  &value);
    137  if (status != CUDNN_STATUS_SUCCESS) {
    138  set_error_and_throw_exception(&m_engine_config,
    139  status,
    140  "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: "
    141  "CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR SetAttribute "
    142  "CUDNN_ATTR_KNOB_CHOICE_KNOB_VALUE Failed");
    143  }
    144  status = cudnnBackendFinalize(m_engine_config.bChoices[i]->get_backend_descriptor());
    145  if (status != CUDNN_STATUS_SUCCESS) {
    147  &m_engine_config,
    148  status,
    149  "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR cudnnFinalize Failed");
    150  }
    151  }
    152  return *this;
    153  }
    156  EngineConfig_v8 &&
    159  build() {
    160  if (m_engine_config.status != CUDNN_STATUS_SUCCESS) {
    161  set_error_and_throw_exception(&m_engine_config,
    162  m_engine_config.status,
    163  "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: is not created properly");
    164  return std::move(m_engine_config);
    165  }
    166  if (m_engine_config.engine == nullptr) {
    168  &m_engine_config,
    169  CUDNN_STATUS_BAD_PARAM,
    170  "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: Check and Set the CUDNN_ATTR_ENGINECFG_ENGINE.");
    171  return std::move(m_engine_config);
    172  }
    173  // Create a descriptor. Memory allocation happens here.
    174  auto status = m_engine_config.initialize_managed_backend_pointer(CUDNN_BACKEND_ENGINECFG_DESCRIPTOR);
    175  if (status != CUDNN_STATUS_SUCCESS) {
    177  &m_engine_config, status, "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: cudnnCreate Failed");
    178  return std::move(m_engine_config);
    179  }
    180 
    181  status = cudnnBackendSetAttribute(m_engine_config.pointer->get_backend_descriptor(),
    182  CUDNN_ATTR_ENGINECFG_ENGINE,
    183  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    184  1,
    185  &(m_engine_config.engine->get_backend_descriptor()));
    186  if (status != CUDNN_STATUS_SUCCESS) {
    188  &m_engine_config,
    189  status,
    190  "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: SetAttribute CUDNN_ATTR_ENGINECFG_ENGINE Failed");
    191  return std::move(m_engine_config);
    192  }
    193 
    194  if (m_engine_config.numKnobs > 0) {
    195  std::array<cudnnBackendDescriptor_t, CUDNN_KNOB_TYPE_COUNTS> bChoices_;
    196  for (auto i = 0; i < m_engine_config.numKnobs; i++) {
    197  bChoices_[i] = m_engine_config.bChoices[i]->get_backend_descriptor();
    198  }
    199  status = cudnnBackendSetAttribute(m_engine_config.pointer->get_backend_descriptor(),
    200  CUDNN_ATTR_ENGINECFG_KNOB_CHOICES,
    201  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    202  m_engine_config.numKnobs,
    203  bChoices_.data());
    204  if (status != CUDNN_STATUS_SUCCESS) {
    206  &m_engine_config,
    207  status,
    208  "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: SetAttribute CUDNN_ATTR_ENGINECFG_KNOB_CHOICES Failed");
    209  return std::move(m_engine_config);
    210  }
    211  }
    212 
    213  // Finalizing the descriptor
    214  status = cudnnBackendFinalize(m_engine_config.pointer->get_backend_descriptor());
    215  if (status != CUDNN_STATUS_SUCCESS) {
    217  &m_engine_config, status, "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: cudnnFinalize Failed");
    218  return std::move(m_engine_config);
    219  }
    220  return std::move(m_engine_config);
    221  }
    222 
    223  explicit EngineConfigBuilder_v8() = default;
    224  ~EngineConfigBuilder_v8() = default;
    228  operator=(EngineConfigBuilder_v8 const &) = delete;
    229 
    230  private:
    232 };
    233 
    241 
    242 using EngineConfigList = std::vector<ManagedOpaqueDescriptor>;
    243 }
    static void set_error_and_throw_exception(BackendDescriptor const *desc, cudnnStatus_t status, const char *message)
    +Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <algorithm>
    26 #include <array>
    27 #include <functional>
    28 #include <memory>
    29 #include <sstream>
    30 #include <utility>
    31 
    32 #include <cudnn.h>
    33 #include <cudnn_backend.h>
    34 
    35 #include "cudnn_frontend_Engine.h"
    36 #include "cudnn_frontend_utils.h"
    37 
    38 namespace cudnn_frontend {
    52  public:
    53  friend class EngineConfigBuilder_v8;
    54  std::string
    55  describe() const override {
    56  std::stringstream ss;
    57  ss << "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR :";
    58  ss << " Number of knobs: " << numKnobs;
    59  return ss.str();
    60  }
    62  : BackendDescriptor(from.get_desc(), from.get_status(), from.get_error()),
    63  engine(from.engine),
    64  numKnobs(from.numKnobs),
    65  opGraphTag(from.opGraphTag) {
    66  bChoices = from.bChoices;
    67  }
    68  ~EngineConfig_v8() = default;
    69 
    70  std::string const &
    71  getTag() const {
    72  return opGraphTag;
    73  }
    74 
    75  private:
    77  cudnnStatus_t status;
    78  for (uint64_t i = 0; i < bChoices.size(); i++) {
    79  bChoices[i] = make_shared_backend_pointer(CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR);
    80  if (bChoices[i]->is_good() == false) {
    81  status = bChoices[i]->get_status();
    83  this,
    84  status,
    85  "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR cudnnCreate Failed");
    86  break;
    87  }
    88  }
    89  }
    90  EngineConfig_v8(EngineConfig_v8 const &) = delete;
    92  operator=(EngineConfig_v8 const &) = delete;
    93 
    95  int64_t numKnobs = 0;
    96  std::string opGraphTag;
    97  std::array<ManagedOpaqueDescriptor, CUDNN_KNOB_TYPE_COUNTS> bChoices = {};
    98 };
    99 
    104  public:
    109  auto
    112  m_engine_config.engine = engine_.get_desc();
    113  m_engine_config.opGraphTag = engine_.getTag();
    114  auto &knobs = engine_.getFinalizedKnobs();
    115  m_engine_config.numKnobs = knobs.size();
    116  for (std::uint32_t i = 0; i < knobs.size(); i++) {
    117  cudnnStatus_t status;
    118  cudnnBackendKnobType_t type = knobs[i].getKnobType();
    119  int64_t value = knobs[i].getChoice();
    120  status = cudnnBackendSetAttribute(m_engine_config.bChoices[i]->get_backend_descriptor(),
    121  CUDNN_ATTR_KNOB_CHOICE_KNOB_TYPE,
    122  CUDNN_TYPE_KNOB_TYPE,
    123  1,
    124  &type);
    125  if (status != CUDNN_STATUS_SUCCESS) {
    126  set_error_and_throw_exception(&m_engine_config,
    127  status,
    128  "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: "
    129  "CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR SetAttribute "
    130  "CUDNN_ATTR_KNOB_CHOICE_KNOB_TYPE Failed");
    131  }
    132  status = cudnnBackendSetAttribute(m_engine_config.bChoices[i]->get_backend_descriptor(),
    133  CUDNN_ATTR_KNOB_CHOICE_KNOB_VALUE,
    134  CUDNN_TYPE_INT64,
    135  1,
    136  &value);
    137  if (status != CUDNN_STATUS_SUCCESS) {
    138  set_error_and_throw_exception(&m_engine_config,
    139  status,
    140  "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: "
    141  "CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR SetAttribute "
    142  "CUDNN_ATTR_KNOB_CHOICE_KNOB_VALUE Failed");
    143  }
    144  status = cudnnBackendFinalize(m_engine_config.bChoices[i]->get_backend_descriptor());
    145  if (status != CUDNN_STATUS_SUCCESS) {
    147  &m_engine_config,
    148  status,
    149  "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: CUDNN_BACKEND_KNOB_CHOICE_DESCRIPTOR cudnnFinalize Failed");
    150  }
    151  }
    152  return *this;
    153  }
    156  EngineConfig_v8 &&
    159  build() {
    160  if (m_engine_config.status != CUDNN_STATUS_SUCCESS) {
    161  set_error_and_throw_exception(&m_engine_config,
    162  m_engine_config.status,
    163  "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: is not created properly");
    164  return std::move(m_engine_config);
    165  }
    166  if (m_engine_config.engine == nullptr) {
    168  &m_engine_config,
    169  CUDNN_STATUS_BAD_PARAM,
    170  "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: Check and Set the CUDNN_ATTR_ENGINECFG_ENGINE.");
    171  return std::move(m_engine_config);
    172  }
    173  // Create a descriptor. Memory allocation happens here.
    174  auto status = m_engine_config.initialize_managed_backend_pointer(CUDNN_BACKEND_ENGINECFG_DESCRIPTOR);
    175  if (status != CUDNN_STATUS_SUCCESS) {
    177  &m_engine_config, status, "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: cudnnCreate Failed");
    178  return std::move(m_engine_config);
    179  }
    180 
    181  status = cudnnBackendSetAttribute(m_engine_config.pointer->get_backend_descriptor(),
    182  CUDNN_ATTR_ENGINECFG_ENGINE,
    183  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    184  1,
    185  &(m_engine_config.engine->get_backend_descriptor()));
    186  if (status != CUDNN_STATUS_SUCCESS) {
    188  &m_engine_config,
    189  status,
    190  "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: SetAttribute CUDNN_ATTR_ENGINECFG_ENGINE Failed");
    191  return std::move(m_engine_config);
    192  }
    193 
    194  if (m_engine_config.numKnobs > 0) {
    195  std::array<cudnnBackendDescriptor_t, CUDNN_KNOB_TYPE_COUNTS> bChoices_;
    196  for (auto i = 0; i < m_engine_config.numKnobs; i++) {
    197  bChoices_[i] = m_engine_config.bChoices[i]->get_backend_descriptor();
    198  }
    199  status = cudnnBackendSetAttribute(m_engine_config.pointer->get_backend_descriptor(),
    200  CUDNN_ATTR_ENGINECFG_KNOB_CHOICES,
    201  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    202  m_engine_config.numKnobs,
    203  bChoices_.data());
    204  if (status != CUDNN_STATUS_SUCCESS) {
    206  &m_engine_config,
    207  status,
    208  "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: SetAttribute CUDNN_ATTR_ENGINECFG_KNOB_CHOICES Failed");
    209  return std::move(m_engine_config);
    210  }
    211  }
    212 
    213  // Finalizing the descriptor
    214  status = cudnnBackendFinalize(m_engine_config.pointer->get_backend_descriptor());
    215  if (status != CUDNN_STATUS_SUCCESS) {
    217  &m_engine_config, status, "CUDNN_BACKEND_ENGINECFG_DESCRIPTOR: cudnnFinalize Failed");
    218  return std::move(m_engine_config);
    219  }
    220  return std::move(m_engine_config);
    221  }
    222 
    223  explicit EngineConfigBuilder_v8() = default;
    224  ~EngineConfigBuilder_v8() = default;
    228  operator=(EngineConfigBuilder_v8 const &) = delete;
    229 
    230  private:
    232 };
    233 
    241 
    242 using EngineConfigList = std::vector<ManagedOpaqueDescriptor>;
    243 }
    static void set_error_and_throw_exception(BackendDescriptor const *desc, cudnnStatus_t status, const char *message)
    @@ -106,6 +106,7 @@
    std::shared_ptr< OpaqueBackendPointer > ManagedOpaqueDescriptor
    const char * get_error() const
    Diagonistic error message if any.
    + diff --git a/docs/d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html b/docs/d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html new file mode 100644 index 00000000..1c890131 --- /dev/null +++ b/docs/d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html @@ -0,0 +1,1304 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > Class Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >:
    +
    +
    Collaboration graph
    + + + +
    + + + + + + + + + + + + + + + + +

    +Public Types

    using number_integer_t = typename BasicJsonType::number_integer_t
     
    using number_unsigned_t = typename BasicJsonType::number_unsigned_t
     
    using number_float_t = typename BasicJsonType::number_float_t
     
    using string_t = typename BasicJsonType::string_t
     
    using binary_t = typename BasicJsonType::binary_t
     
    using parser_callback_t = typename BasicJsonType::parser_callback_t
     
    using parse_event_t = typename BasicJsonType::parse_event_t
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     json_sax_dom_callback_parser (BasicJsonType &r, const parser_callback_t cb, const bool allow_exceptions_=true)
     
     json_sax_dom_callback_parser (const json_sax_dom_callback_parser &)=delete
     
     json_sax_dom_callback_parser (json_sax_dom_callback_parser &&)=default
     
    json_sax_dom_callback_parseroperator= (const json_sax_dom_callback_parser &)=delete
     
    json_sax_dom_callback_parseroperator= (json_sax_dom_callback_parser &&)=default
     
     ~json_sax_dom_callback_parser ()=default
     
    bool null ()
     
    bool boolean (bool val)
     
    bool number_integer (number_integer_t val)
     
    bool number_unsigned (number_unsigned_t val)
     
    bool number_float (number_float_t val, const string_t &)
     
    bool string (string_t &val)
     
    bool binary (binary_t &val)
     
    bool start_object (std::size_t len)
     
    bool key (string_t &val)
     
    bool end_object ()
     
    bool start_array (std::size_t len)
     
    bool end_array ()
     
    template<class Exception >
    bool parse_error (std::size_t, const std::string &, const Exception &ex)
     
    constexpr bool is_errored () const
     
    + + + + +

    +Private Member Functions

    template<typename Value >
    std::pair< bool, BasicJsonType * > handle_value (Value &&v, const bool skip_callback=false)
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Private Attributes

    BasicJsonType & root
     the parsed JSON value More...
     
    std::vector< BasicJsonType * > ref_stack {}
     stack to model hierarchy of values More...
     
    std::vector< bool > keep_stack {}
     stack to manage which values to keep More...
     
    std::vector< bool > key_keep_stack {}
     stack to manage which object keys to keep More...
     
    BasicJsonType * object_element = nullptr
     helper to hold the reference for the next object element More...
     
    bool errored = false
     whether a syntax error occurred More...
     
    const parser_callback_t callback = nullptr
     callback function More...
     
    const bool allow_exceptions = true
     whether to throw exceptions in case of errors More...
     
    BasicJsonType discarded = BasicJsonType::value_t::discarded
     a discarded value for the callback More...
     
    +

    Detailed Description

    +

    template<typename BasicJsonType>
    +class nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >

    + + +

    Definition at line 6035 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ binary_t

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + +
    using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::binary_t = typename BasicJsonType::binary_t
    +
    + +

    Definition at line 6042 of file json.hpp.

    + +
    +
    + +

    ◆ number_float_t

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + +
    using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t
    +
    + +

    Definition at line 6040 of file json.hpp.

    + +
    +
    + +

    ◆ number_integer_t

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + +
    using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t
    +
    + +

    Definition at line 6038 of file json.hpp.

    + +
    +
    + +

    ◆ number_unsigned_t

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + +
    using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
    +
    + +

    Definition at line 6039 of file json.hpp.

    + +
    +
    + +

    ◆ parse_event_t

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + +
    using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parse_event_t = typename BasicJsonType::parse_event_t
    +
    + +

    Definition at line 6044 of file json.hpp.

    + +
    +
    + +

    ◆ parser_callback_t

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + +
    using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parser_callback_t = typename BasicJsonType::parser_callback_t
    +
    + +

    Definition at line 6043 of file json.hpp.

    + +
    +
    + +

    ◆ string_t

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + +
    using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::string_t = typename BasicJsonType::string_t
    +
    + +

    Definition at line 6041 of file json.hpp.

    + +
    +
    +

    Constructor & Destructor Documentation

    + +

    ◆ json_sax_dom_callback_parser() [1/3]

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::json_sax_dom_callback_parser (BasicJsonType & r,
    const parser_callback_t cb,
    const bool allow_exceptions_ = true 
    )
    +
    +inline
    +
    + +

    Definition at line 6046 of file json.hpp.

    + +
    +
    + +

    ◆ json_sax_dom_callback_parser() [2/3]

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::json_sax_dom_callback_parser (const json_sax_dom_callback_parser< BasicJsonType > & )
    +
    +delete
    +
    + +
    +
    + +

    ◆ json_sax_dom_callback_parser() [3/3]

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::json_sax_dom_callback_parser (json_sax_dom_callback_parser< BasicJsonType > && )
    +
    +default
    +
    + +
    +
    + +

    ◆ ~json_sax_dom_callback_parser()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + +
    nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::~json_sax_dom_callback_parser ()
    +
    +default
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ binary()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::binary (binary_tval)
    +
    +inline
    +
    + +

    Definition at line 6097 of file json.hpp.

    + +
    +
    + +

    ◆ boolean()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::boolean (bool val)
    +
    +inline
    +
    + +

    Definition at line 6067 of file json.hpp.

    + +
    +
    + +

    ◆ end_array()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + +
    bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::end_array ()
    +
    +inline
    +
    + +

    Definition at line 6191 of file json.hpp.

    + +

    References nlohmann::detail::array_end, nlohmann::detail::discarded, and JSON_ASSERT.

    + +
    +
    + +

    ◆ end_object()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + +
    bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::end_object ()
    +
    +inline
    +
    + +

    Definition at line 6138 of file json.hpp.

    + +

    References nlohmann::detail::discarded, JSON_ASSERT, and nlohmann::detail::object_end.

    + +
    +
    + +

    ◆ handle_value()

    + +
    +
    +
    +template<typename BasicJsonType>
    +
    +template<typename Value >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    std::pair<bool, BasicJsonType*> nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::handle_value (Value && v,
    const bool skip_callback = false 
    )
    +
    +inlineprivate
    +
    +
    Parameters
    + + + +
    [in]vvalue to add to the JSON value we build during parsing
    [in]skip_callbackwhether we should skip calling the callback function; this is required after start_array() and start_object() SAX events, because otherwise we would call the callback function with an empty array or object, respectively.
    +
    +
    +
    Invariant
    If the ref stack is empty, then the passed value will be the new root.
    +
    +If the ref stack contains a value, then it is an array or an object to which we can add elements
    +
    Returns
    pair of boolean (whether value should be kept) and pointer (to the passed value in the ref_stack hierarchy; nullptr if not kept)
    + +

    Definition at line 6258 of file json.hpp.

    + +

    References JSON_ASSERT, and nlohmann::detail::value.

    + +
    +
    + +

    ◆ is_errored()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + +
    constexpr bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::is_errored () const
    +
    +inline
    +
    + +

    Definition at line 6236 of file json.hpp.

    + +

    Referenced by nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parse().

    + +
    +
    + +

    ◆ key()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::key (string_tval)
    +
    +inline
    +
    + +

    Definition at line 6121 of file json.hpp.

    + +

    References nlohmann::detail::discarded, and nlohmann::detail::key.

    + +
    +
    + +

    ◆ null()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + +
    bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::null ()
    +
    +inline
    +
    + +

    Definition at line 6061 of file json.hpp.

    + +
    +
    + +

    ◆ number_float()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_float (number_float_t val,
    const string_t 
    )
    +
    +inline
    +
    + +

    Definition at line 6085 of file json.hpp.

    + +
    +
    + +

    ◆ number_integer()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_integer (number_integer_t val)
    +
    +inline
    +
    + +

    Definition at line 6073 of file json.hpp.

    + +
    +
    + +

    ◆ number_unsigned()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_unsigned (number_unsigned_t val)
    +
    +inline
    +
    + +

    Definition at line 6079 of file json.hpp.

    + +
    +
    + +

    ◆ operator=() [1/2]

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    json_sax_dom_callback_parser& nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::operator= (const json_sax_dom_callback_parser< BasicJsonType > & )
    +
    +delete
    +
    + +
    +
    + +

    ◆ operator=() [2/2]

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    json_sax_dom_callback_parser& nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::operator= (json_sax_dom_callback_parser< BasicJsonType > && )
    +
    +default
    +
    + +
    +
    + +

    ◆ parse_error()

    + +
    +
    +
    +template<typename BasicJsonType>
    +
    +template<class Exception >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parse_error (std::size_t ,
    const std::string,
    const Exception & ex 
    )
    +
    +inline
    +
    + +

    Definition at line 6224 of file json.hpp.

    + +

    References JSON_THROW.

    + +

    Referenced by nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parse().

    + +
    +
    + +

    ◆ start_array()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_array (std::size_t len)
    +
    +inline
    +
    +
    + +

    ◆ start_object()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_object (std::size_t len)
    +
    +inline
    +
    +
    + +

    ◆ string()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::string (string_tval)
    +
    +inline
    +
    + +

    Definition at line 6091 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ allow_exceptions

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + +
    const bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::allow_exceptions = true
    +
    +private
    +
    + +

    whether to throw exceptions in case of errors

    + +

    Definition at line 6336 of file json.hpp.

    + +
    +
    + +

    ◆ callback

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + +
    const parser_callback_t nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::callback = nullptr
    +
    +private
    +
    + +

    callback function

    + +

    Definition at line 6334 of file json.hpp.

    + +
    +
    + +

    ◆ discarded

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + +
    BasicJsonType nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::discarded = BasicJsonType::value_t::discarded
    +
    +private
    +
    + +

    a discarded value for the callback

    + +

    Definition at line 6338 of file json.hpp.

    + +
    +
    + +

    ◆ errored

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + +
    bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::errored = false
    +
    +private
    +
    + +

    whether a syntax error occurred

    + +

    Definition at line 6332 of file json.hpp.

    + +
    +
    + +

    ◆ keep_stack

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + +
    std::vector<bool> nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::keep_stack {}
    +
    +private
    +
    + +

    stack to manage which values to keep

    + +

    Definition at line 6326 of file json.hpp.

    + +
    +
    + +

    ◆ key_keep_stack

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + +
    std::vector<bool> nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::key_keep_stack {}
    +
    +private
    +
    + +

    stack to manage which object keys to keep

    + +

    Definition at line 6328 of file json.hpp.

    + +
    +
    + +

    ◆ object_element

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + +
    BasicJsonType* nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::object_element = nullptr
    +
    +private
    +
    + +

    helper to hold the reference for the next object element

    + +

    Definition at line 6330 of file json.hpp.

    + +
    +
    + +

    ◆ ref_stack

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + +
    std::vector<BasicJsonType*> nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::ref_stack {}
    +
    +private
    +
    + +

    stack to model hierarchy of values

    + +

    Definition at line 6324 of file json.hpp.

    + +
    +
    + +

    ◆ root

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + +
    BasicJsonType& nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::root
    +
    +private
    +
    + +

    the parsed JSON value

    + +

    Definition at line 6322 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.js b/docs/d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.js new file mode 100644 index 00000000..be2b8e1f --- /dev/null +++ b/docs/d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.js @@ -0,0 +1,40 @@ +var classnlohmann_1_1detail_1_1json__sax__dom__callback__parser = +[ + [ "binary_t", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a5af8493f830eeb1a79c69fc39ed54ef8", null ], + [ "number_float_t", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a914ea0555cea5290449fb791ae41c655", null ], + [ "number_integer_t", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a3ba8fc7a8d83c5b0eeb3b543ad844b8d", null ], + [ "number_unsigned_t", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a2406c5125f7128fb9c01921df2903001", null ], + [ "parse_event_t", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#aac6d706967b2ecc2510e172577d8550b", null ], + [ "parser_callback_t", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a4f636086fa8e7cf26c35c8afd50903ce", null ], + [ "string_t", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a00e7d95d82d5d8a43421526a42a8eabc", null ], + [ "json_sax_dom_callback_parser", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#afec9434e54590f10df51b062973d4daf", null ], + [ "json_sax_dom_callback_parser", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a589998730e650a425b1b311e2e9f7f09", null ], + [ "json_sax_dom_callback_parser", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#af1ce6c746e3ebadb7994170725fcdbb5", null ], + [ "~json_sax_dom_callback_parser", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a54ffcdfb0a8c5c9a876cd003b404ef4b", null ], + [ "binary", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a66f5515cddef5074c9499f21c26ac099", null ], + [ "boolean", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ab7d8db672189164a8c0731e65ada1b45", null ], + [ "end_array", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#aa64e7a650952174037d32028de582c12", null ], + [ "end_object", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ae75d313d6d1b9c29508e740a10fefa18", null ], + [ "handle_value", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a875e678e20e75b37b93b80be78fe60e6", null ], + [ "is_errored", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a167fd9bf385d3d08bcbbba8a927c0eff", null ], + [ "key", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a0cc4a5192fe9b803276edb831b6099fa", null ], + [ "null", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a446262b6a75371fe8e0a6218ba2911e6", null ], + [ "number_float", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ae21f7872c334c77d03ae033cb0749b1c", null ], + [ "number_integer", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a68d9eddfd572e8687c1c8107e0505aa6", null ], + [ "number_unsigned", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#acabb231463bf669441c22e4ea385a9fb", null ], + [ "operator=", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a5c9603e79a71713f5e8cf12cba837dbb", null ], + [ "operator=", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a60753ffbec958de15de807852e62cde8", null ], + [ "parse_error", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#afb54d6937ee5d5a40e1db94422998aec", null ], + [ "start_array", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a5255b98ba8282e3625968f91cff9d3d0", null ], + [ "start_object", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a040e60243cc7c18a6078c6b83cdb4a81", null ], + [ "string", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ad94e912a67c7b96158937236805b8b47", null ], + [ "allow_exceptions", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a0a1390c23e2a3da774d75c050f9b3f13", null ], + [ "callback", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a46a72dffd5be4a25602af00f0033c126", null ], + [ "discarded", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a8997ee6dc3bd39116b951465b946445e", null ], + [ "errored", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ab06baaa640cfaae5846daa7c3594b116", null ], + [ "keep_stack", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ac24fd6c9f1b31b44328c16d65755ae76", null ], + [ "key_keep_stack", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a8f0e96e8bc4f692169024105693f5706", null ], + [ "object_element", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a2a8adecd936ba6ec187f1216241b508f", null ], + [ "ref_stack", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a82a0e49479660b9903597e1ef55c6601", null ], + [ "root", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a7b12037ca38be3ddec09c42bd71080cc", null ] +]; \ No newline at end of file diff --git a/docs/d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html b/docs/d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html index c90eb15b..e8b95734 100644 --- a/docs/d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html +++ b/docs/d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html @@ -138,7 +138,7 @@ ManagedOpaqueDescriptor get_desc () const  Returns a copy of underlying managed descriptor. More...
      -cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type) +cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type)  Initializes the underlying managed descriptor. More...
      @@ -350,7 +350,7 @@

    Definition at line 58 of file cudnn_frontend_ConvDesc.h.

    -

    References data_type, dilation, mode, nDims, padLower, padUpper, and stride.

    +

    References data_type, dilation, mode, nDims, padLower, padUpper, stride, and nlohmann::to_string().

    diff --git a/docs/d6/d87/classnlohmann_1_1detail_1_1span__input__adapter-members.html b/docs/d6/d87/classnlohmann_1_1detail_1_1span__input__adapter-members.html new file mode 100644 index 00000000..a2b56d44 --- /dev/null +++ b/docs/d6/d87/classnlohmann_1_1detail_1_1span__input__adapter-members.html @@ -0,0 +1,105 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    +

    + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::span_input_adapter Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::span_input_adapter, including all inherited members.

    + + + + + +
    get()nlohmann::detail::span_input_adapterinline
    ianlohmann::detail::span_input_adapterprivate
    span_input_adapter(CharT b, std::size_t l)nlohmann::detail::span_input_adapterinline
    span_input_adapter(IteratorType first, IteratorType last)nlohmann::detail::span_input_adapterinline
    +
    + + + + diff --git a/docs/d6/d88/classcudnn__frontend_1_1BackendDescriptor.html b/docs/d6/d88/classcudnn__frontend_1_1BackendDescriptor.html index af0b5de4..151143e1 100644 --- a/docs/d6/d88/classcudnn__frontend_1_1BackendDescriptor.html +++ b/docs/d6/d88/classcudnn__frontend_1_1BackendDescriptor.html @@ -99,15 +99,16 @@ - + - - + + - - + + +
    @@ -142,7 +143,7 @@ ManagedOpaqueDescriptor get_desc () const  Returns a copy of underlying managed descriptor. More...
      -cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type) +cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type)  Initializes the underlying managed descriptor. More...
      @@ -265,7 +266,7 @@

    cudnn_frontend::Engine_v8, cudnn_frontend::ExecutionPlan_v8, cudnn_frontend::EngineFallbackList_v8, cudnn_frontend::Operation_v8, cudnn_frontend::PointWiseDesc_v8, cudnn_frontend::ConvDesc_v8, cudnn_frontend::VariantPack_v8, cudnn_frontend::EngineConfig_v8, cudnn_frontend::OperationGraph_v8, cudnn_frontend::Tensor_v8, cudnn_frontend::MatMulDesc_v8, and cudnn_frontend::EngineHeuristics_v8.

    +

    Implemented in cudnn_frontend::Engine_v8, cudnn_frontend::ExecutionPlan_v8, cudnn_frontend::EngineFallbackList_v8, cudnn_frontend::Operation_v8, cudnn_frontend::PointWiseDesc_v8, cudnn_frontend::ConvDesc_v8, cudnn_frontend::VariantPack_v8, cudnn_frontend::EngineConfig_v8, cudnn_frontend::OperationGraph_v8, cudnn_frontend::Tensor_v8, cudnn_frontend::ReductionDesc_v8, cudnn_frontend::MatMulDesc_v8, and cudnn_frontend::EngineHeuristics_v8.

    @@ -416,7 +417,7 @@

    References cudnn_frontend::make_shared_backend_pointer().

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build().

    @@ -535,7 +536,7 @@

    Definition at line 156 of file cudnn_backend_base.h.

    -

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), cudnn_frontend::Engine_v8::Engine_v8(), cudnn_frontend::EngineHeuristics_v8::getEngineConfig(), cudnn_frontend::EngineHeuristics_v8::getEngineConfigCount(), cudnn_frontend::OperationGraph_v8::getEngineCount(), and cudnn_frontend::ExecutionPlan_v8::getWorkspaceSize().

    +

    Referenced by cudnn_frontend::OperationBuilder_v8::build(), cudnn_frontend::Engine_v8::Engine_v8(), cudnn_frontend::EngineHeuristics_v8::getEngineConfig(), cudnn_frontend::EngineHeuristics_v8::getEngineConfigCount(), cudnn_frontend::OperationGraph_v8::getEngineCount(), and cudnn_frontend::ExecutionPlan_v8::getWorkspaceSize().

    @@ -564,7 +565,7 @@

    Definition at line 158 of file cudnn_backend_base.h.

    -

    Referenced by cudnn_frontend::MatMulDescBuilder_v8::build(), cudnn_frontend::VariantPackBuilder_v8::build(), cudnn_frontend::OperationGraphBuilder_v8::build(), cudnn_frontend::TensorBuilder_v8::build(), cudnn_frontend::EngineConfigBuilder_v8::build(), cudnn_frontend::EngineHeuristicsBuilder_v8::build(), cudnn_frontend::ConvDescBuilder_v8::build(), cudnn_frontend::PointWiseDescBuilder_v8::build(), cudnn_frontend::ExecutionPlanBuilder_v8::build(), cudnn_frontend::EngineBuilder_v8::build(), cudnn_frontend::OperationBuilder_v8::build(), cudnn_frontend::Engine_v8::buildKnobs(), cudnn_frontend::ExecutionPlan_v8::computeTag(), cudnn_frontend::Engine_v8::Engine_v8(), cudnn_frontend::EngineConfig_v8::EngineConfig_v8(), cudnn_frontend::EngineHeuristics_v8::getEngineConfig(), cudnn_frontend::EngineHeuristics_v8::getEngineConfigCount(), cudnn_frontend::OperationGraph_v8::getEngineCount(), cudnn_frontend::ExecutionPlan_v8::getWorkspaceSize(), and cudnn_frontend::EngineConfigBuilder_v8::setEngine().

    +

    Referenced by cudnn_frontend::MatMulDescBuilder_v8::build(), cudnn_frontend::ReductionDescBuilder_v8::build(), cudnn_frontend::VariantPackBuilder_v8::build(), cudnn_frontend::OperationGraphBuilder_v8::build(), cudnn_frontend::TensorBuilder_v8::build(), cudnn_frontend::EngineConfigBuilder_v8::build(), cudnn_frontend::EngineHeuristicsBuilder_v8::build(), cudnn_frontend::ConvDescBuilder_v8::build(), cudnn_frontend::PointWiseDescBuilder_v8::build(), cudnn_frontend::ExecutionPlanBuilder_v8::build(), cudnn_frontend::EngineBuilder_v8::build(), cudnn_frontend::OperationBuilder_v8::build(), cudnn_frontend::Engine_v8::buildKnobs(), cudnn_frontend::ExecutionPlan_v8::computeTag(), cudnn_frontend::Engine_v8::Engine_v8(), cudnn_frontend::EngineConfig_v8::EngineConfig_v8(), cudnn_frontend::EngineHeuristics_v8::getEngineConfig(), cudnn_frontend::EngineHeuristics_v8::getEngineConfigCount(), cudnn_frontend::OperationGraph_v8::getEngineCount(), cudnn_frontend::ExecutionPlan_v8::getWorkspaceSize(), and cudnn_frontend::EngineConfigBuilder_v8::setEngine().

    diff --git a/docs/d6/d8a/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.map b/docs/d6/d8a/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.map new file mode 100644 index 00000000..a09fa6b6 --- /dev/null +++ b/docs/d6/d8a/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d6/d8a/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.md5 b/docs/d6/d8a/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.md5 new file mode 100644 index 00000000..6de8e848 --- /dev/null +++ b/docs/d6/d8a/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.md5 @@ -0,0 +1 @@ +0d9519cb68485a5f09c32a166416b926 \ No newline at end of file diff --git a/docs/d6/d8a/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.png b/docs/d6/d8a/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.png new file mode 100644 index 00000000..d65a43d5 Binary files /dev/null and b/docs/d6/d8a/classnlohmann_1_1detail_1_1output__vector__adapter__coll__graph.png differ diff --git a/docs/d6/d9d/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.map b/docs/d6/d9d/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.map new file mode 100644 index 00000000..233c3100 --- /dev/null +++ b/docs/d6/d9d/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d6/d9d/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.md5 b/docs/d6/d9d/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.md5 new file mode 100644 index 00000000..fbcbac46 --- /dev/null +++ b/docs/d6/d9d/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.md5 @@ -0,0 +1 @@ +768ae05fd3d10227f7625e41fab3c69d \ No newline at end of file diff --git a/docs/d6/d9d/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.png b/docs/d6/d9d/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.png new file mode 100644 index 00000000..78c6e6d9 Binary files /dev/null and b/docs/d6/d9d/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4__coll__graph.png differ diff --git a/docs/d6/d9d/structnlohmann_1_1ordered__map__coll__graph.map b/docs/d6/d9d/structnlohmann_1_1ordered__map__coll__graph.map new file mode 100644 index 00000000..c2ee6bfa --- /dev/null +++ b/docs/d6/d9d/structnlohmann_1_1ordered__map__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d6/d9d/structnlohmann_1_1ordered__map__coll__graph.md5 b/docs/d6/d9d/structnlohmann_1_1ordered__map__coll__graph.md5 new file mode 100644 index 00000000..0e9f5906 --- /dev/null +++ b/docs/d6/d9d/structnlohmann_1_1ordered__map__coll__graph.md5 @@ -0,0 +1 @@ +f3a8f67817383129262a6d65ffb57edc \ No newline at end of file diff --git a/docs/d6/d9d/structnlohmann_1_1ordered__map__coll__graph.png b/docs/d6/d9d/structnlohmann_1_1ordered__map__coll__graph.png new file mode 100644 index 00000000..ce793f44 Binary files /dev/null and b/docs/d6/d9d/structnlohmann_1_1ordered__map__coll__graph.png differ diff --git a/docs/d6/da7/classcudnn__frontend_1_1Tensor__v8.html b/docs/d6/da7/classcudnn__frontend_1_1Tensor__v8.html index 460e893c..4595501d 100644 --- a/docs/d6/da7/classcudnn__frontend_1_1Tensor__v8.html +++ b/docs/d6/da7/classcudnn__frontend_1_1Tensor__v8.html @@ -138,7 +138,7 @@

    - +
    ManagedOpaqueDescriptor get_desc () const
     Returns a copy of underlying managed descriptor. More...
     
    cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type)
    cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type)
     Initializes the underlying managed descriptor. More...
     
    @@ -349,7 +349,7 @@

    Definition at line 55 of file cudnn_frontend_Tensor.h.

    -

    References alignment, btensor_dimA, btensor_strA, data_type, and nDims.

    +

    References alignment, btensor_dimA, btensor_strA, data_type, nDims, and nlohmann::to_string().

    diff --git a/docs/d6/da7/classnlohmann_1_1detail_1_1lexer__base__inherit__graph.map b/docs/d6/da7/classnlohmann_1_1detail_1_1lexer__base__inherit__graph.map new file mode 100644 index 00000000..5868f5e7 --- /dev/null +++ b/docs/d6/da7/classnlohmann_1_1detail_1_1lexer__base__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d6/da7/classnlohmann_1_1detail_1_1lexer__base__inherit__graph.md5 b/docs/d6/da7/classnlohmann_1_1detail_1_1lexer__base__inherit__graph.md5 new file mode 100644 index 00000000..fc9fa9a4 --- /dev/null +++ b/docs/d6/da7/classnlohmann_1_1detail_1_1lexer__base__inherit__graph.md5 @@ -0,0 +1 @@ +a12b0b3bd46f239582010942505b4a3f \ No newline at end of file diff --git a/docs/d6/da7/classnlohmann_1_1detail_1_1lexer__base__inherit__graph.png b/docs/d6/da7/classnlohmann_1_1detail_1_1lexer__base__inherit__graph.png new file mode 100644 index 00000000..ee0079e8 Binary files /dev/null and b/docs/d6/da7/classnlohmann_1_1detail_1_1lexer__base__inherit__graph.png differ diff --git a/docs/d6/da7/structnlohmann_1_1ordered__map.html b/docs/d6/da7/structnlohmann_1_1ordered__map.html new file mode 100644 index 00000000..bce03c47 --- /dev/null +++ b/docs/d6/da7/structnlohmann_1_1ordered__map.html @@ -0,0 +1,796 @@ + + + + + + + +CUDNN Frontend API: nlohmann::ordered_map< Key, T, IgnoredLess, Allocator > Struct Template Reference + + + + + + + + + + + + + + +
    +
    +

    + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::ordered_map< Key, T, IgnoredLess, Allocator > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >:
    +
    +
    Inheritance graph
    + + + +
    +
    +Collaboration diagram for nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >:
    +
    +
    Collaboration graph
    + + + +
    + + + + + + + + + + + +

    +Public Types

    using key_type = Key
     
    using mapped_type = T
     
    using Container = std::vector< std::pair< const Key, T >, Allocator >
     
    template<typename InputIt >
    using require_input_iter = typename std::enable_if< std::is_convertible< typename std::iterator_traits< InputIt >::iterator_category, std::input_iterator_tag >::value >::type
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     ordered_map (const Allocator &alloc=Allocator())
     
    template<class It >
     ordered_map (It first, It last, const Allocator &alloc=Allocator())
     
     ordered_map (std::initializer_list< T > init, const Allocator &alloc=Allocator())
     
    std::pair< iterator, bool > emplace (const key_type &key, T &&t)
     
    T & operator[] (const Key &key)
     
    const T & operator[] (const Key &key) const
     
    T & at (const Key &key)
     
    const T & at (const Key &key) const
     
    size_type erase (const Key &key)
     
    iterator erase (iterator pos)
     
    size_type count (const Key &key) const
     
    iterator find (const Key &key)
     
    const_iterator find (const Key &key) const
     
    std::pair< iterator, bool > insert (value_type &&value)
     
    std::pair< iterator, bool > insert (const value_type &value)
     
    template<typename InputIt , typename = require_input_iter<InputIt>>
    void insert (InputIt first, InputIt last)
     
    +

    Detailed Description

    +

    template<class Key, class T, class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    +struct nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >

    + +

    ordered_map: a minimal map-like container that preserves insertion order for use within nlohmann::basic_json<ordered_map>

    + +

    Definition at line 3393 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ Container

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + +
    using nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::Container = std::vector<std::pair<const Key, T>, Allocator>
    +
    + +

    Definition at line 16929 of file json.hpp.

    + +
    +
    + +

    ◆ key_type

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + +
    using nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::key_type = Key
    +
    + +

    Definition at line 16927 of file json.hpp.

    + +
    +
    + +

    ◆ mapped_type

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + +
    using nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::mapped_type = T
    +
    + +

    Definition at line 16928 of file json.hpp.

    + +
    +
    + +

    ◆ require_input_iter

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    +
    +template<typename InputIt >
    + + + + +
    using nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::require_input_iter = typename std::enable_if<std::is_convertible<typename std::iterator_traits<InputIt>::iterator_category, std::input_iterator_tag>::value>::type
    +
    + +

    Definition at line 17082 of file json.hpp.

    + +
    +
    +

    Constructor & Destructor Documentation

    + +

    ◆ ordered_map() [1/3]

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + + +
    + + + + + + + + +
    nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::ordered_map (const Allocator & alloc = Allocator())
    +
    +inline
    +
    + +

    Definition at line 16937 of file json.hpp.

    + +
    +
    + +

    ◆ ordered_map() [2/3]

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    +
    +template<class It >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::ordered_map (It first,
    It last,
    const Allocator & alloc = Allocator() 
    )
    +
    +inline
    +
    + +

    Definition at line 16939 of file json.hpp.

    + +
    +
    + +

    ◆ ordered_map() [3/3]

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::ordered_map (std::initializer_list< T > init,
    const Allocator & alloc = Allocator() 
    )
    +
    +inline
    +
    + +

    Definition at line 16941 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ at() [1/2]

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + + +
    + + + + + + + + +
    T& nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::at (const Key & key)
    +
    +inline
    +
    + +

    Definition at line 16967 of file json.hpp.

    + +

    References JSON_THROW.

    + +
    +
    + +

    ◆ at() [2/2]

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + + +
    + + + + + + + + +
    const T& nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::at (const Key & key) const
    +
    +inline
    +
    + +

    Definition at line 16980 of file json.hpp.

    + +

    References JSON_THROW.

    + +
    +
    + +

    ◆ count()

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + + +
    + + + + + + + + +
    size_type nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::count (const Key & key) const
    +
    +inline
    +
    + +

    Definition at line 17026 of file json.hpp.

    + +
    +
    + +

    ◆ emplace()

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    std::pair<iterator, bool> nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::emplace (const key_typekey,
    T && t 
    )
    +
    +inline
    +
    + +

    Definition at line 16944 of file json.hpp.

    + +
    +
    + +

    ◆ erase() [1/2]

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + + +
    + + + + + + + + +
    size_type nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::erase (const Key & key)
    +
    +inline
    +
    + +

    Definition at line 16993 of file json.hpp.

    + +
    +
    + +

    ◆ erase() [2/2]

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + + +
    + + + + + + + + +
    iterator nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::erase (iterator pos)
    +
    +inline
    +
    + +

    Definition at line 17012 of file json.hpp.

    + +
    +
    + +

    ◆ find() [1/2]

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + + +
    + + + + + + + + +
    iterator nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::find (const Key & key)
    +
    +inline
    +
    + +

    Definition at line 17038 of file json.hpp.

    + +
    +
    + +

    ◆ find() [2/2]

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + + +
    + + + + + + + + +
    const_iterator nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::find (const Key & key) const
    +
    +inline
    +
    + +

    Definition at line 17050 of file json.hpp.

    + +
    +
    + +

    ◆ insert() [1/3]

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + + +
    + + + + + + + + +
    std::pair<iterator, bool> nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::insert (value_type && value)
    +
    +inline
    +
    + +

    Definition at line 17062 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ insert() [2/3]

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + + +
    + + + + + + + + +
    std::pair<iterator, bool> nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::insert (const value_type & value)
    +
    +inline
    +
    + +

    Definition at line 17067 of file json.hpp.

    + +
    +
    + +

    ◆ insert() [3/3]

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    +
    +template<typename InputIt , typename = require_input_iter<InputIt>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::insert (InputIt first,
    InputIt last 
    )
    +
    +inline
    +
    + +

    Definition at line 17085 of file json.hpp.

    + +

    References NLOHMANN_BASIC_JSON_TPL_DECLARATION.

    + +
    +
    + +

    ◆ operator[]() [1/2]

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + + +
    + + + + + + + + +
    T& nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::operator[] (const Key & key)
    +
    +inline
    +
    + +

    Definition at line 16957 of file json.hpp.

    + +
    +
    + +

    ◆ operator[]() [2/2]

    + +
    +
    +
    +template<class Key , class T , class IgnoredLess = std::less<Key>, class Allocator = std::allocator<std::pair<const Key, T>>>
    + + + + + +
    + + + + + + + + +
    const T& nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::operator[] (const Key & key) const
    +
    +inline
    +
    + +

    Definition at line 16962 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d6/da7/structnlohmann_1_1ordered__map.js b/docs/d6/da7/structnlohmann_1_1ordered__map.js new file mode 100644 index 00000000..1a0d62b7 --- /dev/null +++ b/docs/d6/da7/structnlohmann_1_1ordered__map.js @@ -0,0 +1,23 @@ +var structnlohmann_1_1ordered__map = +[ + [ "Container", "d6/da7/structnlohmann_1_1ordered__map.html#a0cabe346c38a4f1ab1b8a396fbd2bbe2", null ], + [ "key_type", "d6/da7/structnlohmann_1_1ordered__map.html#a57095c6ed403f02e1bc2c240a13c9ed8", null ], + [ "mapped_type", "d6/da7/structnlohmann_1_1ordered__map.html#a1c9c1509ee714a9814b45a8030c84ec7", null ], + [ "require_input_iter", "d6/da7/structnlohmann_1_1ordered__map.html#a89cc338e8466e74baaa138664c79ee98", null ], + [ "ordered_map", "d6/da7/structnlohmann_1_1ordered__map.html#a87938c10b76510dac00412d2cb5fd1e4", null ], + [ "ordered_map", "d6/da7/structnlohmann_1_1ordered__map.html#a9d25efb51325cc1be027b8ea00c1f8b8", null ], + [ "ordered_map", "d6/da7/structnlohmann_1_1ordered__map.html#a0482ea79e7786367a2d9b5c789c091ce", null ], + [ "at", "d6/da7/structnlohmann_1_1ordered__map.html#ab7b4bb185fe7ea84f8f5f32fd230ff91", null ], + [ "at", "d6/da7/structnlohmann_1_1ordered__map.html#a8b7f27215180385b9b1e98adc4dd8ae7", null ], + [ "count", "d6/da7/structnlohmann_1_1ordered__map.html#aee2c188dcc802d6b28910f707a5e637b", null ], + [ "emplace", "d6/da7/structnlohmann_1_1ordered__map.html#a38834c948b844033caa7d5c76fee5866", null ], + [ "erase", "d6/da7/structnlohmann_1_1ordered__map.html#a583c8976bbf0c137ff8e2439878f3058", null ], + [ "erase", "d6/da7/structnlohmann_1_1ordered__map.html#a26053569acb0a858d87482b2fa3d5dc5", null ], + [ "find", "d6/da7/structnlohmann_1_1ordered__map.html#a2486527ac56e07d58946ae9a93a46bc8", null ], + [ "find", "d6/da7/structnlohmann_1_1ordered__map.html#a41e6e34fa8a90b96cbe5c71fec10d2ee", null ], + [ "insert", "d6/da7/structnlohmann_1_1ordered__map.html#a48eceff729b80f3f4a023b737efccc5b", null ], + [ "insert", "d6/da7/structnlohmann_1_1ordered__map.html#a0241433138719e477a3cbb0c4cf0a243", null ], + [ "insert", "d6/da7/structnlohmann_1_1ordered__map.html#a2c8509f72bc33307661f1a0ed5763f9e", null ], + [ "operator[]", "d6/da7/structnlohmann_1_1ordered__map.html#ae7a1ca8c1e234837d137471f73ae6012", null ], + [ "operator[]", "d6/da7/structnlohmann_1_1ordered__map.html#a676082659d575e29bdb312bcde53023a", null ] +]; \ No newline at end of file diff --git a/docs/d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html b/docs/d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html index ffee8a87..1c2f8f08 100644 --- a/docs/d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html +++ b/docs/d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html @@ -138,7 +138,7 @@ ManagedOpaqueDescriptor get_desc () const  Returns a copy of underlying managed descriptor. More...
      -cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type) +cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type)  Initializes the underlying managed descriptor. More...
      diff --git a/docs/d6/db7/cudnn__frontend__Heuristics_8h__incl.map b/docs/d6/db7/cudnn__frontend__Heuristics_8h__incl.map index 16549379..67e33601 100644 --- a/docs/d6/db7/cudnn__frontend__Heuristics_8h__incl.map +++ b/docs/d6/db7/cudnn__frontend__Heuristics_8h__incl.map @@ -1,10 +1,11 @@ - - - - - - - - + + + + + + + + + diff --git a/docs/d6/db7/cudnn__frontend__Heuristics_8h__incl.md5 b/docs/d6/db7/cudnn__frontend__Heuristics_8h__incl.md5 index ed01884d..6c5f6cba 100644 --- a/docs/d6/db7/cudnn__frontend__Heuristics_8h__incl.md5 +++ b/docs/d6/db7/cudnn__frontend__Heuristics_8h__incl.md5 @@ -1 +1 @@ -17f1399ce5cacc73dce2c7301a65afa2 \ No newline at end of file +a24f6ffdc7b6fd6fd696d5bd84ba72a9 \ No newline at end of file diff --git a/docs/d6/db7/cudnn__frontend__Heuristics_8h__incl.png b/docs/d6/db7/cudnn__frontend__Heuristics_8h__incl.png index 9ba6f1ee..876deddf 100644 Binary files a/docs/d6/db7/cudnn__frontend__Heuristics_8h__incl.png and b/docs/d6/db7/cudnn__frontend__Heuristics_8h__incl.png differ diff --git a/docs/d6/dbd/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__e5da58796d1ad6035f3ae6423b3ecf82.html b/docs/d6/dbd/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__e5da58796d1ad6035f3ae6423b3ecf82.html new file mode 100644 index 00000000..17c02f08 --- /dev/null +++ b/docs/d6/dbd/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__e5da58796d1ad6035f3ae6423b3ecf82.html @@ -0,0 +1,103 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    +
    + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Member List
    +
    + +
    + + + + diff --git a/docs/d6/dd7/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.map b/docs/d6/dd7/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.map new file mode 100644 index 00000000..0898b243 --- /dev/null +++ b/docs/d6/dd7/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d6/dd7/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.md5 b/docs/d6/dd7/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.md5 new file mode 100644 index 00000000..2b2e710e --- /dev/null +++ b/docs/d6/dd7/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +cbe98abfdacc374ae61fbdab1f64e5b0 \ No newline at end of file diff --git a/docs/d6/dd7/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.png b/docs/d6/dd7/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.png new file mode 100644 index 00000000..4824e817 Binary files /dev/null and b/docs/d6/dd7/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__inherit__graph.png differ diff --git a/docs/d6/de9/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.map b/docs/d6/de9/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.map new file mode 100644 index 00000000..68b17a63 --- /dev/null +++ b/docs/d6/de9/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d6/de9/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.md5 b/docs/d6/de9/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.md5 new file mode 100644 index 00000000..8bea5678 --- /dev/null +++ b/docs/d6/de9/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.md5 @@ -0,0 +1 @@ +ff36f43d892e2c193bf462ceb8b00026 \ No newline at end of file diff --git a/docs/d6/de9/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.png b/docs/d6/de9/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.png new file mode 100644 index 00000000..ff50b14d Binary files /dev/null and b/docs/d6/de9/classnlohmann_1_1detail_1_1wide__string__input__adapter__coll__graph.png differ diff --git a/docs/d6/dee/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.map b/docs/d6/dee/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.map new file mode 100644 index 00000000..baf35e87 --- /dev/null +++ b/docs/d6/dee/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d6/dee/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.md5 b/docs/d6/dee/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.md5 new file mode 100644 index 00000000..72162cdb --- /dev/null +++ b/docs/d6/dee/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +1c32bc8553599f55638eb89372542564 \ No newline at end of file diff --git a/docs/d6/dee/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.png b/docs/d6/dee/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.png new file mode 100644 index 00000000..e7a08c5f Binary files /dev/null and b/docs/d6/dee/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.png differ diff --git a/docs/d7/d00/classnlohmann_1_1detail_1_1serializer__coll__graph.map b/docs/d7/d00/classnlohmann_1_1detail_1_1serializer__coll__graph.map new file mode 100644 index 00000000..d1eb93b8 --- /dev/null +++ b/docs/d7/d00/classnlohmann_1_1detail_1_1serializer__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d7/d00/classnlohmann_1_1detail_1_1serializer__coll__graph.md5 b/docs/d7/d00/classnlohmann_1_1detail_1_1serializer__coll__graph.md5 new file mode 100644 index 00000000..f1fc55f5 --- /dev/null +++ b/docs/d7/d00/classnlohmann_1_1detail_1_1serializer__coll__graph.md5 @@ -0,0 +1 @@ +2baf75d49d4329cd6cb1a3bee81f5883 \ No newline at end of file diff --git a/docs/d7/d00/classnlohmann_1_1detail_1_1serializer__coll__graph.png b/docs/d7/d00/classnlohmann_1_1detail_1_1serializer__coll__graph.png new file mode 100644 index 00000000..0a9fba99 Binary files /dev/null and b/docs/d7/d00/classnlohmann_1_1detail_1_1serializer__coll__graph.png differ diff --git a/docs/d7/d00/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.map b/docs/d7/d00/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.map new file mode 100644 index 00000000..7dd4e2d7 --- /dev/null +++ b/docs/d7/d00/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d7/d00/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.md5 b/docs/d7/d00/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.md5 new file mode 100644 index 00000000..200c9709 --- /dev/null +++ b/docs/d7/d00/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.md5 @@ -0,0 +1 @@ +fff8abff014a9bde7be297c9e4c50817 \ No newline at end of file diff --git a/docs/d7/d00/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.png b/docs/d7/d00/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.png new file mode 100644 index 00000000..24f0b6bb Binary files /dev/null and b/docs/d7/d00/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.png differ diff --git a/docs/d7/d08/structnlohmann_1_1detail_1_1has__non__default__from__json.html b/docs/d7/d08/structnlohmann_1_1detail_1_1has__non__default__from__json.html new file mode 100644 index 00000000..17398527 --- /dev/null +++ b/docs/d7/d08/structnlohmann_1_1detail_1_1has__non__default__from__json.html @@ -0,0 +1,124 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::has_non_default_from_json< BasicJsonType, T, typename > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::has_non_default_from_json< BasicJsonType, T, typename > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::has_non_default_from_json< BasicJsonType, T, typename >:
    +
    +
    Inheritance graph
    + + +
    +
    +Collaboration diagram for nlohmann::detail::has_non_default_from_json< BasicJsonType, T, typename >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename T, typename = void>
    +struct nlohmann::detail::has_non_default_from_json< BasicJsonType, T, typename >

    + + +

    Definition at line 3516 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html b/docs/d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html new file mode 100644 index 00000000..0d8221a3 --- /dev/null +++ b/docs/d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html @@ -0,0 +1,214 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::internal_iterator< BasicJsonType > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::internal_iterator< BasicJsonType > Struct Template Reference
    +
    +
    + +

    an iterator value + More...

    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::internal_iterator< BasicJsonType >:
    +
    +
    Inheritance graph
    + + + +
    +
    +Collaboration diagram for nlohmann::detail::internal_iterator< BasicJsonType >:
    +
    +
    Collaboration graph
    + + + +
    + + + + + + + + + + + +

    +Public Attributes

    BasicJsonType::object_t::iterator object_iterator {}
     iterator for JSON objects More...
     
    BasicJsonType::array_t::iterator array_iterator {}
     iterator for JSON arrays More...
     
    primitive_iterator_t primitive_iterator {}
     generic iterator for all other types More...
     
    +

    Detailed Description

    +

    template<typename BasicJsonType>
    +struct nlohmann::detail::internal_iterator< BasicJsonType >

    + +

    an iterator value

    +
    Note
    This structure could easily be a union, but MSVC currently does not allow unions members with complex constructors, see https://github.com/nlohmann/json/pull/105.
    + +

    Definition at line 11290 of file json.hpp.

    +

    Member Data Documentation

    + +

    ◆ array_iterator

    + + + +

    ◆ object_iterator

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + +
    BasicJsonType::object_t::iterator nlohmann::detail::internal_iterator< BasicJsonType >::object_iterator {}
    +
    +
    + +

    ◆ primitive_iterator

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + +
    primitive_iterator_t nlohmann::detail::internal_iterator< BasicJsonType >::primitive_iterator {}
    +
    + +

    generic iterator for all other types

    + +

    Definition at line 11297 of file json.hpp.

    + +

    Referenced by nlohmann::detail::iter_impl< BasicJsonType >::operator-(), and nlohmann::detail::iter_impl< BasicJsonType >::operator<().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d7/d10/structnlohmann_1_1detail_1_1internal__iterator.js b/docs/d7/d10/structnlohmann_1_1detail_1_1internal__iterator.js new file mode 100644 index 00000000..8b20f0fc --- /dev/null +++ b/docs/d7/d10/structnlohmann_1_1detail_1_1internal__iterator.js @@ -0,0 +1,6 @@ +var structnlohmann_1_1detail_1_1internal__iterator = +[ + [ "array_iterator", "d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html#a8294a6e6f01b58e1cce8fbae66a50b5d", null ], + [ "object_iterator", "d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html#a8cb0af3498061426c1d0a65ad6220408", null ], + [ "primitive_iterator", "d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html#a2b3bb45f968210e42c282017eeeb63a8", null ] +]; \ No newline at end of file diff --git a/docs/d7/d10/structnlohmann_1_1detail_1_1is__constructible.html b/docs/d7/d10/structnlohmann_1_1detail_1_1is__constructible.html new file mode 100644 index 00000000..2bc8e10f --- /dev/null +++ b/docs/d7/d10/structnlohmann_1_1detail_1_1is__constructible.html @@ -0,0 +1,124 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible< T, Args > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_constructible< T, Args > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_constructible< T, Args >:
    +
    +
    Inheritance graph
    + + +
    +
    +Collaboration diagram for nlohmann::detail::is_constructible< T, Args >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename T, typename... Args>
    +struct nlohmann::detail::is_constructible< T, Args >

    + + +

    Definition at line 3579 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d7/d17/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.map b/docs/d7/d17/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.map new file mode 100644 index 00000000..762f4c69 --- /dev/null +++ b/docs/d7/d17/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d7/d17/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.md5 b/docs/d7/d17/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.md5 new file mode 100644 index 00000000..f2fcf1ed --- /dev/null +++ b/docs/d7/d17/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.md5 @@ -0,0 +1 @@ +fe4749b31f7972ad47e278ee7068083e \ No newline at end of file diff --git a/docs/d7/d17/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.png b/docs/d7/d17/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.png new file mode 100644 index 00000000..6624b36f Binary files /dev/null and b/docs/d7/d17/structnlohmann_1_1detail_1_1has__from__json__inherit__graph.png differ diff --git a/docs/d7/d1c/classBinaryType.html b/docs/d7/d1c/classBinaryType.html new file mode 100644 index 00000000..f37ffea2 --- /dev/null +++ b/docs/d7/d1c/classBinaryType.html @@ -0,0 +1,117 @@ + + + + + + + +CUDNN Frontend API: BinaryType Class Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    BinaryType Class Reference
    +
    +
    +
    +Inheritance diagram for BinaryType:
    +
    +
    Inheritance graph
    + + + +
    +
    +Collaboration diagram for BinaryType:
    +
    +
    Collaboration graph
    + + +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html b/docs/d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html new file mode 100644 index 00000000..40b2e025 --- /dev/null +++ b/docs/d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html @@ -0,0 +1,225 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + + + +

    +Public Types

    using difference_type = typename It::difference_type
     
    using value_type = typename It::value_type
     
    using pointer = typename It::pointer
     
    using reference = typename It::reference
     
    using iterator_category = typename It::iterator_category
     
    +

    Detailed Description

    +

    template<typename It>
    +struct nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >

    + + +

    Definition at line 3226 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ difference_type

    + +
    +
    +
    +template<typename It >
    + + + + +
    using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::difference_type = typename It::difference_type
    +
    + +

    Definition at line 3231 of file json.hpp.

    + +
    +
    + +

    ◆ iterator_category

    + +
    +
    +
    +template<typename It >
    + + + + +
    using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::iterator_category = typename It::iterator_category
    +
    + +

    Definition at line 3235 of file json.hpp.

    + +
    +
    + +

    ◆ pointer

    + +
    +
    +
    +template<typename It >
    + + + + +
    using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::pointer = typename It::pointer
    +
    + +

    Definition at line 3233 of file json.hpp.

    + +
    +
    + +

    ◆ reference

    + +
    +
    +
    +template<typename It >
    + + + + +
    using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::reference = typename It::reference
    +
    + +

    Definition at line 3234 of file json.hpp.

    + +
    +
    + +

    ◆ value_type

    + +
    +
    +
    +template<typename It >
    + + + + +
    using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::value_type = typename It::value_type
    +
    + +

    Definition at line 3232 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.js b/docs/d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.js new file mode 100644 index 00000000..7ae59701 --- /dev/null +++ b/docs/d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.js @@ -0,0 +1,8 @@ +var structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b = +[ + [ "difference_type", "d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#a1ce16c1c8c1d6a195f5a3d3ad31820f0", null ], + [ "iterator_category", "d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#aaaafbcd0573ec9cfc5d19411950dc1ac", null ], + [ "pointer", "d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#aacaf73dc959b7c2119c15e53b5ce00a3", null ], + [ "reference", "d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#a5e82d2d8dabd022b8ff916f2e83a82f2", null ], + [ "value_type", "d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#ac70fcab4cacd8b386c3f2b056885e15e", null ] +]; \ No newline at end of file diff --git a/docs/d7/d1f/structnlohmann_1_1detail_1_1wide__string__input__helper__coll__graph.map b/docs/d7/d1f/structnlohmann_1_1detail_1_1wide__string__input__helper__coll__graph.map new file mode 100644 index 00000000..0e950efa --- /dev/null +++ b/docs/d7/d1f/structnlohmann_1_1detail_1_1wide__string__input__helper__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d7/d1f/structnlohmann_1_1detail_1_1wide__string__input__helper__coll__graph.md5 b/docs/d7/d1f/structnlohmann_1_1detail_1_1wide__string__input__helper__coll__graph.md5 new file mode 100644 index 00000000..77883b6d --- /dev/null +++ b/docs/d7/d1f/structnlohmann_1_1detail_1_1wide__string__input__helper__coll__graph.md5 @@ -0,0 +1 @@ +d787df811cb71245c9bfa4b63bf212bb \ No newline at end of file diff --git a/docs/d7/d1f/structnlohmann_1_1detail_1_1wide__string__input__helper__coll__graph.png b/docs/d7/d1f/structnlohmann_1_1detail_1_1wide__string__input__helper__coll__graph.png new file mode 100644 index 00000000..c30f7a99 Binary files /dev/null and b/docs/d7/d1f/structnlohmann_1_1detail_1_1wide__string__input__helper__coll__graph.png differ diff --git a/docs/d7/d28/classnlohmann_1_1detail_1_1output__stream__adapter-members.html b/docs/d7/d28/classnlohmann_1_1detail_1_1output__stream__adapter-members.html new file mode 100644 index 00000000..cae8d0d8 --- /dev/null +++ b/docs/d7/d28/classnlohmann_1_1detail_1_1output__stream__adapter-members.html @@ -0,0 +1,111 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::output_stream_adapter< CharType > Member List
    +
    + +
    + + + + diff --git a/docs/d7/d32/classnlohmann_1_1detail_1_1binary__reader-members.html b/docs/d7/d32/classnlohmann_1_1detail_1_1binary__reader-members.html new file mode 100644 index 00000000..dba533cb --- /dev/null +++ b/docs/d7/d32/classnlohmann_1_1detail_1_1binary__reader-members.html @@ -0,0 +1,154 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    binary_reader(InputAdapterType &&adapter) noexceptnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineexplicit
    binary_reader(const binary_reader &)=deletenlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >
    binary_reader(binary_reader &&)=defaultnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >
    binary_t typedefnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >private
    char_int_type typedefnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >private
    char_type typedefnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >private
    chars_readnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >private
    currentnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >private
    exception_message(const input_format_t format, const std::string &detail, const std::string &context) constnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get()nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_binary(const input_format_t format, const NumberType len, binary_t &result)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_bson_binary(const NumberType len, binary_t &result)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_bson_cstr(string_t &result)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_bson_string(const NumberType len, string_t &result)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_cbor_array(const std::size_t len, const cbor_tag_handler_t tag_handler)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_cbor_binary(binary_t &result)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_cbor_object(const std::size_t len, const cbor_tag_handler_t tag_handler)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_cbor_string(string_t &result)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_ignore_noop()nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_msgpack_array(const std::size_t len)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_msgpack_binary(binary_t &result)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_msgpack_object(const std::size_t len)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_msgpack_string(string_t &result)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_number(const input_format_t format, NumberType &result)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_string(const input_format_t format, const NumberType len, string_t &result)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_token_string() constnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_ubjson_array()nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_ubjson_high_precision_number()nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_ubjson_object()nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_ubjson_size_type(std::pair< std::size_t, char_int_type > &result)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_ubjson_size_value(std::size_t &result)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_ubjson_string(string_t &result, const bool get_char=true)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    get_ubjson_value(const char_int_type prefix)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    ianlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >private
    is_little_endiannlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >private
    json_sax_t typedefnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >private
    number_float_t typedefnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >private
    number_integer_t typedefnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >private
    number_unsigned_t typedefnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >private
    operator=(const binary_reader &)=deletenlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >
    operator=(binary_reader &&)=defaultnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >
    parse_bson_array()nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    parse_bson_element_internal(const char_int_type element_type, const std::size_t element_type_parse_position)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    parse_bson_element_list(const bool is_array)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    parse_bson_internal()nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    parse_cbor_internal(const bool get_char, const cbor_tag_handler_t tag_handler)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    parse_msgpack_internal()nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    parse_ubjson_internal(const bool get_char=true)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    saxnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >private
    sax_parse(const input_format_t format, json_sax_t *sax_, const bool strict=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inline
    string_t typedefnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >private
    unexpect_eof(const input_format_t format, const char *context) constnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >inlineprivate
    ~binary_reader()=defaultnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >
    +
    + + + + diff --git a/docs/d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html b/docs/d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html new file mode 100644 index 00000000..ed384ed7 --- /dev/null +++ b/docs/d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html @@ -0,0 +1,260 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::external_constructor< value_t::object > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::external_constructor< value_t::object > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::external_constructor< value_t::object >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, const typename BasicJsonType::object_t &obj)
     
    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, typename BasicJsonType::object_t &&obj)
     
    template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< !std::is_same< CompatibleObjectType, typename BasicJsonType::object_t >::value, int > = 0>
    static void construct (BasicJsonType &j, const CompatibleObjectType &obj)
     
    +

    Detailed Description

    +

    template<>
    +struct nlohmann::detail::external_constructor< value_t::object >

    + + +

    Definition at line 4646 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ construct() [1/3]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::external_constructor< value_t::object >::construct (BasicJsonType & j,
    const typename BasicJsonType::object_t & obj 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 4649 of file json.hpp.

    + +

    References nlohmann::detail::object.

    + +
    +
    + +

    ◆ construct() [2/3]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::external_constructor< value_t::object >::construct (BasicJsonType & j,
    typename BasicJsonType::object_t && obj 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 4658 of file json.hpp.

    + +

    References nlohmann::detail::object.

    + +
    +
    + +

    ◆ construct() [3/3]

    + +
    +
    +
    +template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< !std::is_same< CompatibleObjectType, typename BasicJsonType::object_t >::value, int > = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::external_constructor< value_t::object >::construct (BasicJsonType & j,
    const CompatibleObjectType & obj 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 4668 of file json.hpp.

    + +

    References nlohmann::detail::object.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.js b/docs/d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.js new file mode 100644 index 00000000..5c4330d8 --- /dev/null +++ b/docs/d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.js @@ -0,0 +1,6 @@ +var structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4 = +[ + [ "construct", "d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html#a3a369c5d49596dd4411e368425f9ac7a", null ], + [ "construct", "d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html#a1e044961affbd6417386d6e9f1d545e9", null ], + [ "construct", "d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html#a91f89abe0ec4dec59099b691682ff927", null ] +]; \ No newline at end of file diff --git a/docs/d7/d3c/structnlohmann_1_1detail_1_1utility__internal_1_1Extend.html b/docs/d7/d3c/structnlohmann_1_1detail_1_1utility__internal_1_1Extend.html new file mode 100644 index 00000000..dcfe5bee --- /dev/null +++ b/docs/d7/d3c/structnlohmann_1_1detail_1_1utility__internal_1_1Extend.html @@ -0,0 +1,117 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::utility_internal::Extend< Seq, SeqSize, Rem > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::utility_internal::Extend< Seq, SeqSize, Rem > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::utility_internal::Extend< Seq, SeqSize, Rem >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename Seq, size_t SeqSize, size_t Rem>
    +struct nlohmann::detail::utility_internal::Extend< Seq, SeqSize, Rem >

    + + +

    Definition at line 3096 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d7/d3e/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA743c6abbb328073027e2ffd00708cfee.html b/docs/d7/d3e/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA743c6abbb328073027e2ffd00708cfee.html new file mode 100644 index 00000000..503408df --- /dev/null +++ b/docs/d7/d3e/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA743c6abbb328073027e2ffd00708cfee.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > > Member List
    +
    + +
    + + + + diff --git a/docs/d7/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.map b/docs/d7/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.map new file mode 100644 index 00000000..d80e6f24 --- /dev/null +++ b/docs/d7/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d7/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.md5 b/docs/d7/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.md5 new file mode 100644 index 00000000..16261e90 --- /dev/null +++ b/docs/d7/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.md5 @@ -0,0 +1 @@ +656c5ad54f5eab1978fa842011c7f27c \ No newline at end of file diff --git a/docs/d7/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.png b/docs/d7/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.png new file mode 100644 index 00000000..3fcd6568 Binary files /dev/null and b/docs/d7/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc32e1f7176d4f9ce923e40e0b0d186e13.png differ diff --git a/docs/d7/d47/classnlohmann_1_1detail_1_1lexer__base-members.html b/docs/d7/d47/classnlohmann_1_1detail_1_1lexer__base-members.html new file mode 100644 index 00000000..6801e7b5 --- /dev/null +++ b/docs/d7/d47/classnlohmann_1_1detail_1_1lexer__base-members.html @@ -0,0 +1,103 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::lexer_base< BasicJsonType > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::lexer_base< BasicJsonType >, including all inherited members.

    + + + +
    token_type enum namenlohmann::detail::lexer_base< BasicJsonType >
    token_type_name(const token_type t) noexceptnlohmann::detail::lexer_base< BasicJsonType >inlinestatic
    +
    + + + + diff --git a/docs/d7/d47/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.map b/docs/d7/d47/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.map new file mode 100644 index 00000000..aa40d41d --- /dev/null +++ b/docs/d7/d47/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d7/d47/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.md5 b/docs/d7/d47/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.md5 new file mode 100644 index 00000000..8a9f4a23 --- /dev/null +++ b/docs/d7/d47/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.md5 @@ -0,0 +1 @@ +48fa8bb15330b54c653fd483ebd1a8ee \ No newline at end of file diff --git a/docs/d7/d47/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.png b/docs/d7/d47/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.png new file mode 100644 index 00000000..d1c282bb Binary files /dev/null and b/docs/d7/d47/structnlohmann_1_1detail_1_1is__constructible__object__type__inherit__graph.png differ diff --git a/docs/d7/d59/classcudnn__frontend_1_1EngineFallbackList__v8-members.html b/docs/d7/d59/classcudnn__frontend_1_1EngineFallbackList__v8-members.html index c4080b27..069eac8f 100644 --- a/docs/d7/d59/classcudnn__frontend_1_1EngineFallbackList__v8-members.html +++ b/docs/d7/d59/classcudnn__frontend_1_1EngineFallbackList__v8-members.html @@ -103,14 +103,15 @@ initialize_managed_backend_pointer(cudnnBackendDescriptorType_t type)cudnn_frontend::BackendDescriptorinline m_engine_configscudnn_frontend::EngineFallbackList_v8private modecudnn_frontend::EngineFallbackList_v8private - operator=(EngineFallbackList_v8 const &)=deletecudnn_frontend::EngineFallbackList_v8private - opGraphcudnn_frontend::EngineFallbackList_v8private - opGraphTagcudnn_frontend::EngineFallbackList_v8private - pointercudnn_frontend::BackendDescriptorprotected - set_error(const char *message) constcudnn_frontend::BackendDescriptorinline - set_status(cudnnStatus_t const status_) constcudnn_frontend::BackendDescriptorinline - statuscudnn_frontend::BackendDescriptormutableprotected - ~EngineFallbackList_v8()=defaultcudnn_frontend::EngineFallbackList_v8 + num_opscudnn_frontend::EngineFallbackList_v8private + operator=(EngineFallbackList_v8 const &)=deletecudnn_frontend::EngineFallbackList_v8private + opGraphcudnn_frontend::EngineFallbackList_v8private + opGraphTagcudnn_frontend::EngineFallbackList_v8private + pointercudnn_frontend::BackendDescriptorprotected + set_error(const char *message) constcudnn_frontend::BackendDescriptorinline + set_status(cudnnStatus_t const status_) constcudnn_frontend::BackendDescriptorinline + statuscudnn_frontend::BackendDescriptormutableprotected + ~EngineFallbackList_v8()=defaultcudnn_frontend::EngineFallbackList_v8
    diff --git a/docs/d7/d6c/classnlohmann_1_1detail_1_1file__input__adapter-members.html b/docs/d7/d6c/classnlohmann_1_1detail_1_1file__input__adapter-members.html new file mode 100644 index 00000000..65a573ad --- /dev/null +++ b/docs/d7/d6c/classnlohmann_1_1detail_1_1file__input__adapter-members.html @@ -0,0 +1,110 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::file_input_adapter Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::file_input_adapter, including all inherited members.

    + + + + + + + + + + +
    char_type typedefnlohmann::detail::file_input_adapter
    file_input_adapter(std::FILE *f) noexceptnlohmann::detail::file_input_adapterinlineexplicit
    file_input_adapter(const file_input_adapter &)=deletenlohmann::detail::file_input_adapter
    file_input_adapter(file_input_adapter &&) noexcept=defaultnlohmann::detail::file_input_adapter
    get_character() noexceptnlohmann::detail::file_input_adapterinline
    m_filenlohmann::detail::file_input_adapterprivate
    operator=(const file_input_adapter &)=deletenlohmann::detail::file_input_adapter
    operator=(file_input_adapter &&)=deletenlohmann::detail::file_input_adapter
    ~file_input_adapter()=defaultnlohmann::detail::file_input_adapter
    +
    + + + + diff --git a/docs/d7/d75/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.map b/docs/d7/d75/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.map new file mode 100644 index 00000000..d8827954 --- /dev/null +++ b/docs/d7/d75/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d7/d75/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.md5 b/docs/d7/d75/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.md5 new file mode 100644 index 00000000..fd970aa9 --- /dev/null +++ b/docs/d7/d75/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.md5 @@ -0,0 +1 @@ +023c2446281ed56559c323543d0118cf \ No newline at end of file diff --git a/docs/d7/d75/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.png b/docs/d7/d75/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.png new file mode 100644 index 00000000..02d89ada Binary files /dev/null and b/docs/d7/d75/classnlohmann_1_1detail_1_1json__reverse__iterator__inherit__graph.png differ diff --git a/docs/d7/d78/structnlohmann_1_1detail_1_1priority__tag.html b/docs/d7/d78/structnlohmann_1_1detail_1_1priority__tag.html new file mode 100644 index 00000000..e41c2c14 --- /dev/null +++ b/docs/d7/d78/structnlohmann_1_1detail_1_1priority__tag.html @@ -0,0 +1,117 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::priority_tag< N > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::priority_tag< N > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::priority_tag< N >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<unsigned N>
    +struct nlohmann::detail::priority_tag< N >

    + + +

    Definition at line 3159 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d7/d7b/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html b/docs/d7/d7b/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html new file mode 100644 index 00000000..9af46439 --- /dev/null +++ b/docs/d7/d7b/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html @@ -0,0 +1,129 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_default_constructible< const std::pair< T1, T2 > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_default_constructible< const std::pair< T1, T2 > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_default_constructible< const std::pair< T1, T2 > >:
    +
    +
    Inheritance graph
    + + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_default_constructible< const std::pair< T1, T2 > >:
    +
    +
    Collaboration graph
    + + + + +
    +

    Detailed Description

    +

    template<typename T1, typename T2>
    +struct nlohmann::detail::is_default_constructible< const std::pair< T1, T2 > >

    + + +

    Definition at line 3566 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d7/d82/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.map b/docs/d7/d82/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.map new file mode 100644 index 00000000..7420c75e --- /dev/null +++ b/docs/d7/d82/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d7/d82/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.md5 b/docs/d7/d82/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.md5 new file mode 100644 index 00000000..fade4788 --- /dev/null +++ b/docs/d7/d82/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.md5 @@ -0,0 +1 @@ +db44547e9701f54ac9e2323dff1c284e \ No newline at end of file diff --git a/docs/d7/d82/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.png b/docs/d7/d82/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.png new file mode 100644 index 00000000..0d8f8947 Binary files /dev/null and b/docs/d7/d82/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4__coll__graph.png differ diff --git a/docs/d7/d87/classnlohmann_1_1basic__json-members.html b/docs/d7/d87/classnlohmann_1_1basic__json-members.html new file mode 100644 index 00000000..51a037f1 --- /dev/null +++ b/docs/d7/d87/classnlohmann_1_1basic__json-members.html @@ -0,0 +1,404 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ::nlohmann::detail::binary_reader classnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    ::nlohmann::detail::binary_writer classnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    ::nlohmann::detail::exception classnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    ::nlohmann::detail::iter_impl classnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    ::nlohmann::detail::json_sax_dom_callback_parser classnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    ::nlohmann::detail::json_sax_dom_parser classnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    ::nlohmann::detail::parser classnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    __pad0__nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    __pad1__nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    __pad2__nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    __pad3__nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    accept(InputType &&i, const bool ignore_comments=false)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    accept(IteratorType first, IteratorType last, const bool ignore_comments=false)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    accept(detail::span_input_adapter &&i, const bool ignore_comments=false)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    allocator_type typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    arraynlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    array(initializer_list_t init={})nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    array_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    assert_invariant(bool check_parents=true) const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    at(size_type idx)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    at(size_type idx) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    at(const typename object_t::key_type &key)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    at(const typename object_t::key_type &key) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    at(const json_pointer &ptr)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    at(const json_pointer &ptr) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    back()nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    back() constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    basic_json(const value_t v)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    basic_json(std::nullptr_t=nullptr) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    basic_json(CompatibleType &&val) noexcept(noexcept(//NOLINT(bugprone-forwarding-reference-overload, bugprone-exception-escape) JSONSerializer< U >::to_json(std::declval< basic_json_t &>(), std::forward< CompatibleType >(val))))nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    basic_json(const BasicJsonType &val)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    basic_json(initializer_list_t init, bool type_deduction=true, value_t manual_type=value_t::array)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    basic_json(size_type cnt, const basic_json &val)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    basic_json(InputIT first, InputIT last)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    basic_json(const JsonRef &ref)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    basic_json(const basic_json &other)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    basic_json(basic_json &&other) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    basic_json_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    begin() noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    begin() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    binarynlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    binary(const typename binary_t::container_type &init)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    binary(const typename binary_t::container_type &init, std::uint8_t subtype)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    binary(typename binary_t::container_type &&init)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    binary(typename binary_t::container_type &&init, std::uint8_t subtype)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    binary_reader typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    binary_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    binary_writer typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    booleannlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    boolean_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    cbegin() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    cbor_tag_handler_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    cend() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    clear() noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    const_iterator typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    const_pointer typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    const_reference typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    const_reverse_iterator typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    contains(KeyT &&key) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    contains(const json_pointer &ptr) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    count(KeyT &&key) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    crbegin() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    create(Args &&... args)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivatestatic
    crend() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    destroy(value_t t) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    detail::external_constructornlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    diff(const basic_json &source, const basic_json &target, const std::string &path="")nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    difference_type typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    dump(const int indent=-1, const char indent_char=' ', const bool ensure_ascii=false, const error_handler_t error_handler=error_handler_t::strict) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    emplace(Args &&... args)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    emplace_back(Args &&... args)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    empty() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    end() noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    end() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    erase(IteratorType pos)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    erase(IteratorType first, IteratorType last)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    erase(const typename object_t::key_type &key)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    erase(const size_type idx)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    error_handler_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    exception typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    find(KeyT &&key)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    find(KeyT &&key) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    flatten() constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    from_bson(InputType &&i, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    from_bson(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    from_bson(const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    from_bson(detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    from_cbor(InputType &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    from_cbor(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    from_cbor(const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    from_cbor(detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    from_msgpack(InputType &&i, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    from_msgpack(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    from_msgpack(const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    from_msgpack(detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    from_ubjson(InputType &&i, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    from_ubjson(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    from_ubjson(const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    from_ubjson(detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    front()nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    front() constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    get() const noexcept(noexcept(std::declval< const basic_json_t &>().template get_impl< ValueType >(detail::priority_tag< 4 > {}))) -> decltype(std::declval< const basic_json_t &>().template get_impl< ValueType >(detail::priority_tag< 4 >nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    get() noexcept -> decltype(std::declval< basic_json_t &>().template get_ptr< PointerType >())nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    get_allocator()nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    get_binary()nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    get_binary() constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    get_impl(boolean_t *) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl(detail::priority_tag< 0 >) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>(), std::declval< ValueType &>())))nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl(detail::priority_tag< 1 >) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>())))nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl(detail::priority_tag< 2 >) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl(detail::priority_tag< 3 >) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl(detail::priority_tag< 4 >) const noexcept -> decltype(std::declval< const basic_json_t &>().template get_ptr< PointerType >())nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl(detail::priority_tag< 4 > {})nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    get_impl_ptr(object_t *) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl_ptr(const object_t *) const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl_ptr(array_t *) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl_ptr(const array_t *) const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl_ptr(string_t *) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl_ptr(const string_t *) const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl_ptr(boolean_t *) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl_ptr(const boolean_t *) const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl_ptr(number_integer_t *) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl_ptr(const number_integer_t *) const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl_ptr(number_unsigned_t *) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl_ptr(const number_unsigned_t *) const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl_ptr(number_float_t *) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl_ptr(const number_float_t *) const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl_ptr(binary_t *) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_impl_ptr(const binary_t *) const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    get_ptr() noexcept -> decltype(std::declval< basic_json_t &>().get_impl_ptr(std::declval< PointerType >()))nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    get_ptr() const noexcept -> decltype(std::declval< const basic_json_t &>().get_impl_ptr(std::declval< PointerType >()))nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    get_ref()nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    get_ref() constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    get_ref_impl(ThisType &obj)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivatestatic
    get_to(ValueType &v) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>(), v)))nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    get_to(ValueType &v) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    get_to(T(&v)[N]) const noexcept(noexcept(JSONSerializer< Array >::from_json(std::declval< const basic_json_t &>(), v)))nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    initializer_list_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    input_format_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    insert(const_iterator pos, const basic_json &val)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    insert(const_iterator pos, basic_json &&val)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    insert(const_iterator pos, size_type cnt, const basic_json &val)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    insert(const_iterator pos, const_iterator first, const_iterator last)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    insert(const_iterator pos, initializer_list_t ilist)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    insert(const_iterator first, const_iterator last)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    insert_iterator(const_iterator pos, Args &&... args)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    internal_iterator typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    invalid_iterator typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    is_array() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    is_binary() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    is_boolean() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    is_discarded() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    is_null() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    is_number() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    is_number_float() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    is_number_integer() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    is_number_unsigned() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    is_object() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    is_primitive() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    is_string() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    is_structured() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    items() noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    items() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    iter_impl typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    iteration_proxy typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    iterator typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    iterator_wrapper(reference ref) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    iterator_wrapper(const_reference ref) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    json_pointer typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    json_reverse_iterator typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    json_sax_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    json_serializer typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    json_value()=defaultnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    json_value(boolean_t v) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    json_value(number_integer_t v) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    json_value(number_unsigned_t v) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    json_value(number_float_t v) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    json_value(value_t t)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    json_value(const string_t &value)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    json_value(string_t &&value)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    json_value(const object_t &value)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    json_value(object_t &&value)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    json_value(const array_t &value)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    json_value(array_t &&value)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    json_value(const typename binary_t::container_type &value)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    json_value(typename binary_t::container_type &&value)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    json_value(const binary_t &value)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    json_value(binary_t &&value)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    m_valuenlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    max_size() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    merge_patch(const basic_json &apply_patch)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    meta()nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    number_floatnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    number_float_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    number_integernlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    number_integer_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    number_unsignednlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    number_unsigned_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    object(initializer_list_t init={})nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    object_comparator_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    object_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    operator value_t() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    operator ValueType() constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    operator!=(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator!=(const_reference lhs, ScalarType rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator!=(ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator+=(basic_json &&val)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    operator+=(const basic_json &val)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    operator+=(const typename object_t::value_type &val)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    operator+=(initializer_list_t init)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    operator<(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator<(const_reference lhs, ScalarType rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator<(ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator<<(std::ostream &o, const basic_json &j)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator<<(basic_json &j, std::istream &i)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator<=(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator<=(const_reference lhs, ScalarType rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator<=(ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator=(basic_json other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    operator==(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator==(const_reference lhs, ScalarType rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator==(ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator>(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator>(const_reference lhs, ScalarType rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator>(ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator>=(const_reference lhs, const_reference rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator>=(const_reference lhs, ScalarType rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator>=(ScalarType lhs, const_reference rhs) noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator>>(const basic_json &j, std::ostream &o)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator>>(std::istream &i, basic_json &j)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    operator[](size_type idx)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    operator[](size_type idx) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    operator[](const typename object_t::key_type &key)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    operator[](const typename object_t::key_type &key) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    operator[](T *key)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    operator[](T *key) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    operator[](const json_pointer &ptr)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    operator[](const json_pointer &ptr) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    other_error typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    out_of_range typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    output_adapter_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    parse(InputType &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    parse(IteratorType first, IteratorType last, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    parse(detail::span_input_adapter &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    parse_error typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    parse_event_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    parser(InputAdapterType adapter, detail::parser_callback_t< basic_json >cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    parser_callback_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    patch(const basic_json &json_patch) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    pointer typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    primitive_iterator_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    push_back(basic_json &&val)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    push_back(const basic_json &val)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    push_back(const typename object_t::value_type &val)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    push_back(initializer_list_t init)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    rbegin() noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    rbegin() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    reference typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    rend() noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    rend() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    reverse_iterator typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    sax_parse(InputType &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    sax_parse(IteratorType first, IteratorType last, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    sax_parse(detail::span_input_adapter &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    set_parent(reference j)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    set_parents()nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    set_parents(iterator it, typename iterator::difference_type count)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlineprivate
    size() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    size_type typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    stringnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >private
    string_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    swap(reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    swap(reference left, reference right) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >friend
    swap(array_t &other)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    swap(object_t &other)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    swap(string_t &other)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    swap(binary_t &other)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    swap(typename binary_t::container_type &other)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    to_bson(const basic_json &j)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    to_bson(const basic_json &j, detail::output_adapter< uint8_t > o)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    to_bson(const basic_json &j, detail::output_adapter< char > o)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    to_cbor(const basic_json &j)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    to_cbor(const basic_json &j, detail::output_adapter< uint8_t > o)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    to_cbor(const basic_json &j, detail::output_adapter< char > o)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    to_msgpack(const basic_json &j)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    to_msgpack(const basic_json &j, detail::output_adapter< uint8_t > o)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    to_msgpack(const basic_json &j, detail::output_adapter< char > o)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    to_ubjson(const basic_json &j, const bool use_size=false, const bool use_type=false)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    to_ubjson(const basic_json &j, detail::output_adapter< uint8_t > o, const bool use_size=false, const bool use_type=false)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    to_ubjson(const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inlinestatic
    type() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    type_error typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    type_name() const noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    unflatten() constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    update(const_reference j)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    update(const_iterator first, const_iterator last)nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    value(const typename object_t::key_type &key, const ValueType &default_value) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    value(const typename object_t::key_type &key, const char *default_value) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    value(const json_pointer &ptr, const ValueType &default_value) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    value(const json_pointer &ptr, const char *default_value) constnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    value_t typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    value_type typedefnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
    ~basic_json() noexceptnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >inline
    +
    + + + + diff --git a/docs/d7/d8f/classcudnn__frontend_1_1EngineFallbackListBuilder__v8__coll__graph.map b/docs/d7/d8f/classcudnn__frontend_1_1EngineFallbackListBuilder__v8__coll__graph.map index a9c3a647..ff011eb2 100644 --- a/docs/d7/d8f/classcudnn__frontend_1_1EngineFallbackListBuilder__v8__coll__graph.map +++ b/docs/d7/d8f/classcudnn__frontend_1_1EngineFallbackListBuilder__v8__coll__graph.map @@ -1,7 +1,7 @@ - - - - - + + + + + diff --git a/docs/d7/d8f/classcudnn__frontend_1_1EngineFallbackListBuilder__v8__coll__graph.md5 b/docs/d7/d8f/classcudnn__frontend_1_1EngineFallbackListBuilder__v8__coll__graph.md5 index cae7275a..ad1ad81f 100644 --- a/docs/d7/d8f/classcudnn__frontend_1_1EngineFallbackListBuilder__v8__coll__graph.md5 +++ b/docs/d7/d8f/classcudnn__frontend_1_1EngineFallbackListBuilder__v8__coll__graph.md5 @@ -1 +1 @@ -64907f2f895b813cc129158cedf26bc7 \ No newline at end of file +a955b716549f405adef65ed75ee54767 \ No newline at end of file diff --git a/docs/d7/d8f/classcudnn__frontend_1_1EngineFallbackListBuilder__v8__coll__graph.png b/docs/d7/d8f/classcudnn__frontend_1_1EngineFallbackListBuilder__v8__coll__graph.png index d3ec121a..71f454af 100644 Binary files a/docs/d7/d8f/classcudnn__frontend_1_1EngineFallbackListBuilder__v8__coll__graph.png and b/docs/d7/d8f/classcudnn__frontend_1_1EngineFallbackListBuilder__v8__coll__graph.png differ diff --git a/docs/d7/d94/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.map b/docs/d7/d94/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.map new file mode 100644 index 00000000..9a6dc8ba --- /dev/null +++ b/docs/d7/d94/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d7/d94/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.md5 b/docs/d7/d94/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.md5 new file mode 100644 index 00000000..39b9b69e --- /dev/null +++ b/docs/d7/d94/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +379c573c092300b8b3a5173b3897b727 \ No newline at end of file diff --git a/docs/d7/d94/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.png b/docs/d7/d94/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.png new file mode 100644 index 00000000..7a5e3257 Binary files /dev/null and b/docs/d7/d94/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__coll__graph.png differ diff --git a/docs/d7/d9f/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4-members.html b/docs/d7/d9f/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4-members.html new file mode 100644 index 00000000..b4db5366 --- /dev/null +++ b/docs/d7/d9f/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::external_constructor< value_t::number_unsigned > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::external_constructor< value_t::number_unsigned >, including all inherited members.

    + + +
    construct(BasicJsonType &j, typename BasicJsonType::number_unsigned_t val) noexceptnlohmann::detail::external_constructor< value_t::number_unsigned >inlinestatic
    +
    + + + + diff --git a/docs/d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html b/docs/d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html new file mode 100644 index 00000000..29fa54b9 --- /dev/null +++ b/docs/d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html @@ -0,0 +1,178 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Public Types

    using object_t = typename BasicJsonType::object_t
     
    + + + +

    +Static Public Attributes

    static constexpr bool value
     
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename CompatibleObjectType>
    +struct nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >

    + + +

    Definition at line 3627 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ object_t

    + +
    +
    +
    +template<typename BasicJsonType , typename CompatibleObjectType >
    + + + + +
    using nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >::object_t = typename BasicJsonType::object_t
    +
    + +

    Definition at line 3632 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ value

    + +
    +
    +
    +template<typename BasicJsonType , typename CompatibleObjectType >
    + + + + + +
    + + + + +
    constexpr bool nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >::value
    +
    +static
    +
    +Initial value:
    =
    is_constructible<typename object_t::key_type,
    typename CompatibleObjectType::key_type>::value &&
    is_constructible<typename object_t::mapped_type,
    typename CompatibleObjectType::mapped_type>::value
    +

    Definition at line 3635 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.js b/docs/d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.js new file mode 100644 index 00000000..63a293cb --- /dev/null +++ b/docs/d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.js @@ -0,0 +1,5 @@ +var structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9 = +[ + [ "object_t", "d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html#ab019855b17c1a0cb16fda6731f338afc", null ], + [ "value", "d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html#a74b723d759119148c44a5e0899956a72", null ] +]; \ No newline at end of file diff --git a/docs/d7/db5/classnlohmann_1_1detail_1_1invalid__iterator-members.html b/docs/d7/db5/classnlohmann_1_1detail_1_1invalid__iterator-members.html new file mode 100644 index 00000000..bc417ba3 --- /dev/null +++ b/docs/d7/db5/classnlohmann_1_1detail_1_1invalid__iterator-members.html @@ -0,0 +1,108 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::invalid_iterator Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::invalid_iterator, including all inherited members.

    + + + + + + + + +
    create(int id_, const std::string &what_arg, const BasicJsonType &context)nlohmann::detail::invalid_iteratorinlinestatic
    diagnostics(const BasicJsonType &leaf_element)nlohmann::detail::exceptioninlineprotectedstatic
    exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
    idnlohmann::detail::exception
    invalid_iterator(int id_, const char *what_arg)nlohmann::detail::invalid_iteratorinlineprivate
    name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
    what() const noexcept overridenlohmann::detail::exceptioninline
    +
    + + + + diff --git a/docs/d7/db6/classnlohmann_1_1detail_1_1binary__reader__coll__graph.map b/docs/d7/db6/classnlohmann_1_1detail_1_1binary__reader__coll__graph.map new file mode 100644 index 00000000..cbd79676 --- /dev/null +++ b/docs/d7/db6/classnlohmann_1_1detail_1_1binary__reader__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d7/db6/classnlohmann_1_1detail_1_1binary__reader__coll__graph.md5 b/docs/d7/db6/classnlohmann_1_1detail_1_1binary__reader__coll__graph.md5 new file mode 100644 index 00000000..bcfbd96c --- /dev/null +++ b/docs/d7/db6/classnlohmann_1_1detail_1_1binary__reader__coll__graph.md5 @@ -0,0 +1 @@ +100d50befd78ce7dcca5fac5f0047916 \ No newline at end of file diff --git a/docs/d7/db6/classnlohmann_1_1detail_1_1binary__reader__coll__graph.png b/docs/d7/db6/classnlohmann_1_1detail_1_1binary__reader__coll__graph.png new file mode 100644 index 00000000..a626af61 Binary files /dev/null and b/docs/d7/db6/classnlohmann_1_1detail_1_1binary__reader__coll__graph.png differ diff --git a/docs/d7/db6/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.map b/docs/d7/db6/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.map new file mode 100644 index 00000000..627c2176 --- /dev/null +++ b/docs/d7/db6/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d7/db6/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.md5 b/docs/d7/db6/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.md5 new file mode 100644 index 00000000..8ff3c711 --- /dev/null +++ b/docs/d7/db6/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.md5 @@ -0,0 +1 @@ +1b1a958ff5c0e89c3778b9d08cc21aca \ No newline at end of file diff --git a/docs/d7/db6/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.png b/docs/d7/db6/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.png new file mode 100644 index 00000000..a318211e Binary files /dev/null and b/docs/d7/db6/structnlohmann_1_1detail_1_1is__compatible__array__type__coll__graph.png differ diff --git a/docs/d7/dc2/structnlohmann_1_1detail_1_1iterator__traits__coll__graph.map b/docs/d7/dc2/structnlohmann_1_1detail_1_1iterator__traits__coll__graph.map new file mode 100644 index 00000000..cbe4ac9f --- /dev/null +++ b/docs/d7/dc2/structnlohmann_1_1detail_1_1iterator__traits__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d7/dc2/structnlohmann_1_1detail_1_1iterator__traits__coll__graph.md5 b/docs/d7/dc2/structnlohmann_1_1detail_1_1iterator__traits__coll__graph.md5 new file mode 100644 index 00000000..12164f28 --- /dev/null +++ b/docs/d7/dc2/structnlohmann_1_1detail_1_1iterator__traits__coll__graph.md5 @@ -0,0 +1 @@ +2704bcbaa2e84f22cf830cf21a1e7ce4 \ No newline at end of file diff --git a/docs/d7/dc2/structnlohmann_1_1detail_1_1iterator__traits__coll__graph.png b/docs/d7/dc2/structnlohmann_1_1detail_1_1iterator__traits__coll__graph.png new file mode 100644 index 00000000..08b735ba Binary files /dev/null and b/docs/d7/dc2/structnlohmann_1_1detail_1_1iterator__traits__coll__graph.png differ diff --git a/docs/d7/dce/structnlohmann_1_1detail_1_1is__iterator__of__multibyte-members.html b/docs/d7/dce/structnlohmann_1_1detail_1_1is__iterator__of__multibyte-members.html new file mode 100644 index 00000000..d3a486b3 --- /dev/null +++ b/docs/d7/dce/structnlohmann_1_1detail_1_1is__iterator__of__multibyte-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_iterator_of_multibyte< T > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::is_iterator_of_multibyte< T >, including all inherited members.

    + + +
    value_type typedefnlohmann::detail::is_iterator_of_multibyte< T >
    +
    + + + + diff --git a/docs/d7/dd8/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_ca39dfd36e8019e57b294231132c281f.map b/docs/d7/dd8/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_ca39dfd36e8019e57b294231132c281f.map new file mode 100644 index 00000000..fa18d44d --- /dev/null +++ b/docs/d7/dd8/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_ca39dfd36e8019e57b294231132c281f.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d7/dd8/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_ca39dfd36e8019e57b294231132c281f.md5 b/docs/d7/dd8/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_ca39dfd36e8019e57b294231132c281f.md5 new file mode 100644 index 00000000..6bd3ae3f --- /dev/null +++ b/docs/d7/dd8/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_ca39dfd36e8019e57b294231132c281f.md5 @@ -0,0 +1 @@ +bad9d539c475158fab276f01ac2e5091 \ No newline at end of file diff --git a/docs/d7/dd8/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_ca39dfd36e8019e57b294231132c281f.png b/docs/d7/dd8/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_ca39dfd36e8019e57b294231132c281f.png new file mode 100644 index 00000000..66d00aeb Binary files /dev/null and b/docs/d7/dd8/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_ca39dfd36e8019e57b294231132c281f.png differ diff --git a/docs/d7/ddf/classnlohmann_1_1detail_1_1lexer__base__coll__graph.map b/docs/d7/ddf/classnlohmann_1_1detail_1_1lexer__base__coll__graph.map new file mode 100644 index 00000000..ef0e4560 --- /dev/null +++ b/docs/d7/ddf/classnlohmann_1_1detail_1_1lexer__base__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d7/ddf/classnlohmann_1_1detail_1_1lexer__base__coll__graph.md5 b/docs/d7/ddf/classnlohmann_1_1detail_1_1lexer__base__coll__graph.md5 new file mode 100644 index 00000000..9bb72fb2 --- /dev/null +++ b/docs/d7/ddf/classnlohmann_1_1detail_1_1lexer__base__coll__graph.md5 @@ -0,0 +1 @@ +41376d70f40d3d2d3d564f89697e39dd \ No newline at end of file diff --git a/docs/d7/ddf/classnlohmann_1_1detail_1_1lexer__base__coll__graph.png b/docs/d7/ddf/classnlohmann_1_1detail_1_1lexer__base__coll__graph.png new file mode 100644 index 00000000..3a07277e Binary files /dev/null and b/docs/d7/ddf/classnlohmann_1_1detail_1_1lexer__base__coll__graph.png differ diff --git a/docs/d7/dea/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.map b/docs/d7/dea/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.map new file mode 100644 index 00000000..89a126fb --- /dev/null +++ b/docs/d7/dea/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d7/dea/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.md5 b/docs/d7/dea/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.md5 new file mode 100644 index 00000000..d1c098c3 --- /dev/null +++ b/docs/d7/dea/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.md5 @@ -0,0 +1 @@ +8833119955677f9743f0970896134890 \ No newline at end of file diff --git a/docs/d7/dea/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.png b/docs/d7/dea/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.png new file mode 100644 index 00000000..aac8e5d9 Binary files /dev/null and b/docs/d7/dea/structnlohmann_1_1detail_1_1is__json__ref__coll__graph.png differ diff --git a/docs/d7/df2/classnlohmann_1_1detail_1_1output__vector__adapter-members.html b/docs/d7/df2/classnlohmann_1_1detail_1_1output__vector__adapter-members.html new file mode 100644 index 00000000..5e258886 --- /dev/null +++ b/docs/d7/df2/classnlohmann_1_1detail_1_1output__vector__adapter-members.html @@ -0,0 +1,111 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::output_vector_adapter< CharType > Member List
    +
    + +
    + + + + diff --git a/docs/d7/dff/cudnn__frontend__Errata_8h__incl.map b/docs/d7/dff/cudnn__frontend__Errata_8h__incl.map new file mode 100644 index 00000000..041f18fa --- /dev/null +++ b/docs/d7/dff/cudnn__frontend__Errata_8h__incl.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d7/dff/cudnn__frontend__Errata_8h__incl.md5 b/docs/d7/dff/cudnn__frontend__Errata_8h__incl.md5 new file mode 100644 index 00000000..8ee7d2bf --- /dev/null +++ b/docs/d7/dff/cudnn__frontend__Errata_8h__incl.md5 @@ -0,0 +1 @@ +a2d7431b52d924b6f25b93dba687df67 \ No newline at end of file diff --git a/docs/d7/dff/cudnn__frontend__Errata_8h__incl.png b/docs/d7/dff/cudnn__frontend__Errata_8h__incl.png new file mode 100644 index 00000000..8aca12bb Binary files /dev/null and b/docs/d7/dff/cudnn__frontend__Errata_8h__incl.png differ diff --git a/docs/d8/d00/cudnn__frontend__ExecutionPlan_8h__incl.map b/docs/d8/d00/cudnn__frontend__ExecutionPlan_8h__incl.map index 37f45dac..b4f0c2ad 100644 --- a/docs/d8/d00/cudnn__frontend__ExecutionPlan_8h__incl.map +++ b/docs/d8/d00/cudnn__frontend__ExecutionPlan_8h__incl.map @@ -1,11 +1,12 @@ - - - - - - - - - + + + + + + + + + + diff --git a/docs/d8/d00/cudnn__frontend__ExecutionPlan_8h__incl.md5 b/docs/d8/d00/cudnn__frontend__ExecutionPlan_8h__incl.md5 index 583956a6..7e30bb6b 100644 --- a/docs/d8/d00/cudnn__frontend__ExecutionPlan_8h__incl.md5 +++ b/docs/d8/d00/cudnn__frontend__ExecutionPlan_8h__incl.md5 @@ -1 +1 @@ -3e032407e6484b1e4b16ea0677b89f4e \ No newline at end of file +580f4d3ae8eb980b0244bbc3eb73783b \ No newline at end of file diff --git a/docs/d8/d00/cudnn__frontend__ExecutionPlan_8h__incl.png b/docs/d8/d00/cudnn__frontend__ExecutionPlan_8h__incl.png index a14694f5..23de2a51 100644 Binary files a/docs/d8/d00/cudnn__frontend__ExecutionPlan_8h__incl.png and b/docs/d8/d00/cudnn__frontend__ExecutionPlan_8h__incl.png differ diff --git a/docs/d8/d04/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.map b/docs/d8/d04/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.map new file mode 100644 index 00000000..72bf92cc --- /dev/null +++ b/docs/d8/d04/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d8/d04/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.md5 b/docs/d8/d04/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.md5 new file mode 100644 index 00000000..3a81fc20 --- /dev/null +++ b/docs/d8/d04/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.md5 @@ -0,0 +1 @@ +27ecede308fc40306916a68a7bc47daa \ No newline at end of file diff --git a/docs/d8/d04/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.png b/docs/d8/d04/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.png new file mode 100644 index 00000000..2331de07 Binary files /dev/null and b/docs/d8/d04/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__coll__graph.png differ diff --git a/docs/d8/d0b/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.map b/docs/d8/d0b/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.map new file mode 100644 index 00000000..76a58b82 --- /dev/null +++ b/docs/d8/d0b/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d8/d0b/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.md5 b/docs/d8/d0b/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.md5 new file mode 100644 index 00000000..7185bbd2 --- /dev/null +++ b/docs/d8/d0b/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.md5 @@ -0,0 +1 @@ +5dec242b3fac25778f301c846508e488 \ No newline at end of file diff --git a/docs/d8/d0b/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.png b/docs/d8/d0b/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.png new file mode 100644 index 00000000..f8d0f44a Binary files /dev/null and b/docs/d8/d0b/structnlohmann_1_1detail_1_1is__compatible__string__type__coll__graph.png differ diff --git a/docs/d8/d22/classnlohmann_1_1detail_1_1lexer.html b/docs/d8/d22/classnlohmann_1_1detail_1_1lexer.html new file mode 100644 index 00000000..79fec699 --- /dev/null +++ b/docs/d8/d22/classnlohmann_1_1detail_1_1lexer.html @@ -0,0 +1,1897 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::lexer< BasicJsonType, InputAdapterType > Class Template Reference
    +
    +
    + +

    lexical analysis + More...

    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::lexer< BasicJsonType, InputAdapterType >:
    +
    +
    Inheritance graph
    + + + +
    +
    +Collaboration diagram for nlohmann::detail::lexer< BasicJsonType, InputAdapterType >:
    +
    +
    Collaboration graph
    + + + + + +
    + + + + + + + + +

    +Public Types

    using token_type = typename lexer_base< BasicJsonType >::token_type
     
    - Public Types inherited from nlohmann::detail::lexer_base< BasicJsonType >
    enum  token_type {
    +  token_type::uninitialized, +
    +  token_type::literal_true, +
    +  token_type::literal_false, +
    +  token_type::literal_null, +
    +  token_type::value_string, +
    +  token_type::value_unsigned, +
    +  token_type::value_integer, +
    +  token_type::value_float, +
    +  token_type::begin_array, +
    +  token_type::begin_object, +
    +  token_type::end_array, +
    +  token_type::end_object, +
    +  token_type::name_separator, +
    +  token_type::value_separator, +
    +  token_type::parse_error, +
    +  token_type::end_of_input, +
    +  token_type::literal_or_value +
    + }
     token types for the parser More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     lexer (InputAdapterType &&adapter, bool ignore_comments_=false) noexcept
     
     lexer (const lexer &)=delete
     
     lexer (lexer &&)=default
     
    lexeroperator= (lexer &)=delete
     
    lexeroperator= (lexer &&)=default
     
     ~lexer ()=default
     
    constexpr number_integer_t get_number_integer () const noexcept
     return integer value More...
     
    constexpr number_unsigned_t get_number_unsigned () const noexcept
     return unsigned integer value More...
     
    constexpr number_float_t get_number_float () const noexcept
     return floating-point value More...
     
    string_tget_string ()
     return current string value (implicitly resets the token; useful only once) More...
     
    constexpr position_t get_position () const noexcept
     return position of last read token More...
     
    std::string get_token_string () const
     
    JSON_HEDLEY_RETURNS_NON_NULL constexpr const char * get_error_message () const noexcept
     return syntax error message More...
     
    bool skip_bom ()
     skip the UTF-8 byte order mark More...
     
    void skip_whitespace ()
     
    token_type scan ()
     
    + + + + + + + + + + + + + +

    +Private Types

    using number_integer_t = typename BasicJsonType::number_integer_t
     
    using number_unsigned_t = typename BasicJsonType::number_unsigned_t
     
    using number_float_t = typename BasicJsonType::number_float_t
     
    using string_t = typename BasicJsonType::string_t
     
    using char_type = typename InputAdapterType::char_type
     
    using char_int_type = typename std::char_traits< char_type >::int_type
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Private Member Functions

    int get_codepoint ()
     get codepoint from 4 hex characters following \u More...
     
    bool next_byte_in_range (std::initializer_list< char_int_type > ranges)
     check if the next byte(s) are inside a given range More...
     
    token_type scan_string ()
     scan a string literal More...
     
    bool scan_comment ()
     scan a comment More...
     
    token_type scan_number ()
     scan a number literal More...
     
    token_type scan_literal (const char_type *literal_text, const std::size_t length, token_type return_type)
     
    void reset () noexcept
     reset token_buffer; current character is beginning of token More...
     
    char_int_type get ()
     
    void unget ()
     unget current character (read it again on next get) More...
     
    void add (char_int_type c)
     add a character to token_buffer More...
     
    + + + + + + + + + + +

    +Static Private Member Functions

    static JSON_HEDLEY_PURE char get_decimal_point () noexcept
     return the locale-dependent decimal point More...
     
    static void strtof (float &f, const char *str, char **endptr) noexcept
     
    static void strtof (double &f, const char *str, char **endptr) noexcept
     
    static void strtof (long double &f, const char *str, char **endptr) noexcept
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Private Attributes

    InputAdapterType ia
     input adapter More...
     
    const bool ignore_comments = false
     whether comments should be ignored (true) or signaled as errors (false) More...
     
    char_int_type current = std::char_traits<char_type>::eof()
     the current character More...
     
    bool next_unget = false
     whether the next get() call should just return current More...
     
    position_t position {}
     the start position of the current token More...
     
    std::vector< char_typetoken_string {}
     raw input token string (for error messages) More...
     
    string_t token_buffer {}
     buffer for variable-length tokens (numbers, strings) More...
     
    const char * error_message = ""
     a description of occurred lexer errors More...
     
    number_integer_t value_integer = 0
     
    number_unsigned_t value_unsigned = 0
     
    number_float_t value_float = 0
     
    const char_int_type decimal_point_char = '.'
     the decimal point More...
     
    + + + + + +

    +Additional Inherited Members

    - Static Public Member Functions inherited from nlohmann::detail::lexer_base< BasicJsonType >
    JSON_HEDLEY_RETURNS_NON_NULL static JSON_HEDLEY_CONST const char * token_type_name (const token_type t) noexcept
     return name of values of type token_type (only used for errors) More...
     
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename InputAdapterType>
    +class nlohmann::detail::lexer< BasicJsonType, InputAdapterType >

    + +

    lexical analysis

    +

    This class organizes the lexical analysis during JSON deserialization.

    + +

    Definition at line 6526 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ char_int_type

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    using nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::char_int_type = typename std::char_traits<char_type>::int_type
    +
    +private
    +
    + +

    Definition at line 6533 of file json.hpp.

    + +
    +
    + +

    ◆ char_type

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    using nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::char_type = typename InputAdapterType::char_type
    +
    +private
    +
    + +

    Definition at line 6532 of file json.hpp.

    + +
    +
    + +

    ◆ number_float_t

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    using nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::number_float_t = typename BasicJsonType::number_float_t
    +
    +private
    +
    + +

    Definition at line 6530 of file json.hpp.

    + +
    +
    + +

    ◆ number_integer_t

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    using nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::number_integer_t = typename BasicJsonType::number_integer_t
    +
    +private
    +
    + +

    Definition at line 6528 of file json.hpp.

    + +
    +
    + +

    ◆ number_unsigned_t

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    using nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
    +
    +private
    +
    + +

    Definition at line 6529 of file json.hpp.

    + +
    +
    + +

    ◆ string_t

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    using nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::string_t = typename BasicJsonType::string_t
    +
    +private
    +
    + +

    Definition at line 6531 of file json.hpp.

    + +
    +
    + +

    ◆ token_type

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + +
    using nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::token_type = typename lexer_base<BasicJsonType>::token_type
    +
    + +

    Definition at line 6536 of file json.hpp.

    + +
    +
    +

    Constructor & Destructor Documentation

    + +

    ◆ lexer() [1/3]

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::lexer (InputAdapterType && adapter,
    bool ignore_comments_ = false 
    )
    +
    +inlineexplicitnoexcept
    +
    + +

    Definition at line 6538 of file json.hpp.

    + +

    References JSON_HEDLEY_PURE.

    + +
    +
    + +

    ◆ lexer() [2/3]

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::lexer (const lexer< BasicJsonType, InputAdapterType > & )
    +
    +delete
    +
    + +
    +
    + +

    ◆ lexer() [3/3]

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::lexer (lexer< BasicJsonType, InputAdapterType > && )
    +
    +default
    +
    + +
    +
    + +

    ◆ ~lexer()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::~lexer ()
    +
    +default
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ add()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + + +
    void nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::add (char_int_type c)
    +
    +inlineprivate
    +
    + +

    add a character to token_buffer

    + +

    Definition at line 7816 of file json.hpp.

    + +
    +
    + +

    ◆ get()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    char_int_type nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get ()
    +
    +inlineprivate
    +
    + +

    Definition at line 7752 of file json.hpp.

    + +

    References JSON_HEDLEY_LIKELY.

    + +
    +
    + +

    ◆ get_codepoint()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    int nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_codepoint ()
    +
    +inlineprivate
    +
    + +

    get codepoint from 4 hex characters following \u

    +

    For input "\u c1 c2 c3 c4" the codepoint is: (c1 * 0x1000) + (c2 * 0x0100) + (c3 * 0x0010) + c4 = (c1 << 12) + (c2 << 8) + (c3 << 4) + (c4 << 0)

    +

    Furthermore, the possible characters '0'..'9', 'A'..'F', and 'a'..'f' must be converted to the integers 0x0..0x9, 0xA..0xF, 0xA..0xF, resp. The conversion is done by subtracting the offset (0x30, 0x37, and 0x57) between the ASCII value of the character and the desired integer value.

    +
    Returns
    codepoint (0x0000..0xFFFF) or -1 in case of an error (e.g. EOF or non-hex character)
    + +

    Definition at line 6584 of file json.hpp.

    + +

    References JSON_ASSERT.

    + +
    +
    + +

    ◆ get_decimal_point()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    static JSON_HEDLEY_PURE char nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_decimal_point ()
    +
    +inlinestaticprivatenoexcept
    +
    + +

    return the locale-dependent decimal point

    + +

    Definition at line 6558 of file json.hpp.

    + +

    References JSON_ASSERT.

    + +
    +
    + +

    ◆ get_error_message()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    JSON_HEDLEY_RETURNS_NON_NULL constexpr const char* nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_error_message () const
    +
    +inlinenoexcept
    +
    + +

    return syntax error message

    + +

    Definition at line 7888 of file json.hpp.

    + +
    +
    + +

    ◆ get_number_float()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    constexpr number_float_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_number_float () const
    +
    +inlinenoexcept
    +
    + +

    return floating-point value

    + +

    Definition at line 7839 of file json.hpp.

    + +
    +
    + +

    ◆ get_number_integer()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    constexpr number_integer_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_number_integer () const
    +
    +inlinenoexcept
    +
    + +

    return integer value

    + +

    Definition at line 7827 of file json.hpp.

    + +
    +
    + +

    ◆ get_number_unsigned()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    constexpr number_unsigned_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_number_unsigned () const
    +
    +inlinenoexcept
    +
    + +

    return unsigned integer value

    + +

    Definition at line 7833 of file json.hpp.

    + +
    +
    + +

    ◆ get_position()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    constexpr position_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_position () const
    +
    +inlinenoexcept
    +
    + +

    return position of last read token

    + +

    Definition at line 7855 of file json.hpp.

    + +
    +
    + +

    ◆ get_string()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    string_t& nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_string ()
    +
    +inline
    +
    + +

    return current string value (implicitly resets the token; useful only once)

    + +

    Definition at line 7845 of file json.hpp.

    + +
    +
    + +

    ◆ get_token_string()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    std::string nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_token_string () const
    +
    +inline
    +
    +

    return the last read token (for errors only). Will never contain EOF (an arbitrary value that is not a valid char value, often -1), because 255 may legitimately occur. May contain NUL, which should be escaped.

    + +

    Definition at line 7863 of file json.hpp.

    + +

    References JSON_HEDLEY_RETURNS_NON_NULL, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ next_byte_in_range()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::next_byte_in_range (std::initializer_list< char_int_typeranges)
    +
    +inlineprivate
    +
    + +

    check if the next byte(s) are inside a given range

    +

    Adds the current byte and, for each passed range, reads a new byte and checks if it is inside the range. If a violation was detected, set up an error message and return false. Otherwise, return true.

    +
    Parameters
    + + +
    [in]rangeslist of integers; interpreted as list of pairs of inclusive lower and upper bound, respectively
    +
    +
    +
    Precondition
    The passed list ranges must have 2, 4, or 6 elements; that is, 1, 2, or 3 pairs. This precondition is enforced by an assertion.
    +
    Returns
    true if and only if no range violation was detected
    + +

    Definition at line 6632 of file json.hpp.

    + +

    References JSON_ASSERT, and JSON_HEDLEY_LIKELY.

    + +
    +
    + +

    ◆ operator=() [1/2]

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + + +
    lexer& nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::operator= (lexer< BasicJsonType, InputAdapterType > & )
    +
    +delete
    +
    + +
    +
    + +

    ◆ operator=() [2/2]

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + + +
    lexer& nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::operator= (lexer< BasicJsonType, InputAdapterType > && )
    +
    +default
    +
    + +
    +
    + +

    ◆ reset()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    void nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::reset ()
    +
    +inlineprivatenoexcept
    +
    + +

    reset token_buffer; current character is beginning of token

    + +

    Definition at line 7735 of file json.hpp.

    + +
    +
    + +

    ◆ scan()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    token_type nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan ()
    +
    +inline
    +
    +
    + +

    ◆ scan_comment()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    bool nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_comment ()
    +
    +inlineprivate
    +
    + +

    scan a comment

    +
    Returns
    whether comment could be scanned successfully
    + +

    Definition at line 7259 of file json.hpp.

    + +

    References JSON_HEDLEY_NON_NULL.

    + +
    +
    + +

    ◆ scan_literal()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    token_type nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_literal (const char_typeliteral_text,
    const std::size_t length,
    token_type return_type 
    )
    +
    +inlineprivate
    +
    +
    Parameters
    + + + + +
    [in]literal_textthe literal text to expect
    [in]lengththe length of the passed literal text
    [in]return_typethe token type to return on success
    +
    +
    + +

    Definition at line 7715 of file json.hpp.

    + +

    References JSON_ASSERT, and JSON_HEDLEY_UNLIKELY.

    + +
    +
    + +

    ◆ scan_number()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    token_type nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_number ()
    +
    +inlineprivate
    +
    + +

    scan a number literal

    +

    This function scans a string according to Sect. 6 of RFC 8259.

    +

    The function is realized with a deterministic finite state machine derived from the grammar described in RFC 8259. Starting in state "init", the input is read and used to determined the next state. Only state "done" accepts the number. State "error" is a trap state to model errors. In the table below, "anything" means any character but the ones listed before.

    + + + + + + + + + + + + + + + + + + + + + +
    state 0 1-9 e E + - . anything
    init zero any1 [error] [error] minus [error] [error]
    minus zero any1 [error] [error] [error] [error] [error]
    zero done done exponent done done decimal1 done
    any1 any1 any1 exponent done done decimal1 done
    decimal1 decimal2 decimal2 [error] [error] [error] [error] [error]
    decimal2 decimal2 decimal2 exponent done done done done
    exponent any2 any2 [error] sign sign [error] [error]
    sign any2 any2 [error] [error] [error] [error] [error]
    any2 any2 any2 done done done done done
    +

    The state machine is realized with one label per state (prefixed with "scan_number_") and goto statements between them. The state machine contains cycles, but any cycle can be left when EOF is read. Therefore, the function is guaranteed to terminate.

    +

    During scanning, the read bytes are stored in token_buffer. This string is then converted to a signed integer, an unsigned integer, or a floating-point number.

    +
    Returns
    token_type::value_unsigned, token_type::value_integer, or token_type::value_float if number could be successfully scanned, token_type::parse_error otherwise
    +
    Note
    The scanner is independent of the current locale. Internally, the locale's decimal point is used instead of . to work with the locale-dependent converters.
    + +

    Definition at line 7384 of file json.hpp.

    + +

    References JSON_ASSERT, and JSON_HEDLEY_NON_NULL.

    + +
    +
    + +

    ◆ scan_string()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    token_type nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_string ()
    +
    +inlineprivate
    +
    + +

    scan a string literal

    +

    This function scans a string according to Sect. 7 of RFC 8259. While scanning, bytes are escaped and copied into buffer token_buffer. Then the function returns successfully, token_buffer is not null-terminated (as it may contain \0 bytes), and token_buffer.size() is the number of bytes in the string.

    +
    Returns
    token_type::value_string if string could be successfully scanned, token_type::parse_error otherwise
    +
    Note
    In case of errors, variable error_message contains a textual description.
    + +

    Definition at line 6669 of file json.hpp.

    + +

    References JSON_ASSERT, JSON_HEDLEY_LIKELY, and JSON_HEDLEY_UNLIKELY.

    + +
    +
    + +

    ◆ skip_bom()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    bool nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::skip_bom ()
    +
    +inline
    +
    + +

    skip the UTF-8 byte order mark

    +
    Returns
    true iff there is no BOM or the correct BOM has been skipped
    + +

    Definition at line 7901 of file json.hpp.

    + +
    +
    + +

    ◆ skip_whitespace()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    void nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::skip_whitespace ()
    +
    +inline
    +
    + +

    Definition at line 7915 of file json.hpp.

    + +
    +
    + +

    ◆ strtof() [1/3]

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::strtof (float & f,
    const char * str,
    char ** endptr 
    )
    +
    +inlinestaticprivatenoexcept
    +
    + +

    Definition at line 7327 of file json.hpp.

    + +

    References JSON_HEDLEY_NON_NULL.

    + +
    +
    + +

    ◆ strtof() [2/3]

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::strtof (double & f,
    const char * str,
    char ** endptr 
    )
    +
    +inlinestaticprivatenoexcept
    +
    + +

    Definition at line 7333 of file json.hpp.

    + +

    References JSON_HEDLEY_NON_NULL.

    + +
    +
    + +

    ◆ strtof() [3/3]

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::strtof (long double & f,
    const char * str,
    char ** endptr 
    )
    +
    +inlinestaticprivatenoexcept
    +
    + +

    Definition at line 7339 of file json.hpp.

    + +
    +
    + +

    ◆ unget()

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + + + + +
    void nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::unget ()
    +
    +inlineprivate
    +
    + +

    unget current character (read it again on next get)

    +

    We implement unget by setting variable next_unget to true. The input is not changed - we just simulate ungetting by modifying chars_read_total, chars_read_current_line, and token_string. The next call to get() will behave as if the unget character is read again.

    + +

    Definition at line 7789 of file json.hpp.

    + +

    References JSON_ASSERT, and JSON_HEDLEY_LIKELY.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ current

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    char_int_type nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::current = std::char_traits<char_type>::eof()
    +
    +private
    +
    + +

    the current character

    + +

    Definition at line 8020 of file json.hpp.

    + +
    +
    + +

    ◆ decimal_point_char

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    const char_int_type nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::decimal_point_char = '.'
    +
    +private
    +
    + +

    the decimal point

    + +

    Definition at line 8043 of file json.hpp.

    + +
    +
    + +

    ◆ error_message

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    const char* nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::error_message = ""
    +
    +private
    +
    + +

    a description of occurred lexer errors

    + +

    Definition at line 8035 of file json.hpp.

    + +
    +
    + +

    ◆ ia

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    InputAdapterType nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::ia
    +
    +private
    +
    + +

    input adapter

    + +

    Definition at line 8014 of file json.hpp.

    + +
    +
    + +

    ◆ ignore_comments

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    const bool nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::ignore_comments = false
    +
    +private
    +
    + +

    whether comments should be ignored (true) or signaled as errors (false)

    + +

    Definition at line 8017 of file json.hpp.

    + +
    +
    + +

    ◆ next_unget

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    bool nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::next_unget = false
    +
    +private
    +
    + +

    whether the next get() call should just return current

    + +

    Definition at line 8023 of file json.hpp.

    + +
    +
    + +

    ◆ position

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    position_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::position {}
    +
    +private
    +
    + +

    the start position of the current token

    + +

    Definition at line 8026 of file json.hpp.

    + +
    +
    + +

    ◆ token_buffer

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    string_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::token_buffer {}
    +
    +private
    +
    + +

    buffer for variable-length tokens (numbers, strings)

    + +

    Definition at line 8032 of file json.hpp.

    + +
    +
    + +

    ◆ token_string

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    std::vector<char_type> nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::token_string {}
    +
    +private
    +
    + +

    raw input token string (for error messages)

    + +

    Definition at line 8029 of file json.hpp.

    + +
    +
    + +

    ◆ value_float

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    number_float_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::value_float = 0
    +
    +private
    +
    + +

    Definition at line 8040 of file json.hpp.

    + +
    +
    + +

    ◆ value_integer

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    number_integer_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::value_integer = 0
    +
    +private
    +
    + +

    Definition at line 8038 of file json.hpp.

    + +
    +
    + +

    ◆ value_unsigned

    + +
    +
    +
    +template<typename BasicJsonType, typename InputAdapterType>
    + + + + + +
    + + + + +
    number_unsigned_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::value_unsigned = 0
    +
    +private
    +
    + +

    Definition at line 8039 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/d8/d22/classnlohmann_1_1detail_1_1lexer.js b/docs/d8/d22/classnlohmann_1_1detail_1_1lexer.js new file mode 100644 index 00000000..9ff20ef3 --- /dev/null +++ b/docs/d8/d22/classnlohmann_1_1detail_1_1lexer.js @@ -0,0 +1,52 @@ +var classnlohmann_1_1detail_1_1lexer = +[ + [ "char_int_type", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a46612a81a07dbbc6daef870ca4f959e4", null ], + [ "char_type", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a98c69ad433d971104288baef813b2c68", null ], + [ "number_float_t", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a438a78e53120fd2c3ea049161d4798cb", null ], + [ "number_integer_t", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a594e61f96c87b4464beeab681111ac0c", null ], + [ "number_unsigned_t", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#af6b19ef34b2e9ee2321cfaf62ee066cb", null ], + [ "string_t", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#af85c01fd669d529ab93a9e1d80b62015", null ], + [ "token_type", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a986907dff5ceb4fa06aa8ff301822726", null ], + [ "lexer", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a89bbc051da2514a469441a3a30ad63e4", null ], + [ "lexer", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#ab75d61c4de687717648c7698850ddb9b", null ], + [ "lexer", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#ae95416c7ae8b36f0dd0ab349eaa754a2", null ], + [ "~lexer", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#ac0557f111d82f7729a93ee9b40b31402", null ], + [ "add", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a36ffc3c33c3aea18291ead7a30fa7cc6", null ], + [ "get", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a9cd3e4cf04d19be521beb8868c1a2fc9", null ], + [ "get_codepoint", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#adcf663a9878f58544790f1b6faad2e42", null ], + [ "get_decimal_point", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a48f74c761ce663cd0d92bf428606b535", null ], + [ "get_error_message", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a9da0c649f03e8b3f730501d26c876a78", null ], + [ "get_number_float", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#adb1a71f6a3e65ed32c452a318967b61e", null ], + [ "get_number_integer", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a9535d0c72adbe9fe149853ebad5faee8", null ], + [ "get_number_unsigned", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#abfc85ff04fcb1a5a8d8ea299a4c479e5", null ], + [ "get_position", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a948c80b8bd8a3095b544e4655e1ca37e", null ], + [ "get_string", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a76875bb49a480763f6c48b8586f7e60e", null ], + [ "get_token_string", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#ae000b7571480e528dee4b281f63d5b15", null ], + [ "next_byte_in_range", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#af6fe701b8b3ca5f4a1b58db4658bdf87", null ], + [ "operator=", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#af7e7002d4bb66e9104d752791b8070f8", null ], + [ "operator=", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a1383bb59c5efd4f9370ca3ee4ad1a4ba", null ], + [ "reset", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a3bda093837339813916d11fb6e396606", null ], + [ "scan", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a40320a8fef5f1f03b60c8b2f2f40af4d", null ], + [ "scan_comment", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#afdc68706ad20be93977cd0f97043ea7f", null ], + [ "scan_literal", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#ad89dec0ac0f4e851925a0499e043b18b", null ], + [ "scan_number", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#aab51a28e32c1957329141baff8eda1c4", null ], + [ "scan_string", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#ab6352978e03ebcbc3cd618cd17142f26", null ], + [ "skip_bom", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a7cd7d55de2cd398660bc243c7229caf9", null ], + [ "skip_whitespace", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a449f3f3703dfbf8b757e12f002668604", null ], + [ "strtof", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a6d3dffb7bb247a7fd7276d49d3a00dc8", null ], + [ "strtof", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#ac8455259d8a06acd2a284a5dd7221aea", null ], + [ "strtof", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#ae01f87db7819a05d0ed17bcb665442e1", null ], + [ "unget", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#ab5811afe1c3efb0b769f7733b8373c6f", null ], + [ "current", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a40bd85d91d377ade9ccb910e35776c22", null ], + [ "decimal_point_char", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a6f2fd5b4b6b153f11fc8f77213350073", null ], + [ "error_message", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a84cbcd8c897c98c2ce04d29a29bf84cc", null ], + [ "ia", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a526d001dd91ec55b8032ba98466765c0", null ], + [ "ignore_comments", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a11528814930243028ac5b8901f4a17d7", null ], + [ "next_unget", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a40b108a0e45a7253f6ad85fbdaa6a262", null ], + [ "position", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a8a1bda107ce1622c0cb3174fa12155ea", null ], + [ "token_buffer", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#ac4eaf39567bd5f0750e5d7e913fb474d", null ], + [ "token_string", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a94aec416b883f742ba7f20bd16adb3c3", null ], + [ "value_float", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a0d74bb18ba7d32ea7e7c9d9a7d6c2e70", null ], + [ "value_integer", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#a5134de850fab8f41474a36ae07998088", null ], + [ "value_unsigned", "d8/d22/classnlohmann_1_1detail_1_1lexer.html#ae84cbf312215c15d79783380b1592f74", null ] +]; \ No newline at end of file diff --git a/docs/d8/d25/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4.html b/docs/d8/d25/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4.html new file mode 100644 index 00000000..68614f95 --- /dev/null +++ b/docs/d8/d25/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4.html @@ -0,0 +1,121 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL > Struct Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL > Struct Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL >:
    +
    +
    Inheritance graph
    + + +
    +
    +Collaboration diagram for nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +
    +

    Definition at line 3437 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d8/d2e/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.map b/docs/d8/d2e/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.map new file mode 100644 index 00000000..7dd4e2d7 --- /dev/null +++ b/docs/d8/d2e/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d8/d2e/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.md5 b/docs/d8/d2e/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.md5 new file mode 100644 index 00000000..21577479 --- /dev/null +++ b/docs/d8/d2e/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +64eb6661f1295835f561743b4e2d8793 \ No newline at end of file diff --git a/docs/d8/d2e/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.png b/docs/d8/d2e/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.png new file mode 100644 index 00000000..24f0b6bb Binary files /dev/null and b/docs/d8/d2e/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.png differ diff --git a/docs/d8/d31/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.map b/docs/d8/d31/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.map new file mode 100644 index 00000000..aa40d41d --- /dev/null +++ b/docs/d8/d31/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d8/d31/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.md5 b/docs/d8/d31/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.md5 new file mode 100644 index 00000000..9705ee86 --- /dev/null +++ b/docs/d8/d31/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.md5 @@ -0,0 +1 @@ +dc13032a9801f54821ee138e17bbb24f \ No newline at end of file diff --git a/docs/d8/d31/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.png b/docs/d8/d31/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.png new file mode 100644 index 00000000..d1c282bb Binary files /dev/null and b/docs/d8/d31/structnlohmann_1_1detail_1_1is__constructible__object__type__coll__graph.png differ diff --git a/docs/d8/d48/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.map b/docs/d8/d48/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.map new file mode 100644 index 00000000..627c2176 --- /dev/null +++ b/docs/d8/d48/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d8/d48/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.md5 b/docs/d8/d48/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.md5 new file mode 100644 index 00000000..6eb91e73 --- /dev/null +++ b/docs/d8/d48/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.md5 @@ -0,0 +1 @@ +e9419f61a83df69609c8d91b99502514 \ No newline at end of file diff --git a/docs/d8/d48/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.png b/docs/d8/d48/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.png new file mode 100644 index 00000000..a318211e Binary files /dev/null and b/docs/d8/d48/structnlohmann_1_1detail_1_1is__compatible__array__type__inherit__graph.png differ diff --git a/docs/d8/d5d/classcudnn__frontend_1_1Operation__v8__coll__graph.md5 b/docs/d8/d5d/classcudnn__frontend_1_1Operation__v8__coll__graph.md5 index cf51d02f..89650fad 100644 --- a/docs/d8/d5d/classcudnn__frontend_1_1Operation__v8__coll__graph.md5 +++ b/docs/d8/d5d/classcudnn__frontend_1_1Operation__v8__coll__graph.md5 @@ -1 +1 @@ -63087e9ffca8ce1508338d09b76745aa \ No newline at end of file +f636d13d4c83b6042dd26f7f8d60c216 \ No newline at end of file diff --git a/docs/d8/d5d/classcudnn__frontend_1_1Operation__v8__coll__graph.png b/docs/d8/d5d/classcudnn__frontend_1_1Operation__v8__coll__graph.png index 94fa1aaa..7c755f72 100644 Binary files a/docs/d8/d5d/classcudnn__frontend_1_1Operation__v8__coll__graph.png and b/docs/d8/d5d/classcudnn__frontend_1_1Operation__v8__coll__graph.png differ diff --git a/docs/d8/d71/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.map b/docs/d8/d71/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.map new file mode 100644 index 00000000..c9312f97 --- /dev/null +++ b/docs/d8/d71/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d8/d71/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.md5 b/docs/d8/d71/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.md5 new file mode 100644 index 00000000..4285d705 --- /dev/null +++ b/docs/d8/d71/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.md5 @@ -0,0 +1 @@ +3ff293f4f3884d157078bc664647b4d1 \ No newline at end of file diff --git a/docs/d8/d71/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.png b/docs/d8/d71/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.png new file mode 100644 index 00000000..54021ae1 Binary files /dev/null and b/docs/d8/d71/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4__coll__graph.png differ diff --git a/docs/d8/d7c/classnlohmann_1_1detail_1_1type__error__inherit__graph.map b/docs/d8/d7c/classnlohmann_1_1detail_1_1type__error__inherit__graph.map new file mode 100644 index 00000000..1dd8dc74 --- /dev/null +++ b/docs/d8/d7c/classnlohmann_1_1detail_1_1type__error__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d8/d7c/classnlohmann_1_1detail_1_1type__error__inherit__graph.md5 b/docs/d8/d7c/classnlohmann_1_1detail_1_1type__error__inherit__graph.md5 new file mode 100644 index 00000000..843fa74e --- /dev/null +++ b/docs/d8/d7c/classnlohmann_1_1detail_1_1type__error__inherit__graph.md5 @@ -0,0 +1 @@ +2f4007c7268ddf615ba08170340a9a90 \ No newline at end of file diff --git a/docs/d8/d7c/classnlohmann_1_1detail_1_1type__error__inherit__graph.png b/docs/d8/d7c/classnlohmann_1_1detail_1_1type__error__inherit__graph.png new file mode 100644 index 00000000..d7ecf20b Binary files /dev/null and b/docs/d8/d7c/classnlohmann_1_1detail_1_1type__error__inherit__graph.png differ diff --git a/docs/d8/d80/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries-members.html b/docs/d8/d80/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries-members.html new file mode 100644 index 00000000..0267376f --- /dev/null +++ b/docs/d8/d80/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries-members.html @@ -0,0 +1,104 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::dtoa_impl::boundaries Member List
    +
    + +
    + + + + diff --git a/docs/d8/d8b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl.html b/docs/d8/d8b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl.html new file mode 100644 index 00000000..7d4e2b51 --- /dev/null +++ b/docs/d8/d8b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl.html @@ -0,0 +1,126 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, typename > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, typename > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, typename >:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, typename >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename ConstructibleArrayType, typename = void>
    +struct nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, typename >

    + + +

    Definition at line 3740 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d8/d91/classnlohmann_1_1detail_1_1input__stream__adapter-members.html b/docs/d8/d91/classnlohmann_1_1detail_1_1input__stream__adapter-members.html new file mode 100644 index 00000000..93fd6157 --- /dev/null +++ b/docs/d8/d91/classnlohmann_1_1detail_1_1input__stream__adapter-members.html @@ -0,0 +1,111 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::input_stream_adapter Member List
    +
    + +
    + + + + diff --git a/docs/d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html b/docs/d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html new file mode 100644 index 00000000..73e2e7aa --- /dev/null +++ b/docs/d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html @@ -0,0 +1,301 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::output_stream_adapter< CharType > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::output_stream_adapter< CharType > Class Template Reference
    +
    +
    + +

    output adapter for output streams + More...

    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::output_stream_adapter< CharType >:
    +
    +
    Inheritance graph
    + + + +
    +
    +Collaboration diagram for nlohmann::detail::output_stream_adapter< CharType >:
    +
    +
    Collaboration graph
    + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     output_stream_adapter (std::basic_ostream< CharType > &s) noexcept
     
    void write_character (CharType c) override
     
    void write_characters (const CharType *s, std::size_t length) override
     
    - Public Member Functions inherited from nlohmann::detail::output_adapter_protocol< CharType >
    virtual ~output_adapter_protocol ()=default
     
     output_adapter_protocol ()=default
     
     output_adapter_protocol (const output_adapter_protocol &)=default
     
     output_adapter_protocol (output_adapter_protocol &&) noexcept=default
     
    output_adapter_protocoloperator= (const output_adapter_protocol &)=default
     
    output_adapter_protocoloperator= (output_adapter_protocol &&) noexcept=default
     
    + + + +

    +Private Attributes

    std::basic_ostream< CharType > & stream
     
    +

    Detailed Description

    +

    template<typename CharType>
    +class nlohmann::detail::output_stream_adapter< CharType >

    + +

    output adapter for output streams

    + +

    Definition at line 13179 of file json.hpp.

    +

    Constructor & Destructor Documentation

    + +

    ◆ output_stream_adapter()

    + +
    +
    +
    +template<typename CharType >
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::output_stream_adapter< CharType >::output_stream_adapter (std::basic_ostream< CharType > & s)
    +
    +inlineexplicitnoexcept
    +
    + +

    Definition at line 13182 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ write_character()

    + +
    +
    +
    +template<typename CharType >
    + + + + + +
    + + + + + + + + +
    void nlohmann::detail::output_stream_adapter< CharType >::write_character (CharType c)
    +
    +inlineoverridevirtual
    +
    + +

    Implements nlohmann::detail::output_adapter_protocol< CharType >.

    + +

    Definition at line 13186 of file json.hpp.

    + +

    References JSON_HEDLEY_NON_NULL.

    + +
    +
    + +

    ◆ write_characters()

    + +
    +
    +
    +template<typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::output_stream_adapter< CharType >::write_characters (const CharType * s,
    std::size_t length 
    )
    +
    +inlineoverridevirtual
    +
    + +

    Implements nlohmann::detail::output_adapter_protocol< CharType >.

    + +

    Definition at line 13192 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ stream

    + +
    +
    +
    +template<typename CharType >
    + + + + + +
    + + + + +
    std::basic_ostream<CharType>& nlohmann::detail::output_stream_adapter< CharType >::stream
    +
    +private
    +
    + +

    Definition at line 13198 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.js b/docs/d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.js new file mode 100644 index 00000000..abe7d0d6 --- /dev/null +++ b/docs/d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.js @@ -0,0 +1,7 @@ +var classnlohmann_1_1detail_1_1output__stream__adapter = +[ + [ "output_stream_adapter", "d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html#ae44ed343cb1a716248547f48dd045b6a", null ], + [ "write_character", "d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html#a6e2698c76b200b2d8fac6cebfc43a245", null ], + [ "write_characters", "d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html#ad61375497a7d03cb0bdcddfdaad185d0", null ], + [ "stream", "d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html#aacc26af02e1e5a988bc5dbfb723b5562", null ] +]; \ No newline at end of file diff --git a/docs/d8/d94/structnlohmann_1_1detail_1_1is__compatible__array__type.html b/docs/d8/d94/structnlohmann_1_1detail_1_1is__compatible__array__type.html new file mode 100644 index 00000000..b06e399a --- /dev/null +++ b/docs/d8/d94/structnlohmann_1_1detail_1_1is__compatible__array__type.html @@ -0,0 +1,128 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType >:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType >:
    +
    +
    Collaboration graph
    + + + + +
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename CompatibleArrayType>
    +struct nlohmann::detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType >

    + + +

    Definition at line 3736 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d8/d95/group__ReductionDescBuilder__v8.html b/docs/d8/d95/group__ReductionDescBuilder__v8.html new file mode 100644 index 00000000..5dafc76c --- /dev/null +++ b/docs/d8/d95/group__ReductionDescBuilder__v8.html @@ -0,0 +1,173 @@ + + + + + + + +CUDNN Frontend API: ReductionDescBuilder_v8 + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    ReductionDescBuilder_v8
    +
    +
    + + + + + + + + +

    +Functions

    auto cudnn_frontend::ReductionDescBuilder_v8::setMathPrecision (cudnnDataType_t data_type_) -> ReductionDescBuilder_v8 &
     Set Math Precision Data Type for the Reduction Operation. More...
     
    auto cudnn_frontend::ReductionDescBuilder_v8::setReductionOp (cudnnReduceTensorOp_t op_) -> ReductionDescBuilder_v8 &
     Set redution operator for the Reduction Operation. More...
     
    +

    Detailed Description

    +

    Set individual property of ReductionDesc_v8 class

    +

    Function Documentation

    + +

    ◆ setMathPrecision()

    + +
    +
    + + + + + +
    + + + + + + + + +
    auto cudnn_frontend::ReductionDescBuilder_v8::setMathPrecision (cudnnDataType_t data_type_) -> ReductionDescBuilder_v8 &
    +
    +inline
    +
    + +

    Set Math Precision Data Type for the Reduction Operation.

    + +

    Definition at line 87 of file cudnn_frontend_ReductionDesc.h.

    + +
    +
    + +

    ◆ setReductionOp()

    + +
    +
    + + + + + +
    + + + + + + + + +
    auto cudnn_frontend::ReductionDescBuilder_v8::setReductionOp (cudnnReduceTensorOp_t op_) -> ReductionDescBuilder_v8 &
    +
    +inline
    +
    + +

    Set redution operator for the Reduction Operation.

    + +

    Definition at line 93 of file cudnn_frontend_ReductionDesc.h.

    + +
    +
    +
    +
    + + + + diff --git a/docs/d8/d95/group__ReductionDescBuilder__v8.js b/docs/d8/d95/group__ReductionDescBuilder__v8.js new file mode 100644 index 00000000..b6df14a1 --- /dev/null +++ b/docs/d8/d95/group__ReductionDescBuilder__v8.js @@ -0,0 +1,5 @@ +var group__ReductionDescBuilder__v8 = +[ + [ "setMathPrecision", "d8/d95/group__ReductionDescBuilder__v8.html#ga1822b91228b5f6b790cd7c2d77402cdb", null ], + [ "setReductionOp", "d8/d95/group__ReductionDescBuilder__v8.html#gab00c3396fedc8b68356c426d19a54cf9", null ] +]; \ No newline at end of file diff --git a/docs/d8/da1/cudnn__frontend__Engine_8h__dep__incl.md5 b/docs/d8/da1/cudnn__frontend__Engine_8h__dep__incl.md5 index 41b70107..f2a8633f 100644 --- a/docs/d8/da1/cudnn__frontend__Engine_8h__dep__incl.md5 +++ b/docs/d8/da1/cudnn__frontend__Engine_8h__dep__incl.md5 @@ -1 +1 @@ -8a68ab4500e7d8e0ba4cd464b44434f6 \ No newline at end of file +6c53cd5c462fca8906798f374550b34e \ No newline at end of file diff --git a/docs/d8/da8/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html b/docs/d8/da8/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html new file mode 100644 index 00000000..fded30ea --- /dev/null +++ b/docs/d8/da8/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html @@ -0,0 +1,130 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible< const std::pair< T1, T2 > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_constructible< const std::pair< T1, T2 > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_constructible< const std::pair< T1, T2 > >:
    +
    +
    Inheritance graph
    + + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_constructible< const std::pair< T1, T2 > >:
    +
    +
    Collaboration graph
    + + + + + +
    +

    Detailed Description

    +

    template<typename T1, typename T2>
    +struct nlohmann::detail::is_constructible< const std::pair< T1, T2 > >

    + + +

    Definition at line 3585 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d8/db6/structnlohmann_1_1detail_1_1iterator__traits.html b/docs/d8/db6/structnlohmann_1_1detail_1_1iterator__traits.html new file mode 100644 index 00000000..f36ceae9 --- /dev/null +++ b/docs/d8/db6/structnlohmann_1_1detail_1_1iterator__traits.html @@ -0,0 +1,117 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::iterator_traits< T, typename > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::iterator_traits< T, typename > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::iterator_traits< T, typename >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename T, typename = void>
    +struct nlohmann::detail::iterator_traits< T, typename >

    + + +

    Definition at line 3241 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d8/dee/classcudnn__frontend_1_1BackendDescriptor__inherit__graph.map b/docs/d8/dee/classcudnn__frontend_1_1BackendDescriptor__inherit__graph.map index 5fa497d5..8944478c 100644 --- a/docs/d8/dee/classcudnn__frontend_1_1BackendDescriptor__inherit__graph.map +++ b/docs/d8/dee/classcudnn__frontend_1_1BackendDescriptor__inherit__graph.map @@ -2,13 +2,14 @@ - + - - + + - - + + + diff --git a/docs/d8/dee/classcudnn__frontend_1_1BackendDescriptor__inherit__graph.md5 b/docs/d8/dee/classcudnn__frontend_1_1BackendDescriptor__inherit__graph.md5 index 7b6c917f..c7949005 100644 --- a/docs/d8/dee/classcudnn__frontend_1_1BackendDescriptor__inherit__graph.md5 +++ b/docs/d8/dee/classcudnn__frontend_1_1BackendDescriptor__inherit__graph.md5 @@ -1 +1 @@ -f3275f61a86a0e3683f0f9e1679607c4 \ No newline at end of file +e86468c564278a7b6902dcebba9088e1 \ No newline at end of file diff --git a/docs/d8/dee/classcudnn__frontend_1_1BackendDescriptor__inherit__graph.png b/docs/d8/dee/classcudnn__frontend_1_1BackendDescriptor__inherit__graph.png index dc2298ed..baddee95 100644 Binary files a/docs/d8/dee/classcudnn__frontend_1_1BackendDescriptor__inherit__graph.png and b/docs/d8/dee/classcudnn__frontend_1_1BackendDescriptor__inherit__graph.png differ diff --git a/docs/d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html b/docs/d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html new file mode 100644 index 00000000..844e973a --- /dev/null +++ b/docs/d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html @@ -0,0 +1,170 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::external_constructor< value_t::number_float > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::external_constructor< value_t::number_float > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::external_constructor< value_t::number_float >:
    +
    +
    Collaboration graph
    + + +
    + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, typename BasicJsonType::number_float_t val) noexcept
     
    +

    Detailed Description

    +

    template<>
    +struct nlohmann::detail::external_constructor< value_t::number_float >

    + + +

    Definition at line 4546 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ construct()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::external_constructor< value_t::number_float >::construct (BasicJsonType & j,
    typename BasicJsonType::number_float_t val 
    )
    +
    +inlinestaticnoexcept
    +
    + +

    Definition at line 4549 of file json.hpp.

    + +

    References nlohmann::detail::number_float.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.js b/docs/d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.js new file mode 100644 index 00000000..c8953944 --- /dev/null +++ b/docs/d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4 = +[ + [ "construct", "d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html#a669df5a4d258b588e67f747c6d656cdb", null ] +]; \ No newline at end of file diff --git a/docs/d9/d10/namespacenlohmann_1_1detail_1_1container__input__adapter__factory__impl.html b/docs/d9/d10/namespacenlohmann_1_1detail_1_1container__input__adapter__factory__impl.html new file mode 100644 index 00000000..4d3b12dd --- /dev/null +++ b/docs/d9/d10/namespacenlohmann_1_1detail_1_1container__input__adapter__factory__impl.html @@ -0,0 +1,109 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::container_input_adapter_factory_impl Namespace Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::container_input_adapter_factory_impl Namespace Reference
    +
    + +
    + + + + diff --git a/docs/d9/d10/namespacenlohmann_1_1detail_1_1container__input__adapter__factory__impl.js b/docs/d9/d10/namespacenlohmann_1_1detail_1_1container__input__adapter__factory__impl.js new file mode 100644 index 00000000..a90440d3 --- /dev/null +++ b/docs/d9/d10/namespacenlohmann_1_1detail_1_1container__input__adapter__factory__impl.js @@ -0,0 +1,5 @@ +var namespacenlohmann_1_1detail_1_1container__input__adapter__factory__impl = +[ + [ "container_input_adapter_factory", "d1/d62/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory.html", null ], + [ "container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >", "d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html", "d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be" ] +]; \ No newline at end of file diff --git a/docs/d9/d16/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible36ffa4cc676308784bdd0957c614c009.html b/docs/d9/d16/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible36ffa4cc676308784bdd0957c614c009.html new file mode 100644 index 00000000..251e3898 --- /dev/null +++ b/docs/d9/d16/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible36ffa4cc676308784bdd0957c614c009.html @@ -0,0 +1,103 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + diff --git a/docs/d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html b/docs/d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html new file mode 100644 index 00000000..416eb8f3 --- /dev/null +++ b/docs/d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html @@ -0,0 +1,181 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::integer_sequence< T, Ints > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::integer_sequence< T, Ints > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::integer_sequence< T, Ints >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Public Types

    using value_type = T
     
    + + + +

    +Static Public Member Functions

    static constexpr std::size_t size () noexcept
     
    +

    Detailed Description

    +

    template<typename T, T... Ints>
    +struct nlohmann::detail::integer_sequence< T, Ints >

    + + +

    Definition at line 3075 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ value_type

    + +
    +
    +
    +template<typename T , T... Ints>
    + + + + +
    using nlohmann::detail::integer_sequence< T, Ints >::value_type = T
    +
    + +

    Definition at line 3077 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ size()

    + +
    +
    +
    +template<typename T , T... Ints>
    + + + + + +
    + + + + + + + +
    static constexpr std::size_t nlohmann::detail::integer_sequence< T, Ints >::size ()
    +
    +inlinestaticnoexcept
    +
    + +

    Definition at line 3078 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.js b/docs/d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.js new file mode 100644 index 00000000..5e9e8f50 --- /dev/null +++ b/docs/d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.js @@ -0,0 +1,5 @@ +var structnlohmann_1_1detail_1_1integer__sequence = +[ + [ "value_type", "d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html#a0220e7e5f85f91c6b7a930e469cda5c5", null ], + [ "size", "d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html#a6024bae596d01193397a7396af3aa19a", null ] +]; \ No newline at end of file diff --git a/docs/d9/d24/structnlohmann_1_1detail_1_1integer__sequence__coll__graph.map b/docs/d9/d24/structnlohmann_1_1detail_1_1integer__sequence__coll__graph.map new file mode 100644 index 00000000..72c2aa6e --- /dev/null +++ b/docs/d9/d24/structnlohmann_1_1detail_1_1integer__sequence__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d9/d24/structnlohmann_1_1detail_1_1integer__sequence__coll__graph.md5 b/docs/d9/d24/structnlohmann_1_1detail_1_1integer__sequence__coll__graph.md5 new file mode 100644 index 00000000..ca54f053 --- /dev/null +++ b/docs/d9/d24/structnlohmann_1_1detail_1_1integer__sequence__coll__graph.md5 @@ -0,0 +1 @@ +d581352ad3f053a7986aad5e18648859 \ No newline at end of file diff --git a/docs/d9/d24/structnlohmann_1_1detail_1_1integer__sequence__coll__graph.png b/docs/d9/d24/structnlohmann_1_1detail_1_1integer__sequence__coll__graph.png new file mode 100644 index 00000000..3d54cd3a Binary files /dev/null and b/docs/d9/d24/structnlohmann_1_1detail_1_1integer__sequence__coll__graph.png differ diff --git a/docs/d9/d45/cudnn__frontend__ReductionDesc_8h__dep__incl.map b/docs/d9/d45/cudnn__frontend__ReductionDesc_8h__dep__incl.map new file mode 100644 index 00000000..cf37824b --- /dev/null +++ b/docs/d9/d45/cudnn__frontend__ReductionDesc_8h__dep__incl.map @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/d9/d45/cudnn__frontend__ReductionDesc_8h__dep__incl.md5 b/docs/d9/d45/cudnn__frontend__ReductionDesc_8h__dep__incl.md5 new file mode 100644 index 00000000..824dad05 --- /dev/null +++ b/docs/d9/d45/cudnn__frontend__ReductionDesc_8h__dep__incl.md5 @@ -0,0 +1 @@ +ba0bb62f4eef55852839ec2ac472cf92 \ No newline at end of file diff --git a/docs/d9/d45/cudnn__frontend__ReductionDesc_8h__dep__incl.png b/docs/d9/d45/cudnn__frontend__ReductionDesc_8h__dep__incl.png new file mode 100644 index 00000000..1f7f2db0 Binary files /dev/null and b/docs/d9/d45/cudnn__frontend__ReductionDesc_8h__dep__incl.png differ diff --git a/docs/d9/d4f/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.map b/docs/d9/d4f/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.map new file mode 100644 index 00000000..72bf92cc --- /dev/null +++ b/docs/d9/d4f/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d9/d4f/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.md5 b/docs/d9/d4f/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.md5 new file mode 100644 index 00000000..6e978c46 --- /dev/null +++ b/docs/d9/d4f/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +a48ae8d98c47a9f72c9a9e95f7af406a \ No newline at end of file diff --git a/docs/d9/d4f/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.png b/docs/d9/d4f/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.png new file mode 100644 index 00000000..2331de07 Binary files /dev/null and b/docs/d9/d4f/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4__inherit__graph.png differ diff --git a/docs/d9/d55/structnlohmann_1_1json__sax__coll__graph.map b/docs/d9/d55/structnlohmann_1_1json__sax__coll__graph.map new file mode 100644 index 00000000..32d2ba70 --- /dev/null +++ b/docs/d9/d55/structnlohmann_1_1json__sax__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d9/d55/structnlohmann_1_1json__sax__coll__graph.md5 b/docs/d9/d55/structnlohmann_1_1json__sax__coll__graph.md5 new file mode 100644 index 00000000..da1f272f --- /dev/null +++ b/docs/d9/d55/structnlohmann_1_1json__sax__coll__graph.md5 @@ -0,0 +1 @@ +7f28a131ff4155ef4673b77b9d706b1f \ No newline at end of file diff --git a/docs/d9/d55/structnlohmann_1_1json__sax__coll__graph.png b/docs/d9/d55/structnlohmann_1_1json__sax__coll__graph.png new file mode 100644 index 00000000..e4495502 Binary files /dev/null and b/docs/d9/d55/structnlohmann_1_1json__sax__coll__graph.png differ diff --git a/docs/d9/d5f/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc8792ad852ed89e9236eecd8c3f7ecd36.html b/docs/d9/d5f/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc8792ad852ed89e9236eecd8c3f7ecd36.html new file mode 100644 index 00000000..1a785973 --- /dev/null +++ b/docs/d9/d5f/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc8792ad852ed89e9236eecd8c3f7ecd36.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > > Member List
    +
    + +
    + + + + diff --git a/docs/d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.html b/docs/d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.html new file mode 100644 index 00000000..e5e1f5ca --- /dev/null +++ b/docs/d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.html @@ -0,0 +1,145 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::utility_internal::Gen< T, 0 > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::utility_internal::Gen< T, 0 > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::utility_internal::Gen< T, 0 >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Public Types

    using type = integer_sequence< T >
     
    +

    Detailed Description

    +

    template<typename T>
    +struct nlohmann::detail::utility_internal::Gen< T, 0 >

    + + +

    Definition at line 3121 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ type

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::utility_internal::Gen< T, 0 >::type = integer_sequence<T>
    +
    + +

    Definition at line 3123 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.js b/docs/d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.js new file mode 100644 index 00000000..34fca1ea --- /dev/null +++ b/docs/d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4 = +[ + [ "type", "d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.html#aa0c393a15d2fb6a2de5b93facb192f8f", null ] +]; \ No newline at end of file diff --git a/docs/d9/d66/structnlohmann_1_1detail_1_1is__compatible__type__impl.html b/docs/d9/d66/structnlohmann_1_1detail_1_1is__compatible__type__impl.html new file mode 100644 index 00000000..8364d3b6 --- /dev/null +++ b/docs/d9/d66/structnlohmann_1_1detail_1_1is__compatible__type__impl.html @@ -0,0 +1,126 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, typename > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, typename > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, typename >:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, typename >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename CompatibleType, typename = void>
    +struct nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, typename >

    + + +

    Definition at line 3810 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d9/d66/structnlohmann_1_1detail_1_1to__json__fn-members.html b/docs/d9/d66/structnlohmann_1_1detail_1_1to__json__fn-members.html new file mode 100644 index 00000000..4397bc54 --- /dev/null +++ b/docs/d9/d66/structnlohmann_1_1detail_1_1to__json__fn-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::to_json_fn Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::to_json_fn, including all inherited members.

    + + +
    operator()(BasicJsonType &j, T &&val) const noexcept(noexcept(to_json(j, std::forward< T >(val)))) -> decltype(to_json(j, std::forward< T >(val)), void())nlohmann::detail::to_json_fninline
    +
    + + + + diff --git a/docs/d9/d6c/structnlohmann_1_1detail_1_1has__to__json.html b/docs/d9/d6c/structnlohmann_1_1detail_1_1has__to__json.html new file mode 100644 index 00000000..9672de4a --- /dev/null +++ b/docs/d9/d6c/structnlohmann_1_1detail_1_1has__to__json.html @@ -0,0 +1,124 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::has_to_json< BasicJsonType, T, typename > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::has_to_json< BasicJsonType, T, typename > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::has_to_json< BasicJsonType, T, typename >:
    +
    +
    Inheritance graph
    + + +
    +
    +Collaboration diagram for nlohmann::detail::has_to_json< BasicJsonType, T, typename >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename T, typename = void>
    +struct nlohmann::detail::has_to_json< BasicJsonType, T, typename >

    + + +

    Definition at line 3531 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d9/d78/classnlohmann_1_1detail_1_1type__error__coll__graph.map b/docs/d9/d78/classnlohmann_1_1detail_1_1type__error__coll__graph.map new file mode 100644 index 00000000..5e1328a5 --- /dev/null +++ b/docs/d9/d78/classnlohmann_1_1detail_1_1type__error__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d9/d78/classnlohmann_1_1detail_1_1type__error__coll__graph.md5 b/docs/d9/d78/classnlohmann_1_1detail_1_1type__error__coll__graph.md5 new file mode 100644 index 00000000..16872c15 --- /dev/null +++ b/docs/d9/d78/classnlohmann_1_1detail_1_1type__error__coll__graph.md5 @@ -0,0 +1 @@ +d386fa0178374458de326db77856a377 \ No newline at end of file diff --git a/docs/d9/d78/classnlohmann_1_1detail_1_1type__error__coll__graph.png b/docs/d9/d78/classnlohmann_1_1detail_1_1type__error__coll__graph.png new file mode 100644 index 00000000..1c9601be Binary files /dev/null and b/docs/d9/d78/classnlohmann_1_1detail_1_1type__error__coll__graph.png differ diff --git a/docs/d9/d89/structnlohmann_1_1ordered__map-members.html b/docs/d9/d89/structnlohmann_1_1ordered__map-members.html new file mode 100644 index 00000000..e94ff0fc --- /dev/null +++ b/docs/d9/d89/structnlohmann_1_1ordered__map-members.html @@ -0,0 +1,121 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::ordered_map< Key, T, IgnoredLess, Allocator > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + +
    at(const Key &key)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
    at(const Key &key) constnlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
    Container typedefnlohmann::ordered_map< Key, T, IgnoredLess, Allocator >
    count(const Key &key) constnlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
    emplace(const key_type &key, T &&t)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
    erase(const Key &key)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
    erase(iterator pos)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
    find(const Key &key)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
    find(const Key &key) constnlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
    insert(value_type &&value)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
    insert(const value_type &value)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
    insert(InputIt first, InputIt last)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
    key_type typedefnlohmann::ordered_map< Key, T, IgnoredLess, Allocator >
    mapped_type typedefnlohmann::ordered_map< Key, T, IgnoredLess, Allocator >
    operator[](const Key &key)nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
    operator[](const Key &key) constnlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
    ordered_map(const Allocator &alloc=Allocator())nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
    ordered_map(It first, It last, const Allocator &alloc=Allocator())nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
    ordered_map(std::initializer_list< T > init, const Allocator &alloc=Allocator())nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >inline
    require_input_iter typedefnlohmann::ordered_map< Key, T, IgnoredLess, Allocator >
    +
    + + + + diff --git a/docs/d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html b/docs/d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html new file mode 100644 index 00000000..deda729a --- /dev/null +++ b/docs/d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html @@ -0,0 +1,186 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_iterator_traits< iterator_traits< T > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::is_iterator_traits< iterator_traits< T > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::is_iterator_traits< iterator_traits< T > >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Static Public Attributes

    static constexpr auto value
     
    + + + +

    +Private Types

    using traits = iterator_traits< T >
     
    +

    Detailed Description

    +

    template<typename T>
    +struct nlohmann::detail::is_iterator_traits< iterator_traits< T > >

    + + +

    Definition at line 3598 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ traits

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + +
    using nlohmann::detail::is_iterator_traits< iterator_traits< T > >::traits = iterator_traits<T>
    +
    +private
    +
    + +

    Definition at line 3601 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ value

    + + +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.js b/docs/d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.js new file mode 100644 index 00000000..38e913c9 --- /dev/null +++ b/docs/d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.js @@ -0,0 +1,5 @@ +var structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4 = +[ + [ "traits", "d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html#a1cbceaaa83a3ad294c3cb66b9df48e78", null ], + [ "value", "d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html#ac2711760b352b8921accc6609957dc90", null ] +]; \ No newline at end of file diff --git a/docs/d9/d90/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.map b/docs/d9/d90/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.map new file mode 100644 index 00000000..d53b0d76 --- /dev/null +++ b/docs/d9/d90/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/d9/d90/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.md5 b/docs/d9/d90/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.md5 new file mode 100644 index 00000000..833b1c4e --- /dev/null +++ b/docs/d9/d90/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +75f578aadfd87c5c36d04ae756dcda90 \ No newline at end of file diff --git a/docs/d9/d90/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.png b/docs/d9/d90/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.png new file mode 100644 index 00000000..c299652f Binary files /dev/null and b/docs/d9/d90/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.png differ diff --git a/docs/d9/d9b/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.map b/docs/d9/d9b/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.map new file mode 100644 index 00000000..6c025d1b --- /dev/null +++ b/docs/d9/d9b/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/d9/d9b/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.md5 b/docs/d9/d9b/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.md5 new file mode 100644 index 00000000..08b86bdb --- /dev/null +++ b/docs/d9/d9b/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +87407a74e1d80425bb0b027cfb35e1fd \ No newline at end of file diff --git a/docs/d9/d9b/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.png b/docs/d9/d9b/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.png new file mode 100644 index 00000000..59d40bd8 Binary files /dev/null and b/docs/d9/d9b/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4__inherit__graph.png differ diff --git a/docs/d9/d9f/classnlohmann_1_1detail_1_1wide__string__input__adapter-members.html b/docs/d9/d9f/classnlohmann_1_1detail_1_1wide__string__input__adapter-members.html new file mode 100644 index 00000000..c698ee94 --- /dev/null +++ b/docs/d9/d9f/classnlohmann_1_1detail_1_1wide__string__input__adapter-members.html @@ -0,0 +1,109 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + diff --git a/docs/d9/d9f/classstd_1_1pair_3_01const_01Key_00_01T_01_4.html b/docs/d9/d9f/classstd_1_1pair_3_01const_01Key_00_01T_01_4.html new file mode 100644 index 00000000..81f6bf17 --- /dev/null +++ b/docs/d9/d9f/classstd_1_1pair_3_01const_01Key_00_01T_01_4.html @@ -0,0 +1,106 @@ + + + + + + + +CUDNN Frontend API: pair< const Key, T > Class Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    pair< const Key, T > Class Reference
    +
    +
    +
    +Collaboration diagram for pair< const Key, T >:
    +
    +
    Collaboration graph
    + + +
    +
    The documentation for this class was generated from the following files:
    +
    + + + + diff --git a/docs/d9/dbd/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible6aba1d1fd6ec790fbb159b84f9f09f7e.map b/docs/d9/dbd/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible6aba1d1fd6ec790fbb159b84f9f09f7e.map new file mode 100644 index 00000000..dcc8eef4 --- /dev/null +++ b/docs/d9/dbd/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible6aba1d1fd6ec790fbb159b84f9f09f7e.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d9/dbd/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible6aba1d1fd6ec790fbb159b84f9f09f7e.md5 b/docs/d9/dbd/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible6aba1d1fd6ec790fbb159b84f9f09f7e.md5 new file mode 100644 index 00000000..5880c0b8 --- /dev/null +++ b/docs/d9/dbd/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible6aba1d1fd6ec790fbb159b84f9f09f7e.md5 @@ -0,0 +1 @@ +666ad4036ecfefd969eaa3e4c629540c \ No newline at end of file diff --git a/docs/d9/dbd/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible6aba1d1fd6ec790fbb159b84f9f09f7e.png b/docs/d9/dbd/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible6aba1d1fd6ec790fbb159b84f9f09f7e.png new file mode 100644 index 00000000..8d6bd8af Binary files /dev/null and b/docs/d9/dbd/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible6aba1d1fd6ec790fbb159b84f9f09f7e.png differ diff --git a/docs/d9/dca/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.map b/docs/d9/dca/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.map new file mode 100644 index 00000000..49c444d7 --- /dev/null +++ b/docs/d9/dca/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/d9/dca/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.md5 b/docs/d9/dca/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.md5 new file mode 100644 index 00000000..e899d24a --- /dev/null +++ b/docs/d9/dca/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.md5 @@ -0,0 +1 @@ +ac6e7a303990a08d8e73e6684a56fc02 \ No newline at end of file diff --git a/docs/d9/dca/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.png b/docs/d9/dca/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.png new file mode 100644 index 00000000..b9055321 Binary files /dev/null and b/docs/d9/dca/structnlohmann_1_1detail_1_1is__iterator__traits__inherit__graph.png differ diff --git a/docs/d9/dcc/classnlohmann_1_1basic__json.html b/docs/d9/dcc/classnlohmann_1_1basic__json.html new file mode 100644 index 00000000..91f46170 --- /dev/null +++ b/docs/d9/dcc/classnlohmann_1_1basic__json.html @@ -0,0 +1,16153 @@ + + + + + + + +CUDNN Frontend API: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > Class Template Reference
    +
    +
    + +

    a class to store JSON values + More...

    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >:
    +
    +
    Collaboration graph
    + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Types

    using value_t = detail::value_t
     
    using json_pointer = ::nlohmann::json_pointer< basic_json >
     JSON Pointer, see nlohmann::json_pointer. More...
     
    template<typename T , typename SFINAE >
    using json_serializer = JSONSerializer< T, SFINAE >
     
    using error_handler_t = detail::error_handler_t
     how to treat decoding errors More...
     
    using cbor_tag_handler_t = detail::cbor_tag_handler_t
     how to treat CBOR tags More...
     
    using initializer_list_t = std::initializer_list< detail::json_ref< basic_json > >
     helper type for initializer lists of basic_json values More...
     
    using input_format_t = detail::input_format_t
     
    using json_sax_t = json_sax< basic_json >
     SAX interface type, see nlohmann::json_sax. More...
     
    using parse_event_t = detail::parse_event_t
     parser event types More...
     
    using parser_callback_t = detail::parser_callback_t< basic_json >
     per-element parser callback type More...
     
    + + + + +

    +Public Member Functions

    JSON_HEDLEY_RETURNS_NON_NULL const char * type_name () const noexcept
     return the type as string More...
     
    + + + + + + + +

    +Static Public Member Functions

    static allocator_type get_allocator ()
     returns the allocator associated with the container More...
     
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json meta ()
     returns version information on the library More...
     
    + + + + + + +

    +Public Attributes

    JSON_PRIVATE_UNLESS_TESTED __pad3__: value_t m_type = value_t::null
     
    json_value m_value = {}
     the value of the current element More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Private Types

    using basic_json_t = NLOHMANN_BASIC_JSON_TPL
     workaround type for MSVC More...
     
    using primitive_iterator_t = ::nlohmann::detail::primitive_iterator_t
     
    template<typename BasicJsonType >
    using internal_iterator = ::nlohmann::detail::internal_iterator< BasicJsonType >
     
    template<typename BasicJsonType >
    using iter_impl = ::nlohmann::detail::iter_impl< BasicJsonType >
     
    template<typename Iterator >
    using iteration_proxy = ::nlohmann::detail::iteration_proxy< Iterator >
     
    template<typename Base >
    using json_reverse_iterator = ::nlohmann::detail::json_reverse_iterator< Base >
     
    template<typename CharType >
    using output_adapter_t = ::nlohmann::detail::output_adapter_t< CharType >
     
    template<typename InputType >
    using binary_reader = ::nlohmann::detail::binary_reader< basic_json, InputType >
     
    template<typename CharType >
    using binary_writer = ::nlohmann::detail::binary_writer< basic_json, CharType >
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Private Member Functions

    template<typename InputAdapterType >
    static ::nlohmann::detail::parser< basic_json, InputAdapterType > parser (InputAdapterType adapter, detail::parser_callback_t< basic_json >cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)
     
     json_value ()=default
     default constructor (for null values) More...
     
     json_value (boolean_t v) noexcept
     constructor for booleans More...
     
     json_value (number_integer_t v) noexcept
     constructor for numbers (integer) More...
     
     json_value (number_unsigned_t v) noexcept
     constructor for numbers (unsigned) More...
     
     json_value (number_float_t v) noexcept
     constructor for numbers (floating-point) More...
     
     json_value (value_t t)
     constructor for empty values of a given type More...
     
     json_value (const string_t &value)
     constructor for strings More...
     
     json_value (string_t &&value)
     constructor for rvalue strings More...
     
     json_value (const object_t &value)
     constructor for objects More...
     
     json_value (object_t &&value)
     constructor for rvalue objects More...
     
     json_value (const array_t &value)
     constructor for arrays More...
     
     json_value (array_t &&value)
     constructor for rvalue arrays More...
     
     json_value (const typename binary_t::container_type &value)
     constructor for binary arrays More...
     
     json_value (typename binary_t::container_type &&value)
     constructor for rvalue binary arrays More...
     
     json_value (const binary_t &value)
     constructor for binary arrays (internal type) More...
     
     json_value (binary_t &&value)
     constructor for rvalue binary arrays (internal type) More...
     
    void destroy (value_t t) noexcept
     
    void assert_invariant (bool check_parents=true) const noexcept
     checks the class invariants More...
     
    void set_parents ()
     
    iterator set_parents (iterator it, typename iterator::difference_type count)
     
    reference set_parent (reference j)
     
    boolean_t get_impl (boolean_t *) const
     get a boolean (explicit) More...
     
    object_tget_impl_ptr (object_t *) noexcept
     get a pointer to the value (object) More...
     
    constexpr const object_tget_impl_ptr (const object_t *) const noexcept
     get a pointer to the value (object) More...
     
    array_tget_impl_ptr (array_t *) noexcept
     get a pointer to the value (array) More...
     
    constexpr const array_tget_impl_ptr (const array_t *) const noexcept
     get a pointer to the value (array) More...
     
    string_tget_impl_ptr (string_t *) noexcept
     get a pointer to the value (string) More...
     
    constexpr const string_tget_impl_ptr (const string_t *) const noexcept
     get a pointer to the value (string) More...
     
    boolean_tget_impl_ptr (boolean_t *) noexcept
     get a pointer to the value (boolean) More...
     
    constexpr const boolean_tget_impl_ptr (const boolean_t *) const noexcept
     get a pointer to the value (boolean) More...
     
    number_integer_tget_impl_ptr (number_integer_t *) noexcept
     get a pointer to the value (integer number) More...
     
    constexpr const number_integer_tget_impl_ptr (const number_integer_t *) const noexcept
     get a pointer to the value (integer number) More...
     
    number_unsigned_tget_impl_ptr (number_unsigned_t *) noexcept
     get a pointer to the value (unsigned number) More...
     
    constexpr const number_unsigned_tget_impl_ptr (const number_unsigned_t *) const noexcept
     get a pointer to the value (unsigned number) More...
     
    number_float_tget_impl_ptr (number_float_t *) noexcept
     get a pointer to the value (floating-point number) More...
     
    constexpr const number_float_tget_impl_ptr (const number_float_t *) const noexcept
     get a pointer to the value (floating-point number) More...
     
    binary_tget_impl_ptr (binary_t *) noexcept
     get a pointer to the value (binary) More...
     
    constexpr const binary_tget_impl_ptr (const binary_t *) const noexcept
     get a pointer to the value (binary) More...
     
    + + + + + + + + + +

    +Static Private Member Functions

    template<typename T , typename... Args>
    static JSON_HEDLEY_RETURNS_NON_NULL T * create (Args &&... args)
     helper for exception-safe object creation More...
     
    template<typename ReferenceType , typename ThisType >
    static ReferenceType get_ref_impl (ThisType &obj)
     helper function to implement get_ref() More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Private Attributes

    JSON_PRIVATE_UNLESS_TESTED __pad0__: using lexer = ::nlohmann::detail::lexer_base<basic_json>
     
    JSON_PRIVATE_UNLESS_TESTED __pad1__: using serializer = ::nlohmann::detail::serializer<basic_json>
     
    JSON_PRIVATE_UNLESS_TESTED __pad2__: union json_value { object_t* object
     
    array_tarray
     array (stored with pointer to save storage) More...
     
    string_tstring
     string (stored with pointer to save storage) More...
     
    binary_tbinary
     binary (stored with pointer to save storage) More...
     
    boolean_t boolean
     boolean More...
     
    number_integer_t number_integer
     number (integer) More...
     
    number_unsigned_t number_unsigned
     number (unsigned integer) More...
     
    number_float_t number_float
     number (floating-point) More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + +

    +Friends

    template<detail::value_t >
    struct detail::external_constructor
     
    template<typename BasicJsonType , typename InputType >
    class ::nlohmann::detail::parser
     
    template<typename BasicJsonType >
    class ::nlohmann::detail::iter_impl
     
    template<typename BasicJsonType , typename CharType >
    class ::nlohmann::detail::binary_writer
     
    template<typename BasicJsonType , typename InputType , typename SAX >
    class ::nlohmann::detail::binary_reader
     
    template<typename BasicJsonType >
    class ::nlohmann::detail::json_sax_dom_parser
     
    template<typename BasicJsonType >
    class ::nlohmann::detail::json_sax_dom_callback_parser
     
    class ::nlohmann::detail::exception
     
    + + + + + + + + + + + + + + + + + + + + +

    +exceptions

    Classes to implement user-defined exceptions.

    +
    using exception = detail::exception
     general exception of the basic_json class More...
     
    using parse_error = detail::parse_error
     exception indicating a parse error More...
     
    using invalid_iterator = detail::invalid_iterator
     exception indicating errors with iterators More...
     
    using type_error = detail::type_error
     exception indicating executing a member function with a wrong type More...
     
    using out_of_range = detail::out_of_range
     exception indicating access out of the defined range More...
     
    using other_error = detail::other_error
     exception indicating other library errors More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +container types

    The canonic container types to use basic_json like any other STL container.

    +
    using value_type = basic_json
     the type of elements in a basic_json container More...
     
    using reference = value_type &
     the type of an element reference More...
     
    using const_reference = const value_type &
     the type of an element const reference More...
     
    using difference_type = std::ptrdiff_t
     a type to represent differences between iterators More...
     
    using size_type = std::size_t
     a type to represent container sizes More...
     
    using allocator_type = AllocatorType< basic_json >
     the allocator type More...
     
    using pointer = typename std::allocator_traits< allocator_type >::pointer
     the type of an element pointer More...
     
    using const_pointer = typename std::allocator_traits< allocator_type >::const_pointer
     the type of an element const pointer More...
     
    using iterator = iter_impl< basic_json >
     an iterator for a basic_json container More...
     
    using const_iterator = iter_impl< const basic_json >
     a const iterator for a basic_json container More...
     
    using reverse_iterator = json_reverse_iterator< typename basic_json::iterator >
     a reverse iterator for a basic_json container More...
     
    using const_reverse_iterator = json_reverse_iterator< typename basic_json::const_iterator >
     a const reverse iterator for a basic_json container More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +JSON value data types

    The data types to store a JSON value. These types are derived from the template arguments passed to class basic_json.

    +
    using object_comparator_t = std::less< StringType >
     
    using object_t = ObjectType< StringType, basic_json, object_comparator_t, AllocatorType< std::pair< const StringType, basic_json > >>
     a type for an object More...
     
    using array_t = ArrayType< basic_json, AllocatorType< basic_json > >
     a type for an array More...
     
    using string_t = StringType
     a type for a string More...
     
    using boolean_t = BooleanType
     a type for a boolean More...
     
    using number_integer_t = NumberIntegerType
     a type for a number (integer) More...
     
    using number_unsigned_t = NumberUnsignedType
     a type for a number (unsigned) More...
     
    using number_float_t = NumberFloatType
     a type for a number (floating-point) More...
     
    using binary_t = nlohmann::byte_container_with_subtype< BinaryType >
     a type for a packed binary type More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +constructors and destructors

    Constructors of class basic_json, copy/move constructor, copy assignment, static functions creating objects, and the destructor.

    +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json binary (const typename binary_t::container_type &init)
     explicitly create a binary array (without subtype) More...
     
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json binary (const typename binary_t::container_type &init, std::uint8_t subtype)
     explicitly create a binary array (with subtype) More...
     
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json binary (typename binary_t::container_type &&init)
     explicitly create a binary array (without subtype) More...
     
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json binary (typename binary_t::container_type &&init, std::uint8_t subtype)
     explicitly create a binary array (with subtype) More...
     
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json array (initializer_list_t init={})
     explicitly create an array from an initializer list More...
     
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json object (initializer_list_t init={})
     explicitly create an object from an initializer list More...
     
     basic_json (const value_t v)
     create an empty value with a given type More...
     
     basic_json (std::nullptr_t=nullptr) noexcept
     create a null object More...
     
    template<typename CompatibleType , typename U = detail::uncvref_t<CompatibleType>, detail::enable_if_t< !detail::is_basic_json< U >::value &&detail::is_compatible_type< basic_json_t, U >::value, int > = 0>
     basic_json (CompatibleType &&val) noexcept(noexcept(//NOLINT(bugprone-forwarding-reference-overload, bugprone-exception-escape) JSONSerializer< U >::to_json(std::declval< basic_json_t &>(), std::forward< CompatibleType >(val))))
     create a JSON value More...
     
    template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value &&!std::is_same< basic_json, BasicJsonType >::value, int > = 0>
     basic_json (const BasicJsonType &val)
     create a JSON value from an existing one More...
     
     basic_json (initializer_list_t init, bool type_deduction=true, value_t manual_type=value_t::array)
     create a container (array or object) from an initializer list More...
     
     basic_json (size_type cnt, const basic_json &val)
     construct an array with count copies of given value More...
     
    template<class InputIT , typename std::enable_if< std::is_same< InputIT, typename basic_json_t::iterator >::value||std::is_same< InputIT, typename basic_json_t::const_iterator >::value, int >::type = 0>
     basic_json (InputIT first, InputIT last)
     construct a JSON container given an iterator range More...
     
    template<typename JsonRef , detail::enable_if_t< detail::conjunction< detail::is_json_ref< JsonRef >, std::is_same< typename JsonRef::value_type, basic_json >>::value, int > = 0>
     basic_json (const JsonRef &ref)
     
     basic_json (const basic_json &other)
     copy constructor More...
     
     basic_json (basic_json &&other) noexcept
     move constructor More...
     
    basic_jsonoperator= (basic_json other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)
     copy assignment More...
     
     ~basic_json () noexcept
     destructor More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +object inspection

    Functions to inspect the type of a JSON value.

    +
    string_t dump (const int indent=-1, const char indent_char=' ', const bool ensure_ascii=false, const error_handler_t error_handler=error_handler_t::strict) const
     serialization More...
     
    constexpr value_t type () const noexcept
     return the type of the JSON value (explicit) More...
     
    constexpr bool is_primitive () const noexcept
     return whether type is primitive More...
     
    constexpr bool is_structured () const noexcept
     return whether type is structured More...
     
    constexpr bool is_null () const noexcept
     return whether value is null More...
     
    constexpr bool is_boolean () const noexcept
     return whether value is a boolean More...
     
    constexpr bool is_number () const noexcept
     return whether value is a number More...
     
    constexpr bool is_number_integer () const noexcept
     return whether value is an integer number More...
     
    constexpr bool is_number_unsigned () const noexcept
     return whether value is an unsigned integer number More...
     
    constexpr bool is_number_float () const noexcept
     return whether value is a floating-point number More...
     
    constexpr bool is_object () const noexcept
     return whether value is an object More...
     
    constexpr bool is_array () const noexcept
     return whether value is an array More...
     
    constexpr bool is_string () const noexcept
     return whether value is a string More...
     
    constexpr bool is_binary () const noexcept
     return whether value is a binary array More...
     
    constexpr bool is_discarded () const noexcept
     return whether value is discarded More...
     
    constexpr operator value_t () const noexcept
     return the type of the JSON value (implicit) More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +value access

    Direct access to the stored value of a JSON value.

    +
    template<typename ValueType , detail::enable_if_t< detail::is_default_constructible< ValueType >::value &&detail::has_from_json< basic_json_t, ValueType >::value, int > = 0>
    ValueType get_impl (detail::priority_tag< 0 >) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>(), std::declval< ValueType &>())))
     get a value (explicit) More...
     
    template<typename ValueType , detail::enable_if_t< detail::has_non_default_from_json< basic_json_t, ValueType >::value, int > = 0>
    ValueType get_impl (detail::priority_tag< 1 >) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>())))
     get a value (explicit); special case More...
     
    template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value, int > = 0>
    BasicJsonType get_impl (detail::priority_tag< 2 >) const
     get special-case overload More...
     
    template<typename BasicJsonType , detail::enable_if_t< std::is_same< BasicJsonType, basic_json_t >::value, int > = 0>
    basic_json get_impl (detail::priority_tag< 3 >) const
     get special-case overload More...
     
    template<typename PointerType , detail::enable_if_t< std::is_pointer< PointerType >::value, int > = 0>
    constexpr auto get_impl (detail::priority_tag< 4 >) const noexcept -> decltype(std::declval< const basic_json_t &>().template get_ptr< PointerType >())
     get a pointer value (explicit) More...
     
    template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
    auto get_ptr () noexcept -> decltype(std::declval< basic_json_t &>().get_impl_ptr(std::declval< PointerType >()))
     get a pointer value (implicit) More...
     
    template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value &&std::is_const< typename std::remove_pointer< PointerType >::type >::value, int >::type = 0>
    constexpr auto get_ptr () const noexcept -> decltype(std::declval< const basic_json_t &>().get_impl_ptr(std::declval< PointerType >()))
     get a pointer value (implicit) More...
     
    template<typename ValueTypeCV , typename ValueType = detail::uncvref_t<ValueTypeCV>>
    auto get () const noexcept(noexcept(std::declval< const basic_json_t &>().template get_impl< ValueType >(detail::priority_tag< 4 > {}))) -> decltype(std::declval< const basic_json_t &>().template get_impl< ValueType >(detail::priority_tag< 4 >
     get a (pointer) value (explicit) More...
     
    return get_impl (detail::priority_tag< 4 > {})
     
    template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
    auto get () noexcept -> decltype(std::declval< basic_json_t &>().template get_ptr< PointerType >())
     get a pointer value (explicit) More...
     
    template<typename ValueType , detail::enable_if_t< !detail::is_basic_json< ValueType >::value &&detail::has_from_json< basic_json_t, ValueType >::value, int > = 0>
    ValueType & get_to (ValueType &v) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>(), v)))
     get a value (explicit) More...
     
    template<typename ValueType , detail::enable_if_t< detail::is_basic_json< ValueType >::value, int > = 0>
    ValueType & get_to (ValueType &v) const
     
    template<typename T , std::size_t N, typename Array = T (&)[N], detail::enable_if_t< detail::has_from_json< basic_json_t, Array >::value, int > = 0>
    Array get_to (T(&v)[N]) const noexcept(noexcept(JSONSerializer< Array >::from_json(std::declval< const basic_json_t &>(), v)))
     
    template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value, int >::type = 0>
    ReferenceType get_ref ()
     get a reference value (implicit) More...
     
    template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value &&std::is_const< typename std::remove_reference< ReferenceType >::type >::value, int >::type = 0>
    ReferenceType get_ref () const
     get a reference value (implicit) More...
     
    template<typename ValueType , typename std::enable_if< !std::is_pointer< ValueType >::value &&!std::is_same< ValueType, detail::json_ref< basic_json >>::value &&!std::is_same< ValueType, typename string_t::value_type >::value &&!detail::is_basic_json< ValueType >::value &&!std::is_same< ValueType, std::initializer_list< typename string_t::value_type >>::value &&detail::is_detected< detail::get_template_function, const basic_json_t &, ValueType >::value, int >::type = 0>
    JSON_EXPLICIT operator ValueType () const
     get a value (implicit) More...
     
    binary_tget_binary ()
     
    const binary_tget_binary () const
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +element access

    Access to the JSON value.

    +
    reference at (size_type idx)
     access specified array element with bounds checking More...
     
    const_reference at (size_type idx) const
     access specified array element with bounds checking More...
     
    reference at (const typename object_t::key_type &key)
     access specified object element with bounds checking More...
     
    const_reference at (const typename object_t::key_type &key) const
     access specified object element with bounds checking More...
     
    reference operator[] (size_type idx)
     access specified array element More...
     
    const_reference operator[] (size_type idx) const
     access specified array element More...
     
    reference operator[] (const typename object_t::key_type &key)
     access specified object element More...
     
    const_reference operator[] (const typename object_t::key_type &key) const
     read-only access specified object element More...
     
    template<typename T >
    reference operator[] (T *key)
     access specified object element More...
     
    template<typename T >
    const_reference operator[] (T *key) const
     read-only access specified object element More...
     
    template<class ValueType , typename std::enable_if< detail::is_getable< basic_json_t, ValueType >::value &&!std::is_same< value_t, ValueType >::value, int >::type = 0>
    ValueType value (const typename object_t::key_type &key, const ValueType &default_value) const
     access specified object element with default value More...
     
    string_t value (const typename object_t::key_type &key, const char *default_value) const
     overload for a default value of type const char* More...
     
    template<class ValueType , typename std::enable_if< detail::is_getable< basic_json_t, ValueType >::value, int >::type = 0>
    ValueType value (const json_pointer &ptr, const ValueType &default_value) const
     access specified object element via JSON Pointer with default value More...
     
    string_t value (const json_pointer &ptr, const char *default_value) const
     overload for a default value of type const char* More...
     
    reference front ()
     access the first element More...
     
    const_reference front () const
     access the first element More...
     
    reference back ()
     access the last element More...
     
    const_reference back () const
     access the last element More...
     
    template<class IteratorType , typename std::enable_if< std::is_same< IteratorType, typename basic_json_t::iterator >::value||std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int >::type = 0>
    IteratorType erase (IteratorType pos)
     remove element given an iterator More...
     
    template<class IteratorType , typename std::enable_if< std::is_same< IteratorType, typename basic_json_t::iterator >::value||std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int >::type = 0>
    IteratorType erase (IteratorType first, IteratorType last)
     remove elements given an iterator range More...
     
    size_type erase (const typename object_t::key_type &key)
     remove element from a JSON object given a key More...
     
    void erase (const size_type idx)
     remove element from a JSON array given an index More...
     
    + + + + + + + + + + + + + + + + + + + + +

    +lookup

    template<typename KeyT >
    iterator find (KeyT &&key)
     find an element in a JSON object More...
     
    template<typename KeyT >
    const_iterator find (KeyT &&key) const
     find an element in a JSON object More...
     
    template<typename KeyT >
    size_type count (KeyT &&key) const
     returns the number of occurrences of a key in a JSON object More...
     
    template<typename KeyT , typename std::enable_if< !std::is_same< typename std::decay< KeyT >::type, json_pointer >::value, int >::type = 0>
    bool contains (KeyT &&key) const
     check the existence of an element in a JSON object More...
     
    bool contains (const json_pointer &ptr) const
     check the existence of an element in a JSON object given a JSON pointer More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +iterators

    static iteration_proxy< iteratoriterator_wrapper (reference ref) noexcept
     wrapper to access iterator member functions in range-based for More...
     
    static iteration_proxy< const_iteratoriterator_wrapper (const_reference ref) noexcept
     wrapper to access iterator member functions in range-based for More...
     
    iterator begin () noexcept
     returns an iterator to the first element More...
     
    const_iterator begin () const noexcept
     returns a const iterator to the first element More...
     
    const_iterator cbegin () const noexcept
     returns a const iterator to the first element More...
     
    iterator end () noexcept
     returns an iterator to one past the last element More...
     
    const_iterator end () const noexcept
     returns a const iterator to one past the last element More...
     
    const_iterator cend () const noexcept
     returns a const iterator to one past the last element More...
     
    reverse_iterator rbegin () noexcept
     returns an iterator to the reverse-beginning More...
     
    const_reverse_iterator rbegin () const noexcept
     returns a const reverse iterator to the last element More...
     
    reverse_iterator rend () noexcept
     returns an iterator to the reverse-end More...
     
    const_reverse_iterator rend () const noexcept
     returns a const reverse iterator to one before the first More...
     
    const_reverse_iterator crbegin () const noexcept
     returns a const reverse iterator to the last element More...
     
    const_reverse_iterator crend () const noexcept
     returns a const reverse iterator to one before the first More...
     
    iteration_proxy< iteratoritems () noexcept
     helper to access iterator member functions in range-based for More...
     
    iteration_proxy< const_iteratoritems () const noexcept
     helper to access iterator member functions in range-based for More...
     
    + + + + + + + + + + +

    +capacity

    bool empty () const noexcept
     checks whether the container is empty. More...
     
    size_type size () const noexcept
     returns the number of elements More...
     
    size_type max_size () const noexcept
     returns the maximum possible number of elements More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +modifiers

    void swap (reference left, reference right) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)
     exchanges the values More...
     
    void clear () noexcept
     clears the contents More...
     
    void push_back (basic_json &&val)
     add an object to an array More...
     
    reference operator+= (basic_json &&val)
     add an object to an array More...
     
    void push_back (const basic_json &val)
     add an object to an array More...
     
    reference operator+= (const basic_json &val)
     add an object to an array More...
     
    void push_back (const typename object_t::value_type &val)
     add an object to an object More...
     
    reference operator+= (const typename object_t::value_type &val)
     add an object to an object More...
     
    void push_back (initializer_list_t init)
     add an object to an object More...
     
    reference operator+= (initializer_list_t init)
     add an object to an object More...
     
    template<class... Args>
    reference emplace_back (Args &&... args)
     add an object to an array More...
     
    template<class... Args>
    std::pair< iterator, bool > emplace (Args &&... args)
     add an object to an object if key does not exist More...
     
    template<typename... Args>
    iterator insert_iterator (const_iterator pos, Args &&... args)
     
    iterator insert (const_iterator pos, const basic_json &val)
     inserts element More...
     
    iterator insert (const_iterator pos, basic_json &&val)
     inserts element More...
     
    iterator insert (const_iterator pos, size_type cnt, const basic_json &val)
     inserts elements More...
     
    iterator insert (const_iterator pos, const_iterator first, const_iterator last)
     inserts elements More...
     
    iterator insert (const_iterator pos, initializer_list_t ilist)
     inserts elements More...
     
    void insert (const_iterator first, const_iterator last)
     inserts elements More...
     
    void update (const_reference j)
     updates a JSON object from another object, overwriting existing keys More...
     
    void update (const_iterator first, const_iterator last)
     updates a JSON object from another object, overwriting existing keys More...
     
    void swap (reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)
     exchanges the values More...
     
    void swap (array_t &other)
     exchanges the values More...
     
    void swap (object_t &other)
     exchanges the values More...
     
    void swap (string_t &other)
     exchanges the values More...
     
    void swap (binary_t &other)
     exchanges the values More...
     
    void swap (typename binary_t::container_type &other)
     exchanges the values More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +lexicographical comparison operators

    bool operator== (const_reference lhs, const_reference rhs) noexcept
     comparison: equal More...
     
    template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    bool operator== (const_reference lhs, ScalarType rhs) noexcept
     comparison: equal More...
     
    template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    bool operator== (ScalarType lhs, const_reference rhs) noexcept
     comparison: equal More...
     
    bool operator!= (const_reference lhs, const_reference rhs) noexcept
     comparison: not equal More...
     
    template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    bool operator!= (const_reference lhs, ScalarType rhs) noexcept
     comparison: not equal More...
     
    template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    bool operator!= (ScalarType lhs, const_reference rhs) noexcept
     comparison: not equal More...
     
    bool operator< (const_reference lhs, const_reference rhs) noexcept
     comparison: less than More...
     
    template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    bool operator< (const_reference lhs, ScalarType rhs) noexcept
     comparison: less than More...
     
    template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    bool operator< (ScalarType lhs, const_reference rhs) noexcept
     comparison: less than More...
     
    bool operator<= (const_reference lhs, const_reference rhs) noexcept
     comparison: less than or equal More...
     
    template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    bool operator<= (const_reference lhs, ScalarType rhs) noexcept
     comparison: less than or equal More...
     
    template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    bool operator<= (ScalarType lhs, const_reference rhs) noexcept
     comparison: less than or equal More...
     
    bool operator> (const_reference lhs, const_reference rhs) noexcept
     comparison: greater than More...
     
    template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    bool operator> (const_reference lhs, ScalarType rhs) noexcept
     comparison: greater than More...
     
    template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    bool operator> (ScalarType lhs, const_reference rhs) noexcept
     comparison: greater than More...
     
    bool operator>= (const_reference lhs, const_reference rhs) noexcept
     comparison: greater than or equal More...
     
    template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    bool operator>= (const_reference lhs, ScalarType rhs) noexcept
     comparison: greater than or equal More...
     
    template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    bool operator>= (ScalarType lhs, const_reference rhs) noexcept
     comparison: greater than or equal More...
     
    + + + + + + + +

    +serialization

    std::ostream & operator<< (std::ostream &o, const basic_json &j)
     serialize to stream More...
     
    std::ostream & operator>> (const basic_json &j, std::ostream &o)
     serialize to stream More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +deserialization

    std::istream & operator<< (basic_json &j, std::istream &i)
     deserialize from stream More...
     
    std::istream & operator>> (std::istream &i, basic_json &j)
     deserialize from stream More...
     
    template<typename InputType >
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json parse (InputType &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)
     deserialize from a compatible input More...
     
    template<typename IteratorType >
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json parse (IteratorType first, IteratorType last, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)
     deserialize from a pair of character iterators More...
     
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json parse (detail::span_input_adapter &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)
     
    template<typename InputType >
    static bool accept (InputType &&i, const bool ignore_comments=false)
     check if the input is valid JSON More...
     
    template<typename IteratorType >
    static bool accept (IteratorType first, IteratorType last, const bool ignore_comments=false)
     
    static JSON_HEDLEY_WARN_UNUSED_RESULT bool accept (detail::span_input_adapter &&i, const bool ignore_comments=false)
     
    template<typename InputType , typename SAX >
    static bool sax_parse (InputType &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)
     generate SAX events More...
     
    template<class IteratorType , class SAX >
    static bool sax_parse (IteratorType first, IteratorType last, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)
     
    template<typename SAX >
    static bool sax_parse (detail::span_input_adapter &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +binary serialization/deserialization support

    static std::vector< uint8_t > to_cbor (const basic_json &j)
     create a CBOR serialization of a given JSON value More...
     
    static void to_cbor (const basic_json &j, detail::output_adapter< uint8_t > o)
     
    static void to_cbor (const basic_json &j, detail::output_adapter< char > o)
     
    static std::vector< uint8_t > to_msgpack (const basic_json &j)
     create a MessagePack serialization of a given JSON value More...
     
    static void to_msgpack (const basic_json &j, detail::output_adapter< uint8_t > o)
     
    static void to_msgpack (const basic_json &j, detail::output_adapter< char > o)
     
    static std::vector< uint8_t > to_ubjson (const basic_json &j, const bool use_size=false, const bool use_type=false)
     create a UBJSON serialization of a given JSON value More...
     
    static void to_ubjson (const basic_json &j, detail::output_adapter< uint8_t > o, const bool use_size=false, const bool use_type=false)
     
    static void to_ubjson (const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false)
     
    static std::vector< uint8_t > to_bson (const basic_json &j)
     Serializes the given JSON object j to BSON and returns a vector containing the corresponding BSON-representation. More...
     
    static void to_bson (const basic_json &j, detail::output_adapter< uint8_t > o)
     Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the given output_adapter o. More...
     
    static void to_bson (const basic_json &j, detail::output_adapter< char > o)
     Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the given output_adapter o. More...
     
    template<typename InputType >
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor (InputType &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)
     create a JSON value from an input in CBOR format More...
     
    template<typename IteratorType >
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)
     create a JSON value from an input in CBOR format More...
     
    template<typename T >
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)
     
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_cbor (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)
     
    template<typename InputType >
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack (InputType &&i, const bool strict=true, const bool allow_exceptions=true)
     create a JSON value from an input in MessagePack format More...
     
    template<typename IteratorType >
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)
     create a JSON value from an input in MessagePack format More...
     
    template<typename T >
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)
     
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_msgpack (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
     
    template<typename InputType >
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson (InputType &&i, const bool strict=true, const bool allow_exceptions=true)
     create a JSON value from an input in UBJSON format More...
     
    template<typename IteratorType >
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)
     create a JSON value from an input in UBJSON format More...
     
    template<typename T >
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)
     
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_ubjson (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
     
    template<typename InputType >
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson (InputType &&i, const bool strict=true, const bool allow_exceptions=true)
     Create a JSON value from an input in BSON format. More...
     
    template<typename IteratorType >
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)
     Create a JSON value from an input in BSON format. More...
     
    template<typename T >
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)
     
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json from_bson (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)
     
    + + + + + + + + + + + + + + + + + + + +

    +JSON Pointer functions

    reference operator[] (const json_pointer &ptr)
     access specified element via JSON Pointer More...
     
    const_reference operator[] (const json_pointer &ptr) const
     access specified element via JSON Pointer More...
     
    reference at (const json_pointer &ptr)
     access specified element via JSON Pointer More...
     
    const_reference at (const json_pointer &ptr) const
     access specified element via JSON Pointer More...
     
    basic_json flatten () const
     return flattened JSON value More...
     
    basic_json unflatten () const
     unflatten a previously flattened JSON value More...
     
    + + + + + + + +

    +JSON Patch functions

    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json diff (const basic_json &source, const basic_json &target, const std::string &path="")
     creates a diff as a JSON patch More...
     
    basic_json patch (const basic_json &json_patch) const
     applies a JSON patch More...
     
    + + + + +

    +JSON Merge Patch functions

    void merge_patch (const basic_json &apply_patch)
     applies a JSON Merge Patch More...
     
    +

    Detailed Description

    +

    template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +class nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >

    + +

    a class to store JSON values

    +
    Template Parameters
    + + + + + + + + + + + +
    ObjectTypetype for JSON objects (std::map by default; will be used in object_t)
    ArrayTypetype for JSON arrays (std::vector by default; will be used in array_t)
    StringTypetype for JSON strings and object keys (std::string by default; will be used in string_t)
    BooleanTypetype for JSON booleans (bool by default; will be used in boolean_t)
    NumberIntegerTypetype for JSON integer numbers (int64_t by default; will be used in number_integer_t)
    NumberUnsignedTypetype for JSON unsigned integer numbers (uint64_t by default; will be used in number_unsigned_t)
    NumberFloatTypetype for JSON floating-point numbers (double by default; will be used in number_float_t)
    BinaryTypetype for packed binary data for compatibility with binary serialization formats (std::vector<std::uint8_t> by default; will be used in binary_t)
    AllocatorTypetype of the allocator to use (std::allocator by default)
    JSONSerializerthe serializer to resolve internal calls to to_json() and from_json() (adl_serializer by default)
    +
    +
    +

    The class satisfies the following concept requirements:

    +
    Invariant
    The member variables m_value and m_type have the following relationship: +
    +
    See also
    RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format
    +
    Since
    version 1.0.0
    + +

    Definition at line 3366 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ allocator_type

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::allocator_type = AllocatorType<basic_json>
    +
    + +

    the allocator type

    + +

    Definition at line 17318 of file json.hpp.

    + +
    +
    + +

    ◆ array_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::array_t = ArrayType<basic_json, AllocatorType<basic_json> >
    +
    + +

    a type for an array

    +

    RFC 8259 describes JSON arrays as follows:

    +

    An array is an ordered sequence of zero or more values.

    +
    +

    To store objects in C++, a type is defined by the template parameters explained below.

    +
    Template Parameters
    + + + +
    ArrayTypecontainer type to store arrays (e.g., std::vector or std::list)
    AllocatorTypeallocator to use for arrays (e.g., std::allocator)
    +
    +
    +

    Default type

    +

    With the default values for ArrayType (std::vector) and AllocatorType (std::allocator), the default value for array_t is:

    +
    std::vector<
    basic_json, // value_type
    std::allocator<basic_json> // allocator_type
    >

    Limits

    +

    RFC 8259 specifies:

    +

    An implementation may set limits on the maximum depth of nesting.

    +
    +

    In this class, the array's limit of nesting is not explicitly constrained. However, a maximum depth of nesting may be introduced by the compiler or runtime environment. A theoretical limit can be queried by calling the max_size function of a JSON array.

    +

    Storage

    +

    Arrays are stored as pointers in a basic_json type. That is, for any access to array values, a pointer of type array_t* must be dereferenced.

    +
    See also
    see object_ttype for an object value
    +
    Since
    version 1.0.0
    + +

    Definition at line 17578 of file json.hpp.

    + +
    +
    + +

    ◆ basic_json_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json_t = NLOHMANN_BASIC_JSON_TPL
    +
    +private
    +
    + +

    workaround type for MSVC

    + +

    Definition at line 17216 of file json.hpp.

    + +
    +
    + +

    ◆ binary_reader

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename InputType >
    + + + + + +
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary_reader = ::nlohmann::detail::binary_reader<basic_json, InputType>
    +
    +private
    +
    + +

    Definition at line 17248 of file json.hpp.

    + +
    +
    + +

    ◆ binary_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary_t = nlohmann::byte_container_with_subtype<BinaryType>
    +
    + +

    a type for a packed binary type

    +

    This type is a type designed to carry binary data that appears in various serialized formats, such as CBOR's Major Type 2, MessagePack's bin, and BSON's generic binary subtype. This type is NOT a part of standard JSON and exists solely for compatibility with these binary types. As such, it is simply defined as an ordered sequence of zero or more byte values.

    +

    Additionally, as an implementation detail, the subtype of the binary data is carried around as a std::uint8_t, which is compatible with both of the binary data formats that use binary subtyping, (though the specific numbering is incompatible with each other, and it is up to the user to translate between them).

    +

    CBOR's RFC 7049 describes this type as:

    +

    Major type 2: a byte string. The string's length in bytes is represented following the rules for positive integers (major type 0).

    +
    +

    MessagePack's documentation on the bin type family describes this type as:

    +

    Bin format family stores an byte array in 2, 3, or 5 bytes of extra bytes in addition to the size of the byte array.

    +
    +

    BSON's specifications describe several binary types; however, this type is intended to represent the generic binary type which has the description:

    +

    Generic binary subtype - This is the most commonly used binary subtype and should be the 'default' for drivers and tools.

    +
    +

    None of these impose any limitations on the internal representation other than the basic unit of storage be some type of array whose parts are decomposable into bytes.

    +

    The default representation of this binary format is a std::vector<std::uint8_t>, which is a very common way to represent a byte array in modern C++.

    +

    Default type

    +

    The default values for BinaryType is std::vector<std::uint8_t>

    +

    Storage

    +

    Binary Arrays are stored as pointers in a basic_json type. That is, for any access to array values, a pointer of the type binary_t* must be dereferenced.

    +

    Notes on subtypes

    +
      +
    • CBOR
        +
      • Binary values are represented as byte strings. No subtypes are supported and will be ignored when CBOR is written.
      • +
      +
    • +
    • MessagePack
        +
      • If a subtype is given and the binary array contains exactly 1, 2, 4, 8, or 16 elements, the fixext family (fixext1, fixext2, fixext4, fixext8) is used. For other sizes, the ext family (ext8, ext16, ext32) is used. The subtype is then added as singed 8-bit integer.
      • +
      • If no subtype is given, the bin family (bin8, bin16, bin32) is used.
      • +
      +
    • +
    • BSON
        +
      • If a subtype is given, it is used and added as unsigned 8-bit integer.
      • +
      • If no subtype is given, the generic binary subtype 0x00 is used.
      • +
      +
    • +
    +
    See also
    see binarycreate a binary array
    +
    Since
    version 3.8.0
    + +

    Definition at line 17939 of file json.hpp.

    + +
    +
    + +

    ◆ binary_writer

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename CharType >
    + + + + + +
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary_writer = ::nlohmann::detail::binary_writer<basic_json, CharType>
    +
    +private
    +
    + +

    Definition at line 17249 of file json.hpp.

    + +
    +
    + +

    ◆ boolean_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::boolean_t = BooleanType
    +
    + +

    a type for a boolean

    +

    RFC 8259 implicitly describes a boolean as a type which differentiates the two literals true and false.

    +

    To store objects in C++, a type is defined by the template parameter BooleanType which chooses the type to use.

    +

    Default type

    +

    With the default values for BooleanType (bool), the default value for boolean_t is:

    +
    bool

    Storage

    +

    Boolean values are stored directly inside a basic_json type.

    +
    Since
    version 1.0.0
    + +

    Definition at line 17657 of file json.hpp.

    + +
    +
    + +

    ◆ cbor_tag_handler_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::cbor_tag_handler_t = detail::cbor_tag_handler_t
    +
    + +

    how to treat CBOR tags

    + +

    Definition at line 17263 of file json.hpp.

    + +
    +
    + +

    ◆ const_iterator

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::const_iterator = iter_impl<const basic_json>
    +
    + +

    a const iterator for a basic_json container

    + +

    Definition at line 17328 of file json.hpp.

    + +
    +
    + +

    ◆ const_pointer

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::const_pointer = typename std::allocator_traits<allocator_type>::const_pointer
    +
    + +

    the type of an element const pointer

    + +

    Definition at line 17323 of file json.hpp.

    + +
    +
    + +

    ◆ const_reference

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::const_reference = const value_type&
    +
    + +

    the type of an element const reference

    + +

    Definition at line 17310 of file json.hpp.

    + +
    +
    + +

    ◆ const_reverse_iterator

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::const_reverse_iterator = json_reverse_iterator<typename basic_json::const_iterator>
    +
    + +

    a const reverse iterator for a basic_json container

    + +

    Definition at line 17332 of file json.hpp.

    + +
    +
    + +

    ◆ difference_type

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::difference_type = std::ptrdiff_t
    +
    + +

    a type to represent differences between iterators

    + +

    Definition at line 17313 of file json.hpp.

    + +
    +
    + +

    ◆ error_handler_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::error_handler_t = detail::error_handler_t
    +
    + +

    how to treat decoding errors

    + +

    Definition at line 17261 of file json.hpp.

    + +
    +
    + +

    ◆ exception

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::exception = detail::exception
    +
    + +

    general exception of the basic_json class

    +

    This class is an extension of std::exception objects with a member id for exception ids. It is used as the base class for all exceptions thrown by the basic_json class. This class can hence be used as "wildcard" to catch exceptions.

    +

    Subclasses:

      +
    • parse_error for exceptions indicating a parse error
    • +
    • invalid_iterator for exceptions indicating errors with iterators
    • +
    • type_error for exceptions indicating executing a member function with a wrong type
    • +
    • out_of_range for exceptions indicating access out of the defined range
    • +
    • other_error for exceptions indicating other library errors
    • +
    +

    {The following code shows how arbitrary library exceptions can be caught.,exception}

    +
    Since
    version 3.0.0
    + +

    Definition at line 17280 of file json.hpp.

    + +
    +
    + +

    ◆ initializer_list_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::initializer_list_t = std::initializer_list<detail::json_ref<basic_json> >
    +
    + +

    helper type for initializer lists of basic_json values

    + +

    Definition at line 17265 of file json.hpp.

    + +
    +
    + +

    ◆ input_format_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::input_format_t = detail::input_format_t
    +
    + +

    Definition at line 17267 of file json.hpp.

    + +
    +
    + +

    ◆ internal_iterator

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::internal_iterator = ::nlohmann::detail::internal_iterator<BasicJsonType>
    +
    +private
    +
    + +

    Definition at line 17237 of file json.hpp.

    + +
    +
    + +

    ◆ invalid_iterator

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::invalid_iterator = detail::invalid_iterator
    +
    + +

    exception indicating errors with iterators

    +

    This exception is thrown if iterators passed to a library function do not match the expected semantics.

    +

    Exceptions have ids 2xx.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name / id example message description
    json.exception.invalid_iterator.201 iterators are not compatible The iterators passed to constructor basic_json(InputIT first, InputIT last) are not compatible, meaning they do not belong to the same container. Therefore, the range (first, last) is invalid.
    json.exception.invalid_iterator.202 iterator does not fit current value In an erase or insert function, the passed iterator pos does not belong to the JSON value for which the function was called. It hence does not define a valid position for the deletion/insertion.
    json.exception.invalid_iterator.203 iterators do not fit current value Either iterator passed to function erase(IteratorType first, IteratorType last) does not belong to the JSON value from which values shall be erased. It hence does not define a valid range to delete values from.
    json.exception.invalid_iterator.204 iterators out of range When an iterator range for a primitive type (number, boolean, or string) is passed to a constructor or an erase function, this range has to be exactly (begin(), end()), because this is the only way the single stored value is expressed. All other ranges are invalid.
    json.exception.invalid_iterator.205 iterator out of range When an iterator for a primitive type (number, boolean, or string) is passed to an erase function, the iterator has to be the begin() iterator, because it is the only way to address the stored value. All other iterators are invalid.
    json.exception.invalid_iterator.206 cannot construct with iterators from null The iterators passed to constructor basic_json(InputIT first, InputIT last) belong to a JSON null value and hence to not define a valid range.
    json.exception.invalid_iterator.207 cannot use key() for non-object iterators The key() member function can only be used on iterators belonging to a JSON object, because other types do not have a concept of a key.
    json.exception.invalid_iterator.208 cannot use operator[] for object iterators The operator[] to specify a concrete offset cannot be used on iterators belonging to a JSON object, because JSON objects are unordered.
    json.exception.invalid_iterator.209 cannot use offsets with object iterators The offset operators (+, -, +=, -=) cannot be used on iterators belonging to a JSON object, because JSON objects are unordered.
    json.exception.invalid_iterator.210 iterators do not fit The iterator range passed to the insert function are not compatible, meaning they do not belong to the same container. Therefore, the range (first, last) is invalid.
    json.exception.invalid_iterator.211 passed iterators may not belong to container The iterator range passed to the insert function must not be a subrange of the container to insert to.
    json.exception.invalid_iterator.212 cannot compare iterators of different containers When two iterators are compared, they must belong to the same container.
    json.exception.invalid_iterator.213 cannot compare order of object iterators The order of object iterators cannot be compared, because JSON objects are unordered.
    json.exception.invalid_iterator.214 cannot get value Cannot get value for iterator: Either the iterator belongs to a null value or it is an iterator to a primitive type (number, boolean, or string), but the iterator is different to begin().
    +

    {The following code shows how an invalid_iterator exception can be caught.,invalid_iterator}

    +
    See also
    - exception for the base class of the library exceptions
    +
    +- parse_error for exceptions indicating a parse error
    +
    +- type_error for exceptions indicating executing a member function with a wrong type
    +
    +- out_of_range for exceptions indicating access out of the defined range
    +
    +- other_error for exceptions indicating other library errors
    +
    Since
    version 3.0.0
    + +

    Definition at line 17284 of file json.hpp.

    + +
    +
    + +

    ◆ iter_impl

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::iter_impl = ::nlohmann::detail::iter_impl<BasicJsonType>
    +
    +private
    +
    + +

    Definition at line 17239 of file json.hpp.

    + +
    +
    + +

    ◆ iteration_proxy

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename Iterator >
    + + + + + +
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::iteration_proxy = ::nlohmann::detail::iteration_proxy<Iterator>
    +
    +private
    +
    + +

    Definition at line 17241 of file json.hpp.

    + +
    +
    + +

    ◆ iterator

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::iterator = iter_impl<basic_json>
    +
    + +

    an iterator for a basic_json container

    + +

    Definition at line 17326 of file json.hpp.

    + +
    +
    + +

    ◆ json_pointer

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_pointer = ::nlohmann::json_pointer<basic_json>
    +
    + +

    JSON Pointer, see nlohmann::json_pointer.

    + +

    Definition at line 17257 of file json.hpp.

    + +
    +
    + +

    ◆ json_reverse_iterator

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename Base >
    + + + + + +
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_reverse_iterator = ::nlohmann::detail::json_reverse_iterator<Base>
    +
    +private
    +
    + +

    Definition at line 17242 of file json.hpp.

    + +
    +
    + +

    ◆ json_sax_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_sax_t = json_sax<basic_json>
    +
    + +

    SAX interface type, see nlohmann::json_sax.

    + +

    Definition at line 17269 of file json.hpp.

    + +
    +
    + +

    ◆ json_serializer

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename T , typename SFINAE >
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_serializer = JSONSerializer<T, SFINAE>
    +
    + +

    Definition at line 17259 of file json.hpp.

    + +
    +
    + +

    ◆ number_float_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::number_float_t = NumberFloatType
    +
    + +

    a type for a number (floating-point)

    +

    RFC 8259 describes numbers as follows:

    +

    The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

    +
    +

    This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.

    +

    To store floating-point numbers in C++, a type is defined by the template parameter NumberFloatType which chooses the type to use.

    +

    Default type

    +

    With the default values for NumberFloatType (double), the default value for number_float_t is:

    +
    double

    Default behavior

    +
      +
    • The restrictions about leading zeros is not enforced in C++. Instead, leading zeros in floating-point literals will be ignored. Internally, the value will be stored as decimal number. For instance, the C++ floating-point literal 01.2 will be serialized to 1.2. During deserialization, leading zeros yield an error.
    • +
    • Not-a-number (NaN) values will be serialized to null.
    • +
    +

    Limits

    +

    RFC 8259 states:

    +

    This specification allows implementations to set limits on the range and precision of numbers accepted. Since software that implements IEEE 754-2008 binary64 (double precision) numbers is generally available and widely used, good interoperability can be achieved by implementations that expect no more precision or range than these provide, in the sense that implementations will approximate JSON numbers within the expected precision.

    +
    +

    This implementation does exactly follow this approach, as it uses double precision floating-point numbers. Note values smaller than -1.79769313486232e+308 and values greater than 1.79769313486232e+308 will be stored as NaN internally and be serialized to null.

    +

    Storage

    +

    Floating-point number values are stored directly inside a basic_json type.

    +
    See also
    see number_integer_ttype for number values (integer)
    +
    +see number_unsigned_ttype for number values (unsigned integer)
    +
    Since
    version 1.0.0
    + +

    Definition at line 17868 of file json.hpp.

    + +
    +
    + +

    ◆ number_integer_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::number_integer_t = NumberIntegerType
    +
    + +

    a type for a number (integer)

    +

    RFC 8259 describes numbers as follows:

    +

    The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

    +
    +

    This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.

    +

    To store integer numbers in C++, a type is defined by the template parameter NumberIntegerType which chooses the type to use.

    +

    Default type

    +

    With the default values for NumberIntegerType (int64_t), the default value for number_integer_t is:

    +
    int64_t

    Default behavior

    +
      +
    • The restrictions about leading zeros is not enforced in C++. Instead, leading zeros in integer literals lead to an interpretation as octal number. Internally, the value will be stored as decimal number. For instance, the C++ integer literal 010 will be serialized to 8. During deserialization, leading zeros yield an error.
    • +
    • Not-a-number (NaN) values will be serialized to null.
    • +
    +

    Limits

    +

    RFC 8259 specifies:

    +

    An implementation may set limits on the range and precision of numbers.

    +
    +

    When the default type is used, the maximal integer number that can be stored is 9223372036854775807 (INT64_MAX) and the minimal integer number that can be stored is -9223372036854775808 (INT64_MIN). Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will be automatically be stored as number_unsigned_t or number_float_t.

    +

    RFC 8259 further states:

    +

    Note that when such software is used, numbers that are integers and are in the range $[-2^{53}+1, 2^{53}-1]$ are interoperable in the sense that implementations will agree exactly on their numeric values.

    +
    +

    As this range is a subrange of the exactly supported range [INT64_MIN, INT64_MAX], this class's integer type is interoperable.

    +

    Storage

    +

    Integer number values are stored directly inside a basic_json type.

    +
    See also
    see number_float_ttype for number values (floating-point)
    +
    +see number_unsigned_ttype for number values (unsigned integer)
    +
    Since
    version 1.0.0
    + +

    Definition at line 17729 of file json.hpp.

    + +
    +
    + +

    ◆ number_unsigned_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::number_unsigned_t = NumberUnsignedType
    +
    + +

    a type for a number (unsigned)

    +

    RFC 8259 describes numbers as follows:

    +

    The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.

    +
    +

    This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.

    +

    To store unsigned integer numbers in C++, a type is defined by the template parameter NumberUnsignedType which chooses the type to use.

    +

    Default type

    +

    With the default values for NumberUnsignedType (uint64_t), the default value for number_unsigned_t is:

    +
    uint64_t

    Default behavior

    +
      +
    • The restrictions about leading zeros is not enforced in C++. Instead, leading zeros in integer literals lead to an interpretation as octal number. Internally, the value will be stored as decimal number. For instance, the C++ integer literal 010 will be serialized to 8. During deserialization, leading zeros yield an error.
    • +
    • Not-a-number (NaN) values will be serialized to null.
    • +
    +

    Limits

    +

    RFC 8259 specifies:

    +

    An implementation may set limits on the range and precision of numbers.

    +
    +

    When the default type is used, the maximal integer number that can be stored is 18446744073709551615 (UINT64_MAX) and the minimal integer number that can be stored is 0. Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will be automatically be stored as number_integer_t or number_float_t.

    +

    RFC 8259 further states:

    +

    Note that when such software is used, numbers that are integers and are in the range $[-2^{53}+1, 2^{53}-1]$ are interoperable in the sense that implementations will agree exactly on their numeric values.

    +
    +

    As this range is a subrange (when considered in conjunction with the number_integer_t type) of the exactly supported range [0, UINT64_MAX], this class's integer type is interoperable.

    +

    Storage

    +

    Integer number values are stored directly inside a basic_json type.

    +
    See also
    see number_float_ttype for number values (floating-point)
    +
    +see number_integer_ttype for number values (integer)
    +
    Since
    version 2.0.0
    + +

    Definition at line 17800 of file json.hpp.

    + +
    +
    + +

    ◆ object_comparator_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::object_comparator_t = std::less<StringType>
    +
    + +

    Definition at line 17442 of file json.hpp.

    + +
    +
    + +

    ◆ object_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::object_t = ObjectType<StringType, basic_json, object_comparator_t, AllocatorType<std::pair<const StringType, basic_json> >>
    +
    + +

    a type for an object

    +

    RFC 8259 describes JSON objects as follows:

    +

    An object is an unordered collection of zero or more name/value pairs, where a name is a string and a value is a string, number, boolean, null, object, or array.

    +
    +

    To store objects in C++, a type is defined by the template parameters described below.

    +
    Template Parameters
    + + + + +
    ObjectTypethe container to store objects (e.g., std::map or std::unordered_map)
    StringTypethe type of the keys or names (e.g., std::string). The comparison function std::less<StringType> is used to order elements inside the container.
    AllocatorTypethe allocator to use for objects (e.g., std::allocator)
    +
    +
    +

    Default type

    +

    With the default values for ObjectType (std::map), StringType (std::string), and AllocatorType (std::allocator), the default value for object_t is:

    +
    std::map<
    std::string, // key_type
    basic_json, // value_type
    std::less<std::string>, // key_compare
    std::allocator<std::pair<const std::string, basic_json>> // allocator_type
    >

    Behavior

    +

    The choice of object_t influences the behavior of the JSON class. With the default type, objects have the following behavior:

    +
      +
    • When all names are unique, objects will be interoperable in the sense that all software implementations receiving that object will agree on the name-value mappings.
    • +
    • When the names within an object are not unique, it is unspecified which one of the values for a given key will be chosen. For instance, {"key": 2, "key": 1} could be equal to either {"key": 1} or {"key": 2}.
    • +
    • Internally, name/value pairs are stored in lexicographical order of the names. Objects will also be serialized (see dump) in this order. For instance, {"b": 1, "a": 2} and {"a": 2, "b": 1} will be stored and serialized as {"a": 2, "b": 1}.
    • +
    • When comparing objects, the order of the name/value pairs is irrelevant. This makes objects interoperable in the sense that they will not be affected by these differences. For instance, {"b": 1, "a": 2} and {"a": 2, "b": 1} will be treated as equal.
    • +
    +

    Limits

    +

    RFC 8259 specifies:

    +

    An implementation may set limits on the maximum depth of nesting.

    +
    +

    In this class, the object's limit of nesting is not explicitly constrained. However, a maximum depth of nesting may be introduced by the compiler or runtime environment. A theoretical limit can be queried by calling the max_size function of a JSON object.

    +

    Storage

    +

    Objects are stored as pointers in a basic_json type. That is, for any access to object values, a pointer of type object_t* must be dereferenced.

    +
    See also
    see array_ttype for an array value
    +
    Since
    version 1.0.0
    +
    Note
    The order name/value pairs are added to the object is not preserved by the library. Therefore, iterating an object may return name/value pairs in a different order than they were originally stored. In fact, keys will be traversed in alphabetical order as std::map with std::less is used by default. Please note this behavior conforms to RFC 8259, because any order implements the specified "unordered" nature of JSON objects.
    + +

    Definition at line 17532 of file json.hpp.

    + +
    +
    + +

    ◆ other_error

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::other_error = detail::other_error
    +
    + +

    exception indicating other library errors

    +

    This exception is thrown in case of errors that cannot be classified with the other exception types.

    +

    Exceptions have ids 5xx.

    + + + + + +
    name / id example message description
    json.exception.other_error.501 unsuccessful: {"op":"test","path":"/baz", "value":"bar"} A JSON Patch operation 'test' failed. The unsuccessful operation is also printed.
    +
    See also
    - exception for the base class of the library exceptions
    +
    +- parse_error for exceptions indicating a parse error
    +
    +- invalid_iterator for exceptions indicating errors with iterators
    +
    +- type_error for exceptions indicating executing a member function with a wrong type
    +
    +- out_of_range for exceptions indicating access out of the defined range
    +

    {The following code shows how an other_error exception can be caught.,other_error}

    +
    Since
    version 3.0.0
    + +

    Definition at line 17290 of file json.hpp.

    + +
    +
    + +

    ◆ out_of_range

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::out_of_range = detail::out_of_range
    +
    + +

    exception indicating access out of the defined range

    +

    This exception is thrown in case a library function is called on an input parameter that exceeds the expected range, for instance in case of array indices or nonexisting object keys.

    +

    Exceptions have ids 4xx.

    + + + + + + + + + + + + + + + + + + + + + +
    name / id example message description
    json.exception.out_of_range.401 array index 3 is out of range The provided array index i is larger than size-1.
    json.exception.out_of_range.402 array index '-' (3) is out of range The special array index - in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it.
    json.exception.out_of_range.403 key 'foo' not found The provided key was not found in the JSON object.
    json.exception.out_of_range.404 unresolved reference token 'foo' A reference token in a JSON Pointer could not be resolved.
    json.exception.out_of_range.405 JSON pointer has no parent The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value.
    json.exception.out_of_range.406 number overflow parsing '10E1000' A parsed number could not be stored as without changing it to NaN or INF.
    json.exception.out_of_range.407 number overflow serializing '9223372036854775808' UBJSON and BSON only support integer numbers up to 9223372036854775807. (until version 3.8.0)
    json.exception.out_of_range.408 excessive array size: 8658170730974374167 The size (following #) of an UBJSON array or object exceeds the maximal capacity.
    json.exception.out_of_range.409 BSON key cannot contain code point U+0000 (at byte 2) Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string
    +

    {The following code shows how an out_of_range exception can be caught.,out_of_range}

    +
    See also
    - exception for the base class of the library exceptions
    +
    +- parse_error for exceptions indicating a parse error
    +
    +- invalid_iterator for exceptions indicating errors with iterators
    +
    +- type_error for exceptions indicating executing a member function with a wrong type
    +
    +- other_error for exceptions indicating other library errors
    +
    Since
    version 3.0.0
    + +

    Definition at line 17288 of file json.hpp.

    + +
    +
    + +

    ◆ output_adapter_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename CharType >
    + + + + + +
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::output_adapter_t = ::nlohmann::detail::output_adapter_t<CharType>
    +
    +private
    +
    + +

    Definition at line 17245 of file json.hpp.

    + +
    +
    + +

    ◆ parse_error

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse_error = detail::parse_error
    +
    + +

    exception indicating a parse error

    +

    This exception is thrown by the library when a parse error occurs. Parse errors can occur during the deserialization of JSON text, CBOR, MessagePack, as well as when using JSON Patch.

    +

    Member byte holds the byte index of the last read character in the input file.

    +

    Exceptions have ids 1xx.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name / id example message description
    json.exception.parse_error.101 parse error at 2: unexpected end of input; expected string literal This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member byte indicates the error position.
    json.exception.parse_error.102 parse error at 14: missing or wrong low surrogate JSON uses the \uxxxx format to describe Unicode characters. Code points above above 0xFFFF are split into two \uxxxx entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point.
    json.exception.parse_error.103 parse error: code points above 0x10FFFF are invalid Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid.
    json.exception.parse_error.104 parse error: JSON patch must be an array of objects RFC 6902 requires a JSON Patch document to be a JSON document that represents an array of objects.
    json.exception.parse_error.105 parse error: operation must have string member 'op' An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors.
    json.exception.parse_error.106 parse error: array index '01' must not begin with '0' An array index in a JSON Pointer (RFC 6901) may be 0 or any number without a leading 0.
    json.exception.parse_error.107 parse error: JSON pointer must be empty or begin with '/' - was: 'foo' A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a / character.
    json.exception.parse_error.108 parse error: escape character '~' must be followed with '0' or '1' In a JSON Pointer, only ~0 and ~1 are valid escape sequences.
    json.exception.parse_error.109 parse error: array index 'one' is not a number A JSON Pointer array index must be a number.
    json.exception.parse_error.110 parse error at 1: cannot read 2 bytes from vector When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read.
    json.exception.parse_error.112 parse error at 1: error reading CBOR; last byte: 0xF8 Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read.
    json.exception.parse_error.113 parse error at 2: expected a CBOR string; last byte: 0x98 While parsing a map key, a value that is not a string has been read.
    json.exception.parse_error.114 parse error: Unsupported BSON record type 0x0F The parsing of the corresponding BSON record type is not implemented (yet).
    json.exception.parse_error.115 parse error at byte 5: syntax error while parsing UBJSON high-precision number: invalid number text: 1A A UBJSON high-precision number could not be parsed.
    +
    Note
    For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack).
    +

    {The following code shows how a parse_error exception can be caught.,parse_error}

    +
    See also
    - exception for the base class of the library exceptions
    +
    +- invalid_iterator for exceptions indicating errors with iterators
    +
    +- type_error for exceptions indicating executing a member function with a wrong type
    +
    +- out_of_range for exceptions indicating access out of the defined range
    +
    +- other_error for exceptions indicating other library errors
    +
    Since
    version 3.0.0
    + +

    Definition at line 17282 of file json.hpp.

    + +
    +
    + +

    ◆ parse_event_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse_event_t = detail::parse_event_t
    +
    + +

    parser event types

    +

    The parser callback distinguishes the following events:

      +
    • object_start: the parser read { and started to process a JSON object
    • +
    • key: the parser read a key of a value in an object
    • +
    • object_end: the parser read } and finished processing a JSON object
    • +
    • array_start: the parser read [ and started to process a JSON array
    • +
    • array_end: the parser read ] and finished processing a JSON array
    • +
    • value: the parser finished reading a JSON value
    • +
    +
    +callback_events.png +
    +Example when certain parse events are triggered
    +
    See also
    see parser_callback_t for more information and examples
    + +

    Definition at line 18355 of file json.hpp.

    + +
    +
    + +

    ◆ parser_callback_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parser_callback_t = detail::parser_callback_t<basic_json>
    +
    + +

    per-element parser callback type

    +

    With a parser callback function, the result of parsing a JSON text can be influenced. When passed to parse, it is called on certain events (passed as parse_event_t via parameter event) with a set recursion depth depth and context JSON value parsed. The return value of the callback function is a boolean indicating whether the element that emitted the callback shall be kept or not.

    +

    We distinguish six scenarios (determined by the event type) in which the callback function can be called. The following table describes the values of the parameters depth, event, and parsed.

    + + + + + + + + + + + + + + + +
    parameter event description parameter depth parameter parsed
    parse_event_t::object_start the parser read { and started to process a JSON object depth of the parent of the JSON object a JSON value with type discarded
    parse_event_t::key the parser read a key of a value in an object depth of the currently parsed JSON object a JSON string containing the key
    parse_event_t::object_end the parser read } and finished processing a JSON object depth of the parent of the JSON object the parsed JSON object
    parse_event_t::array_start the parser read [ and started to process a JSON array depth of the parent of the JSON array a JSON value with type discarded
    parse_event_t::array_end the parser read ] and finished processing a JSON array depth of the parent of the JSON array the parsed JSON array
    parse_event_t::value the parser finished reading a JSON value depth of the value the parsed JSON value
    +
    +callback_events.png +
    +Example when certain parse events are triggered
    +

    Discarding a value (i.e., returning false) has different effects depending on the context in which function was called:

    +
      +
    • Discarded values in structured types are skipped. That is, the parser will behave as if the discarded value was never read.
    • +
    • In case a value outside a structured type is skipped, it is replaced with null. This case happens if the top-level element is skipped.
    • +
    +
    Parameters
    + + + + +
    [in]depththe depth of the recursion during parsing
    [in]eventan event of type parse_event_t indicating the context in the callback function has been called
    [in,out]parsedthe current intermediate parse result; note that writing to this value has no effect for parse_event_t::key events
    +
    +
    +
    Returns
    Whether the JSON value which called the function during parsing should be kept (true) or not (false). In the latter case, it is either skipped completely or replaced by an empty discarded object.
    +
    See also
    see parse for examples
    +
    Since
    version 1.0.0
    + +

    Definition at line 18406 of file json.hpp.

    + +
    +
    + +

    ◆ pointer

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::pointer = typename std::allocator_traits<allocator_type>::pointer
    +
    + +

    the type of an element pointer

    + +

    Definition at line 17321 of file json.hpp.

    + +
    +
    + +

    ◆ primitive_iterator_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::primitive_iterator_t = ::nlohmann::detail::primitive_iterator_t
    +
    +private
    +
    + +

    Definition at line 17235 of file json.hpp.

    + +
    +
    + +

    ◆ reference

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::reference = value_type&
    +
    + +

    the type of an element reference

    + +

    Definition at line 17308 of file json.hpp.

    + +
    +
    + +

    ◆ reverse_iterator

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::reverse_iterator = json_reverse_iterator<typename basic_json::iterator>
    +
    + +

    a reverse iterator for a basic_json container

    + +

    Definition at line 17330 of file json.hpp.

    + +
    +
    + +

    ◆ size_type

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::size_type = std::size_t
    +
    + +

    a type to represent container sizes

    + +

    Definition at line 17315 of file json.hpp.

    + +
    +
    + +

    ◆ string_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::string_t = StringType
    +
    + +

    a type for a string

    +

    RFC 8259 describes JSON strings as follows:

    +

    A string is a sequence of zero or more Unicode characters.

    +
    +

    To store objects in C++, a type is defined by the template parameter described below. Unicode values are split by the JSON class into byte-sized characters during deserialization.

    +
    Template Parameters
    + + +
    StringTypethe container to store strings (e.g., std::string). Note this container is used for keys/names in objects, see object_t.
    +
    +
    +

    Default type

    +

    With the default values for StringType (std::string), the default value for string_t is:

    +
    std::string

    Encoding

    +

    Strings are stored in UTF-8 encoding. Therefore, functions like std::string::size() or std::string::length() return the number of bytes in the string rather than the number of characters or glyphs.

    +

    String comparison

    +

    RFC 8259 states:

    +

    Software implementations are typically required to test names of object members for equality. Implementations that transform the textual representation into sequences of Unicode code units and then perform the comparison numerically, code unit by code unit, are interoperable in the sense that implementations will agree in all cases on equality or inequality of two strings. For example, implementations that compare strings with escaped characters unconverted may incorrectly find that "a\\b" and "a\u005Cb" are not equal.

    +
    +

    This implementation is interoperable as it does compare strings code unit by code unit.

    +

    Storage

    +

    String values are stored as pointers in a basic_json type. That is, for any access to string values, a pointer of type string_t* must be dereferenced.

    +
    Since
    version 1.0.0
    + +

    Definition at line 17631 of file json.hpp.

    + +
    +
    + +

    ◆ type_error

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::type_error = detail::type_error
    +
    + +

    exception indicating executing a member function with a wrong type

    +

    This exception is thrown in case of a type error; that is, a library function is executed on a JSON value whose type does not match the expected semantics.

    +

    Exceptions have ids 3xx.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name / id example message description
    json.exception.type_error.301 cannot create object from initializer list To create an object from an initializer list, the initializer list must consist only of a list of pairs whose first element is a string. When this constraint is violated, an array is created instead.
    json.exception.type_error.302 type must be object, but is array During implicit or explicit value conversion, the JSON type must be compatible to the target type. For instance, a JSON string can only be converted into string types, but not into numbers or boolean types.
    json.exception.type_error.303 incompatible ReferenceType for get_ref, actual type is object To retrieve a reference to a value stored in a basic_json object with get_ref, the type of the reference must match the value type. For instance, for a JSON array, the ReferenceType must be array_t &.
    json.exception.type_error.304 cannot use at() with string The at() member functions can only be executed for certain JSON types.
    json.exception.type_error.305 cannot use operator[] with string The operator[] member functions can only be executed for certain JSON types.
    json.exception.type_error.306 cannot use value() with string The value() member functions can only be executed for certain JSON types.
    json.exception.type_error.307 cannot use erase() with string The erase() member functions can only be executed for certain JSON types.
    json.exception.type_error.308 cannot use push_back() with string The push_back() and operator+= member functions can only be executed for certain JSON types.
    json.exception.type_error.309 cannot use insert() with The insert() member functions can only be executed for certain JSON types.
    json.exception.type_error.310 cannot use swap() with number The swap() member functions can only be executed for certain JSON types.
    json.exception.type_error.311 cannot use emplace_back() with string The emplace_back() member function can only be executed for certain JSON types.
    json.exception.type_error.312 cannot use update() with string The update() member functions can only be executed for certain JSON types.
    json.exception.type_error.313 invalid value to unflatten The unflatten function converts an object whose keys are JSON Pointers back into an arbitrary nested JSON value. The JSON Pointers must not overlap, because then the resulting value would not be well defined.
    json.exception.type_error.314 only objects can be unflattened The unflatten function only works for an object whose keys are JSON Pointers.
    json.exception.type_error.315 values in object must be primitive The unflatten function only works for an object whose keys are JSON Pointers and whose values are primitive.
    json.exception.type_error.316 invalid UTF-8 byte at index 10: 0x7E The dump function only works with UTF-8 encoded strings; that is, if you assign a std::string to a JSON value, make sure it is UTF-8 encoded.
    json.exception.type_error.317 JSON value cannot be serialized to requested format The dynamic type of the object cannot be represented in the requested serialization format (e.g. a raw true or null JSON object cannot be serialized to BSON)
    +

    {The following code shows how a type_error exception can be caught.,type_error}

    +
    See also
    - exception for the base class of the library exceptions
    +
    +- parse_error for exceptions indicating a parse error
    +
    +- invalid_iterator for exceptions indicating errors with iterators
    +
    +- out_of_range for exceptions indicating access out of the defined range
    +
    +- other_error for exceptions indicating other library errors
    +
    Since
    version 3.0.0
    + +

    Definition at line 17286 of file json.hpp.

    + +
    +
    + +

    ◆ value_t

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value_t = detail::value_t
    +
    + +

    Definition at line 17255 of file json.hpp.

    + +
    +
    + +

    ◆ value_type

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value_type = basic_json
    +
    + +

    the type of elements in a basic_json container

    + +

    Definition at line 17305 of file json.hpp.

    + +
    +
    +

    Constructor & Destructor Documentation

    + +

    ◆ basic_json() [1/10]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json (const value_t v)
    +
    +inline
    +
    + +

    create an empty value with a given type

    +

    Create an empty JSON value with a given type. The value will be default initialized with an empty value which depends on the type:

    + + + + + + + + + + + + + + + + + +
    Value type initial value
    null null
    boolean false
    string ""
    number 0
    object {}
    array []
    binary empty array
    +
    Parameters
    + + +
    [in]vthe type of the value to create
    +
    +
    +

    Constant.

    +

    Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

    +

    {The following code shows the constructor for different value_t values,basic_json__value_t}

    +
    See also
    see clear() – restores the postcondition of this constructor
    +
    Since
    version 1.0.0
    + +

    Definition at line 18447 of file json.hpp.

    + +
    +
    + +

    ◆ basic_json() [2/10]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json (std::nullptr_t  = nullptr)
    +
    +inlinenoexcept
    +
    + +

    create a null object

    +

    Create a null JSON value. It either takes a null pointer as parameter (explicitly creating null) or no parameter (implicitly creating null). The passed null pointer itself is not read – it is only used to choose the right constructor.

    +

    Constant.

    +

    No-throw guarantee: this constructor never throws exceptions.

    +

    {The following code shows the constructor with and without a null pointer parameter.,basic_json__nullptr_t}

    +
    Since
    version 1.0.0
    + +

    Definition at line 18471 of file json.hpp.

    + +
    +
    + +

    ◆ basic_json() [3/10]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename CompatibleType , typename U = detail::uncvref_t<CompatibleType>, detail::enable_if_t< !detail::is_basic_json< U >::value &&detail::is_compatible_type< basic_json_t, U >::value, int > = 0>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json (CompatibleType && val)
    +
    +inlinenoexcept
    +
    + +

    create a JSON value

    +

    This is a "catch all" constructor for all compatible JSON types; that is, types for which a to_json() method exists. The constructor forwards the parameter val to that method (to json_serializer<U>::to_json method with U = uncvref_t<CompatibleType>, to be exact).

    +

    Template type CompatibleType includes, but is not limited to, the following types:

      +
    • arrays: array_t and all kinds of compatible containers such as std::vector, std::deque, std::list, std::forward_list, std::array, std::valarray, std::set, std::unordered_set, std::multiset, and std::unordered_multiset with a value_type from which a basic_json value can be constructed.
    • +
    • objects: object_t and all kinds of compatible associative containers such as std::map, std::unordered_map, std::multimap, and std::unordered_multimap with a key_type compatible to string_t and a value_type from which a basic_json value can be constructed.
    • +
    • strings: string_t, string literals, and all compatible string containers can be used.
    • +
    • numbers: number_integer_t, number_unsigned_t, number_float_t, and all convertible number types such as int, size_t, int64_t, float or double can be used.
    • +
    • boolean: boolean_t / bool can be used.
    • +
    • binary: binary_t / std::vector<uint8_t> may be used, unfortunately because string literals cannot be distinguished from binary character arrays by the C++ type system, all types compatible with const char* will be directed to the string constructor instead. This is both for backwards compatibility, and due to the fact that a binary type is not a standard JSON type.
    • +
    +

    See the examples below.

    +
    Template Parameters
    + + + +
    CompatibleTypea type such that:
      +
    • CompatibleType is not derived from std::istream,
    • +
    • CompatibleType is not basic_json (to avoid hijacking copy/move constructors),
    • +
    • CompatibleType is not a different basic_json type (i.e. with different template arguments)
    • +
    • CompatibleType is not a basic_json nested type (e.g., json_pointer, iterator, etc ...)
    • +
    • json_serializer<U> has a to_json(basic_json_t&, CompatibleType&&) method
    • +
    +
    U= uncvref_t<CompatibleType>
    +
    +
    +
    Parameters
    + + +
    [in]valthe value to be forwarded to the respective constructor
    +
    +
    +

    Usually linear in the size of the passed val, also depending on the implementation of the called to_json() method.

    +

    Depends on the called constructor. For types directly supported by the library (i.e., all types for which no to_json() function was provided), strong guarantee holds: if an exception is thrown, there are no changes to any JSON value.

    +

    {The following code shows the constructor with several compatible types.,basic_json__CompatibleType}

    +
    Since
    version 2.1.0
    + +

    Definition at line 18543 of file json.hpp.

    + +

    References nlohmann::detail::to_json().

    + +
    +
    + +

    ◆ basic_json() [4/10]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value &&!std::is_same< basic_json, BasicJsonType >::value, int > = 0>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json (const BasicJsonType & val)
    +
    +inline
    +
    + +

    create a JSON value from an existing one

    +

    This is a constructor for existing basic_json types. It does not hijack copy/move constructors, since the parameter has different template arguments than the current ones.

    +

    The constructor tries to convert the internal m_value of the parameter.

    +
    Template Parameters
    + + +
    BasicJsonTypea type such that: +
    +
    +
    +
    Parameters
    + + +
    [in]valthe basic_json value to be converted.
    +
    +
    +

    Usually linear in the size of the passed val, also depending on the implementation of the called to_json() method.

    +

    Depends on the called constructor. For types directly supported by the library (i.e., all types for which no to_json() function was provided), strong guarantee holds: if an exception is thrown, there are no changes to any JSON value.

    +
    Since
    version 3.2.0
    + +

    Definition at line 18581 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::binary, nlohmann::detail::boolean, nlohmann::detail::discarded, JSON_ASSERT, nlohmann::detail::null, nlohmann::detail::number_float, nlohmann::detail::number_integer, nlohmann::detail::number_unsigned, nlohmann::detail::object, nlohmann::detail::string, and nlohmann::detail::to_json().

    + +
    +
    + +

    ◆ basic_json() [5/10]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json (initializer_list_t init,
    bool type_deduction = true,
    value_t manual_type = value_t::array 
    )
    +
    +inline
    +
    + +

    create a container (array or object) from an initializer list

    +

    Creates a JSON value of type array or object from the passed initializer list init. In case type_deduction is true (default), the type of the JSON value to be created is deducted from the initializer list init according to the following rules:

    +
      +
    1. If the list is empty, an empty JSON object value {} is created.
    2. +
    3. If the list consists of pairs whose first element is a string, a JSON object value is created where the first elements of the pairs are treated as keys and the second elements are as values.
    4. +
    5. In all other cases, an array is created.
    6. +
    +

    The rules aim to create the best fit between a C++ initializer list and JSON values. The rationale is as follows:

    +
      +
    1. The empty initializer list is written as {} which is exactly an empty JSON object.
    2. +
    3. C++ has no way of describing mapped types other than to list a list of pairs. As JSON requires that keys must be of type string, rule 2 is the weakest constraint one can pose on initializer lists to interpret them as an object.
    4. +
    5. In all other cases, the initializer list could not be interpreted as JSON object type, so interpreting it as JSON array type is safe.
    6. +
    +

    With the rules described above, the following JSON values cannot be expressed by an initializer list:

    + +
    Note
    When used without parentheses around an empty initializer list, basic_json() is called instead of this function, yielding the JSON null value.
    +
    Parameters
    + + + + +
    [in]initinitializer list with JSON values
    [in]type_deductioninternal parameter; when set to true, the type of the JSON value is deducted from the initializer list init; when set to false, the type provided via manual_type is forced. This mode is used by the functions array(initializer_list_t) and object(initializer_list_t).
    [in]manual_typeinternal parameter; when type_deduction is set to false, the created JSON value will use the provided type (only value_t::array and value_t::object are valid); when type_deduction is set to true, this parameter has no effect
    +
    +
    +
    Exceptions
    + + +
    type_error.301if type_deduction is false, manual_type is value_t::object, but init contains an element which is not a pair whose first element is a string. In this case, the constructor could not create an object. If type_deduction would have be true, an array would have been created. See object(initializer_list_t) for an example.
    +
    +
    +

    Linear in the size of the initializer list init.

    +

    Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

    +

    {The example below shows how JSON values are created from initializer lists.,basic_json__list_init_t}

    +
    See also
    see array(initializer_list_t)create a JSON array value from an initializer list
    +
    +see object(initializer_list_t)create a JSON object value from an initializer list
    +
    Since
    version 1.0.0
    + +

    Definition at line 18705 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_HEDLEY_WARN_UNUSED_RESULT, JSON_THROW, and nlohmann::detail::object.

    + +
    +
    + +

    ◆ basic_json() [6/10]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json (size_type cnt,
    const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & val 
    )
    +
    +inline
    +
    + +

    construct an array with count copies of given value

    +

    Constructs a JSON array value by creating cnt copies of a passed value. In case cnt is 0, an empty array is created.

    +
    Parameters
    + + + +
    [in]cntthe number of JSON copies of val to create
    [in]valthe JSON value to copy
    +
    +
    +
    Postcondition
    std::distance(begin(),end()) == cnt holds.
    +

    Linear in cnt.

    +

    Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

    +

    {The following code shows examples for the basic_json(size_type\, const basic_json&) constructor.,basic_json__size_type_basic_json}

    +
    Since
    version 1.0.0
    + +

    Definition at line 18960 of file json.hpp.

    + +
    +
    + +

    ◆ basic_json() [7/10]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<class InputIT , typename std::enable_if< std::is_same< InputIT, typename basic_json_t::iterator >::value||std::is_same< InputIT, typename basic_json_t::const_iterator >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json (InputIT first,
    InputIT last 
    )
    +
    +inline
    +
    + +

    construct a JSON container given an iterator range

    +

    Constructs the JSON value with the contents of the range [first, last). The semantics depends on the different types a JSON value can have:

      +
    • In case of a null type, invalid_iterator.206 is thrown.
    • +
    • In case of other primitive types (number, boolean, or string), first must be begin() and last must be end(). In this case, the value is copied. Otherwise, invalid_iterator.204 is thrown.
    • +
    • In case of structured types (array, object), the constructor behaves as similar versions for std::vector or std::map; that is, a JSON array or object is constructed from the values in the range.
    • +
    +
    Template Parameters
    + + +
    InputITan input iterator type (iterator or const_iterator)
    +
    +
    +
    Parameters
    + + + +
    [in]firstbegin of the range to copy from (included)
    [in]lastend of the range to copy from (excluded)
    +
    +
    +
    Precondition
    Iterators first and last must be initialized. This precondition is enforced with an assertion (see warning). If assertions are switched off, a violation of this precondition yields undefined behavior.
    +
    +Range [first, last) is valid. Usually, this precondition cannot be checked efficiently. Only certain edge cases are detected; see the description of the exceptions below. A violation of this precondition yields undefined behavior.
    +
    Warning
    A precondition is enforced with a runtime assertion that will result in calling std::abort if this precondition is not met. Assertions can be disabled by defining NDEBUG at compile time. See https://en.cppreference.com/w/cpp/error/assert for more information.
    +
    Exceptions
    + + + + +
    invalid_iterator.201if iterators first and last are not compatible (i.e., do not belong to the same JSON value). In this case, the range [first, last) is undefined.
    invalid_iterator.204if iterators first and last belong to a primitive type (number, boolean, or string), but first does not point to the first element any more. In this case, the range [first, last) is undefined. See example code below.
    invalid_iterator.206if iterators first and last belong to a null value. In this case, the range [first, last) is undefined.
    +
    +
    +

    Linear in distance between first and last.

    +

    Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

    +

    {The example below shows several ways to create JSON values by specifying a subrange with iterators.,basic_json__InputIt_InputIt}

    +
    Since
    version 1.0.0
    + +

    Definition at line 19026 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::binary, nlohmann::detail::boolean, nlohmann::detail::invalid_iterator::create(), JSON_ASSERT, JSON_HEDLEY_UNLIKELY, JSON_THROW, nlohmann::detail::number_float, nlohmann::detail::number_integer, nlohmann::detail::number_unsigned, nlohmann::detail::object, nlohmann::detail::string, and nlohmann::detail::value.

    + +
    +
    + +

    ◆ basic_json() [8/10]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename JsonRef , detail::enable_if_t< detail::conjunction< detail::is_json_ref< JsonRef >, std::is_same< typename JsonRef::value_type, basic_json >>::value, int > = 0>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json (const JsonRef & ref)
    +
    +inline
    +
    + +

    Definition at line 19129 of file json.hpp.

    + +
    +
    + +

    ◆ basic_json() [9/10]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & other)
    +
    +inline
    +
    + +

    copy constructor

    +

    Creates a copy of a given JSON value.

    +
    Parameters
    + + +
    [in]otherthe JSON value to copy
    +
    +
    +
    Postcondition
    *this == other
    +

    Linear in the size of other.

    +

    Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

    +

    This function helps basic_json satisfying the Container requirements:

      +
    • The complexity is linear.
    • +
    • As postcondition, it holds: other == basic_json(other).
    • +
    +

    {The following code shows an example for the copy constructor.,basic_json__basic_json}

    +
    Since
    version 1.0.0
    + +

    Definition at line 19156 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::assert_invariant(), nlohmann::detail::binary, nlohmann::detail::boolean, nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::m_value, nlohmann::detail::number_float, nlohmann::detail::number_integer, nlohmann::detail::number_unsigned, nlohmann::detail::object, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ basic_json() [10/10]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json (basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > && other)
    +
    +inlinenoexcept
    +
    + +

    move constructor

    +

    Move constructor. Constructs a JSON value with the contents of the given value other using move semantics. It "steals" the resources from other and leaves it as JSON null value.

    +
    Parameters
    + + +
    [in,out]othervalue to move to this object
    +
    +
    +
    Postcondition
    *this has the same value as other before the call.
    +
    +other is a JSON null value.
    +

    Constant.

    +

    No-throw guarantee: this constructor never throws exceptions.

    +

    This function helps basic_json satisfying the MoveConstructible requirements.

    +

    {The code below shows the move constructor explicitly called via std::move.,basic_json__moveconstructor}

    +
    Since
    version 1.0.0
    + +

    Definition at line 19246 of file json.hpp.

    + +

    References nlohmann::detail::null.

    + +
    +
    + +

    ◆ ~basic_json()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::~basic_json ()
    +
    +inlinenoexcept
    +
    + +

    destructor

    +

    Destroys the JSON value and frees all allocated memory.

    +

    Linear.

    +

    This function helps basic_json satisfying the Container requirements:

      +
    • The complexity is linear.
    • +
    • All stored elements are destroyed and all memory is freed.
    • +
    +
    Since
    version 1.0.0
    + +

    Definition at line 19318 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ accept() [1/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename InputType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::accept (InputType && i,
    const bool ignore_comments = false 
    )
    +
    +inlinestatic
    +
    + +

    check if the input is valid JSON

    +

    Unlike the parse(InputType&&, const parser_callback_t,const bool) function, this function neither throws an exception in case of invalid JSON input (i.e., a parse error) nor creates diagnostic information.

    +
    Template Parameters
    + + +
    InputTypeA compatible input, for instance
      +
    • an std::istream object
    • +
    • a FILE pointer
    • +
    • a C-style array of characters
    • +
    • a pointer to a null-terminated string of single byte characters
    • +
    • an object obj for which begin(obj) and end(obj) produces a valid pair of iterators.
    • +
    +
    +
    +
    +
    Parameters
    + + + +
    [in]iinput to read from
    [in]ignore_commentswhether comments should be ignored and treated like whitespace (true) or yield a parse error (true); (optional, false by default)
    +
    +
    +
    Returns
    Whether the input read from i is valid JSON.
    +

    Linear in the length of the input. The parser is a predictive LL(1) parser.

    +
    Note
    A UTF-8 byte order mark is silently ignored.
    +

    {The example below demonstrates the accept() function reading from a string.,accept__string}

    + +

    Definition at line 23898 of file json.hpp.

    + +

    References nlohmann::detail::input_adapter().

    + +
    +
    + +

    ◆ accept() [2/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::accept (IteratorType first,
    IteratorType last,
    const bool ignore_comments = false 
    )
    +
    +inlinestatic
    +
    +
    + +

    ◆ accept() [3/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::accept (detail::span_input_adapter && i,
    const bool ignore_comments = false 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 23913 of file json.hpp.

    + +

    References JSON_HEDLEY_NON_NULL.

    + +
    +
    + +

    ◆ array()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::array (initializer_list_t init = {})
    +
    +inlinestatic
    +
    + +

    explicitly create an array from an initializer list

    +

    Creates a JSON array value from a given initializer list. That is, given a list of values a, b, c, creates the JSON value [a, b, c]. If the initializer list is empty, the empty array [] is created.

    +
    Note
    This function is only needed to express two edge cases that cannot be realized with the initializer list constructor (basic_json(initializer_list_t, bool, value_t)). These cases are:
      +
    1. creating an array whose elements are all pairs whose first element is a string – in this case, the initializer list constructor would create an object, taking the first elements as keys
    2. +
    3. creating an empty array – passing the empty initializer list to the initializer list constructor yields an empty object
    4. +
    +
    +
    Parameters
    + + +
    [in]initinitializer list with JSON values to create an array from (optional)
    +
    +
    +
    Returns
    JSON array value
    +

    Linear in the size of init.

    +

    Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

    +

    {The following code shows an example for the array function.,array}

    +
    See also
    see basic_json(initializer_list_t, bool, value_t)create a JSON value from an initializer list
    +
    +see object(initializer_list_t)create a JSON object value from an initializer list
    +
    Since
    version 1.0.0
    + +

    Definition at line 18889 of file json.hpp.

    + +

    References nlohmann::detail::array, and JSON_HEDLEY_WARN_UNUSED_RESULT.

    + +
    +
    + +

    ◆ assert_invariant()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::assert_invariant (bool check_parents = true) const
    +
    +inlineprivatenoexcept
    +
    + +

    checks the class invariants

    +

    This function asserts the class invariants. It needs to be called at the end of every constructor to make sure that created objects respect the invariant. Furthermore, it has to be called each time the type of a JSON value is changed, because the invariant expresses a relationship between m_type and m_value.

    +

    Furthermore, the parent relation is checked for arrays and objects: If check_parents true and the value is an array or object, then the container's elements must have the current value as parent.

    +
    Parameters
    + + +
    [in]check_parentswhether the parent relation should be checked. The value is true by default and should only be set to false during destruction of objects when the invariant does not need to hold.
    +
    +
    + +

    Definition at line 18262 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::binary, JSON_ASSERT, JSON_CATCH, JSON_TRY, nlohmann::detail::object, and nlohmann::detail::string.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator=().

    + +
    +
    + +

    ◆ at() [1/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at (size_type idx)
    +
    +inline
    +
    + +

    access specified array element with bounds checking

    +

    Returns a reference to the element at specified location idx, with bounds checking.

    +
    Parameters
    + + +
    [in]idxindex of the element to access
    +
    +
    +
    Returns
    reference to the element at index idx
    +
    Exceptions
    + + + +
    type_error.304if the JSON value is not an array; in this case, calling at with an index makes no sense. See example below.
    out_of_range.401if the index idx is out of range of the array; that is, idx >= size(). See example below.
    +
    +
    +

    Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

    +

    Constant.

    +
    Since
    version 1.0.0
    +

    {The example below shows how array elements can be read and written using at(). It also demonstrates the different exceptions that can be thrown.,at__size_type}

    + +

    Definition at line 20448 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), nlohmann::detail::out_of_range::create(), JSON_CATCH, JSON_HEDLEY_LIKELY, JSON_THROW, JSON_TRY, nlohmann::detail::string, and nlohmann::to_string().

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch().

    + +
    +
    + +

    ◆ at() [2/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at (size_type idx) const
    +
    +inline
    +
    + +

    access specified array element with bounds checking

    +

    Returns a const reference to the element at specified location idx, with bounds checking.

    +
    Parameters
    + + +
    [in]idxindex of the element to access
    +
    +
    +
    Returns
    const reference to the element at index idx
    +
    Exceptions
    + + + +
    type_error.304if the JSON value is not an array; in this case, calling at with an index makes no sense. See example below.
    out_of_range.401if the index idx is out of range of the array; that is, idx >= size(). See example below.
    +
    +
    +

    Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

    +

    Constant.

    +
    Since
    version 1.0.0
    +

    {The example below shows how array elements can be read using at(). It also demonstrates the different exceptions that can be thrown., at__size_type_const}

    + +

    Definition at line 20495 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), nlohmann::detail::out_of_range::create(), JSON_CATCH, JSON_HEDLEY_LIKELY, JSON_THROW, JSON_TRY, nlohmann::detail::string, and nlohmann::to_string().

    + +
    +
    + +

    ◆ at() [3/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at (const typename object_t::key_type & key)
    +
    +inline
    +
    + +

    access specified object element with bounds checking

    +

    Returns a reference to the element at with specified key key, with bounds checking.

    +
    Parameters
    + + +
    [in]keykey of the element to access
    +
    +
    +
    Returns
    reference to the element at key key
    +
    Exceptions
    + + + +
    type_error.304if the JSON value is not an object; in this case, calling at with a key makes no sense. See example below.
    out_of_range.403if the key key is is not stored in the object; that is, find(key) == end(). See example below.
    +
    +
    +

    Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

    +

    Logarithmic in the size of the container.

    +
    See also
    see operator[](const typename object_t::key_type&) for unchecked access by reference
    +
    +see value() for access by value with a default value
    +
    Since
    version 1.0.0
    +

    {The example below shows how object elements can be read and written using at(). It also demonstrates the different exceptions that can be thrown.,at__object_t_key_type}

    + +

    Definition at line 20546 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), nlohmann::detail::out_of_range::create(), JSON_CATCH, JSON_HEDLEY_LIKELY, JSON_THROW, JSON_TRY, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ at() [4/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at (const typename object_t::key_type & key) const
    +
    +inline
    +
    + +

    access specified object element with bounds checking

    +

    Returns a const reference to the element at with specified key key, with bounds checking.

    +
    Parameters
    + + +
    [in]keykey of the element to access
    +
    +
    +
    Returns
    const reference to the element at key key
    +
    Exceptions
    + + + +
    type_error.304if the JSON value is not an object; in this case, calling at with a key makes no sense. See example below.
    out_of_range.403if the key key is is not stored in the object; that is, find(key) == end(). See example below.
    +
    +
    +

    Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

    +

    Logarithmic in the size of the container.

    +
    See also
    see operator[](const typename object_t::key_type&) for unchecked access by reference
    +
    +see value() for access by value with a default value
    +
    Since
    version 1.0.0
    +

    {The example below shows how object elements can be read using at(). It also demonstrates the different exceptions that can be thrown., at__object_t_key_type_const}

    + +

    Definition at line 20597 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), nlohmann::detail::out_of_range::create(), JSON_CATCH, JSON_HEDLEY_LIKELY, JSON_THROW, JSON_TRY, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ at() [5/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at (const json_pointerptr)
    +
    +inline
    +
    + +

    access specified element via JSON Pointer

    +

    Returns a reference to the element at with specified JSON pointer ptr, with bounds checking.

    +
    Parameters
    + + +
    [in]ptrJSON pointer to the desired element
    +
    +
    +
    Returns
    reference to the element pointed to by ptr
    +
    Exceptions
    + + + + + + + +
    parse_error.106if an array index in the passed JSON pointer ptr begins with '0'. See example below.
    parse_error.109if an array index in the passed JSON pointer ptr is not a number. See example below.
    out_of_range.401if an array index in the passed JSON pointer ptr is out of range. See example below.
    out_of_range.402if the array index '-' is used in the passed JSON pointer ptr. As at provides checked access (and no elements are implicitly inserted), the index '-' is always invalid. See example below.
    out_of_range.403if the JSON pointer describes a key of an object which cannot be found. See example below.
    out_of_range.404if the JSON pointer ptr can not be resolved. See example below.
    +
    +
    +

    Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

    +

    Constant.

    +
    Since
    version 2.0.0
    +

    {The behavior is shown in the example.,at_json_pointer}

    + +

    Definition at line 25175 of file json.hpp.

    + +

    References nlohmann::json_pointer< BasicJsonType >::get_checked().

    + +
    +
    + +

    ◆ at() [6/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at (const json_pointerptr) const
    +
    +inline
    +
    + +

    access specified element via JSON Pointer

    +

    Returns a const reference to the element at with specified JSON pointer ptr, with bounds checking.

    +
    Parameters
    + + +
    [in]ptrJSON pointer to the desired element
    +
    +
    +
    Returns
    reference to the element pointed to by ptr
    +
    Exceptions
    + + + + + + + +
    parse_error.106if an array index in the passed JSON pointer ptr begins with '0'. See example below.
    parse_error.109if an array index in the passed JSON pointer ptr is not a number. See example below.
    out_of_range.401if an array index in the passed JSON pointer ptr is out of range. See example below.
    out_of_range.402if the array index '-' is used in the passed JSON pointer ptr. As at provides checked access (and no elements are implicitly inserted), the index '-' is always invalid. See example below.
    out_of_range.403if the JSON pointer describes a key of an object which cannot be found. See example below.
    out_of_range.404if the JSON pointer ptr can not be resolved. See example below.
    +
    +
    +

    Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

    +

    Constant.

    +
    Since
    version 2.0.0
    +

    {The behavior is shown in the example.,at_json_pointer_const}

    + +

    Definition at line 25218 of file json.hpp.

    + +

    References nlohmann::json_pointer< BasicJsonType >::get_checked().

    + +
    +
    + +

    ◆ back() [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::back ()
    +
    +inline
    +
    + +

    access the last element

    +

    Returns a reference to the last element in the container. For a JSON container c, the expression c.back() is equivalent to

    auto tmp = c.end();
    --tmp;
    return *tmp;
    Returns
    In case of a structured type (array or object), a reference to the last element is returned. In case of number, string, boolean, or binary values, a reference to the value is returned.
    +

    Constant.

    +
    Precondition
    The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
    +
    Postcondition
    The JSON value remains unchanged.
    +
    Exceptions
    + + +
    invalid_iterator.214when called on a null value. See example below.
    +
    +
    +

    {The following code shows an example for back().,back}

    +
    See also
    see front() – access the first element
    +
    Since
    version 1.0.0
    + +

    Definition at line 21111 of file json.hpp.

    + +
    +
    + +

    ◆ back() [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::back () const
    +
    +inline
    +
    + +

    access the last element

    +

    Returns a reference to the last element in the container. For a JSON container c, the expression c.back() is equivalent to

    auto tmp = c.end();
    --tmp;
    return *tmp;
    Returns
    In case of a structured type (array or object), a reference to the last element is returned. In case of number, string, boolean, or binary values, a reference to the value is returned.
    +

    Constant.

    +
    Precondition
    The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
    +
    Postcondition
    The JSON value remains unchanged.
    +
    Exceptions
    + + +
    invalid_iterator.214when called on a null value. See example below.
    +
    +
    +

    {The following code shows an example for back().,back}

    +
    See also
    see front() – access the first element
    +
    Since
    version 1.0.0
    + +

    Definition at line 21121 of file json.hpp.

    + +
    +
    + +

    ◆ begin() [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::begin ()
    +
    +inlinenoexcept
    +
    + +

    returns an iterator to the first element

    +

    Returns an iterator to the first element.

    +
    +range-begin-end.svg +
    +Illustration from cppreference.com
    +
    Returns
    iterator to the first element
    +

    Constant.

    +

    This function helps basic_json satisfying the Container requirements:

      +
    • The complexity is constant.
    • +
    +

    {The following code shows an example for begin().,begin}

    +
    See also
    see cbegin() – returns a const iterator to the beginning
    +
    +see end() – returns an iterator to the end
    +
    +see cend() – returns a const iterator to the end
    +
    Since
    version 1.0.0
    + +

    Definition at line 21628 of file json.hpp.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::merge_patch(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch().

    + +
    +
    + +

    ◆ begin() [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    const_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::begin () const
    +
    +inlinenoexcept
    +
    + +

    returns a const iterator to the first element

    +

    Returns a const iterator to the first element.

    +
    +range-begin-end.svg +
    +Illustration from cppreference.com
    +
    Returns
    const iterator to the first element
    +

    Constant.

    +

    This function helps basic_json satisfying the Container requirements:

      +
    • The complexity is constant.
    • +
    • Has the semantics of const_cast<const basic_json&>(*this).begin().
    • +
    +

    {The following code shows an example for cbegin().,cbegin}

    +
    See also
    see begin() – returns an iterator to the beginning
    +
    +see end() – returns an iterator to the end
    +
    +see cend() – returns a const iterator to the end
    +
    Since
    version 1.0.0
    + +

    Definition at line 21638 of file json.hpp.

    + +
    +
    + +

    ◆ binary() [1/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary (const typename binary_t::container_typeinit)
    +
    +inlinestatic
    +
    + +

    explicitly create a binary array (without subtype)

    +

    Creates a JSON binary array value from a given binary container. Binary values are part of various binary formats, such as CBOR, MessagePack, and BSON. This constructor is used to create a value for serialization to those formats.

    +
    Note
    Note, this function exists because of the difficulty in correctly specifying the correct template overload in the standard value ctor, as both JSON arrays and JSON binary arrays are backed with some form of a std::vector. Because JSON binary arrays are a non-standard extension it was decided that it would be best to prevent automatic initialization of a binary array type, for backwards compatibility and so it does not happen on accident.
    +
    Parameters
    + + +
    [in]initcontainer containing bytes to use as binary type
    +
    +
    +
    Returns
    JSON binary array value
    +

    Linear in the size of init.

    +

    Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

    +
    Since
    version 3.8.0
    + +

    Definition at line 18786 of file json.hpp.

    + +

    References nlohmann::detail::binary, and JSON_HEDLEY_WARN_UNUSED_RESULT.

    + +
    +
    + +

    ◆ binary() [2/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary (const typename binary_t::container_typeinit,
    std::uint8_t subtype 
    )
    +
    +inlinestatic
    +
    + +

    explicitly create a binary array (with subtype)

    +

    Creates a JSON binary array value from a given binary container. Binary values are part of various binary formats, such as CBOR, MessagePack, and BSON. This constructor is used to create a value for serialization to those formats.

    +
    Note
    Note, this function exists because of the difficulty in correctly specifying the correct template overload in the standard value ctor, as both JSON arrays and JSON binary arrays are backed with some form of a std::vector. Because JSON binary arrays are a non-standard extension it was decided that it would be best to prevent automatic initialization of a binary array type, for backwards compatibility and so it does not happen on accident.
    +
    Parameters
    + + + +
    [in]initcontainer containing bytes to use as binary type
    [in]subtypesubtype to use in MessagePack and BSON
    +
    +
    +
    Returns
    JSON binary array value
    +

    Linear in the size of init.

    +

    Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

    +
    Since
    version 3.8.0
    + +

    Definition at line 18823 of file json.hpp.

    + +

    References nlohmann::detail::binary, and JSON_HEDLEY_WARN_UNUSED_RESULT.

    + +
    +
    + +

    ◆ binary() [3/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary (typename binary_t::container_type && init)
    +
    +inlinestatic
    +
    + +

    explicitly create a binary array (without subtype)

    +

    Creates a JSON binary array value from a given binary container. Binary values are part of various binary formats, such as CBOR, MessagePack, and BSON. This constructor is used to create a value for serialization to those formats.

    +
    Note
    Note, this function exists because of the difficulty in correctly specifying the correct template overload in the standard value ctor, as both JSON arrays and JSON binary arrays are backed with some form of a std::vector. Because JSON binary arrays are a non-standard extension it was decided that it would be best to prevent automatic initialization of a binary array type, for backwards compatibility and so it does not happen on accident.
    +
    Parameters
    + + +
    [in]initcontainer containing bytes to use as binary type
    +
    +
    +
    Returns
    JSON binary array value
    +

    Linear in the size of init.

    +

    Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

    +
    Since
    version 3.8.0
    + +

    Definition at line 18833 of file json.hpp.

    + +

    References nlohmann::detail::binary, and JSON_HEDLEY_WARN_UNUSED_RESULT.

    + +
    +
    + +

    ◆ binary() [4/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary (typename binary_t::container_type && init,
    std::uint8_t subtype 
    )
    +
    +inlinestatic
    +
    + +

    explicitly create a binary array (with subtype)

    +

    Creates a JSON binary array value from a given binary container. Binary values are part of various binary formats, such as CBOR, MessagePack, and BSON. This constructor is used to create a value for serialization to those formats.

    +
    Note
    Note, this function exists because of the difficulty in correctly specifying the correct template overload in the standard value ctor, as both JSON arrays and JSON binary arrays are backed with some form of a std::vector. Because JSON binary arrays are a non-standard extension it was decided that it would be best to prevent automatic initialization of a binary array type, for backwards compatibility and so it does not happen on accident.
    +
    Parameters
    + + + +
    [in]initcontainer containing bytes to use as binary type
    [in]subtypesubtype to use in MessagePack and BSON
    +
    +
    +
    Returns
    JSON binary array value
    +

    Linear in the size of init.

    +

    Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

    +
    Since
    version 3.8.0
    + +

    Definition at line 18843 of file json.hpp.

    + +

    References nlohmann::detail::binary, and JSON_HEDLEY_WARN_UNUSED_RESULT.

    + +
    +
    + +

    ◆ cbegin()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    const_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::cbegin () const
    +
    +inlinenoexcept
    +
    + +

    returns a const iterator to the first element

    +

    Returns a const iterator to the first element.

    +
    +range-begin-end.svg +
    +Illustration from cppreference.com
    +
    Returns
    const iterator to the first element
    +

    Constant.

    +

    This function helps basic_json satisfying the Container requirements:

      +
    • The complexity is constant.
    • +
    • Has the semantics of const_cast<const basic_json&>(*this).begin().
    • +
    +

    {The following code shows an example for cbegin().,cbegin}

    +
    See also
    see begin() – returns an iterator to the beginning
    +
    +see end() – returns an iterator to the end
    +
    +see cend() – returns a const iterator to the end
    +
    Since
    version 1.0.0
    + +

    Definition at line 21668 of file json.hpp.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update().

    + +
    +
    + +

    ◆ cend()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    const_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::cend () const
    +
    +inlinenoexcept
    +
    + +

    returns a const iterator to one past the last element

    +

    Returns a const iterator to one past the last element.

    +
    +range-begin-end.svg +
    +Illustration from cppreference.com
    +
    Returns
    const iterator one past the last element
    +

    Constant.

    +

    This function helps basic_json satisfying the Container requirements:

      +
    • The complexity is constant.
    • +
    • Has the semantics of const_cast<const basic_json&>(*this).end().
    • +
    +

    {The following code shows an example for cend().,cend}

    +
    See also
    see end() – returns an iterator to the end
    +
    +see begin() – returns an iterator to the beginning
    +
    +see cbegin() – returns a const iterator to the beginning
    +
    Since
    version 1.0.0
    + +

    Definition at line 21739 of file json.hpp.

    + +

    References nlohmann::detail::iter_impl< BasicJsonType >::set_end().

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update().

    + +
    +
    + +

    ◆ clear()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::clear ()
    +
    +inlinenoexcept
    +
    + +

    clears the contents

    +

    Clears the content of a JSON value and resets it to the default value as if basic_json(value_t) would have been called with the current value type from type():

    + + + + + + + + + + + + + + + + + +
    Value type initial value
    null null
    boolean false
    string ""
    number 0
    binary An empty byte vector
    object {}
    array []
    +
    Postcondition
    Has the same effect as calling
    *this = basic_json(type());
    +

    {The example below shows the effect of clear() to different JSON types.,clear}

    +

    Linear in the size of the JSON value.

    +

    All iterators, pointers and references related to this container are invalidated.

    +

    No-throw guarantee: this function never throws exceptions.

    +
    See also
    see basic_json(value_t) – constructor that creates an object with the same value than calling clear()
    +
    Since
    version 1.0.0
    + +

    Definition at line 22298 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::binary, nlohmann::detail::boolean, nlohmann::detail::number_float, nlohmann::detail::number_integer, nlohmann::detail::number_unsigned, nlohmann::detail::object, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ contains() [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename KeyT , typename std::enable_if< !std::is_same< typename std::decay< KeyT >::type, json_pointer >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::contains (KeyT && key) const
    +
    +inline
    +
    + +

    check the existence of an element in a JSON object

    +

    Check whether an element exists in a JSON object with key equivalent to key. If the element is not found or the JSON value is not an object, false is returned.

    +
    Note
    This method always returns false when executed on a JSON type that is not an object.
    +
    Parameters
    + + +
    [in]keykey value to check its existence.
    +
    +
    +
    Returns
    true if an element with specified key exists. If no such element with such key is found or the JSON value is not an object, false is returned.
    +

    Logarithmic in the size of the JSON object.

    +

    {The following code shows an example for contains().,contains}

    +
    See also
    see find(KeyT&&) – returns an iterator to an object element
    +
    +see contains(const json_pointer&) const – checks the existence for a JSON pointer
    +
    Since
    version 3.6.0
    + +

    Definition at line 21558 of file json.hpp.

    + +

    References nlohmann::detail::key.

    + +

    Referenced by cudnn_frontend::check_rule().

    + +
    +
    + +

    ◆ contains() [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::contains (const json_pointerptr) const
    +
    +inline
    +
    + +

    check the existence of an element in a JSON object given a JSON pointer

    +

    Check whether the given JSON pointer ptr can be resolved in the current JSON value.

    +
    Note
    This method can be executed on any JSON value type.
    +
    Parameters
    + + +
    [in]ptrJSON pointer to check its existence.
    +
    +
    +
    Returns
    true if the JSON pointer can be resolved to a stored value, false otherwise.
    +
    Postcondition
    If j.contains(ptr) returns true, it is safe to call j[ptr].
    +
    Exceptions
    + + + +
    parse_error.106if an array index begins with '0'
    parse_error.109if an array index was not a number
    +
    +
    +

    Logarithmic in the size of the JSON object.

    +

    {The following code shows an example for contains().,contains_json_pointer}

    +
    See also
    see contains(KeyT &&) const – checks the existence of a key
    +
    Since
    version 3.7.0
    + +

    Definition at line 21589 of file json.hpp.

    + +

    References nlohmann::json_pointer< BasicJsonType >::contains().

    + +
    +
    + +

    ◆ count()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename KeyT >
    + + + + + +
    + + + + + + + + +
    size_type nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::count (KeyT && key) const
    +
    +inline
    +
    + +

    returns the number of occurrences of a key in a JSON object

    +

    Returns the number of elements with key key. If ObjectType is the default std::map type, the return value will always be 0 (key was not found) or 1 (key was found).

    +
    Note
    This method always returns 0 when executed on a JSON type that is not an object.
    +
    Parameters
    + + +
    [in]keykey value of the element to count
    +
    +
    +
    Returns
    Number of elements with key key. If the JSON value is not an object, the return value will be 0.
    +

    Logarithmic in the size of the JSON object.

    +

    {The example shows how count() is used.,count}

    +
    Since
    version 1.0.0
    + +

    Definition at line 21525 of file json.hpp.

    + +

    References nlohmann::detail::key, and nlohmann::detail::value.

    + +
    +
    + +

    ◆ crbegin()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    const_reverse_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::crbegin () const
    +
    +inlinenoexcept
    +
    + +

    returns a const reverse iterator to the last element

    +

    Returns a const iterator to the reverse-beginning; that is, the last element.

    +
    +range-rbegin-rend.svg +
    +Illustration from cppreference.com
    +

    Constant.

    +

    This function helps basic_json satisfying the ReversibleContainer requirements:

      +
    • The complexity is constant.
    • +
    • Has the semantics of const_cast<const basic_json&>(*this).rbegin().
    • +
    +

    {The following code shows an example for crbegin().,crbegin}

    +
    See also
    see rbegin() – returns a reverse iterator to the beginning
    +
    +see rend() – returns a reverse iterator to the end
    +
    +see crend() – returns a const reverse iterator to the end
    +
    Since
    version 1.0.0
    + +

    Definition at line 21843 of file json.hpp.

    + +
    +
    + +

    ◆ create()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename T , typename... Args>
    + + + + + +
    + + + + + + + + +
    static JSON_HEDLEY_RETURNS_NON_NULL T* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::create (Args &&... args)
    +
    +inlinestaticprivate
    +
    + +

    helper for exception-safe object creation

    + +

    Definition at line 17947 of file json.hpp.

    + +

    References JSON_ASSERT, and JSON_PRIVATE_UNLESS_TESTED.

    + +
    +
    + +

    ◆ crend()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    const_reverse_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::crend () const
    +
    +inlinenoexcept
    +
    + +

    returns a const reverse iterator to one before the first

    +

    Returns a const reverse iterator to the reverse-end; that is, one before the first element.

    +
    +range-rbegin-rend.svg +
    +Illustration from cppreference.com
    +

    Constant.

    +

    This function helps basic_json satisfying the ReversibleContainer requirements:

      +
    • The complexity is constant.
    • +
    • Has the semantics of const_cast<const basic_json&>(*this).rend().
    • +
    +

    {The following code shows an example for crend().,crend}

    +
    See also
    see rend() – returns a reverse iterator to the end
    +
    +see rbegin() – returns a reverse iterator to the beginning
    +
    +see crbegin() – returns a const reverse iterator to the beginning
    +
    Since
    version 1.0.0
    + +

    Definition at line 21872 of file json.hpp.

    + +

    References JSON_HEDLEY_DEPRECATED_FOR.

    + +
    +
    + +

    ◆ destroy()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::destroy (value_t t)
    +
    +inlineprivatenoexcept
    +
    +
    + +

    ◆ diff()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & source,
    const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & target,
    const std::string & path = "" 
    )
    +
    +inlinestatic
    +
    + +

    creates a diff as a JSON patch

    +

    Creates a JSON Patch so that value source can be changed into the value target by calling patch function.

    +
    Invariant
    For two JSON values source and target, the following code yields always true:
    source.patch(diff(source, target)) == target;
    +
    Note
    Currently, only remove, add, and replace operations are generated.
    +
    Parameters
    + + + + +
    [in]sourceJSON value to compare from
    [in]targetJSON value to compare against
    [in]pathhelper value to create JSON pointers
    +
    +
    +
    Returns
    a JSON patch to convert the source to target
    +

    Linear in the lengths of source and target.

    +

    {The following code shows how a JSON patch is created as a diff for two JSON values.,diff}

    +
    See also
    see patch – apply a JSON patch
    +
    +see merge_patch – apply a JSON Merge Patch
    +
    +RFC 6902 (JSON Patch)
    +
    Since
    version 2.0.0
    + +

    Definition at line 25641 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::begin(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::cbegin(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::cend(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::end(), nlohmann::detail::escape(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::find(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert(), nlohmann::detail::object, nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::size(), nlohmann::to_string(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::type().

    + +
    +
    + +

    ◆ dump()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    string_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::dump (const int indent = -1,
    const char indent_char = ' ',
    const bool ensure_ascii = false,
    const error_handler_t error_handler = error_handler_t::strict 
    ) const
    +
    +inline
    +
    + +

    serialization

    +

    Serialization function for JSON values. The function tries to mimic Python's json.dumps() function, and currently supports its indent and ensure_ascii parameters.

    +
    Parameters
    + + + + + +
    [in]indentIf indent is nonnegative, then array elements and object members will be pretty-printed with that indent level. An indent level of 0 will only insert newlines. -1 (the default) selects the most compact representation.
    [in]indent_charThe character to use for indentation if indent is greater than 0. The default is (space).
    [in]ensure_asciiIf ensure_ascii is true, all non-ASCII characters in the output are escaped with \uXXXX sequences, and the result consists of ASCII characters only.
    [in]error_handlerhow to react on decoding errors; there are three possible values: strict (throws and exception in case a decoding error occurs; default), replace (replace invalid UTF-8 sequences with U+FFFD), and ignore (ignore invalid UTF-8 sequences during serialization; all bytes are copied to the output unchanged).
    +
    +
    +
    Returns
    string containing the serialization of the JSON value
    +
    Exceptions
    + + +
    type_error.316if a string stored inside the JSON value is not UTF-8 encoded and error_handler is set to strict
    +
    +
    +
    Note
    Binary values are serialized as object containing two keys:
      +
    • "bytes": an array of bytes as integers
    • +
    • "subtype": the subtype as integer or "null" if the binary has no subtype
    • +
    +
    +

    Linear.

    +

    Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

    +

    {The following example shows the effect of different indent\, indent_char\, and ensure_ascii parameters to the result of the serialization.,dump}

    +
    See also
    https://docs.python.org/2/library/json.html#json.dump
    +
    Since
    version 1.0.0; indentation character indent_char, option ensure_ascii and exceptions added in version 3.0.0; error handlers added in version 3.4.0; serialization of binary values added in version 3.8.0.
    + +

    Definition at line 19382 of file json.hpp.

    + +
    +
    + +

    ◆ emplace()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<class... Args>
    + + + + + +
    + + + + + + + + +
    std::pair<iterator, bool> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::emplace (Args &&... args)
    +
    +inline
    +
    + +

    add an object to an object if key does not exist

    +

    Inserts a new element into a JSON object constructed in-place with the given args if there is no element with the key in the container. If the function is called on a JSON null value, an empty object is created before appending the value created from args.

    +
    Parameters
    + + +
    [in]argsarguments to forward to a constructor of basic_json
    +
    +
    +
    Template Parameters
    + + +
    Argscompatible types to create a basic_json object
    +
    +
    +
    Returns
    a pair consisting of an iterator to the inserted element, or the already-existing element if no insertion happened, and a bool denoting whether the insertion took place.
    +
    Exceptions
    + + +
    type_error.311when called on a type other than JSON object or null; example: "cannot use emplace() with number"
    +
    +
    +

    Logarithmic in the size of the container, O(log(size())).

    +

    {The example shows how emplace() can be used to add elements to a JSON object. Note how the null value was silently converted to a JSON object. Further note how no value is added if there was already one value stored with the same key.,emplace}

    +
    Since
    version 2.0.8
    + +

    Definition at line 22619 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, nlohmann::detail::object, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ emplace_back()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<class... Args>
    + + + + + +
    + + + + + + + + +
    reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::emplace_back (Args &&... args)
    +
    +inline
    +
    + +

    add an object to an array

    +

    Creates a JSON value from the passed parameters args to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending the value created from args.

    +
    Parameters
    + + +
    [in]argsarguments to forward to a constructor of basic_json
    +
    +
    +
    Template Parameters
    + + +
    Argscompatible types to create a basic_json object
    +
    +
    +
    Returns
    reference to the inserted element
    +
    Exceptions
    + + +
    type_error.311when called on a type other than JSON array or null; example: "cannot use emplace_back() with number"
    +
    +
    +

    Amortized constant.

    +

    {The example shows how push_back() can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,emplace_back}

    +
    Since
    version 2.0.8, returns reference since 3.7.0
    + +

    Definition at line 22566 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ empty()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::empty () const
    +
    +inlinenoexcept
    +
    + +

    checks whether the container is empty.

    +

    Checks if a JSON value has no elements (i.e. whether its size is 0).

    +
    Returns
    The return value depends on the different types and is defined as follows: + + + + + + + + + + + + + + + + +
    Value type return value
    null true
    boolean false
    string false
    number false
    binary false
    object result of function object_t::empty()
    array result of function array_t::empty()
    +{The following code uses empty() to check if a JSON object contains any elements.,empty}
    +

    Constant, as long as array_t and object_t satisfy the Container concept; that is, their empty() functions have constant complexity.

    +

    No changes.

    +

    No-throw guarantee: this function never throws exceptions.

    +
    Note
    This function does not return whether a string stored as JSON value is empty - it returns whether the JSON container itself is empty which is false in the case of a string.
    +

    This function helps basic_json satisfying the Container requirements:

      +
    • The complexity is constant.
    • +
    • Has the semantics of begin() == end().
    • +
    +
    See also
    see size() – returns the number of elements
    +
    Since
    version 1.0.0
    + +

    Definition at line 22083 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::null, and nlohmann::detail::object.

    + +
    +
    + +

    ◆ end() [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::end ()
    +
    +inlinenoexcept
    +
    + +

    returns an iterator to one past the last element

    +

    Returns an iterator to one past the last element.

    +
    +range-begin-end.svg +
    +Illustration from cppreference.com
    +
    Returns
    iterator one past the last element
    +

    Constant.

    +

    This function helps basic_json satisfying the Container requirements:

      +
    • The complexity is constant.
    • +
    +

    {The following code shows an example for end().,end}

    +
    See also
    see cend() – returns a const iterator to the end
    +
    +see begin() – returns an iterator to the beginning
    +
    +see cbegin() – returns a const iterator to the beginning
    +
    Since
    version 1.0.0
    + +

    Definition at line 21699 of file json.hpp.

    + +

    References nlohmann::detail::iter_impl< BasicJsonType >::set_end().

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::merge_patch(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch().

    + +
    +
    + +

    ◆ end() [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    const_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::end () const
    +
    +inlinenoexcept
    +
    + +

    returns a const iterator to one past the last element

    +

    Returns a const iterator to one past the last element.

    +
    +range-begin-end.svg +
    +Illustration from cppreference.com
    +
    Returns
    const iterator one past the last element
    +

    Constant.

    +

    This function helps basic_json satisfying the Container requirements:

      +
    • The complexity is constant.
    • +
    • Has the semantics of const_cast<const basic_json&>(*this).end().
    • +
    +

    {The following code shows an example for cend().,cend}

    +
    See also
    see end() – returns an iterator to the end
    +
    +see begin() – returns an iterator to the beginning
    +
    +see cbegin() – returns a const iterator to the beginning
    +
    Since
    version 1.0.0
    + +

    Definition at line 21709 of file json.hpp.

    + +
    +
    + +

    ◆ erase() [1/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<class IteratorType , typename std::enable_if< std::is_same< IteratorType, typename basic_json_t::iterator >::value||std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + +
    IteratorType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase (IteratorType pos)
    +
    +inline
    +
    + +

    remove element given an iterator

    +

    Removes the element specified by iterator pos. The iterator pos must be valid and dereferenceable. Thus the end() iterator (which is valid, but is not dereferenceable) cannot be used as a value for pos.

    +

    If called on a primitive type other than null, the resulting JSON value will be null.

    +
    Parameters
    + + +
    [in]positerator to the element to remove
    +
    +
    +
    Returns
    Iterator following the last removed element. If the iterator pos refers to the last element, the end() iterator is returned.
    +
    Template Parameters
    + + +
    IteratorTypean iterator or const_iterator
    +
    +
    +
    Postcondition
    Invalidates iterators and references at or after the point of the erase, including the end() iterator.
    +
    Exceptions
    + + + + +
    type_error.307if called on a null value; example: "cannot use +erase() with null"
    invalid_iterator.202if called on an iterator which does not belong to the current JSON value; example: "iterator does not fit current +value"
    invalid_iterator.205if called on a primitive type with invalid iterator (i.e., any iterator which is not begin()); example: "iterator +out of range"
    +
    +
    +

    The complexity depends on the type:

      +
    • objects: amortized constant
    • +
    • arrays: linear in distance between pos and the end of the container
    • +
    • strings and binary: linear in the length of the member
    • +
    • other types: constant
    • +
    +

    {The example shows the result of erase() for different JSON types.,erase__IteratorType}

    +
    See also
    see erase(IteratorType, IteratorType) – removes the elements in the given range
    +
    +see erase(const typename object_t::key_type&) – removes the element from an object at the given key
    +
    +see erase(const size_type) – removes the element from an array at the given index
    +
    Since
    version 1.0.0
    + +

    Definition at line 21178 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::binary, nlohmann::detail::boolean, nlohmann::detail::invalid_iterator::create(), nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, nlohmann::detail::null, nlohmann::detail::number_float, nlohmann::detail::number_integer, nlohmann::detail::number_unsigned, nlohmann::detail::object, and nlohmann::detail::string.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch().

    + +
    +
    + +

    ◆ erase() [2/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<class IteratorType , typename std::enable_if< std::is_same< IteratorType, typename basic_json_t::iterator >::value||std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    IteratorType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase (IteratorType first,
    IteratorType last 
    )
    +
    +inline
    +
    + +

    remove elements given an iterator range

    +

    Removes the element specified by the range [first; last). The iterator first does not need to be dereferenceable if first == last: erasing an empty range is a no-op.

    +

    If called on a primitive type other than null, the resulting JSON value will be null.

    +
    Parameters
    + + + +
    [in]firstiterator to the beginning of the range to remove
    [in]lastiterator past the end of the range to remove
    +
    +
    +
    Returns
    Iterator following the last removed element. If the iterator second refers to the last element, the end() iterator is returned.
    +
    Template Parameters
    + + +
    IteratorTypean iterator or const_iterator
    +
    +
    +
    Postcondition
    Invalidates iterators and references at or after the point of the erase, including the end() iterator.
    +
    Exceptions
    + + + + +
    type_error.307if called on a null value; example: "cannot use +erase() with null"
    invalid_iterator.203if called on iterators which does not belong to the current JSON value; example: "iterators do not fit current value"
    invalid_iterator.204if called on a primitive type with invalid iterators (i.e., if first != begin() and last != end()); example: "iterators out of range"
    +
    +
    +

    The complexity depends on the type:

      +
    • objects: log(size()) + std::distance(first, last)
    • +
    • arrays: linear in the distance between first and last, plus linear in the distance between last and end of the container
    • +
    • strings and binary: linear in the length of the member
    • +
    • other types: constant
    • +
    +

    {The example shows the result of erase() for different JSON types.,erase__IteratorType_IteratorType}

    +
    See also
    see erase(IteratorType) – removes the element at a given position
    +
    +see erase(const typename object_t::key_type&) – removes the element from an object at the given key
    +
    +see erase(const size_type) – removes the element from an array at the given index
    +
    Since
    version 1.0.0
    + +

    Definition at line 21291 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::binary, nlohmann::detail::boolean, nlohmann::detail::invalid_iterator::create(), nlohmann::detail::type_error::create(), JSON_HEDLEY_LIKELY, JSON_HEDLEY_UNLIKELY, JSON_THROW, nlohmann::detail::null, nlohmann::detail::number_float, nlohmann::detail::number_integer, nlohmann::detail::number_unsigned, nlohmann::detail::object, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ erase() [3/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    size_type nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase (const typename object_t::key_type & key)
    +
    +inline
    +
    + +

    remove element from a JSON object given a key

    +

    Removes elements from a JSON object with the key value key.

    +
    Parameters
    + + +
    [in]keyvalue of the elements to remove
    +
    +
    +
    Returns
    Number of elements removed. If ObjectType is the default std::map type, the return value will always be 0 (key was not found) or 1 (key was found).
    +
    Postcondition
    References and iterators to the erased elements are invalidated. Other references and iterators are not affected.
    +
    Exceptions
    + + +
    type_error.307when called on a type other than JSON object; example: "cannot use erase() with null"
    +
    +
    +

    log(size()) + count(key)

    +

    {The example shows the effect of erase().,erase__key_type}

    +
    See also
    see erase(IteratorType) – removes the element at a given position
    +
    +see erase(IteratorType, IteratorType) – removes the elements in the given range
    +
    +see erase(const size_type) – removes the element from an array at the given index
    +
    Since
    version 1.0.0
    + +

    Definition at line 21386 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_LIKELY, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ erase() [4/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase (const size_type idx)
    +
    +inline
    +
    + +

    remove element from a JSON array given an index

    +

    Removes element from a JSON array at the index idx.

    +
    Parameters
    + + +
    [in]idxindex of the element to remove
    +
    +
    +
    Exceptions
    + + + +
    type_error.307when called on a type other than JSON object; example: "cannot use erase() with null"
    out_of_range.401when idx >= size(); example: "array index 17 +is out of range"
    +
    +
    +

    Linear in distance between idx and the end of the container.

    +

    {The example shows the effect of erase().,erase__size_type}

    +
    See also
    see erase(IteratorType) – removes the element at a given position
    +
    +see erase(IteratorType, IteratorType) – removes the elements in the given range
    +
    +see erase(const typename object_t::key_type&) – removes the element from an object at the given key
    +
    Since
    version 1.0.0
    + +

    Definition at line 21421 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), nlohmann::detail::out_of_range::create(), JSON_HEDLEY_LIKELY, JSON_HEDLEY_UNLIKELY, JSON_THROW, nlohmann::detail::string, and nlohmann::to_string().

    + +
    +
    + +

    ◆ find() [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename KeyT >
    + + + + + +
    + + + + + + + + +
    iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::find (KeyT && key)
    +
    +inline
    +
    + +

    find an element in a JSON object

    +

    Finds an element in a JSON object with key equivalent to key. If the element is not found or the JSON value is not an object, end() is returned.

    +
    Note
    This method always returns end() when executed on a JSON type that is not an object.
    +
    Parameters
    + + +
    [in]keykey value of the element to search for.
    +
    +
    +
    Returns
    Iterator to an element with key equivalent to key. If no such element is found or the JSON value is not an object, past-the-end (see end()) iterator is returned.
    +

    Logarithmic in the size of the JSON object.

    +

    {The example shows how find() is used.,find__key_type}

    +
    See also
    see contains(KeyT&&) const – checks whether a key exists
    +
    Since
    version 1.0.0
    + +

    Definition at line 21474 of file json.hpp.

    + +

    References nlohmann::detail::key.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch().

    + +
    +
    + +

    ◆ find() [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename KeyT >
    + + + + + +
    + + + + + + + + +
    const_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::find (KeyT && key) const
    +
    +inline
    +
    + +

    find an element in a JSON object

    +

    find an element in a JSON object Finds an element in a JSON object with key equivalent to key. If the element is not found or the JSON value is not an object, end() is returned.

    +
    Note
    This method always returns end() when executed on a JSON type that is not an object.
    +
    Parameters
    + + +
    [in]keykey value of the element to search for.
    +
    +
    +
    Returns
    Iterator to an element with key equivalent to key. If no such element is found or the JSON value is not an object, past-the-end (see end()) iterator is returned.
    +

    Logarithmic in the size of the JSON object.

    +

    {The example shows how find() is used.,find__key_type}

    +
    See also
    see contains(KeyT&&) const – checks whether a key exists
    +
    Since
    version 1.0.0
    + +

    Definition at line 21491 of file json.hpp.

    + +

    References nlohmann::detail::key.

    + +
    +
    + +

    ◆ flatten()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::flatten () const
    +
    +inline
    +
    + +

    return flattened JSON value

    +

    The function creates a JSON object whose keys are JSON pointers (see RFC 6901) and whose values are all primitive. The original JSON value can be restored using the unflatten() function.

    +
    Returns
    an object that maps JSON pointers to primitive values
    +
    Note
    Empty objects and arrays are flattened to null and will not be reconstructed correctly by the unflatten() function.
    +

    Linear in the size the JSON value.

    +

    {The following code shows how a JSON object is flattened to an object whose keys consist of JSON pointers.,flatten}

    +
    See also
    see unflatten() for the reverse function
    +
    Since
    version 2.0.0
    + +

    Definition at line 25245 of file json.hpp.

    + +

    References nlohmann::json_pointer< BasicJsonType >::flatten(), and nlohmann::detail::object.

    + +
    +
    + +

    ◆ from_bson() [1/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename InputType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_bson (InputType && i,
    const bool strict = true,
    const bool allow_exceptions = true 
    )
    +
    +inlinestatic
    +
    + +

    Create a JSON value from an input in BSON format.

    +

    Deserializes a given input i to a JSON value using the BSON (Binary JSON) serialization format.

    +

    The library maps BSON record types to JSON value types as follows:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    BSON type BSON marker byte JSON value type
    double 0x01 number_float
    string 0x02 string
    document 0x03 object
    array 0x04 array
    binary 0x05 binary
    undefined 0x06 still unsupported
    ObjectId 0x07 still unsupported
    boolean 0x08 boolean
    UTC Date-Time 0x09 still unsupported
    null 0x0A null
    Regular Expr. 0x0B still unsupported
    DB Pointer 0x0C still unsupported
    JavaScript Code 0x0D still unsupported
    Symbol 0x0E still unsupported
    JavaScript Code 0x0F still unsupported
    int32 0x10 number_integer
    Timestamp 0x11 still unsupported
    128-bit decimal float 0x13 still unsupported
    Max Key 0x7F still unsupported
    Min Key 0xFF still unsupported
    +
    Warning
    The mapping is incomplete. The unsupported mappings are indicated in the table above.
    +
    Parameters
    + + + + +
    [in]ian input in BSON format convertible to an input adapter
    [in]strictwhether to expect the input to be consumed until EOF (true by default)
    [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
    +
    +
    +
    Returns
    deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
    +
    Exceptions
    + + +
    parse_error.114if an unsupported BSON record type is encountered
    +
    +
    +

    Linear in the size of the input i.

    +

    {The example shows the deserialization of a byte vector in BSON format to a JSON value.,from_bson}

    +
    See also
    http://bsonspec.org/spec.html
    +
    +see to_bson(const basic_json&) for the analogous serialization
    +
    +see from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the related CBOR format
    +
    +see from_msgpack(InputType&&, const bool, const bool) for the related MessagePack format
    +
    +see from_ubjson(InputType&&, const bool, const bool) for the related UBJSON format
    + +

    Definition at line 25012 of file json.hpp.

    + +

    References nlohmann::detail::bson, nlohmann::detail::discarded, nlohmann::detail::input_adapter(), JSON_HEDLEY_WARN_UNUSED_RESULT, and nlohmann::detail::strict.

    + +
    +
    + +

    ◆ from_bson() [2/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_bson (IteratorType first,
    IteratorType last,
    const bool strict = true,
    const bool allow_exceptions = true 
    )
    +
    +inlinestatic
    +
    + +

    Create a JSON value from an input in BSON format.

    +

    Deserializes a given input i to a JSON value using the BSON (Binary JSON) serialization format.

    +

    The library maps BSON record types to JSON value types as follows:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    BSON type BSON marker byte JSON value type
    double 0x01 number_float
    string 0x02 string
    document 0x03 object
    array 0x04 array
    binary 0x05 binary
    undefined 0x06 still unsupported
    ObjectId 0x07 still unsupported
    boolean 0x08 boolean
    UTC Date-Time 0x09 still unsupported
    null 0x0A null
    Regular Expr. 0x0B still unsupported
    DB Pointer 0x0C still unsupported
    JavaScript Code 0x0D still unsupported
    Symbol 0x0E still unsupported
    JavaScript Code 0x0F still unsupported
    int32 0x10 number_integer
    Timestamp 0x11 still unsupported
    128-bit decimal float 0x13 still unsupported
    Max Key 0x7F still unsupported
    Min Key 0xFF still unsupported
    +
    Warning
    The mapping is incomplete. The unsupported mappings are indicated in the table above.
    +
    Parameters
    + + + + +
    [in]ian input in BSON format convertible to an input adapter
    [in]strictwhether to expect the input to be consumed until EOF (true by default)
    [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
    +
    +
    +
    Returns
    deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
    +
    Exceptions
    + + +
    parse_error.114if an unsupported BSON record type is encountered
    +
    +
    +

    Linear in the size of the input i.

    +

    {The example shows the deserialization of a byte vector in BSON format to a JSON value.,from_bson}

    +
    See also
    http://bsonspec.org/spec.html
    +
    +see to_bson(const basic_json&) for the analogous serialization
    +
    +see from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the related CBOR format
    +
    +see from_msgpack(InputType&&, const bool, const bool) for the related MessagePack format
    +
    +see from_ubjson(InputType&&, const bool, const bool) for the related UBJSON format
    + +

    Definition at line 25028 of file json.hpp.

    + +

    References nlohmann::detail::bson, nlohmann::detail::discarded, nlohmann::detail::input_adapter(), JSON_HEDLEY_DEPRECATED_FOR, JSON_HEDLEY_WARN_UNUSED_RESULT, and nlohmann::detail::strict.

    + +
    +
    + +

    ◆ from_bson() [3/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_bson (const T * ptr,
    std::size_t len,
    const bool strict = true,
    const bool allow_exceptions = true 
    )
    +
    +inlinestatic
    +
    +
    + +

    ◆ from_bson() [4/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_bson (detail::span_input_adapter && i,
    const bool strict = true,
    const bool allow_exceptions = true 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 25051 of file json.hpp.

    + +

    References nlohmann::detail::bson, nlohmann::detail::discarded, and nlohmann::detail::strict.

    + +
    +
    + +

    ◆ from_cbor() [1/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename InputType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_cbor (InputType && i,
    const bool strict = true,
    const bool allow_exceptions = true,
    const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error 
    )
    +
    +inlinestatic
    +
    + +

    create a JSON value from an input in CBOR format

    +

    Deserializes a given input i to a JSON value using the CBOR (Concise Binary Object Representation) serialization format.

    +

    The library maps CBOR types to JSON value types as follows:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CBOR type JSON value type first byte
    Integer number_unsigned 0x00..0x17
    Unsigned integer number_unsigned 0x18
    Unsigned integer number_unsigned 0x19
    Unsigned integer number_unsigned 0x1A
    Unsigned integer number_unsigned 0x1B
    Negative integer number_integer 0x20..0x37
    Negative integer number_integer 0x38
    Negative integer number_integer 0x39
    Negative integer number_integer 0x3A
    Negative integer number_integer 0x3B
    Byte string binary 0x40..0x57
    Byte string binary 0x58
    Byte string binary 0x59
    Byte string binary 0x5A
    Byte string binary 0x5B
    UTF-8 string string 0x60..0x77
    UTF-8 string string 0x78
    UTF-8 string string 0x79
    UTF-8 string string 0x7A
    UTF-8 string string 0x7B
    UTF-8 string string 0x7F
    array array 0x80..0x97
    array array 0x98
    array array 0x99
    array array 0x9A
    array array 0x9B
    array array 0x9F
    map object 0xA0..0xB7
    map object 0xB8
    map object 0xB9
    map object 0xBA
    map object 0xBB
    map object 0xBF
    False false 0xF4
    True true 0xF5
    Null null 0xF6
    Half-Precision Float number_float 0xF9
    Single-Precision Float number_float 0xFA
    Double-Precision Float number_float 0xFB
    +
    Warning
    The mapping is incomplete in the sense that not all CBOR types can be converted to a JSON value. The following CBOR types are not supported and will yield parse errors (parse_error.112):
      +
    • date/time (0xC0..0xC1)
    • +
    • bignum (0xC2..0xC3)
    • +
    • decimal fraction (0xC4)
    • +
    • bigfloat (0xC5)
    • +
    • expected conversions (0xD5..0xD7)
    • +
    • simple values (0xE0..0xF3, 0xF8)
    • +
    • undefined (0xF7)
    • +
    +
    +
    +CBOR allows map keys of any type, whereas JSON only allows strings as keys in object values. Therefore, CBOR maps with keys other than UTF-8 strings are rejected (parse_error.113).
    +
    Note
    Any CBOR output created to_cbor can be successfully parsed by from_cbor.
    +
    Parameters
    + + + + + +
    [in]ian input in CBOR format convertible to an input adapter
    [in]strictwhether to expect the input to be consumed until EOF (true by default)
    [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
    [in]tag_handlerhow to treat CBOR tags (optional, error by default)
    +
    +
    +
    Returns
    deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
    +
    Exceptions
    + + + + +
    parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
    parse_error.112if unsupported features from CBOR were used in the given input v or if the input is not valid CBOR
    parse_error.113if a string was expected as map key, but not found
    +
    +
    +

    Linear in the size of the input i.

    +

    {The example shows the deserialization of a byte vector in CBOR format to a JSON value.,from_cbor}

    +
    See also
    http://cbor.io
    +
    +see to_cbor(const basic_json&) for the analogous serialization
    +
    +see from_msgpack(InputType&&, const bool, const bool) for the related MessagePack format
    +
    +see from_ubjson(InputType&&, const bool, const bool) for the related UBJSON format
    +
    Since
    version 2.0.9; parameter start_index since 2.1.1; changed to consume input adapters, removed start_index parameter, and added strict parameter since 3.0.0; added allow_exceptions parameter since 3.2.0; added tag_handler parameter since 3.9.0.
    + +

    Definition at line 24637 of file json.hpp.

    + +

    References nlohmann::detail::cbor, nlohmann::detail::discarded, nlohmann::detail::input_adapter(), JSON_HEDLEY_WARN_UNUSED_RESULT, and nlohmann::detail::strict.

    + +
    +
    + +

    ◆ from_cbor() [2/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_cbor (IteratorType first,
    IteratorType last,
    const bool strict = true,
    const bool allow_exceptions = true,
    const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error 
    )
    +
    +inlinestatic
    +
    + +

    create a JSON value from an input in CBOR format

    +

    Deserializes a given input i to a JSON value using the CBOR (Concise Binary Object Representation) serialization format.

    +

    The library maps CBOR types to JSON value types as follows:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CBOR type JSON value type first byte
    Integer number_unsigned 0x00..0x17
    Unsigned integer number_unsigned 0x18
    Unsigned integer number_unsigned 0x19
    Unsigned integer number_unsigned 0x1A
    Unsigned integer number_unsigned 0x1B
    Negative integer number_integer 0x20..0x37
    Negative integer number_integer 0x38
    Negative integer number_integer 0x39
    Negative integer number_integer 0x3A
    Negative integer number_integer 0x3B
    Byte string binary 0x40..0x57
    Byte string binary 0x58
    Byte string binary 0x59
    Byte string binary 0x5A
    Byte string binary 0x5B
    UTF-8 string string 0x60..0x77
    UTF-8 string string 0x78
    UTF-8 string string 0x79
    UTF-8 string string 0x7A
    UTF-8 string string 0x7B
    UTF-8 string string 0x7F
    array array 0x80..0x97
    array array 0x98
    array array 0x99
    array array 0x9A
    array array 0x9B
    array array 0x9F
    map object 0xA0..0xB7
    map object 0xB8
    map object 0xB9
    map object 0xBA
    map object 0xBB
    map object 0xBF
    False false 0xF4
    True true 0xF5
    Null null 0xF6
    Half-Precision Float number_float 0xF9
    Single-Precision Float number_float 0xFA
    Double-Precision Float number_float 0xFB
    +
    Warning
    The mapping is incomplete in the sense that not all CBOR types can be converted to a JSON value. The following CBOR types are not supported and will yield parse errors (parse_error.112):
      +
    • date/time (0xC0..0xC1)
    • +
    • bignum (0xC2..0xC3)
    • +
    • decimal fraction (0xC4)
    • +
    • bigfloat (0xC5)
    • +
    • expected conversions (0xD5..0xD7)
    • +
    • simple values (0xE0..0xF3, 0xF8)
    • +
    • undefined (0xF7)
    • +
    +
    +
    +CBOR allows map keys of any type, whereas JSON only allows strings as keys in object values. Therefore, CBOR maps with keys other than UTF-8 strings are rejected (parse_error.113).
    +
    Note
    Any CBOR output created to_cbor can be successfully parsed by from_cbor.
    +
    Parameters
    + + + + + +
    [in]ian input in CBOR format convertible to an input adapter
    [in]strictwhether to expect the input to be consumed until EOF (true by default)
    [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
    [in]tag_handlerhow to treat CBOR tags (optional, error by default)
    +
    +
    +
    Returns
    deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
    +
    Exceptions
    + + + + +
    parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
    parse_error.112if unsupported features from CBOR were used in the given input v or if the input is not valid CBOR
    parse_error.113if a string was expected as map key, but not found
    +
    +
    +

    Linear in the size of the input i.

    +

    {The example shows the deserialization of a byte vector in CBOR format to a JSON value.,from_cbor}

    +
    See also
    http://cbor.io
    +
    +see to_cbor(const basic_json&) for the analogous serialization
    +
    +see from_msgpack(InputType&&, const bool, const bool) for the related MessagePack format
    +
    +see from_ubjson(InputType&&, const bool, const bool) for the related UBJSON format
    +
    Since
    version 2.0.9; parameter start_index since 2.1.1; changed to consume input adapters, removed start_index parameter, and added strict parameter since 3.0.0; added allow_exceptions parameter since 3.2.0; added tag_handler parameter since 3.9.0.
    + +

    Definition at line 24654 of file json.hpp.

    + +

    References nlohmann::detail::cbor, nlohmann::detail::discarded, nlohmann::detail::input_adapter(), JSON_HEDLEY_DEPRECATED_FOR, JSON_HEDLEY_WARN_UNUSED_RESULT, and nlohmann::detail::strict.

    + +
    +
    + +

    ◆ from_cbor() [3/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_cbor (const T * ptr,
    std::size_t len,
    const bool strict = true,
    const bool allow_exceptions = true,
    const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error 
    )
    +
    +inlinestatic
    +
    +
    + +

    ◆ from_cbor() [4/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_cbor (detail::span_input_adapter && i,
    const bool strict = true,
    const bool allow_exceptions = true,
    const cbor_tag_handler_t tag_handler = cbor_tag_handler_t::error 
    )
    +
    +inlinestatic
    +
    +
    + +

    ◆ from_msgpack() [1/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename InputType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_msgpack (InputType && i,
    const bool strict = true,
    const bool allow_exceptions = true 
    )
    +
    +inlinestatic
    +
    + +

    create a JSON value from an input in MessagePack format

    +

    Deserializes a given input i to a JSON value using the MessagePack serialization format.

    +

    The library maps MessagePack types to JSON value types as follows:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    MessagePack type JSON value type first byte
    positive fixint number_unsigned 0x00..0x7F
    fixmap object 0x80..0x8F
    fixarray array 0x90..0x9F
    fixstr string 0xA0..0xBF
    nil null 0xC0
    false false 0xC2
    true true 0xC3
    float 32 number_float 0xCA
    float 64 number_float 0xCB
    uint 8 number_unsigned 0xCC
    uint 16 number_unsigned 0xCD
    uint 32 number_unsigned 0xCE
    uint 64 number_unsigned 0xCF
    int 8 number_integer 0xD0
    int 16 number_integer 0xD1
    int 32 number_integer 0xD2
    int 64 number_integer 0xD3
    str 8 string 0xD9
    str 16 string 0xDA
    str 32 string 0xDB
    array 16 array 0xDC
    array 32 array 0xDD
    map 16 object 0xDE
    map 32 object 0xDF
    bin 8 binary 0xC4
    bin 16 binary 0xC5
    bin 32 binary 0xC6
    ext 8 binary 0xC7
    ext 16 binary 0xC8
    ext 32 binary 0xC9
    fixext 1 binary 0xD4
    fixext 2 binary 0xD5
    fixext 4 binary 0xD6
    fixext 8 binary 0xD7
    fixext 16 binary 0xD8
    negative fixint number_integer 0xE0-0xFF
    +
    Note
    Any MessagePack output created to_msgpack can be successfully parsed by from_msgpack.
    +
    Parameters
    + + + + +
    [in]ian input in MessagePack format convertible to an input adapter
    [in]strictwhether to expect the input to be consumed until EOF (true by default)
    [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
    +
    +
    +
    Returns
    deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
    +
    Exceptions
    + + + + +
    parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
    parse_error.112if unsupported features from MessagePack were used in the given input i or if the input is not valid MessagePack
    parse_error.113if a string was expected as map key, but not found
    +
    +
    +

    Linear in the size of the input i.

    +

    {The example shows the deserialization of a byte vector in MessagePack format to a JSON value.,from_msgpack}

    +
    See also
    http://msgpack.org
    +
    +see to_msgpack(const basic_json&) for the analogous serialization
    +
    +see from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the related CBOR format
    +
    +see from_ubjson(InputType&&, const bool, const bool) for the related UBJSON format
    +
    +see from_bson(InputType&&, const bool, const bool) for the related BSON format
    +
    Since
    version 2.0.9; parameter start_index since 2.1.1; changed to consume input adapters, removed start_index parameter, and added strict parameter since 3.0.0; added allow_exceptions parameter since 3.2.0
    + +

    Definition at line 24781 of file json.hpp.

    + +

    References nlohmann::detail::discarded, nlohmann::detail::input_adapter(), JSON_HEDLEY_WARN_UNUSED_RESULT, nlohmann::detail::msgpack, and nlohmann::detail::strict.

    + +
    +
    + +

    ◆ from_msgpack() [2/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_msgpack (IteratorType first,
    IteratorType last,
    const bool strict = true,
    const bool allow_exceptions = true 
    )
    +
    +inlinestatic
    +
    + +

    create a JSON value from an input in MessagePack format

    +

    Deserializes a given input i to a JSON value using the MessagePack serialization format.

    +

    The library maps MessagePack types to JSON value types as follows:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    MessagePack type JSON value type first byte
    positive fixint number_unsigned 0x00..0x7F
    fixmap object 0x80..0x8F
    fixarray array 0x90..0x9F
    fixstr string 0xA0..0xBF
    nil null 0xC0
    false false 0xC2
    true true 0xC3
    float 32 number_float 0xCA
    float 64 number_float 0xCB
    uint 8 number_unsigned 0xCC
    uint 16 number_unsigned 0xCD
    uint 32 number_unsigned 0xCE
    uint 64 number_unsigned 0xCF
    int 8 number_integer 0xD0
    int 16 number_integer 0xD1
    int 32 number_integer 0xD2
    int 64 number_integer 0xD3
    str 8 string 0xD9
    str 16 string 0xDA
    str 32 string 0xDB
    array 16 array 0xDC
    array 32 array 0xDD
    map 16 object 0xDE
    map 32 object 0xDF
    bin 8 binary 0xC4
    bin 16 binary 0xC5
    bin 32 binary 0xC6
    ext 8 binary 0xC7
    ext 16 binary 0xC8
    ext 32 binary 0xC9
    fixext 1 binary 0xD4
    fixext 2 binary 0xD5
    fixext 4 binary 0xD6
    fixext 8 binary 0xD7
    fixext 16 binary 0xD8
    negative fixint number_integer 0xE0-0xFF
    +
    Note
    Any MessagePack output created to_msgpack can be successfully parsed by from_msgpack.
    +
    Parameters
    + + + + +
    [in]ian input in MessagePack format convertible to an input adapter
    [in]strictwhether to expect the input to be consumed until EOF (true by default)
    [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
    +
    +
    +
    Returns
    deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
    +
    Exceptions
    + + + + +
    parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
    parse_error.112if unsupported features from MessagePack were used in the given input i or if the input is not valid MessagePack
    parse_error.113if a string was expected as map key, but not found
    +
    +
    +

    Linear in the size of the input i.

    +

    {The example shows the deserialization of a byte vector in MessagePack format to a JSON value.,from_msgpack}

    +
    See also
    http://msgpack.org
    +
    +see to_msgpack(const basic_json&) for the analogous serialization
    +
    +see from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the related CBOR format
    +
    +see from_ubjson(InputType&&, const bool, const bool) for the related UBJSON format
    +
    +see from_bson(InputType&&, const bool, const bool) for the related BSON format
    +
    Since
    version 2.0.9; parameter start_index since 2.1.1; changed to consume input adapters, removed start_index parameter, and added strict parameter since 3.0.0; added allow_exceptions parameter since 3.2.0
    + +

    Definition at line 24797 of file json.hpp.

    + +

    References nlohmann::detail::discarded, nlohmann::detail::input_adapter(), JSON_HEDLEY_DEPRECATED_FOR, JSON_HEDLEY_WARN_UNUSED_RESULT, nlohmann::detail::msgpack, and nlohmann::detail::strict.

    + +
    +
    + +

    ◆ from_msgpack() [3/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_msgpack (const T * ptr,
    std::size_t len,
    const bool strict = true,
    const bool allow_exceptions = true 
    )
    +
    +inlinestatic
    +
    +
    + +

    ◆ from_msgpack() [4/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_msgpack (detail::span_input_adapter && i,
    const bool strict = true,
    const bool allow_exceptions = true 
    )
    +
    +inlinestatic
    +
    +
    + +

    ◆ from_ubjson() [1/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename InputType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_ubjson (InputType && i,
    const bool strict = true,
    const bool allow_exceptions = true 
    )
    +
    +inlinestatic
    +
    + +

    create a JSON value from an input in UBJSON format

    +

    Deserializes a given input i to a JSON value using the UBJSON (Universal Binary JSON) serialization format.

    +

    The library maps UBJSON types to JSON value types as follows:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    UBJSON type JSON value type marker
    no-op no value, next value is read N
    null null Z
    false false F
    true true T
    float32 number_float d
    float64 number_float D
    uint8 number_unsigned U
    int8 number_integer i
    int16 number_integer I
    int32 number_integer l
    int64 number_integer L
    high-precision number number_integer, number_unsigned, or number_float - depends on number string 'H'
    string string S
    char string C
    array array (optimized values are supported) [
    object object (optimized values are supported) {
    +
    Note
    The mapping is complete in the sense that any UBJSON value can be converted to a JSON value.
    +
    Parameters
    + + + + +
    [in]ian input in UBJSON format convertible to an input adapter
    [in]strictwhether to expect the input to be consumed until EOF (true by default)
    [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
    +
    +
    +
    Returns
    deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
    +
    Exceptions
    + + + + +
    parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
    parse_error.112if a parse error occurs
    parse_error.113if a string could not be parsed successfully
    +
    +
    +

    Linear in the size of the input i.

    +

    {The example shows the deserialization of a byte vector in UBJSON format to a JSON value.,from_ubjson}

    +
    See also
    http://ubjson.org
    +
    +see to_ubjson(const basic_json&, const bool, const bool) for the analogous serialization
    +
    +see from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the related CBOR format
    +
    +see from_msgpack(InputType&&, const bool, const bool) for the related MessagePack format
    +
    +see from_bson(InputType&&, const bool, const bool) for the related BSON format
    +
    Since
    version 3.1.0; added allow_exceptions parameter since 3.2.0
    + +

    Definition at line 24898 of file json.hpp.

    + +

    References nlohmann::detail::discarded, nlohmann::detail::input_adapter(), JSON_HEDLEY_WARN_UNUSED_RESULT, nlohmann::detail::strict, and nlohmann::detail::ubjson.

    + +
    +
    + +

    ◆ from_ubjson() [2/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_ubjson (IteratorType first,
    IteratorType last,
    const bool strict = true,
    const bool allow_exceptions = true 
    )
    +
    +inlinestatic
    +
    + +

    create a JSON value from an input in UBJSON format

    +

    Deserializes a given input i to a JSON value using the UBJSON (Universal Binary JSON) serialization format.

    +

    The library maps UBJSON types to JSON value types as follows:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    UBJSON type JSON value type marker
    no-op no value, next value is read N
    null null Z
    false false F
    true true T
    float32 number_float d
    float64 number_float D
    uint8 number_unsigned U
    int8 number_integer i
    int16 number_integer I
    int32 number_integer l
    int64 number_integer L
    high-precision number number_integer, number_unsigned, or number_float - depends on number string 'H'
    string string S
    char string C
    array array (optimized values are supported) [
    object object (optimized values are supported) {
    +
    Note
    The mapping is complete in the sense that any UBJSON value can be converted to a JSON value.
    +
    Parameters
    + + + + +
    [in]ian input in UBJSON format convertible to an input adapter
    [in]strictwhether to expect the input to be consumed until EOF (true by default)
    [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
    +
    +
    +
    Returns
    deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
    +
    Exceptions
    + + + + +
    parse_error.110if the given input ends prematurely or the end of file was not reached when strict was set to true
    parse_error.112if a parse error occurs
    parse_error.113if a string could not be parsed successfully
    +
    +
    +

    Linear in the size of the input i.

    +

    {The example shows the deserialization of a byte vector in UBJSON format to a JSON value.,from_ubjson}

    +
    See also
    http://ubjson.org
    +
    +see to_ubjson(const basic_json&, const bool, const bool) for the analogous serialization
    +
    +see from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the related CBOR format
    +
    +see from_msgpack(InputType&&, const bool, const bool) for the related MessagePack format
    +
    +see from_bson(InputType&&, const bool, const bool) for the related BSON format
    +
    Since
    version 3.1.0; added allow_exceptions parameter since 3.2.0
    + +

    Definition at line 24914 of file json.hpp.

    + +

    References nlohmann::detail::discarded, nlohmann::detail::input_adapter(), JSON_HEDLEY_DEPRECATED_FOR, JSON_HEDLEY_WARN_UNUSED_RESULT, nlohmann::detail::strict, and nlohmann::detail::ubjson.

    + +
    +
    + +

    ◆ from_ubjson() [3/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_ubjson (const T * ptr,
    std::size_t len,
    const bool strict = true,
    const bool allow_exceptions = true 
    )
    +
    +inlinestatic
    +
    +
    + +

    ◆ from_ubjson() [4/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_ubjson (detail::span_input_adapter && i,
    const bool strict = true,
    const bool allow_exceptions = true 
    )
    +
    +inlinestatic
    +
    +
    + +

    ◆ front() [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::front ()
    +
    +inline
    +
    + +

    access the first element

    +

    Returns a reference to the first element in the container. For a JSON container c, the expression c.front() is equivalent to *c.begin().

    +
    Returns
    In case of a structured type (array or object), a reference to the first element is returned. In case of number, string, boolean, or binary values, a reference to the value is returned.
    +

    Constant.

    +
    Precondition
    The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
    +
    Postcondition
    The JSON value remains unchanged.
    +
    Exceptions
    + + +
    invalid_iterator.214when called on null value
    +
    +
    +

    {The following code shows an example for front().,front}

    +
    See also
    see back() – access the last element
    +
    Since
    version 1.0.0
    + +

    Definition at line 21067 of file json.hpp.

    + +
    +
    + +

    ◆ front() [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::front () const
    +
    +inline
    +
    + +

    access the first element

    +

    Returns a reference to the first element in the container. For a JSON container c, the expression c.front() is equivalent to *c.begin().

    +
    Returns
    In case of a structured type (array or object), a reference to the first element is returned. In case of number, string, boolean, or binary values, a reference to the value is returned.
    +

    Constant.

    +
    Precondition
    The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions).
    +
    Postcondition
    The JSON value remains unchanged.
    +
    Exceptions
    + + +
    invalid_iterator.214when called on null value
    +
    +
    +

    {The following code shows an example for front().,front}

    +
    See also
    see back() – access the last element
    +
    Since
    version 1.0.0
    + +

    Definition at line 21075 of file json.hpp.

    + +
    +
    + +

    ◆ get() [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ValueTypeCV , typename ValueType = detail::uncvref_t<ValueTypeCV>>
    + + + + + +
    + + + + + + + +
    auto nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get () const -> decltype(std::declval<const basic_json_t&>().template get_impl<ValueType>(detail::priority_tag<4>
    +
    +inlinenoexcept
    +
    + +

    get a (pointer) value (explicit)

    +

    Performs explicit type conversion between the JSON value and a compatible value if required.

    + +
    Template Parameters
    + + + +
    ValueTypeCVthe provided value type
    ValueTypethe returned value type
    +
    +
    +
    Returns
    copy of the JSON value, converted to
    +
    Template Parameters
    + + +
    ValueTypeif necessary
    +
    +
    +
    Exceptions
    + + +
    whatjson_serializer<ValueType> from_json() method throws if conversion is required
    +
    +
    +
    Since
    version 2.1.0
    + +

    Definition at line 20171 of file json.hpp.

    + +
    +
    + +

    ◆ get() [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + +
    auto nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get () -> decltype(std::declval<basic_json_t&>().template get_ptr<PointerType>()) +
    +
    +inlinenoexcept
    +
    + +

    get a pointer value (explicit)

    +

    Explicit pointer access to the internally stored JSON value. No copies are made.

    +
    Warning
    The pointer becomes invalid if the underlying JSON object changes.
    +
    Template Parameters
    + + +
    PointerTypepointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t.
    +
    +
    +
    Returns
    pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise
    +

    Constant.

    +

    {The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get__PointerType}

    +
    See also
    see get_ptr() for explicit pointer-member access
    +
    Since
    version 1.0.0
    + +

    Definition at line 20212 of file json.hpp.

    + +
    +
    + +

    ◆ get_allocator()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    static allocator_type nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_allocator ()
    +
    +inlinestatic
    +
    + +

    returns the allocator associated with the container

    + +

    Definition at line 17340 of file json.hpp.

    + +

    References JSON_HEDLEY_WARN_UNUSED_RESULT.

    + +
    +
    + +

    ◆ get_binary() [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    binary_t& nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_binary ()
    +
    +inline
    +
    +
    Returns
    reference to the binary value
    +
    Exceptions
    + + +
    type_error.302if the value is not binary
    +
    +
    +
    See also
    see is_binary() to check if the value is binary
    +
    Since
    version 3.8.0
    + +

    Definition at line 20390 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ get_binary() [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    const binary_t& nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_binary () const
    +
    +inline
    +
    + +

    +
    Returns
    reference to the binary value
    +
    Exceptions
    + + +
    type_error.302if the value is not binary
    +
    +
    +
    See also
    see is_binary() to check if the value is binary
    +
    Since
    version 3.8.0
    + +

    Definition at line 20401 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ get_impl() [1/7]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    boolean_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl (boolean_t) const
    +
    +inlineprivate
    +
    + +

    get a boolean (explicit)

    + +

    Definition at line 19806 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_LIKELY, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ get_impl() [2/7]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ValueType , detail::enable_if_t< detail::is_default_constructible< ValueType >::value &&detail::has_from_json< basic_json_t, ValueType >::value, int > = 0>
    + + + + + +
    + + + + + + + + +
    ValueType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl (detail::priority_tag< 0 > ) const
    +
    +inlineprivatenoexcept
    +
    + +

    get a value (explicit)

    +

    Explicit type conversion between the JSON value and a compatible value which is CopyConstructible and DefaultConstructible. The value is converted by calling the json_serializer<ValueType> from_json() method.

    +

    The function is equivalent to executing

    ValueType ret;
    return ret;

    This overloads is chosen if:

    +
    Template Parameters
    + + +
    ValueTypethe returned value type
    +
    +
    +
    Returns
    copy of the JSON value, converted to ValueType
    +
    Exceptions
    + + +
    whatjson_serializer<ValueType> from_json() method throws
    +
    +
    +

    {The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>.,get__ValueType_const}

    +
    Since
    version 2.1.0
    + +

    Definition at line 20033 of file json.hpp.

    + +

    References nlohmann::detail::from_json().

    + +
    +
    + +

    ◆ get_impl() [3/7]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ValueType , detail::enable_if_t< detail::has_non_default_from_json< basic_json_t, ValueType >::value, int > = 0>
    + + + + + +
    + + + + + + + + +
    ValueType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl (detail::priority_tag< 1 > ) const
    +
    +inlineprivatenoexcept
    +
    + +

    get a value (explicit); special case

    +

    Explicit type conversion between the JSON value and a compatible value which is not CopyConstructible and not DefaultConstructible. The value is converted by calling the json_serializer<ValueType> from_json() method.

    +

    The function is equivalent to executing

    This overloads is chosen if:

    +
    Note
    If json_serializer<ValueType> has both overloads of from_json(), this one is chosen.
    +
    Template Parameters
    + + +
    ValueTypethe returned value type
    +
    +
    +
    Returns
    copy of the JSON value, converted to ValueType
    +
    Exceptions
    + + +
    whatjson_serializer<ValueType> from_json() method throws
    +
    +
    +
    Since
    version 2.1.0
    + +

    Definition at line 20075 of file json.hpp.

    + +

    References nlohmann::detail::from_json().

    + +
    +
    + +

    ◆ get_impl() [4/7]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value, int > = 0>
    + + + + + +
    + + + + + + + + +
    BasicJsonType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl (detail::priority_tag< 2 > ) const
    +
    +inlineprivate
    +
    + +

    get special-case overload

    +

    This overloads converts the current basic_json in a different basic_json type

    +
    Template Parameters
    + + +
    BasicJsonType== basic_json
    +
    +
    +
    Returns
    a copy of *this, converted into BasicJsonType
    +

    Depending on the implementation of the called from_json() method.

    +
    Since
    version 3.2.0
    + +

    Definition at line 20100 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl() [5/7]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename BasicJsonType , detail::enable_if_t< std::is_same< BasicJsonType, basic_json_t >::value, int > = 0>
    + + + + + +
    + + + + + + + + +
    basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl (detail::priority_tag< 3 > ) const
    +
    +inlineprivate
    +
    + +

    get special-case overload

    +

    This overloads avoids a lot of template boilerplate, it can be seen as the identity method

    +
    Template Parameters
    + + +
    BasicJsonType== basic_json
    +
    +
    +
    Returns
    a copy of *this
    +

    Constant.

    +
    Since
    version 2.1.0
    + +

    Definition at line 20123 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl() [6/7]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename PointerType , detail::enable_if_t< std::is_pointer< PointerType >::value, int > = 0>
    + + + + + +
    + + + + + + + + +
    constexpr auto nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl (detail::priority_tag< 4 > ) const -> decltype(std::declval<const basic_json_t&>().template get_ptr<PointerType>()) +
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer value (explicit)

    +

    get a pointer value (explicit) Explicit pointer access to the internally stored JSON value. No copies are made.

    +
    Warning
    The pointer becomes invalid if the underlying JSON object changes.
    +
    Template Parameters
    + + +
    PointerTypepointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t.
    +
    +
    +
    Returns
    pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise
    +

    Constant.

    +

    {The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get__PointerType}

    +
    See also
    see get_ptr() for explicit pointer-member access
    +
    Since
    version 1.0.0
    + +

    Definition at line 20136 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl() [7/7]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + + + + +
    return nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl (detail::priority_tag< 4 > {} )
    +
    + +
    +
    + +

    ◆ get_impl_ptr() [1/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    object_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr (object_t)
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer to the value (object)

    + +

    Definition at line 19817 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl_ptr() [2/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    constexpr const object_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr (const object_t) const
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer to the value (object)

    + +

    Definition at line 19823 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl_ptr() [3/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    array_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr (array_t)
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer to the value (array)

    + +

    Definition at line 19829 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl_ptr() [4/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    constexpr const array_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr (const array_t) const
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer to the value (array)

    + +

    Definition at line 19835 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl_ptr() [5/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    string_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr (string_t)
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer to the value (string)

    + +

    Definition at line 19841 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl_ptr() [6/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    constexpr const string_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr (const string_t) const
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer to the value (string)

    + +

    Definition at line 19847 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl_ptr() [7/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    boolean_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr (boolean_t)
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer to the value (boolean)

    + +

    Definition at line 19853 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl_ptr() [8/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    constexpr const boolean_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr (const boolean_t) const
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer to the value (boolean)

    + +

    Definition at line 19859 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl_ptr() [9/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    number_integer_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr (number_integer_t)
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer to the value (integer number)

    + +

    Definition at line 19865 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl_ptr() [10/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    constexpr const number_integer_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr (const number_integer_t) const
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer to the value (integer number)

    + +

    Definition at line 19871 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl_ptr() [11/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    number_unsigned_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr (number_unsigned_t)
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer to the value (unsigned number)

    + +

    Definition at line 19877 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl_ptr() [12/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    constexpr const number_unsigned_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr (const number_unsigned_t) const
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer to the value (unsigned number)

    + +

    Definition at line 19883 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl_ptr() [13/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    number_float_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr (number_float_t)
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer to the value (floating-point number)

    + +

    Definition at line 19889 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl_ptr() [14/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    constexpr const number_float_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr (const number_float_t) const
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer to the value (floating-point number)

    + +

    Definition at line 19895 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl_ptr() [15/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    binary_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr (binary_t)
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer to the value (binary)

    + +

    Definition at line 19901 of file json.hpp.

    + +
    +
    + +

    ◆ get_impl_ptr() [16/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    constexpr const binary_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr (const binary_t) const
    +
    +inlineprivatenoexcept
    +
    + +

    get a pointer to the value (binary)

    + +

    Definition at line 19907 of file json.hpp.

    + +
    +
    + +

    ◆ get_ptr() [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + +
    auto nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ptr () -> decltype(std::declval<basic_json_t&>().get_impl_ptr(std::declval<PointerType>())) +
    +
    +inlinenoexcept
    +
    + +

    get a pointer value (implicit)

    +

    Implicit pointer access to the internally stored JSON value. No copies are made.

    +
    Warning
    Writing data to the pointee of the result yields an undefined state.
    +
    Template Parameters
    + + +
    PointerTypepointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t. Enforced by a static assertion.
    +
    +
    +
    Returns
    pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise
    +

    Constant.

    +

    {The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get_ptr}

    +
    Since
    version 1.0.0
    + +

    Definition at line 19970 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ get_ptr() [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value &&std::is_const< typename std::remove_pointer< PointerType >::type >::value, int >::type = 0>
    + + + + + +
    + + + + + + + +
    constexpr auto nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ptr () const -> decltype(std::declval<const basic_json_t&>().get_impl_ptr(std::declval<PointerType>())) +
    +
    +inlinenoexcept
    +
    + +

    get a pointer value (implicit)

    +

    get a pointer value (implicit) Implicit pointer access to the internally stored JSON value. No copies are made.

    +
    Warning
    Writing data to the pointee of the result yields an undefined state.
    +
    Template Parameters
    + + +
    PointerTypepointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t. Enforced by a static assertion.
    +
    +
    +
    Returns
    pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise
    +

    Constant.

    +

    {The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get_ptr}

    +
    Since
    version 1.0.0
    + +

    Definition at line 19983 of file json.hpp.

    + +
    +
    + +

    ◆ get_ref() [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + +
    ReferenceType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ref ()
    +
    +inline
    +
    + +

    get a reference value (implicit)

    +

    Implicit reference access to the internally stored JSON value. No copies are made.

    +
    Warning
    Writing data to the referee of the result yields an undefined state.
    +
    Template Parameters
    + + +
    ReferenceTypereference type; must be a reference to array_t, object_t, string_t, boolean_t, number_integer_t, or number_float_t. Enforced by static assertion.
    +
    +
    +
    Returns
    reference to the internally stored JSON value if the requested reference type ReferenceType fits to the JSON value; throws type_error.303 otherwise
    +
    Exceptions
    + + +
    type_error.303in case passed type ReferenceType is incompatible with the stored JSON value; see example below
    +
    +
    +

    Constant.

    +

    {The example shows several calls to get_ref().,get_ref}

    +
    Since
    version 1.1.0
    + +

    Definition at line 20316 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back().

    + +
    +
    + +

    ◆ get_ref() [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value &&std::is_const< typename std::remove_reference< ReferenceType >::type >::value, int >::type = 0>
    + + + + + +
    + + + + + + + +
    ReferenceType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ref () const
    +
    +inline
    +
    + +

    get a reference value (implicit)

    +

    get a reference value (implicit) Implicit reference access to the internally stored JSON value. No copies are made.

    +
    Warning
    Writing data to the referee of the result yields an undefined state.
    +
    Template Parameters
    + + +
    ReferenceTypereference type; must be a reference to array_t, object_t, string_t, boolean_t, number_integer_t, or number_float_t. Enforced by static assertion.
    +
    +
    +
    Returns
    reference to the internally stored JSON value if the requested reference type ReferenceType fits to the JSON value; throws type_error.303 otherwise
    +
    Exceptions
    + + +
    type_error.303in case passed type ReferenceType is incompatible with the stored JSON value; see example below
    +
    +
    +

    Constant.

    +

    {The example shows several calls to get_ref().,get_ref}

    +
    Since
    version 1.1.0
    + +

    Definition at line 20329 of file json.hpp.

    + +
    +
    + +

    ◆ get_ref_impl()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ReferenceType , typename ThisType >
    + + + + + +
    + + + + + + + + +
    static ReferenceType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ref_impl (ThisType & obj)
    +
    +inlinestaticprivate
    +
    + +

    helper function to implement get_ref()

    +

    This function helps to implement get_ref() without code duplication for const and non-const overloads

    +
    Template Parameters
    + + +
    ThisTypewill be deduced as basic_json or const basic_json
    +
    +
    +
    Exceptions
    + + +
    type_error.303if ReferenceType does not match underlying value type of the current JSON
    +
    +
    + +

    Definition at line 19924 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_LIKELY, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ get_to() [1/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ValueType , detail::enable_if_t< !detail::is_basic_json< ValueType >::value &&detail::has_from_json< basic_json_t, ValueType >::value, int > = 0>
    + + + + + +
    + + + + + + + + +
    ValueType& nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_to (ValueType & v) const
    +
    +inlinenoexcept
    +
    + +

    get a value (explicit)

    +

    Explicit type conversion between the JSON value and a compatible value. The value is filled into the input parameter by calling the json_serializer<ValueType> from_json() method.

    +

    The function is equivalent to executing

    This overloads is chosen if:

    +
    Template Parameters
    + + +
    ValueTypethe input parameter type.
    +
    +
    +
    Returns
    the input parameter, allowing chaining calls.
    +
    Exceptions
    + + +
    whatjson_serializer<ValueType> from_json() method throws
    +
    +
    +

    {The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>.,get_to}

    +
    Since
    version 3.3.0
    + +

    Definition at line 20256 of file json.hpp.

    + +

    References nlohmann::detail::from_json().

    + +
    +
    + +

    ◆ get_to() [2/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ValueType , detail::enable_if_t< detail::is_basic_json< ValueType >::value, int > = 0>
    + + + + + +
    + + + + + + + + +
    ValueType& nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_to (ValueType & v) const
    +
    +inline
    +
    + +

    Definition at line 20269 of file json.hpp.

    + +
    +
    + +

    ◆ get_to() [3/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename T , std::size_t N, typename Array = T (&)[N], detail::enable_if_t< detail::has_from_json< basic_json_t, Array >::value, int > = 0>
    + + + + + +
    + + + + + + + + +
    Array nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_to (T(&) v[N]) const
    +
    +inlinenoexcept
    +
    + +

    Definition at line 20280 of file json.hpp.

    + +

    References nlohmann::detail::from_json().

    + +
    +
    + +

    ◆ insert() [1/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert (const_iterator pos,
    const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & val 
    )
    +
    +inline
    +
    + +

    inserts element

    +

    Inserts element val before iterator pos.

    +
    Parameters
    + + + +
    [in]positerator before which the content will be inserted; may be the end() iterator
    [in]valelement to insert
    +
    +
    +
    Returns
    iterator pointing to the inserted val.
    +
    Exceptions
    + + + +
    type_error.309if called on JSON values other than arrays; example: "cannot use insert() with string"
    invalid_iterator.202if pos is not an iterator of *this; example: "iterator does not fit current value"
    +
    +
    +

    Constant plus linear in the distance between pos and end of the container.

    +

    {The example shows how insert() is used.,insert}

    +
    Since
    version 1.0.0
    + +

    Definition at line 22689 of file json.hpp.

    + +

    References nlohmann::detail::invalid_iterator::create(), nlohmann::detail::type_error::create(), JSON_HEDLEY_LIKELY, JSON_HEDLEY_UNLIKELY, JSON_THROW, and nlohmann::detail::string.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch().

    + +
    +
    + +

    ◆ insert() [2/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert (const_iterator pos,
    basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > && val 
    )
    +
    +inline
    +
    + +

    inserts element

    +

    inserts element Inserts element val before iterator pos.

    +
    Parameters
    + + + +
    [in]positerator before which the content will be inserted; may be the end() iterator
    [in]valelement to insert
    +
    +
    +
    Returns
    iterator pointing to the inserted val.
    +
    Exceptions
    + + + +
    type_error.309if called on JSON values other than arrays; example: "cannot use insert() with string"
    invalid_iterator.202if pos is not an iterator of *this; example: "iterator does not fit current value"
    +
    +
    +

    Constant plus linear in the distance between pos and end of the container.

    +

    {The example shows how insert() is used.,insert}

    +
    Since
    version 1.0.0
    + +

    Definition at line 22711 of file json.hpp.

    + +
    +
    + +

    ◆ insert() [3/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert (const_iterator pos,
    size_type cnt,
    const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & val 
    )
    +
    +inline
    +
    + +

    inserts elements

    +

    Inserts cnt copies of val before iterator pos.

    +
    Parameters
    + + + + +
    [in]positerator before which the content will be inserted; may be the end() iterator
    [in]cntnumber of copies of val to insert
    [in]valelement to insert
    +
    +
    +
    Returns
    iterator pointing to the first element inserted, or pos if cnt==0
    +
    Exceptions
    + + + +
    type_error.309if called on JSON values other than arrays; example: "cannot use insert() with string"
    invalid_iterator.202if pos is not an iterator of *this; example: "iterator does not fit current value"
    +
    +
    +

    Linear in cnt plus linear in the distance between pos and end of the container.

    +

    {The example shows how insert() is used.,insert__count}

    +
    Since
    version 1.0.0
    + +

    Definition at line 22740 of file json.hpp.

    + +

    References nlohmann::detail::invalid_iterator::create(), nlohmann::detail::type_error::create(), JSON_HEDLEY_LIKELY, JSON_HEDLEY_UNLIKELY, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ insert() [4/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert (const_iterator pos,
    const_iterator first,
    const_iterator last 
    )
    +
    +inline
    +
    + +

    inserts elements

    +

    Inserts elements from range [first, last) before iterator pos.

    +
    Parameters
    + + + + +
    [in]positerator before which the content will be inserted; may be the end() iterator
    [in]firstbegin of the range of elements to insert
    [in]lastend of the range of elements to insert
    +
    +
    +
    Exceptions
    + + + + + +
    type_error.309if called on JSON values other than arrays; example: "cannot use insert() with string"
    invalid_iterator.202if pos is not an iterator of *this; example: "iterator does not fit current value"
    invalid_iterator.210if first and last do not belong to the same JSON value; example: "iterators do not fit"
    invalid_iterator.211if first or last are iterators into container for which insert is called; example: "passed iterators may not +belong to container"
    +
    +
    +
    Returns
    iterator pointing to the first element inserted, or pos if first==last
    +

    Linear in std::distance(first, last) plus linear in the distance between pos and end of the container.

    +

    {The example shows how insert() is used.,insert__range}

    +
    Since
    version 1.0.0
    + +

    Definition at line 22788 of file json.hpp.

    + +

    References nlohmann::detail::internal_iterator< BasicJsonType >::array_iterator, nlohmann::detail::invalid_iterator::create(), nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, nlohmann::detail::iter_impl< BasicJsonType >::m_it, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ insert() [5/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert (const_iterator pos,
    initializer_list_t ilist 
    )
    +
    +inline
    +
    + +

    inserts elements

    +

    Inserts elements from initializer list ilist before iterator pos.

    +
    Parameters
    + + + +
    [in]positerator before which the content will be inserted; may be the end() iterator
    [in]ilistinitializer list to insert the values from
    +
    +
    +
    Exceptions
    + + + +
    type_error.309if called on JSON values other than arrays; example: "cannot use insert() with string"
    invalid_iterator.202if pos is not an iterator of *this; example: "iterator does not fit current value"
    +
    +
    +
    Returns
    iterator pointing to the first element inserted, or pos if ilist is empty
    +

    Linear in ilist.size() plus linear in the distance between pos and end of the container.

    +

    {The example shows how insert() is used.,insert__ilist}

    +
    Since
    version 1.0.0
    + +

    Definition at line 22841 of file json.hpp.

    + +

    References nlohmann::detail::invalid_iterator::create(), nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ insert() [6/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert (const_iterator first,
    const_iterator last 
    )
    +
    +inline
    +
    + +

    inserts elements

    +

    Inserts elements from range [first, last).

    +
    Parameters
    + + + +
    [in]firstbegin of the range of elements to insert
    [in]lastend of the range of elements to insert
    +
    +
    +
    Exceptions
    + + + + +
    type_error.309if called on JSON values other than objects; example: "cannot use insert() with string"
    invalid_iterator.202if iterator first or last does does not point to an object; example: "iterators first and last must point to +objects"
    invalid_iterator.210if first and last do not belong to the same JSON value; example: "iterators do not fit"
    +
    +
    +

    Logarithmic: O(N*log(size() + N)), where N is the number of elements to insert.

    +

    {The example shows how insert() is used.,insert__range_object}

    +
    Since
    version 3.0.0
    + +

    Definition at line 22882 of file json.hpp.

    + +

    References nlohmann::detail::invalid_iterator::create(), nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, nlohmann::detail::iter_impl< BasicJsonType >::m_it, nlohmann::detail::internal_iterator< BasicJsonType >::object_iterator, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ insert_iterator()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename... Args>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert_iterator (const_iterator pos,
    Args &&... args 
    )
    +
    +inline
    +
    +

    Helper for insertion of an iterator

    Note
    : This uses std::distance to support GCC 4.8, see https://github.com/nlohmann/json/pull/1257
    + +

    Definition at line 22651 of file json.hpp.

    + +

    References nlohmann::detail::internal_iterator< BasicJsonType >::array_iterator, JSON_ASSERT, and nlohmann::detail::iter_impl< BasicJsonType >::m_it.

    + +
    +
    + +

    ◆ is_array()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_array () const
    +
    +inlinenoexcept
    +
    + +

    return whether value is an array

    +

    This function returns true if and only if the JSON value is an array.

    +
    Returns
    true if type is array, false otherwise.
    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +

    {The following code exemplifies is_array() for all JSON types.,is_array}

    +
    Since
    version 1.0.0
    + +

    Definition at line 19696 of file json.hpp.

    + +

    References nlohmann::detail::array.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::destroy(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch().

    + +
    +
    + +

    ◆ is_binary()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_binary () const
    +
    +inlinenoexcept
    +
    + +

    return whether value is a binary array

    +

    This function returns true if and only if the JSON value is a binary array.

    +
    Returns
    true if type is binary array, false otherwise.
    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +

    {The following code exemplifies is_binary() for all JSON types.,is_binary}

    +
    Since
    version 3.8.0
    + +

    Definition at line 19740 of file json.hpp.

    + +

    References nlohmann::detail::binary.

    + +
    +
    + +

    ◆ is_boolean()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_boolean () const
    +
    +inlinenoexcept
    +
    + +

    return whether value is a boolean

    +

    This function returns true if and only if the JSON value is a boolean.

    +
    Returns
    true if type is boolean, false otherwise.
    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +

    {The following code exemplifies is_boolean() for all JSON types.,is_boolean}

    +
    Since
    version 1.0.0
    + +

    Definition at line 19537 of file json.hpp.

    + +

    References nlohmann::detail::boolean.

    + +
    +
    + +

    ◆ is_discarded()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_discarded () const
    +
    +inlinenoexcept
    +
    + +

    return whether value is discarded

    +

    This function returns true if and only if the JSON value was discarded during parsing with a callback function (see parser_callback_t).

    +
    Note
    This function will always be false for JSON values after parsing. That is, discarded values can only occur during parsing, but will be removed when inside a structured value or replaced by null in other cases.
    +
    Returns
    true if type is discarded, false otherwise.
    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +

    {The following code exemplifies is_discarded() for all JSON types.,is_discarded}

    +
    Since
    version 1.0.0
    + +

    Definition at line 19767 of file json.hpp.

    + +

    References nlohmann::detail::discarded.

    + +
    +
    + +

    ◆ is_null()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_null () const
    +
    +inlinenoexcept
    +
    + +

    return whether value is null

    +

    This function returns true if and only if the JSON value is null.

    +
    Returns
    true if type is null, false otherwise.
    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +

    {The following code exemplifies is_null() for all JSON types.,is_null}

    +
    Since
    version 1.0.0
    + +

    Definition at line 19515 of file json.hpp.

    + +

    References nlohmann::detail::null.

    + +
    +
    + +

    ◆ is_number()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_number () const
    +
    +inlinenoexcept
    +
    + +

    return whether value is a number

    +

    This function returns true if and only if the JSON value is a number. This includes both integer (signed and unsigned) and floating-point values.

    +
    Returns
    true if type is number (regardless whether integer, unsigned integer or floating-type), false otherwise.
    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +

    {The following code exemplifies is_number() for all JSON types.,is_number}

    +
    See also
    see is_number_integer() – check if value is an integer or unsigned integer number
    +
    +see is_number_unsigned() – check if value is an unsigned integer number
    +
    +see is_number_float() – check if value is a floating-point number
    +
    Since
    version 1.0.0
    + +

    Definition at line 19567 of file json.hpp.

    + +
    +
    + +

    ◆ is_number_float()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_number_float () const
    +
    +inlinenoexcept
    +
    + +

    return whether value is a floating-point number

    +

    This function returns true if and only if the JSON value is a floating-point number. This excludes signed and unsigned integer values.

    +
    Returns
    true if type is a floating-point number, false otherwise.
    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +

    {The following code exemplifies is_number_float() for all JSON types.,is_number_float}

    +
    See also
    see is_number() – check if value is number
    +
    +see is_number_integer() – check if value is an integer number
    +
    +see is_number_unsigned() – check if value is an unsigned integer number
    +
    Since
    version 1.0.0
    + +

    Definition at line 19652 of file json.hpp.

    + +

    References nlohmann::detail::number_float.

    + +
    +
    + +

    ◆ is_number_integer()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_number_integer () const
    +
    +inlinenoexcept
    +
    + +

    return whether value is an integer number

    +

    This function returns true if and only if the JSON value is a signed or unsigned integer number. This excludes floating-point values.

    +
    Returns
    true if type is an integer or unsigned integer number, false otherwise.
    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +

    {The following code exemplifies is_number_integer() for all JSON types.,is_number_integer}

    +
    See also
    see is_number() – check if value is a number
    +
    +see is_number_unsigned() – check if value is an unsigned integer number
    +
    +see is_number_float() – check if value is a floating-point number
    +
    Since
    version 1.0.0
    + +

    Definition at line 19596 of file json.hpp.

    + +

    References nlohmann::detail::number_integer, and nlohmann::detail::number_unsigned.

    + +
    +
    + +

    ◆ is_number_unsigned()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_number_unsigned () const
    +
    +inlinenoexcept
    +
    + +

    return whether value is an unsigned integer number

    +

    This function returns true if and only if the JSON value is an unsigned integer number. This excludes floating-point and signed integer values.

    +
    Returns
    true if type is an unsigned integer number, false otherwise.
    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +

    {The following code exemplifies is_number_unsigned() for all JSON types.,is_number_unsigned}

    +
    See also
    see is_number() – check if value is a number
    +
    +see is_number_integer() – check if value is an integer or unsigned integer number
    +
    +see is_number_float() – check if value is a floating-point number
    +
    Since
    version 2.0.0
    + +

    Definition at line 19624 of file json.hpp.

    + +

    References nlohmann::detail::number_unsigned.

    + +
    +
    + +

    ◆ is_object()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_object () const
    +
    +inlinenoexcept
    +
    +
    + +

    ◆ is_primitive()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_primitive () const
    +
    +inlinenoexcept
    +
    + +

    return whether type is primitive

    +

    This function returns true if and only if the JSON type is primitive (string, number, boolean, or null).

    +
    Returns
    true if type is primitive (string, number, boolean, or null), false otherwise.
    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +

    {The following code exemplifies is_primitive() for all JSON types.,is_primitive}

    +
    See also
    see is_structured() – returns whether JSON value is structured
    +
    +see is_null() – returns whether JSON value is null
    +
    +see is_string() – returns whether JSON value is a string
    +
    +see is_boolean() – returns whether JSON value is a boolean
    +
    +see is_number() – returns whether JSON value is a number
    +
    +see is_binary() – returns whether JSON value is a binary array
    +
    Since
    version 1.0.0
    + +

    Definition at line 19466 of file json.hpp.

    + +
    +
    + +

    ◆ is_string()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_string () const
    +
    +inlinenoexcept
    +
    + +

    return whether value is a string

    +

    This function returns true if and only if the JSON value is a string.

    +
    Returns
    true if type is string, false otherwise.
    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +

    {The following code exemplifies is_string() for all JSON types.,is_string}

    +
    Since
    version 1.0.0
    + +

    Definition at line 19718 of file json.hpp.

    + +

    References nlohmann::detail::string.

    + +
    +
    + +

    ◆ is_structured()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_structured () const
    +
    +inlinenoexcept
    +
    + +

    return whether type is structured

    +

    This function returns true if and only if the JSON type is structured (array or object).

    +
    Returns
    true if type is structured (array or object), false otherwise.
    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +

    {The following code exemplifies is_structured() for all JSON types.,is_structured}

    +
    See also
    see is_primitive() – returns whether value is primitive
    +
    +see is_array() – returns whether value is an array
    +
    +see is_object() – returns whether value is an object
    +
    Since
    version 1.0.0
    + +

    Definition at line 19493 of file json.hpp.

    + +
    +
    + +

    ◆ items() [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    iteration_proxy<iterator> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::items ()
    +
    +inlinenoexcept
    +
    + +

    helper to access iterator member functions in range-based for

    +

    This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.

    +

    For loop without items() function:

    +
    for (auto it = j_object.begin(); it != j_object.end(); ++it)
    {
    std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
    }

    Range-based for loop without items() function:

    +
    for (auto it : j_object)
    {
    // "it" is of type json::reference and has no key() member
    std::cout << "value: " << it << '\n';
    }

    Range-based for loop with items() function:

    +
    for (auto& el : j_object.items())
    {
    std::cout << "key: " << el.key() << ", value:" << el.value() << '\n';
    }

    The items() function also allows to use structured bindings (C++17):

    +
    for (auto& [key, val] : j_object.items())
    {
    std::cout << "key: " << key << ", value:" << val << '\n';
    }
    Note
    When iterating over an array, key() will return the index of the element as string (see example). For primitive types (e.g., numbers), key() returns an empty string.
    +
    Warning
    Using items() on temporary objects is dangerous. Make sure the object's lifetime exeeds the iteration. See https://github.com/nlohmann/json/issues/2040 for more information.
    +
    Returns
    iteration proxy object wrapping ref with an interface to use in range-based for loops
    +

    {The following code shows how the function is used.,items}

    +

    Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

    +

    Constant.

    +
    Since
    version 3.1.0, structured bindings support since 3.5.0.
    + +

    Definition at line 22018 of file json.hpp.

    + +
    +
    + +

    ◆ items() [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    iteration_proxy<const_iterator> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::items () const
    +
    +inlinenoexcept
    +
    + +

    helper to access iterator member functions in range-based for

    +

    This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.

    +

    For loop without items() function:

    +
    for (auto it = j_object.begin(); it != j_object.end(); ++it)
    {
    std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
    }

    Range-based for loop without items() function:

    +
    for (auto it : j_object)
    {
    // "it" is of type json::reference and has no key() member
    std::cout << "value: " << it << '\n';
    }

    Range-based for loop with items() function:

    +
    for (auto& el : j_object.items())
    {
    std::cout << "key: " << el.key() << ", value:" << el.value() << '\n';
    }

    The items() function also allows to use structured bindings (C++17):

    +
    for (auto& [key, val] : j_object.items())
    {
    std::cout << "key: " << key << ", value:" << val << '\n';
    }
    Note
    When iterating over an array, key() will return the index of the element as string (see example). For primitive types (e.g., numbers), key() returns an empty string.
    +
    Warning
    Using items() on temporary objects is dangerous. Make sure the object's lifetime exeeds the iteration. See https://github.com/nlohmann/json/issues/2040 for more information.
    +
    Returns
    iteration proxy object wrapping ref with an interface to use in range-based for loops
    +

    {The following code shows how the function is used.,items}

    +

    Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

    +

    Constant.

    +
    Since
    version 3.1.0, structured bindings support since 3.5.0.
    + +

    Definition at line 22026 of file json.hpp.

    + +
    +
    + +

    ◆ iterator_wrapper() [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    static iteration_proxy<iterator> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::iterator_wrapper (reference ref)
    +
    +inlinestaticnoexcept
    +
    + +

    wrapper to access iterator member functions in range-based for

    +

    This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.

    +

    For loop without iterator_wrapper:

    +
    for (auto it = j_object.begin(); it != j_object.end(); ++it)
    {
    std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
    }

    Range-based for loop without iterator proxy:

    +
    for (auto it : j_object)
    {
    // "it" is of type json::reference and has no key() member
    std::cout << "value: " << it << '\n';
    }

    Range-based for loop with iterator proxy:

    +
    for (auto it : json::iterator_wrapper(j_object))
    {
    std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
    }
    Note
    When iterating over an array, key() will return the index of the element as string (see example).
    +
    Parameters
    + + +
    [in]refreference to a JSON value
    +
    +
    +
    Returns
    iteration proxy object wrapping ref with an interface to use in range-based for loops
    +

    {The following code shows how the wrapper is used,iterator_wrapper}

    +

    Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

    +

    Constant.

    +
    Note
    The name of this function is not yet final and may change in the future.
    +
    Deprecated:
    This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use items() instead; that is, replace json::iterator_wrapper(j) with j.items().
    + +

    Definition at line 21936 of file json.hpp.

    + +

    References JSON_HEDLEY_DEPRECATED_FOR.

    + +
    +
    + +

    ◆ iterator_wrapper() [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    static iteration_proxy<const_iterator> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::iterator_wrapper (const_reference ref)
    +
    +inlinestaticnoexcept
    +
    + +

    wrapper to access iterator member functions in range-based for

    +

    This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.

    +

    For loop without iterator_wrapper:

    +
    for (auto it = j_object.begin(); it != j_object.end(); ++it)
    {
    std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
    }

    Range-based for loop without iterator proxy:

    +
    for (auto it : j_object)
    {
    // "it" is of type json::reference and has no key() member
    std::cout << "value: " << it << '\n';
    }

    Range-based for loop with iterator proxy:

    +
    for (auto it : json::iterator_wrapper(j_object))
    {
    std::cout << "key: " << it.key() << ", value:" << it.value() << '\n';
    }
    Note
    When iterating over an array, key() will return the index of the element as string (see example).
    +
    Parameters
    + + +
    [in]refreference to a JSON value
    +
    +
    +
    Returns
    iteration proxy object wrapping ref with an interface to use in range-based for loops
    +

    {The following code shows how the wrapper is used,iterator_wrapper}

    +

    Strong guarantee: if an exception is thrown, there are no changes in the JSON value.

    +

    Constant.

    +
    Note
    The name of this function is not yet final and may change in the future.
    +
    Deprecated:
    This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use items() instead; that is, replace json::iterator_wrapper(j) with j.items().
    + +

    Definition at line 21945 of file json.hpp.

    + +
    +
    + +

    ◆ json_value() [1/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value ()
    +
    +privatedefault
    +
    + +

    default constructor (for null values)

    + +
    +
    + +

    ◆ json_value() [2/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value (boolean_t v)
    +
    +inlineprivatenoexcept
    +
    + +

    constructor for booleans

    + +

    Definition at line 18014 of file json.hpp.

    + +
    +
    + +

    ◆ json_value() [3/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value (number_integer_t v)
    +
    +inlineprivatenoexcept
    +
    + +

    constructor for numbers (integer)

    + +

    Definition at line 18016 of file json.hpp.

    + +
    +
    + +

    ◆ json_value() [4/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value (number_unsigned_t v)
    +
    +inlineprivatenoexcept
    +
    + +

    constructor for numbers (unsigned)

    + +

    Definition at line 18018 of file json.hpp.

    + +
    +
    + +

    ◆ json_value() [5/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value (number_float_t v)
    +
    +inlineprivatenoexcept
    +
    + +

    constructor for numbers (floating-point)

    + +

    Definition at line 18020 of file json.hpp.

    + +
    +
    + +

    ◆ json_value() [6/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value (value_t t)
    +
    +inlineprivate
    +
    +
    + +

    ◆ json_value() [7/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value (const string_tvalue)
    +
    +inlineprivate
    +
    + +

    constructor for strings

    + +

    Definition at line 18093 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ json_value() [8/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value (string_t && value)
    +
    +inlineprivate
    +
    + +

    constructor for rvalue strings

    + +

    Definition at line 18099 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ json_value() [9/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value (const object_tvalue)
    +
    +inlineprivate
    +
    + +

    constructor for objects

    + +

    Definition at line 18105 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ json_value() [10/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value (object_t && value)
    +
    +inlineprivate
    +
    + +

    constructor for rvalue objects

    + +

    Definition at line 18111 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ json_value() [11/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value (const array_tvalue)
    +
    +inlineprivate
    +
    + +

    constructor for arrays

    + +

    Definition at line 18117 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ json_value() [12/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value (array_t && value)
    +
    +inlineprivate
    +
    + +

    constructor for rvalue arrays

    + +

    Definition at line 18123 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ json_value() [13/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value (const typename binary_t::container_typevalue)
    +
    +inlineprivate
    +
    + +

    constructor for binary arrays

    + +

    Definition at line 18129 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ json_value() [14/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value (typename binary_t::container_type && value)
    +
    +inlineprivate
    +
    + +

    constructor for rvalue binary arrays

    + +

    Definition at line 18135 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ json_value() [15/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value (const binary_tvalue)
    +
    +inlineprivate
    +
    + +

    constructor for binary arrays (internal type)

    + +

    Definition at line 18141 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ json_value() [16/16]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value (binary_t && value)
    +
    +inlineprivate
    +
    + +

    constructor for rvalue binary arrays (internal type)

    + +

    Definition at line 18147 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ max_size()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    size_type nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::max_size () const
    +
    +inlinenoexcept
    +
    + +

    returns the maximum possible number of elements

    +

    Returns the maximum number of elements a JSON value is able to hold due to system or library implementation limitations, i.e. std::distance(begin(), end()) for the JSON value.

    +
    Returns
    The return value depends on the different types and is defined as follows: + + + + + + + + + + + + + + + + +
    Value type return value
    null 0 (same as size())
    boolean 1 (same as size())
    string 1 (same as size())
    number 1 (same as size())
    binary 1 (same as size())
    object result of function object_t::max_size()
    array result of function array_t::max_size()
    +{The following code calls max_size() on the different value types. Note the output is implementation specific.,max_size}
    +

    Constant, as long as array_t and object_t satisfy the Container concept; that is, their max_size() functions have constant complexity.

    +

    No changes.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    This function helps basic_json satisfying the Container requirements:

      +
    • The complexity is constant.
    • +
    • Has the semantics of returning b.size() where b is the largest possible JSON value.
    • +
    +
    See also
    see size() – returns the number of elements
    +
    Since
    version 1.0.0
    + +

    Definition at line 22227 of file json.hpp.

    + +

    References nlohmann::detail::array, and nlohmann::detail::object.

    + +
    +
    + +

    ◆ merge_patch()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::merge_patch (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & apply_patch)
    +
    +inline
    +
    + +

    applies a JSON Merge Patch

    +

    The merge patch format is primarily intended for use with the HTTP PATCH method as a means of describing a set of modifications to a target resource's content. This function applies a merge patch to the current JSON value.

    +

    The function implements the following algorithm from Section 2 of RFC 7396 (JSON Merge Patch):

    +
    define MergePatch(Target, Patch):
    if Patch is an Object:
    if Target is not an Object:
    Target = {} // Ignore the contents and set it to an empty Object
    for each Name/Value pair in Patch:
    if Value is null:
    if Name exists in Target:
    remove the Name/Value pair from Target
    else:
    Target[Name] = MergePatch(Target[Name], Value)
    return Target
    else:
    return Patch

    Thereby, Target is the current object; that is, the patch is applied to the current value.

    +
    Parameters
    + + +
    [in]apply_patchthe patch to apply
    +
    +
    +

    Linear in the lengths of patch.

    +

    {The following code shows how a JSON Merge Patch is applied to a JSON document.,merge_patch}

    +
    See also
    see patch – apply a JSON patch
    +
    +RFC 7396 (JSON Merge Patch)
    +
    Since
    version 3.0.0
    + +

    Definition at line 25816 of file json.hpp.

    + +

    References nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::begin(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::end(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_object(), NLOHMANN_BASIC_JSON_TPL_DECLARATION, and nlohmann::detail::object.

    + +
    +
    + +

    ◆ meta()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::meta ()
    +
    +inlinestatic
    +
    + +

    returns version information on the library

    +

    This function returns a JSON object with information about the library, including the version number and information on the platform and compiler.

    +
    Returns
    JSON object holding version information + + + + + + + + + + + + + + +
    key description
    compiler Information on the used compiler. It is an object with the following keys: c++ (the used C++ standard), family (the compiler family; possible values are clang, icc, gcc, ilecpp, msvc, pgcpp, sunpro, and unknown), and version (the compiler version).
    copyright The copyright line for the library as string.
    name The name of the library as string.
    platform The used platform as string. Possible values are win32, linux, apple, unix, and unknown.
    url The URL of the project as string.
    version The version of the library. It is an object with the following keys: major, minor, and patch as defined by Semantic Versioning, and string (the version string).
    +{The following code shows an example output of the meta() function.,meta}
    +

    Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

    +

    Constant.

    +
    Since
    2.1.0
    + +

    Definition at line 17372 of file json.hpp.

    + +

    References NLOHMANN_JSON_VERSION_MAJOR, NLOHMANN_JSON_VERSION_MINOR, NLOHMANN_JSON_VERSION_PATCH, and nlohmann::to_string().

    + +
    +
    + +

    ◆ object()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::object (initializer_list_t init = {})
    +
    +inlinestatic
    +
    + +

    explicitly create an object from an initializer list

    +

    Creates a JSON object value from a given initializer list. The initializer lists elements must be pairs, and their first elements must be strings. If the initializer list is empty, the empty object {} is created.

    +
    Note
    This function is only added for symmetry reasons. In contrast to the related function array(initializer_list_t), there are no cases which can only be expressed by this function. That is, any initializer list init can also be passed to the initializer list constructor basic_json(initializer_list_t, bool, value_t).
    +
    Parameters
    + + +
    [in]initinitializer list to create an object from (optional)
    +
    +
    +
    Returns
    JSON object value
    +
    Exceptions
    + + +
    type_error.301if init is not a list of pairs whose first elements are strings. In this case, no object can be created. When such a value is passed to basic_json(initializer_list_t, bool, value_t), an array would have been created from the passed initializer list init. See example below.
    +
    +
    +

    Linear in the size of init.

    +

    Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

    +

    {The following code shows an example for the object function.,object}

    +
    See also
    see basic_json(initializer_list_t, bool, value_t)create a JSON value from an initializer list
    +
    +see array(initializer_list_t)create a JSON array value from an initializer list
    +
    Since
    version 1.0.0
    + +

    Definition at line 18933 of file json.hpp.

    + +

    References nlohmann::detail::object.

    + +
    +
    + +

    ◆ operator value_t()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    constexpr nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator value_t () const
    +
    +inlinenoexcept
    +
    + +

    return the type of the JSON value (implicit)

    +

    Implicitly return the type of the JSON value as a value from the value_t enumeration.

    +
    Returns
    the type of the JSON value
    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +

    {The following code exemplifies the value_t operator for all JSON types.,operator__value_t}

    +
    See also
    see type() – return the type of the JSON value (explicit)
    +
    +see type_name() – return the type as string
    +
    Since
    version 1.0.0
    + +

    Definition at line 19793 of file json.hpp.

    + +
    +
    + +

    ◆ operator ValueType()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ValueType , typename std::enable_if< !std::is_pointer< ValueType >::value &&!std::is_same< ValueType, detail::json_ref< basic_json >>::value &&!std::is_same< ValueType, typename string_t::value_type >::value &&!detail::is_basic_json< ValueType >::value &&!std::is_same< ValueType, std::initializer_list< typename string_t::value_type >>::value &&detail::is_detected< detail::get_template_function, const basic_json_t &, ValueType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + +
    JSON_EXPLICIT nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator ValueType () const
    +
    +inline
    +
    + +

    get a value (implicit)

    +

    Implicit type conversion between the JSON value and a compatible value. The call is realized by calling get() const.

    +
    Template Parameters
    + + +
    ValueTypenon-pointer type compatible to the JSON value, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. The character type of string_t as well as an initializer list of this type is excluded to avoid ambiguities as these types implicitly convert to std::string.
    +
    +
    +
    Returns
    copy of the JSON value, converted to type ValueType
    +
    Exceptions
    + + +
    type_error.302in case passed type ValueType is incompatible to the JSON value type (e.g., the JSON value is of type boolean, but a string is requested); see example below
    +
    +
    +

    Linear in the size of the JSON value.

    +

    {The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>.,operator__ValueType}

    +
    Since
    version 1.0.0
    + +

    Definition at line 20375 of file json.hpp.

    + +
    +
    + +

    ◆ operator+=() [1/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator+= (basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > && val)
    +
    +inline
    +
    + +

    add an object to an array

    +

    add an object to an array Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val.

    +
    Parameters
    + + +
    [in]valthe value to add to the JSON array
    +
    +
    +
    Exceptions
    + + +
    type_error.308when called on a type other than JSON array or null; example: "cannot use push_back() with number"
    +
    +
    +

    Amortized constant.

    +

    {The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}

    +
    Since
    version 1.0.0
    + +

    Definition at line 22401 of file json.hpp.

    + +
    +
    + +

    ◆ operator+=() [2/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator+= (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & val)
    +
    +inline
    +
    + +

    add an object to an array

    +

    add an object to an array Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val.

    +
    Parameters
    + + +
    [in]valthe value to add to the JSON array
    +
    +
    +
    Exceptions
    + + +
    type_error.308when called on a type other than JSON array or null; example: "cannot use push_back() with number"
    +
    +
    +

    Amortized constant.

    +

    {The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}

    +
    Since
    version 1.0.0
    + +

    Definition at line 22436 of file json.hpp.

    + +
    +
    + +

    ◆ operator+=() [3/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator+= (const typename object_t::value_type & val)
    +
    +inline
    +
    + +

    add an object to an object

    +

    add an object to an object Inserts the given element val to the JSON object. If the function is called on a JSON null value, an empty object is created before inserting val.

    +
    Parameters
    + + +
    [in]valthe value to add to the JSON object
    +
    +
    +
    Exceptions
    + + +
    type_error.308when called on a type other than JSON object or null; example: "cannot use push_back() with number"
    +
    +
    +

    Logarithmic in the size of the container, O(log(size())).

    +

    {The example shows how push_back() and += can be used to add elements to a JSON object. Note how the null value was silently converted to a JSON object.,push_back__object_t__value}

    +
    Since
    version 1.0.0
    + +

    Definition at line 22487 of file json.hpp.

    + +
    +
    + +

    ◆ operator+=() [4/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator+= (initializer_list_t init)
    +
    +inline
    +
    + +

    add an object to an object

    +

    add an object to an object This function allows to use push_back with an initializer list. In case

    +
      +
    1. the current value is an object,
    2. +
    3. the initializer list init contains only two elements, and
    4. +
    5. the first element of init is a string,
    6. +
    +

    init is converted into an object element and added using push_back(const typename object_t::value_type&). Otherwise, init is converted to a JSON value and added using push_back(basic_json&&).

    +
    Parameters
    + + +
    [in]initan initializer list
    +
    +
    +

    Linear in the size of the initializer list init.

    +
    Note
    This function is required to resolve an ambiguous overload error, because pairs like {"key", "value"} can be both interpreted as object_t::value_type or std::initializer_list<basic_json>, see https://github.com/nlohmann/json/issues/235 for more information.
    +

    {The example shows how initializer lists are treated as objects when possible.,push_back__initializer_list}

    + +

    Definition at line 22536 of file json.hpp.

    + +
    +
    + +

    ◆ operator=()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    basic_json& nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator= (basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryTypeother)
    +
    +inlinenoexcept
    +
    + +

    copy assignment

    +

    Copy assignment operator. Copies a JSON value via the "copy and swap" strategy: It is expressed in terms of the copy constructor, destructor, and the swap() member function.

    +
    Parameters
    + + +
    [in]othervalue to copy from
    +
    +
    +

    Linear.

    +

    This function helps basic_json satisfying the Container requirements:

      +
    • The complexity is linear.
    • +
    +

    {The code below shows and example for the copy assignment. It creates a copy of value a which is then swapped with b. Finally\, the copy of a (which is the null value after the swap) is destroyed.,basic_json__copyassignment}

    +
    Since
    version 1.0.0
    + +

    Definition at line 19284 of file json.hpp.

    + +

    References nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::assert_invariant().

    + +
    +
    + +

    ◆ operator[]() [1/8]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] (size_type idx)
    +
    +inline
    +
    + +

    access specified array element

    +

    Returns a reference to the element at specified location idx.

    +
    Note
    If idx is beyond the range of the array (i.e., idx >= size()), then the array is silently filled up with null values to make idx a valid reference to the last stored element.
    +
    Parameters
    + + +
    [in]idxindex of the element to access
    +
    +
    +
    Returns
    reference to the element at index idx
    +
    Exceptions
    + + +
    type_error.305if the JSON value is not an array or null; in that cases, using the [] operator with an index makes no sense.
    +
    +
    +

    Constant if idx is in the range of the array. Otherwise linear in idx - size().

    +

    {The example below shows how array elements can be read and written using [] operator. Note the addition of null values.,operatorarray__size_type}

    +
    Since
    version 1.0.0
    + +

    Definition at line 20643 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::type_error::create(), JSON_HEDLEY_LIKELY, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ operator[]() [2/8]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] (size_type idx) const
    +
    +inline
    +
    + +

    access specified array element

    +

    Returns a const reference to the element at specified location idx.

    +
    Parameters
    + + +
    [in]idxindex of the element to access
    +
    +
    +
    Returns
    const reference to the element at index idx
    +
    Exceptions
    + + +
    type_error.305if the JSON value is not an array; in that case, using the [] operator with an index makes no sense.
    +
    +
    +

    Constant.

    +

    {The example below shows how array elements can be read using the [] operator.,operatorarray__size_type_const}

    +
    Since
    version 1.0.0
    + +

    Definition at line 20696 of file json.hpp.

    + +

    References nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::array, nlohmann::detail::type_error::create(), JSON_HEDLEY_LIKELY, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ operator[]() [3/8]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] (const typename object_t::key_type & key)
    +
    +inline
    +
    + +

    access specified object element

    +

    Returns a reference to the element at with specified key key.

    +
    Note
    If key is not found in the object, then it is silently added to the object and filled with a null value to make key a valid reference. In case the value was null before, it is converted to an object.
    +
    Parameters
    + + +
    [in]keykey of the element to access
    +
    +
    +
    Returns
    reference to the element at key key
    +
    Exceptions
    + + +
    type_error.305if the JSON value is not an object or null; in that cases, using the [] operator with a key makes no sense.
    +
    +
    +

    Logarithmic in the size of the container.

    +

    {The example below shows how object elements can be read and written using the [] operator.,operatorarray__key_type}

    +
    See also
    see at(const typename object_t::key_type&) for access by reference with range checking
    +
    +see value() for access by value with a default value
    +
    Since
    version 1.0.0
    + +

    Definition at line 20734 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_LIKELY, JSON_THROW, nlohmann::detail::object, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ operator[]() [4/8]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] (const typename object_t::key_type & key) const
    +
    +inline
    +
    + +

    read-only access specified object element

    +

    Returns a const reference to the element at with specified key key. No bounds checking is performed.

    +
    Warning
    If the element with key key does not exist, the behavior is undefined.
    +
    Parameters
    + + +
    [in]keykey of the element to access
    +
    +
    +
    Returns
    const reference to the element at key key
    +
    Precondition
    The element with key key must exist. This precondition is enforced with an assertion.
    +
    Exceptions
    + + +
    type_error.305if the JSON value is not an object; in that case, using the [] operator with a key makes no sense.
    +
    +
    +

    Logarithmic in the size of the container.

    +

    {The example below shows how object elements can be read using the [] operator.,operatorarray__key_type_const}

    +
    See also
    see at(const typename object_t::key_type&) for access by reference with range checking
    +
    +see value() for access by value with a default value
    +
    Since
    version 1.0.0
    + +

    Definition at line 20783 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_ASSERT, JSON_HEDLEY_LIKELY, JSON_HEDLEY_NON_NULL, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ operator[]() [5/8]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] (T * key)
    +
    +inline
    +
    + +

    access specified object element

    +

    Returns a reference to the element at with specified key key.

    +
    Note
    If key is not found in the object, then it is silently added to the object and filled with a null value to make key a valid reference. In case the value was null before, it is converted to an object.
    +
    Parameters
    + + +
    [in]keykey of the element to access
    +
    +
    +
    Returns
    reference to the element at key key
    +
    Exceptions
    + + +
    type_error.305if the JSON value is not an object or null; in that cases, using the [] operator with a key makes no sense.
    +
    +
    +

    Logarithmic in the size of the container.

    +

    {The example below shows how object elements can be read and written using the [] operator.,operatorarray__key_type}

    +
    See also
    see at(const typename object_t::key_type&) for access by reference with range checking
    +
    +see value() for access by value with a default value
    +
    Since
    version 1.1.0
    + +

    Definition at line 20824 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_LIKELY, JSON_HEDLEY_NON_NULL, JSON_THROW, nlohmann::detail::object, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ operator[]() [6/8]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + +
    const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] (T * key) const
    +
    +inline
    +
    + +

    read-only access specified object element

    +

    Returns a const reference to the element at with specified key key. No bounds checking is performed.

    +
    Warning
    If the element with key key does not exist, the behavior is undefined.
    +
    Parameters
    + + +
    [in]keykey of the element to access
    +
    +
    +
    Returns
    const reference to the element at key key
    +
    Precondition
    The element with key key must exist. This precondition is enforced with an assertion.
    +
    Exceptions
    + + +
    type_error.305if the JSON value is not an object; in that case, using the [] operator with a key makes no sense.
    +
    +
    +

    Logarithmic in the size of the container.

    +

    {The example below shows how object elements can be read using the [] operator.,operatorarray__key_type_const}

    +
    See also
    see at(const typename object_t::key_type&) for access by reference with range checking
    +
    +see value() for access by value with a default value
    +
    Since
    version 1.1.0
    + +

    Definition at line 20875 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_ASSERT, JSON_HEDLEY_LIKELY, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ operator[]() [7/8]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] (const json_pointerptr)
    +
    +inline
    +
    + +

    access specified element via JSON Pointer

    +

    Uses a JSON pointer to retrieve a reference to the respective JSON value. No bound checking is performed. Similar to operator[](const typename object_t::key_type&), null values are created in arrays and objects if necessary.

    +

    In particular:

      +
    • If the JSON pointer points to an object key that does not exist, it is created an filled with a null value before a reference to it is returned.
    • +
    • If the JSON pointer points to an array index that does not exist, it is created an filled with a null value before a reference to it is returned. All indices between the current maximum and the given index are also filled with null.
    • +
    • The special value - is treated as a synonym for the index past the end.
    • +
    +
    Parameters
    + + +
    [in]ptra JSON pointer
    +
    +
    +
    Returns
    reference to the element pointed to by ptr
    +

    Constant.

    +
    Exceptions
    + + + + +
    parse_error.106if an array index begins with '0'
    parse_error.109if an array index was not a number
    out_of_range.404if the JSON pointer can not be resolved
    +
    +
    +

    {The behavior is shown in the example.,operatorjson_pointer}

    +
    Since
    version 2.0.0
    + +

    Definition at line 25104 of file json.hpp.

    + +

    References nlohmann::json_pointer< BasicJsonType >::get_unchecked().

    + +
    +
    + +

    ◆ operator[]() [8/8]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] (const json_pointerptr) const
    +
    +inline
    +
    + +

    access specified element via JSON Pointer

    +

    Uses a JSON pointer to retrieve a reference to the respective JSON value. No bound checking is performed. The function does not change the JSON value; no null values are created. In particular, the special value - yields an exception.

    +
    Parameters
    + + +
    [in]ptrJSON pointer to the desired element
    +
    +
    +
    Returns
    const reference to the element pointed to by ptr
    +

    Constant.

    +
    Exceptions
    + + + + + +
    parse_error.106if an array index begins with '0'
    parse_error.109if an array index was not a number
    out_of_range.402if the array index '-' is used
    out_of_range.404if the JSON pointer can not be resolved
    +
    +
    +

    {The behavior is shown in the example.,operatorjson_pointer_const}

    +
    Since
    version 2.0.0
    + +

    Definition at line 25132 of file json.hpp.

    + +

    References nlohmann::json_pointer< BasicJsonType >::get_unchecked().

    + +
    +
    + +

    ◆ parse() [1/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename InputType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse (InputType && i,
    const parser_callback_t cb = nullptr,
    const bool allow_exceptions = true,
    const bool ignore_comments = false 
    )
    +
    +inlinestatic
    +
    + +

    deserialize from a compatible input

    +
    Template Parameters
    + + +
    InputTypeA compatible input, for instance
      +
    • an std::istream object
    • +
    • a FILE pointer
    • +
    • a C-style array of characters
    • +
    • a pointer to a null-terminated string of single byte characters
    • +
    • an object obj for which begin(obj) and end(obj) produces a valid pair of iterators.
    • +
    +
    +
    +
    +
    Parameters
    + + + + + +
    [in]iinput to read from
    [in]cba parser callback function of type parser_callback_t which is used to control the deserialization by filtering unwanted values (optional)
    [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
    [in]ignore_commentswhether comments should be ignored and treated like whitespace (true) or yield a parse error (true); (optional, false by default)
    +
    +
    +
    Returns
    deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
    +
    Exceptions
    + + + + +
    parse_error.101if a parse error occurs; example: ""unexpected end of input; expected string literal""
    parse_error.102if to_unicode fails or surrogate error
    parse_error.103if to_unicode fails
    +
    +
    +

    Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function cb or reading from the input i has a super-linear complexity.

    +
    Note
    A UTF-8 byte order mark is silently ignored.
    +

    {The example below demonstrates the parse() function reading from an array.,parse__array__parser_callback_t}

    +

    {The example below demonstrates the parse() function with and without callback function.,parse__string__parser_callback_t}

    +

    {The example below demonstrates the parse() function with and without callback function.,parse__istream__parser_callback_t}

    +

    {The example below demonstrates the parse() function reading from a contiguous container.,parse__contiguouscontainer__parser_callback_t}

    +
    Since
    version 2.0.3 (contiguous containers); version 3.9.0 allowed to ignore comments.
    + +

    Definition at line 23806 of file json.hpp.

    + +

    References nlohmann::detail::input_adapter(), JSON_HEDLEY_WARN_UNUSED_RESULT, and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse().

    + +

    Referenced by operator"" _json(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse().

    + +
    +
    + +

    ◆ parse() [2/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse (IteratorType first,
    IteratorType last,
    const parser_callback_t cb = nullptr,
    const bool allow_exceptions = true,
    const bool ignore_comments = false 
    )
    +
    +inlinestatic
    +
    + +

    deserialize from a pair of character iterators

    +

    The value_type of the iterator must be a integral type with size of 1, 2 or 4 bytes, which will be interpreted respectively as UTF-8, UTF-16 and UTF-32.

    +
    Parameters
    + + + + + + +
    [in]firstiterator to start of character range
    [in]lastiterator to end of character range
    [in]cba parser callback function of type parser_callback_t which is used to control the deserialization by filtering unwanted values (optional)
    [in]allow_exceptionswhether to throw exceptions in case of a parse error (optional, true by default)
    [in]ignore_commentswhether comments should be ignored and treated like whitespace (true) or yield a parse error (true); (optional, false by default)
    +
    +
    +
    Returns
    deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded.
    +
    Exceptions
    + + + + +
    parse_error.101if a parse error occurs; example: ""unexpected end of input; expected string literal""
    parse_error.102if to_unicode fails or surrogate error
    parse_error.103if to_unicode fails
    +
    +
    + +

    Definition at line 23844 of file json.hpp.

    + +

    References nlohmann::detail::input_adapter(), JSON_HEDLEY_DEPRECATED_FOR, JSON_HEDLEY_WARN_UNUSED_RESULT, and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse().

    + +
    +
    + +

    ◆ parse() [3/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse (detail::span_input_adapter && i,
    const parser_callback_t cb = nullptr,
    const bool allow_exceptions = true,
    const bool ignore_comments = false 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 23857 of file json.hpp.

    + +
    +
    + +

    ◆ parser()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename InputAdapterType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static ::nlohmann::detail::parser<basic_json, InputAdapterType> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parser (InputAdapterType adapter,
    detail::parser_callback_t< basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > > cb = nullptr,
    const bool allow_exceptions = true,
    const bool ignore_comments = false 
    )
    +
    +inlineprivate
    +
    + +

    Definition at line 17223 of file json.hpp.

    + +
    +
    + +

    ◆ patch()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & json_patch) const
    +
    +inline
    +
    + +

    applies a JSON patch

    +

    JSON Patch defines a JSON document structure for expressing a sequence of operations to apply to a JSON) document. With this function, a JSON Patch is applied to the current JSON value by executing all operations from the patch.

    +
    Parameters
    + + +
    [in]json_patchJSON patch document
    +
    +
    +
    Returns
    patched document
    +
    Note
    The application of a patch is atomic: Either all operations succeed and the patched document is returned or an exception is thrown. In any case, the original value is not changed: the patch is applied to a copy of the value.
    +
    Exceptions
    + + + + + + + +
    parse_error.104if the JSON patch does not consist of an array of objects
    parse_error.105if the JSON patch is malformed (e.g., mandatory attributes are missing); example: "operation add must have member path"
    out_of_range.401if an array index is out of range.
    out_of_range.403if a JSON pointer inside the patch could not be resolved successfully in the current JSON value; example: "key baz not +found"
    out_of_range.405if JSON pointer has no parent ("add", "remove", "move")
    other_error.501if "test" operation was unsuccessful
    +
    +
    +

    Linear in the size of the JSON value and the length of the JSON patch. As usually only a fraction of the JSON value is affected by the patch, the complexity can usually be neglected.

    +

    {The following code shows how a JSON patch is applied to a value.,patch}

    +
    See also
    see diffcreate a JSON patch by comparing two JSON values
    +
    +RFC 6902 (JSON Patch)
    +
    +RFC 6901 (JSON Pointer)
    +
    Since
    version 2.0.0
    + +

    Definition at line 25343 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::json_pointer< BasicJsonType >::array_index(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at(), nlohmann::json_pointer< BasicJsonType >::back(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::begin(), nlohmann::detail::parse_error::create(), nlohmann::detail::out_of_range::create(), nlohmann::detail::other_error::create(), nlohmann::json_pointer< BasicJsonType >::empty(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::end(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::find(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_array(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_object(), JSON_ASSERT, JSON_HEDLEY_LIKELY, JSON_HEDLEY_UNLIKELY, JSON_HEDLEY_WARN_UNUSED_RESULT, JSON_INTERNAL_CATCH, JSON_THROW, JSON_TRY, nlohmann::detail::null, nlohmann::detail::object, nlohmann::json_pointer< BasicJsonType >::pop_back(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back(), nlohmann::detail::replace, nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::size(), nlohmann::detail::string, and nlohmann::to_string().

    + +
    +
    + +

    ◆ push_back() [1/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back (basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > && val)
    +
    +inline
    +
    + +

    add an object to an array

    +

    Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val.

    +
    Parameters
    + + +
    [in]valthe value to add to the JSON array
    +
    +
    +
    Exceptions
    + + +
    type_error.308when called on a type other than JSON array or null; example: "cannot use push_back() with number"
    +
    +
    +

    Amortized constant.

    +

    {The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}

    +
    Since
    version 1.0.0
    + +

    Definition at line 22375 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, and nlohmann::detail::string.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch().

    + +
    +
    + +

    ◆ push_back() [2/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & val)
    +
    +inline
    +
    + +

    add an object to an array

    +

    add an object to an array Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val.

    +
    Parameters
    + + +
    [in]valthe value to add to the JSON array
    +
    +
    +
    Exceptions
    + + +
    type_error.308when called on a type other than JSON array or null; example: "cannot use push_back() with number"
    +
    +
    +

    Amortized constant.

    +

    {The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}

    +
    Since
    version 1.0.0
    + +

    Definition at line 22411 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ push_back() [3/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back (const typename object_t::value_type & val)
    +
    +inline
    +
    + +

    add an object to an object

    +

    Inserts the given element val to the JSON object. If the function is called on a JSON null value, an empty object is created before inserting val.

    +
    Parameters
    + + +
    [in]valthe value to add to the JSON object
    +
    +
    +
    Exceptions
    + + +
    type_error.308when called on a type other than JSON object or null; example: "cannot use push_back() with number"
    +
    +
    +

    Logarithmic in the size of the container, O(log(size())).

    +

    {The example shows how push_back() and += can be used to add elements to a JSON object. Note how the null value was silently converted to a JSON object.,push_back__object_t__value}

    +
    Since
    version 1.0.0
    + +

    Definition at line 22462 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, nlohmann::detail::object, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ push_back() [4/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back (initializer_list_t init)
    +
    +inline
    +
    + +

    add an object to an object

    +

    This function allows to use push_back with an initializer list. In case

    +
      +
    1. the current value is an object,
    2. +
    3. the initializer list init contains only two elements, and
    4. +
    5. the first element of init is a string,
    6. +
    +

    init is converted into an object element and added using push_back(const typename object_t::value_type&). Otherwise, init is converted to a JSON value and added using push_back(basic_json&&).

    +
    Parameters
    + + +
    [in]initan initializer list
    +
    +
    +

    Linear in the size of the initializer list init.

    +
    Note
    This function is required to resolve an ambiguous overload error, because pairs like {"key", "value"} can be both interpreted as object_t::value_type or std::initializer_list<basic_json>, see https://github.com/nlohmann/json/issues/235 for more information.
    +

    {The example shows how initializer lists are treated as objects when possible.,push_back__initializer_list}

    + +

    Definition at line 22518 of file json.hpp.

    + +

    References nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ref(), and nlohmann::detail::key.

    + +
    +
    + +

    ◆ rbegin() [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    reverse_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::rbegin ()
    +
    +inlinenoexcept
    +
    + +

    returns an iterator to the reverse-beginning

    +

    Returns an iterator to the reverse-beginning; that is, the last element.

    +
    +range-rbegin-rend.svg +
    +Illustration from cppreference.com
    +

    Constant.

    +

    This function helps basic_json satisfying the ReversibleContainer requirements:

      +
    • The complexity is constant.
    • +
    • Has the semantics of reverse_iterator(end()).
    • +
    +

    {The following code shows an example for rbegin().,rbegin}

    +
    See also
    see crbegin() – returns a const reverse iterator to the beginning
    +
    +see rend() – returns a reverse iterator to the end
    +
    +see crend() – returns a const reverse iterator to the end
    +
    Since
    version 1.0.0
    + +

    Definition at line 21769 of file json.hpp.

    + +
    +
    + +

    ◆ rbegin() [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    const_reverse_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::rbegin () const
    +
    +inlinenoexcept
    +
    + +

    returns a const reverse iterator to the last element

    +

    Returns a const iterator to the reverse-beginning; that is, the last element.

    +
    +range-rbegin-rend.svg +
    +Illustration from cppreference.com
    +

    Constant.

    +

    This function helps basic_json satisfying the ReversibleContainer requirements:

      +
    • The complexity is constant.
    • +
    • Has the semantics of const_cast<const basic_json&>(*this).rbegin().
    • +
    +

    {The following code shows an example for crbegin().,crbegin}

    +
    See also
    see rbegin() – returns a reverse iterator to the beginning
    +
    +see rend() – returns a reverse iterator to the end
    +
    +see crend() – returns a const reverse iterator to the end
    +
    Since
    version 1.0.0
    + +

    Definition at line 21777 of file json.hpp.

    + +
    +
    + +

    ◆ rend() [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    reverse_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::rend ()
    +
    +inlinenoexcept
    +
    + +

    returns an iterator to the reverse-end

    +

    Returns an iterator to the reverse-end; that is, one before the first element.

    +
    +range-rbegin-rend.svg +
    +Illustration from cppreference.com
    +

    Constant.

    +

    This function helps basic_json satisfying the ReversibleContainer requirements:

      +
    • The complexity is constant.
    • +
    • Has the semantics of reverse_iterator(begin()).
    • +
    +

    {The following code shows an example for rend().,rend}

    +
    See also
    see crend() – returns a const reverse iterator to the end
    +
    +see rbegin() – returns a reverse iterator to the beginning
    +
    +see crbegin() – returns a const reverse iterator to the beginning
    +
    Since
    version 1.0.0
    + +

    Definition at line 21806 of file json.hpp.

    + +
    +
    + +

    ◆ rend() [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    const_reverse_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::rend () const
    +
    +inlinenoexcept
    +
    + +

    returns a const reverse iterator to one before the first

    +

    Returns a const reverse iterator to the reverse-end; that is, one before the first element.

    +
    +range-rbegin-rend.svg +
    +Illustration from cppreference.com
    +

    Constant.

    +

    This function helps basic_json satisfying the ReversibleContainer requirements:

      +
    • The complexity is constant.
    • +
    • Has the semantics of const_cast<const basic_json&>(*this).rend().
    • +
    +

    {The following code shows an example for crend().,crend}

    +
    See also
    see rend() – returns a reverse iterator to the end
    +
    +see rbegin() – returns a reverse iterator to the beginning
    +
    +see crbegin() – returns a const reverse iterator to the beginning
    +
    Since
    version 1.0.0
    + +

    Definition at line 21814 of file json.hpp.

    + +
    +
    + +

    ◆ sax_parse() [1/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename InputType , typename SAX >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::sax_parse (InputType && i,
    SAX * sax,
    input_format_t format = input_format_t::json,
    const bool strict = true,
    const bool ignore_comments = false 
    )
    +
    +inlinestatic
    +
    + +

    generate SAX events

    +

    The SAX event lister must follow the interface of json_sax.

    +

    This function reads from a compatible input. Examples are:

      +
    • an std::istream object
    • +
    • a FILE pointer
    • +
    • a C-style array of characters
    • +
    • a pointer to a null-terminated string of single byte characters
    • +
    • an object obj for which begin(obj) and end(obj) produces a valid pair of iterators.
    • +
    +
    Parameters
    + + + + + + +
    [in]iinput to read from
    [in,out]saxSAX event listener
    [in]formatthe format to parse (JSON, CBOR, MessagePack, or UBJSON)
    [in]strictwhether the input has to be consumed completely
    [in]ignore_commentswhether comments should be ignored and treated like whitespace (true) or yield a parse error (true); (optional, false by default); only applies to the JSON file format.
    +
    +
    +
    Returns
    return value of the last processed SAX event
    +
    Exceptions
    + + + + +
    parse_error.101if a parse error occurs; example: ""unexpected end of input; expected string literal""
    parse_error.102if to_unicode fails or surrogate error
    parse_error.103if to_unicode fails
    +
    +
    +

    Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the SAX consumer sax has a super-linear complexity.

    +
    Note
    A UTF-8 byte order mark is silently ignored.
    +

    {The example below demonstrates the sax_parse() function reading from string and processing the events with a user-defined SAX event consumer.,sax_parse}

    +
    Since
    version 3.2.0
    + +

    Definition at line 23961 of file json.hpp.

    + +

    References nlohmann::detail::input_adapter(), nlohmann::detail::json, JSON_HEDLEY_NON_NULL, and nlohmann::detail::strict.

    + +
    +
    + +

    ◆ sax_parse() [2/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<class IteratorType , class SAX >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::sax_parse (IteratorType first,
    IteratorType last,
    SAX * sax,
    input_format_t format = input_format_t::json,
    const bool strict = true,
    const bool ignore_comments = false 
    )
    +
    +inlinestatic
    +
    +
    + +

    ◆ sax_parse() [3/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename SAX >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::sax_parse (detail::span_input_adapter && i,
    SAX * sax,
    input_format_t format = input_format_t::json,
    const bool strict = true,
    const bool ignore_comments = false 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 23988 of file json.hpp.

    + +

    References nlohmann::detail::json, JSON_HEDLEY_DEPRECATED_FOR, and nlohmann::detail::strict.

    + +
    +
    + +

    ◆ set_parent()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::set_parent (reference j)
    +
    +inlineprivate
    +
    + +

    Definition at line 18325 of file json.hpp.

    + +
    +
    + +

    ◆ set_parents() [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::set_parents ()
    +
    +inlineprivate
    +
    + +

    Definition at line 18283 of file json.hpp.

    + +

    References nlohmann::detail::array, and nlohmann::detail::object.

    + +
    +
    + +

    ◆ set_parents() [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::set_parents (iterator it,
    typename iterator::difference_type count 
    )
    +
    +inlineprivate
    +
    + +

    Definition at line 18312 of file json.hpp.

    + +
    +
    + +

    ◆ size()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    size_type nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::size () const
    +
    +inlinenoexcept
    +
    + +

    returns the number of elements

    +

    Returns the number of elements in a JSON value.

    +
    Returns
    The return value depends on the different types and is defined as follows: + + + + + + + + + + + + + + + + +
    Value type return value
    null 0
    boolean 1
    string 1
    number 1
    binary 1
    object result of function object_t::size()
    array result of function array_t::size()
    +{The following code calls size() on the different value types.,size}
    +

    Constant, as long as array_t and object_t satisfy the Container concept; that is, their size() functions have constant complexity.

    +

    No changes.

    +

    No-throw guarantee: this function never throws exceptions.

    +
    Note
    This function does not return the length of a string stored as JSON value - it returns the number of elements in the JSON value which is 1 in the case of a string.
    +

    This function helps basic_json satisfying the Container requirements:

      +
    • The complexity is constant.
    • +
    • Has the semantics of std::distance(begin(), end()).
    • +
    +
    See also
    see empty() – checks whether the container is empty
    +
    +see max_size() – returns the maximal number of elements
    +
    Since
    version 1.0.0
    + +

    Definition at line 22156 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::null, and nlohmann::detail::object.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch().

    + +
    +
    + +

    ◆ swap() [1/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap (reference other)
    +
    +inlinenoexcept
    +
    + +

    exchanges the values

    +

    Exchanges the contents of the JSON value with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

    +
    Parameters
    + + +
    [in,out]otherJSON value to exchange the contents with
    +
    +
    +

    Constant.

    +

    {The example below shows how JSON values can be swapped with swap().,swap__reference}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23026 of file json.hpp.

    + +
    +
    + +

    ◆ swap() [2/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap (array_tother)
    +
    +inline
    +
    + +

    exchanges the values

    +

    Exchanges the contents of a JSON array with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

    +
    Parameters
    + + +
    [in,out]otherarray to exchange the contents with
    +
    +
    +
    Exceptions
    + + +
    type_error.310when JSON value is not an array; example: "cannot +use swap() with string"
    +
    +
    +

    Constant.

    +

    {The example below shows how arrays can be swapped with swap().,swap__array_t}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23089 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_LIKELY, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ swap() [3/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap (object_tother)
    +
    +inline
    +
    + +

    exchanges the values

    +

    Exchanges the contents of a JSON object with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

    +
    Parameters
    + + +
    [in,out]otherobject to exchange the contents with
    +
    +
    +
    Exceptions
    + + +
    type_error.310when JSON value is not an object; example: "cannot use swap() with string"
    +
    +
    +

    Constant.

    +

    {The example below shows how objects can be swapped with swap().,swap__object_t}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23122 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_LIKELY, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ swap() [4/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap (string_tother)
    +
    +inline
    +
    + +

    exchanges the values

    +

    Exchanges the contents of a JSON string with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

    +
    Parameters
    + + +
    [in,out]otherstring to exchange the contents with
    +
    +
    +
    Exceptions
    + + +
    type_error.310when JSON value is not a string; example: "cannot +use swap() with boolean"
    +
    +
    +

    Constant.

    +

    {The example below shows how strings can be swapped with swap().,swap__string_t}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23155 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_LIKELY, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ swap() [5/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap (binary_tother)
    +
    +inline
    +
    + +

    exchanges the values

    +

    Exchanges the contents of a JSON string with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

    +
    Parameters
    + + +
    [in,out]otherbinary to exchange the contents with
    +
    +
    +
    Exceptions
    + + +
    type_error.310when JSON value is not a string; example: "cannot +use swap() with boolean"
    +
    +
    +

    Constant.

    +

    {The example below shows how strings can be swapped with swap().,swap__binary_t}

    +
    Since
    version 3.8.0
    + +

    Definition at line 23188 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_LIKELY, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ swap() [6/6]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap (typename binary_t::container_typeother)
    +
    +inline
    +
    + +

    exchanges the values

    +

    Exchanges the contents of a JSON string with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

    +
    Parameters
    + + +
    [in,out]otherbinary to exchange the contents with
    +
    +
    +
    Exceptions
    + + +
    type_error.310when JSON value is not a string; example: "cannot +use swap() with boolean"
    +
    +
    +

    Constant.

    +

    {The example below shows how strings can be swapped with swap().,swap__binary_t}

    +
    Since
    version 3.8.0
    + +

    Definition at line 23202 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_LIKELY, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ to_bson() [1/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    static std::vector<uint8_t> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_bson (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & j)
    +
    +inlinestatic
    +
    + +

    Serializes the given JSON object j to BSON and returns a vector containing the corresponding BSON-representation.

    +

    BSON (Binary JSON) is a binary format in which zero or more ordered key/value pairs are stored as a single entity (a so-called document).

    +

    The library uses the following mapping from JSON values types to BSON types:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    JSON value type value/range BSON type marker
    null null null 0x0A
    boolean true, false boolean 0x08
    number_integer -9223372036854775808..-2147483649 int64 0x12
    number_integer -2147483648..2147483647 int32 0x10
    number_integer 2147483648..9223372036854775807 int64 0x12
    number_unsigned 0..2147483647 int32 0x10
    number_unsigned 2147483648..9223372036854775807 int64 0x12
    number_unsigned 9223372036854775808..18446744073709551615
    number_float any value double 0x01
    string any value string 0x02
    array any value document 0x04
    object any value document 0x03
    binary any value binary 0x05
    +
    Warning
    The mapping is incomplete, since only JSON-objects (and things contained therein) can be serialized to BSON. Also, integers larger than 9223372036854775807 cannot be serialized to BSON, and the keys may not contain U+0000, since they are serialized a zero-terminated c-strings.
    +
    Exceptions
    + + + + +
    out_of_range.407if j.is_number_unsigned() && j.get<std::uint64_t>() > 9223372036854775807
    out_of_range.409if a key in j contains a NULL (U+0000)
    type_error.317if !j.is_object()
    +
    +
    +
    Precondition
    The input j is required to be an object: j.is_object() == true.
    +
    Note
    Any BSON output created via to_bson can be successfully parsed by from_bson.
    +
    Parameters
    + + +
    [in]jJSON value to serialize
    +
    +
    +
    Returns
    BSON serialization as byte vector
    +

    Linear in the size of the JSON value j.

    +

    {The example shows the serialization of a JSON value to a byte vector in BSON format.,to_bson}

    +
    See also
    http://bsonspec.org/spec.html
    +
    +see from_bson(detail::input_adapter&&, const bool strict) for the analogous deserialization
    +
    +see to_ubjson(const basic_json&, const bool, const bool) for the related UBJSON format
    +
    +see to_cbor(const basic_json&) for the related CBOR format
    +
    +see to_msgpack(const basic_json&) for the related MessagePack format
    + +

    Definition at line 24504 of file json.hpp.

    + +
    +
    + +

    ◆ to_bson() [2/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_bson (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & j,
    detail::output_adapter< uint8_t > o 
    )
    +
    +inlinestatic
    +
    + +

    Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the given output_adapter o.

    +
    Parameters
    + + + +
    jThe JSON object to convert to BSON.
    oThe output adapter that receives the binary BSON representation.
    +
    +
    +
    Precondition
    The input j shall be an object: j.is_object() == true
    +
    See also
    see to_bson(const basic_json&)
    + +

    Definition at line 24519 of file json.hpp.

    + +
    +
    + +

    ◆ to_bson() [3/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_bson (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & j,
    detail::output_adapter< char > o 
    )
    +
    +inlinestatic
    +
    + +

    Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the given output_adapter o.

    +
    Parameters
    + + + +
    jThe JSON object to convert to BSON.
    oThe output adapter that receives the binary BSON representation.
    +
    +
    +
    Precondition
    The input j shall be an object: j.is_object() == true
    +
    See also
    see to_bson(const basic_json&)
    + +

    Definition at line 24527 of file json.hpp.

    + +

    References JSON_HEDLEY_WARN_UNUSED_RESULT.

    + +
    +
    + +

    ◆ to_cbor() [1/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    static std::vector<uint8_t> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_cbor (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & j)
    +
    +inlinestatic
    +
    + +

    create a CBOR serialization of a given JSON value

    +

    Serializes a given JSON value j to a byte vector using the CBOR (Concise Binary Object Representation) serialization format. CBOR is a binary serialization format which aims to be more compact than JSON itself, yet more efficient to parse.

    +

    The library uses the following mapping from JSON values types to CBOR types according to the CBOR specification (RFC 7049):

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    JSON value type value/range CBOR type first byte
    null null Null 0xF6
    boolean true True 0xF5
    boolean false False 0xF4
    number_integer -9223372036854775808..-2147483649 Negative integer (8 bytes follow) 0x3B
    number_integer -2147483648..-32769 Negative integer (4 bytes follow) 0x3A
    number_integer -32768..-129 Negative integer (2 bytes follow) 0x39
    number_integer -128..-25 Negative integer (1 byte follow) 0x38
    number_integer -24..-1 Negative integer 0x20..0x37
    number_integer 0..23 Integer 0x00..0x17
    number_integer 24..255 Unsigned integer (1 byte follow) 0x18
    number_integer 256..65535 Unsigned integer (2 bytes follow) 0x19
    number_integer 65536..4294967295 Unsigned integer (4 bytes follow) 0x1A
    number_integer 4294967296..18446744073709551615 Unsigned integer (8 bytes follow) 0x1B
    number_unsigned 0..23 Integer 0x00..0x17
    number_unsigned 24..255 Unsigned integer (1 byte follow) 0x18
    number_unsigned 256..65535 Unsigned integer (2 bytes follow) 0x19
    number_unsigned 65536..4294967295 Unsigned integer (4 bytes follow) 0x1A
    number_unsigned 4294967296..18446744073709551615 Unsigned integer (8 bytes follow) 0x1B
    number_float any value representable by a float Single-Precision Float 0xFA
    number_float any value NOT representable by a float Double-Precision Float 0xFB
    string length: 0..23 UTF-8 string 0x60..0x77
    string length: 23..255 UTF-8 string (1 byte follow) 0x78
    string length: 256..65535 UTF-8 string (2 bytes follow) 0x79
    string length: 65536..4294967295 UTF-8 string (4 bytes follow) 0x7A
    string length: 4294967296..18446744073709551615 UTF-8 string (8 bytes follow) 0x7B
    array size: 0..23 array 0x80..0x97
    array size: 23..255 array (1 byte follow) 0x98
    array size: 256..65535 array (2 bytes follow) 0x99
    array size: 65536..4294967295 array (4 bytes follow) 0x9A
    array size: 4294967296..18446744073709551615 array (8 bytes follow) 0x9B
    object size: 0..23 map 0xA0..0xB7
    object size: 23..255 map (1 byte follow) 0xB8
    object size: 256..65535 map (2 bytes follow) 0xB9
    object size: 65536..4294967295 map (4 bytes follow) 0xBA
    object size: 4294967296..18446744073709551615 map (8 bytes follow) 0xBB
    binary size: 0..23 byte string 0x40..0x57
    binary size: 23..255 byte string (1 byte follow) 0x58
    binary size: 256..65535 byte string (2 bytes follow) 0x59
    binary size: 65536..4294967295 byte string (4 bytes follow) 0x5A
    binary size: 4294967296..18446744073709551615 byte string (8 bytes follow) 0x5B
    +
    Note
    The mapping is complete in the sense that any JSON value type can be converted to a CBOR value.
    +
    +If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null.
    +
    +The following CBOR types are not used in the conversion:
      +
    • UTF-8 strings terminated by "break" (0x7F)
    • +
    • arrays terminated by "break" (0x9F)
    • +
    • maps terminated by "break" (0xBF)
    • +
    • byte strings terminated by "break" (0x5F)
    • +
    • date/time (0xC0..0xC1)
    • +
    • bignum (0xC2..0xC3)
    • +
    • decimal fraction (0xC4)
    • +
    • bigfloat (0xC5)
    • +
    • expected conversions (0xD5..0xD7)
    • +
    • simple values (0xE0..0xF3, 0xF8)
    • +
    • undefined (0xF7)
    • +
    • half-precision floats (0xF9)
    • +
    • break (0xFF)
    • +
    +
    +
    Parameters
    + + +
    [in]jJSON value to serialize
    +
    +
    +
    Returns
    CBOR serialization as byte vector
    +

    Linear in the size of the JSON value j.

    +

    {The example shows the serialization of a JSON value to a byte vector in CBOR format.,to_cbor}

    +
    See also
    http://cbor.io
    +
    +see from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the analogous deserialization
    +
    +see to_msgpack(const basic_json&) for the related MessagePack format
    +
    +see to_ubjson(const basic_json&, const bool, const bool) for the related UBJSON format
    +
    Since
    version 2.0.9; compact representation of floating-point numbers since version 3.8.0
    + +

    Definition at line 24228 of file json.hpp.

    + +
    +
    + +

    ◆ to_cbor() [2/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_cbor (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & j,
    detail::output_adapter< uint8_t > o 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 24235 of file json.hpp.

    + +
    +
    + +

    ◆ to_cbor() [3/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_cbor (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & j,
    detail::output_adapter< char > o 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 24240 of file json.hpp.

    + +
    +
    + +

    ◆ to_msgpack() [1/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    static std::vector<uint8_t> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_msgpack (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & j)
    +
    +inlinestatic
    +
    + +

    create a MessagePack serialization of a given JSON value

    +

    Serializes a given JSON value j to a byte vector using the MessagePack serialization format. MessagePack is a binary serialization format which aims to be more compact than JSON itself, yet more efficient to parse.

    +

    The library uses the following mapping from JSON values types to MessagePack types according to the MessagePack specification:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    JSON value type value/range MessagePack type first byte
    null null nil 0xC0
    boolean true true 0xC3
    boolean false false 0xC2
    number_integer -9223372036854775808..-2147483649 int64 0xD3
    number_integer -2147483648..-32769 int32 0xD2
    number_integer -32768..-129 int16 0xD1
    number_integer -128..-33 int8 0xD0
    number_integer -32..-1 negative fixint 0xE0..0xFF
    number_integer 0..127 positive fixint 0x00..0x7F
    number_integer 128..255 uint 8 0xCC
    number_integer 256..65535 uint 16 0xCD
    number_integer 65536..4294967295 uint 32 0xCE
    number_integer 4294967296..18446744073709551615 uint 64 0xCF
    number_unsigned 0..127 positive fixint 0x00..0x7F
    number_unsigned 128..255 uint 8 0xCC
    number_unsigned 256..65535 uint 16 0xCD
    number_unsigned 65536..4294967295 uint 32 0xCE
    number_unsigned 4294967296..18446744073709551615 uint 64 0xCF
    number_float any value representable by a float float 32 0xCA
    number_float any value NOT representable by a float float 64 0xCB
    string length: 0..31 fixstr 0xA0..0xBF
    string length: 32..255 str 8 0xD9
    string length: 256..65535 str 16 0xDA
    string length: 65536..4294967295 str 32 0xDB
    array size: 0..15 fixarray 0x90..0x9F
    array size: 16..65535 array 16 0xDC
    array size: 65536..4294967295 array 32 0xDD
    object size: 0..15 fix map 0x80..0x8F
    object size: 16..65535 map 16 0xDE
    object size: 65536..4294967295 map 32 0xDF
    binary size: 0..255 bin 8 0xC4
    binary size: 256..65535 bin 16 0xC5
    binary size: 65536..4294967295 bin 32 0xC6
    +
    Note
    The mapping is complete in the sense that any JSON value type can be converted to a MessagePack value.
    +
    +The following values can not be converted to a MessagePack value:
      +
    • strings with more than 4294967295 bytes
    • +
    • byte strings with more than 4294967295 bytes
    • +
    • arrays with more than 4294967295 elements
    • +
    • objects with more than 4294967295 elements
    • +
    +
    +
    +Any MessagePack output created to_msgpack can be successfully parsed by from_msgpack.
    +
    +If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null.
    +
    Parameters
    + + +
    [in]jJSON value to serialize
    +
    +
    +
    Returns
    MessagePack serialization as byte vector
    +

    Linear in the size of the JSON value j.

    +

    {The example shows the serialization of a JSON value to a byte vector in MessagePack format.,to_msgpack}

    +
    See also
    http://msgpack.org
    +
    +see from_msgpack for the analogous deserialization
    +
    +see to_cbor(const basic_json& for the related CBOR format
    +
    +see to_ubjson(const basic_json&, const bool, const bool) for the related UBJSON format
    +
    Since
    version 2.0.9
    + +

    Definition at line 24323 of file json.hpp.

    + +
    +
    + +

    ◆ to_msgpack() [2/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_msgpack (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & j,
    detail::output_adapter< uint8_t > o 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 24330 of file json.hpp.

    + +
    +
    + +

    ◆ to_msgpack() [3/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_msgpack (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & j,
    detail::output_adapter< char > o 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 24335 of file json.hpp.

    + +
    +
    + +

    ◆ to_ubjson() [1/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static std::vector<uint8_t> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_ubjson (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & j,
    const bool use_size = false,
    const bool use_type = false 
    )
    +
    +inlinestatic
    +
    + +

    create a UBJSON serialization of a given JSON value

    +

    Serializes a given JSON value j to a byte vector using the UBJSON (Universal Binary JSON) serialization format. UBJSON aims to be more compact than JSON itself, yet more efficient to parse.

    +

    The library uses the following mapping from JSON values types to UBJSON types according to the UBJSON specification:

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    JSON value type value/range UBJSON type marker
    null null null Z
    boolean true true T
    boolean false false F
    number_integer -9223372036854775808..-2147483649 int64 L
    number_integer -2147483648..-32769 int32 l
    number_integer -32768..-129 int16 I
    number_integer -128..127 int8 i
    number_integer 128..255 uint8 U
    number_integer 256..32767 int16 I
    number_integer 32768..2147483647 int32 l
    number_integer 2147483648..9223372036854775807 int64 L
    number_unsigned 0..127 int8 i
    number_unsigned 128..255 uint8 U
    number_unsigned 256..32767 int16 I
    number_unsigned 32768..2147483647 int32 l
    number_unsigned 2147483648..9223372036854775807 int64 L
    number_unsigned 2147483649..18446744073709551615 high-precision H
    number_float any value float64 D
    string with shortest length indicator string S
    array see notes on optimized format array [
    object see notes on optimized format map {
    +
    Note
    The mapping is complete in the sense that any JSON value type can be converted to a UBJSON value.
    +
    +The following values can not be converted to a UBJSON value:
      +
    • strings with more than 9223372036854775807 bytes (theoretical)
    • +
    +
    +
    +The following markers are not used in the conversion:
      +
    • Z: no-op values are not created.
    • +
    • C: single-byte strings are serialized with S markers.
    • +
    +
    +
    +Any UBJSON output created to_ubjson can be successfully parsed by from_ubjson.
    +
    +If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null.
    +
    +The optimized formats for containers are supported: Parameter use_size adds size information to the beginning of a container and removes the closing marker. Parameter use_type further checks whether all elements of a container have the same type and adds the type marker to the beginning of the container. The use_type parameter must only be used together with use_size = true. Note that use_size = true alone may result in larger representations - the benefit of this parameter is that the receiving side is immediately informed on the number of elements of the container.
    +
    +If the JSON data contains the binary type, the value stored is a list of integers, as suggested by the UBJSON documentation. In particular, this means that serialization and the deserialization of a JSON containing binary values into UBJSON and back will result in a different JSON object.
    +
    Parameters
    + + + + +
    [in]jJSON value to serialize
    [in]use_sizewhether to add size annotations to container types
    [in]use_typewhether to add type annotations to container types (must be combined with use_size = true)
    +
    +
    +
    Returns
    UBJSON serialization as byte vector
    +

    Linear in the size of the JSON value j.

    +

    {The example shows the serialization of a JSON value to a byte vector in UBJSON format.,to_ubjson}

    +
    See also
    http://ubjson.org
    +
    +see from_ubjson(InputType&&, const bool, const bool) for the analogous deserialization
    +
    +see to_cbor(const basic_json& for the related CBOR format
    +
    +see to_msgpack(const basic_json&) for the related MessagePack format
    +
    Since
    version 3.1.0
    + +

    Definition at line 24426 of file json.hpp.

    + +
    +
    + +

    ◆ to_ubjson() [2/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_ubjson (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & j,
    detail::output_adapter< uint8_t > o,
    const bool use_size = false,
    const bool use_type = false 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 24435 of file json.hpp.

    + +
    +
    + +

    ◆ to_ubjson() [3/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_ubjson (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & j,
    detail::output_adapter< char > o,
    const bool use_size = false,
    const bool use_type = false 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 24441 of file json.hpp.

    + +
    +
    + +

    ◆ type()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    constexpr value_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::type () const
    +
    +inlinenoexcept
    +
    + +

    return the type of the JSON value (explicit)

    +

    Return the type of the JSON value as a value from the value_t enumeration.

    +
    Returns
    the type of the JSON value + + + + + + + + + + + + + + + + + + + + + + +
    Value type return value
    null value_t::null
    boolean value_t::boolean
    string value_t::string
    number (integer) value_t::number_integer
    number (unsigned integer) value_t::number_unsigned
    number (floating-point) value_t::number_float
    object value_t::object
    array value_t::array
    binary value_t::binary
    discarded value_t::discarded
    +Constant.
    +

    No-throw guarantee: this member function never throws exceptions.

    +

    {The following code exemplifies type() for all JSON types.,type}

    +
    See also
    see operator value_t() – return the type of the JSON value (implicit)
    +
    +see type_name() – return the type as string
    +
    Since
    version 1.0.0
    + +

    Definition at line 19435 of file json.hpp.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff().

    + +
    +
    + +

    ◆ type_name()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    JSON_HEDLEY_RETURNS_NON_NULL const char* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::type_name () const
    +
    +inlinenoexcept
    +
    + +

    return the type as string

    +

    Returns the type name as string to be used in error messages - usually to indicate that a function was called on a wrong JSON type.

    +
    Returns
    a string representation of a the m_type member: + + + + + + + + + + + + + + + + + + +
    Value type return value
    null "null"
    boolean "boolean"
    string "string"
    number "number" (for all number types)
    object "object"
    array "array"
    binary "binary"
    discarded "discarded"
    +No-throw guarantee: this function never throws exceptions.
    +

    Constant.

    +

    {The following code exemplifies type_name() for all JSON types.,type_name}

    +
    See also
    see type() – return the type of the JSON value
    +
    +see operator value_t() – return the type of the JSON value (implicit)
    +
    Since
    version 1.0.0, public since 2.1.0, const char* and noexcept since 3.0.0
    + +

    Definition at line 24084 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::binary, nlohmann::detail::boolean, nlohmann::detail::discarded, JSON_PRIVATE_UNLESS_TESTED, nlohmann::detail::null, nlohmann::detail::object, and nlohmann::detail::string.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update().

    + +
    +
    + +

    ◆ unflatten()

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + +
    basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::unflatten () const
    +
    +inline
    +
    + +

    unflatten a previously flattened JSON value

    +

    The function restores the arbitrary nesting of a JSON value that has been flattened before using the flatten() function. The JSON value must meet certain constraints:

      +
    1. The value must be an object.
    2. +
    3. The keys must be JSON pointers (see RFC 6901)
    4. +
    5. The mapped values must be primitive JSON types.
    6. +
    +
    Returns
    the original JSON from a flattened version
    +
    Note
    Empty objects and arrays are flattened by flatten() to null values and can not unflattened to their original type. Apart from this example, for a JSON value j, the following is always true: j == j.flatten().unflatten().
    +

    Linear in the size the JSON value.

    +
    Exceptions
    + + + +
    type_error.314if value is not an object
    type_error.315if object values are not primitive
    +
    +
    +

    {The following code shows how a flattened JSON object is unflattened into the original nested JSON object.,unflatten}

    +
    See also
    see flatten() for the reverse function
    +
    Since
    version 2.0.0
    + +

    Definition at line 25282 of file json.hpp.

    + +

    References nlohmann::json_pointer< BasicJsonType >::unflatten().

    + +
    +
    + +

    ◆ update() [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update (const_reference j)
    +
    +inline
    +
    +
    + +

    ◆ update() [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update (const_iterator first,
    const_iterator last 
    )
    +
    +inline
    +
    + +

    updates a JSON object from another object, overwriting existing keys

    +

    Inserts all values from from range [first, last) and overwrites existing keys.

    +
    Parameters
    + + + +
    [in]firstbegin of the range of elements to insert
    [in]lastend of the range of elements to insert
    +
    +
    +
    Exceptions
    + + + + +
    type_error.312if called on JSON values other than objects; example: "cannot use update() with string"
    invalid_iterator.202if iterator first or last does does not point to an object; example: "iterators first and last must point to +objects"
    invalid_iterator.210if first and last do not belong to the same JSON value; example: "iterators do not fit"
    +
    +
    +

    O(N*log(size() + N)), where N is the number of elements to insert.

    +

    {The example shows how update() is used__range.,update}

    +
    See also
    https://docs.python.org/3.6/library/stdtypes.html#dict.update
    +
    Since
    version 3.0.0
    + +

    Definition at line 22975 of file json.hpp.

    + +

    References nlohmann::detail::invalid_iterator::create(), nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, nlohmann::detail::object, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ value() [1/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<class ValueType , typename std::enable_if< detail::is_getable< basic_json_t, ValueType >::value &&!std::is_same< value_t, ValueType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    ValueType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value (const typename object_t::key_type & key,
    const ValueType & default_value 
    ) const
    +
    +inline
    +
    + +

    access specified object element with default value

    +

    Returns either a copy of an object's element at the specified key key or a given default value if no element with key key exists.

    +

    The function is basically equivalent to executing

    try {
    return at(key);
    } catch(out_of_range) {
    return default_value;
    }
    Note
    Unlike at(const typename object_t::key_type&), this function does not throw if the given key key was not found.
    +
    +Unlike operator[](const typename object_t::key_type& key), this function does not implicitly add an element to the position defined by key. This function is furthermore also applicable to const objects.
    +
    Parameters
    + + + +
    [in]keykey of the element to access
    [in]default_valuethe value to return if key is not found
    +
    +
    +
    Template Parameters
    + + +
    ValueTypetype compatible to JSON values, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. Note the type of the expected value at key and the default value default_value must be compatible.
    +
    +
    +
    Returns
    copy of the element at key key or default_value if key is not found
    +
    Exceptions
    + + + +
    type_error.302if default_value does not match the type of the value at key
    type_error.306if the JSON value is not an object; in that case, using value() with a key makes no sense.
    +
    +
    +

    Logarithmic in the size of the container.

    +

    {The example below shows how object elements can be queried with a default value.,basic_json__value}

    +
    See also
    see at(const typename object_t::key_type&) for access by reference with range checking
    +
    +see operator[](const typename object_t::key_type&) for unchecked access by reference
    +
    Since
    version 1.0.0
    + +

    Definition at line 20941 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_LIKELY, JSON_THROW, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ value() [2/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    string_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value (const typename object_t::key_type & key,
    const char * default_value 
    ) const
    +
    +inline
    +
    + +

    overload for a default value of type const char*

    +

    access specified object element with default value Returns either a copy of an object's element at the specified key key or a given default value if no element with key key exists.

    +

    The function is basically equivalent to executing

    try {
    return at(key);
    } catch(out_of_range) {
    return default_value;
    }
    Note
    Unlike at(const typename object_t::key_type&), this function does not throw if the given key key was not found.
    +
    +Unlike operator[](const typename object_t::key_type& key), this function does not implicitly add an element to the position defined by key. This function is furthermore also applicable to const objects.
    +
    Parameters
    + + + +
    [in]keykey of the element to access
    [in]default_valuethe value to return if key is not found
    +
    +
    +
    Template Parameters
    + + +
    ValueTypetype compatible to JSON values, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. Note the type of the expected value at key and the default value default_value must be compatible.
    +
    +
    +
    Returns
    copy of the element at key key or default_value if key is not found
    +
    Exceptions
    + + + +
    type_error.302if default_value does not match the type of the value at key
    type_error.306if the JSON value is not an object; in that case, using value() with a key makes no sense.
    +
    +
    +

    Logarithmic in the size of the container.

    +

    {The example below shows how object elements can be queried with a default value.,basic_json__value}

    +
    See also
    see at(const typename object_t::key_type&) for access by reference with range checking
    +
    +see operator[](const typename object_t::key_type&) for unchecked access by reference
    +
    Since
    version 1.0.0
    + +

    Definition at line 20963 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ value() [3/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<class ValueType , typename std::enable_if< detail::is_getable< basic_json_t, ValueType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    ValueType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value (const json_pointerptr,
    const ValueType & default_value 
    ) const
    +
    +inline
    +
    + +

    access specified object element via JSON Pointer with default value

    +

    Returns either a copy of an object's element at the specified key key or a given default value if no element with key key exists.

    +

    The function is basically equivalent to executing

    try {
    return at(ptr);
    } catch(out_of_range) {
    return default_value;
    }
    Note
    Unlike at(const json_pointer&), this function does not throw if the given key key was not found.
    +
    Parameters
    + + + +
    [in]ptra JSON pointer to the element to access
    [in]default_valuethe value to return if ptr found no value
    +
    +
    +
    Template Parameters
    + + +
    ValueTypetype compatible to JSON values, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. Note the type of the expected value at key and the default value default_value must be compatible.
    +
    +
    +
    Returns
    copy of the element at key key or default_value if key is not found
    +
    Exceptions
    + + + +
    type_error.302if default_value does not match the type of the value at ptr
    type_error.306if the JSON value is not an object; in that case, using value() with a key makes no sense.
    +
    +
    +

    Logarithmic in the size of the container.

    +

    {The example below shows how object elements can be queried with a default value.,basic_json__value_ptr}

    +
    See also
    see operator[](const json_pointer&) for unchecked access by reference
    +
    Since
    version 2.0.2
    + +

    Definition at line 21013 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), nlohmann::json_pointer< BasicJsonType >::get_checked(), JSON_HEDLEY_LIKELY, JSON_HEDLEY_NON_NULL, JSON_INTERNAL_CATCH, JSON_THROW, JSON_TRY, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ value() [4/4]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    string_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value (const json_pointerptr,
    const char * default_value 
    ) const
    +
    +inline
    +
    + +

    overload for a default value of type const char*

    + +

    Definition at line 21037 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    +

    Friends And Related Function Documentation

    + +

    ◆ ::nlohmann::detail::binary_reader

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename BasicJsonType , typename InputType , typename SAX >
    + + + + + +
    + + + + +
    friend class ::nlohmann::detail::binary_reader
    +
    +friend
    +
    + +

    Definition at line 17208 of file json.hpp.

    + +
    +
    + +

    ◆ ::nlohmann::detail::binary_writer

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + +
    friend class ::nlohmann::detail::binary_writer
    +
    +friend
    +
    + +

    Definition at line 17206 of file json.hpp.

    + +
    +
    + +

    ◆ ::nlohmann::detail::exception

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + +
    friend class ::nlohmann::detail::exception
    +
    +friend
    +
    + +

    Definition at line 17213 of file json.hpp.

    + +
    +
    + +

    ◆ ::nlohmann::detail::iter_impl

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + +
    friend class ::nlohmann::detail::iter_impl
    +
    +friend
    +
    + +

    Definition at line 17204 of file json.hpp.

    + +
    +
    + +

    ◆ ::nlohmann::detail::json_sax_dom_callback_parser

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + +
    friend class ::nlohmann::detail::json_sax_dom_callback_parser
    +
    +friend
    +
    + +

    Definition at line 17212 of file json.hpp.

    + +
    +
    + +

    ◆ ::nlohmann::detail::json_sax_dom_parser

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + +
    friend class ::nlohmann::detail::json_sax_dom_parser
    +
    +friend
    +
    + +

    Definition at line 17210 of file json.hpp.

    + +
    +
    + +

    ◆ ::nlohmann::detail::parser

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename BasicJsonType , typename InputType >
    + + + + + +
    + + + + +
    friend class ::nlohmann::detail::parser
    +
    +friend
    +
    + +

    Definition at line 17201 of file json.hpp.

    + +
    +
    + +

    ◆ detail::external_constructor

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<detail::value_t >
    + + + + + +
    + + + + +
    friend struct detail::external_constructor
    +
    +friend
    +
    + +

    Definition at line 17197 of file json.hpp.

    + +
    +
    + +

    ◆ operator!= [1/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator!= (const_reference lhs,
    const_reference rhs 
    )
    +
    +friend
    +
    + +

    comparison: not equal

    +

    Compares two JSON values for inequality by calculating not (lhs == rhs).

    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether the values lhs and rhs are not equal
    +

    Linear.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    {The example demonstrates comparing several JSON types.,operator__notequal}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23388 of file json.hpp.

    + +
    +
    + +

    ◆ operator!= [2/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator!= (const_reference lhs,
    ScalarType rhs 
    )
    +
    +friend
    +
    + +

    comparison: not equal

    +

    comparison: not equal Compares two JSON values for inequality by calculating not (lhs == rhs).

    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether the values lhs and rhs are not equal
    +

    Linear.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    {The example demonstrates comparing several JSON types.,operator__notequal}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23399 of file json.hpp.

    + +
    +
    + +

    ◆ operator!= [3/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator!= (ScalarType lhs,
    const_reference rhs 
    )
    +
    +friend
    +
    + +

    comparison: not equal

    +

    comparison: not equal Compares two JSON values for inequality by calculating not (lhs == rhs).

    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether the values lhs and rhs are not equal
    +

    Linear.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    {The example demonstrates comparing several JSON types.,operator__notequal}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23410 of file json.hpp.

    + +
    +
    + +

    ◆ operator< [1/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator< (const_reference lhs,
    const_reference rhs 
    )
    +
    +friend
    +
    + +

    comparison: less than

    +

    Compares whether one JSON value lhs is less than another JSON value rhs according to the following rules:

      +
    • If lhs and rhs have the same type, the values are compared using the default < operator.
    • +
    • Integer and floating-point numbers are automatically converted before comparison
    • +
    • In case lhs and rhs have different types, the values are ignored and the order of the types is considered, see operator<(const value_t, const value_t).
    • +
    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether lhs is less than rhs
    +

    Linear.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    {The example demonstrates comparing several JSON types.,operator__less}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23441 of file json.hpp.

    + +
    +
    + +

    ◆ operator< [2/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator< (const_reference lhs,
    ScalarType rhs 
    )
    +
    +friend
    +
    + +

    comparison: less than

    +

    comparison: less than Compares whether one JSON value lhs is less than another JSON value rhs according to the following rules:

      +
    • If lhs and rhs have the same type, the values are compared using the default < operator.
    • +
    • Integer and floating-point numbers are automatically converted before comparison
    • +
    • In case lhs and rhs have different types, the values are ignored and the order of the types is considered, see operator<(const value_t, const value_t).
    • +
    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether lhs is less than rhs
    +

    Linear.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    {The example demonstrates comparing several JSON types.,operator__less}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23520 of file json.hpp.

    + +
    +
    + +

    ◆ operator< [3/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator< (ScalarType lhs,
    const_reference rhs 
    )
    +
    +friend
    +
    + +

    comparison: less than

    +

    comparison: less than Compares whether one JSON value lhs is less than another JSON value rhs according to the following rules:

      +
    • If lhs and rhs have the same type, the values are compared using the default < operator.
    • +
    • Integer and floating-point numbers are automatically converted before comparison
    • +
    • In case lhs and rhs have different types, the values are ignored and the order of the types is considered, see operator<(const value_t, const value_t).
    • +
    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether lhs is less than rhs
    +

    Linear.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    {The example demonstrates comparing several JSON types.,operator__less}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23531 of file json.hpp.

    + +
    +
    + +

    ◆ operator<< [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    std::ostream& operator<< (std::ostream & o,
    const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & j 
    )
    +
    +friend
    +
    + +

    serialize to stream

    +

    Serialize the given JSON value j to the output stream o. The JSON value will be serialized using the dump member function.

    +
      +
    • The indentation of the output can be controlled with the member variable width of the output stream o. For instance, using the manipulator std::setw(4) on o sets the indentation level to 4 and the serialization result is the same as calling dump(4).
    • +
    • The indentation character can be controlled with the member variable fill of the output stream o. For instance, the manipulator `std::setfill('\t')` sets indentation to use a tab character rather than the default space character.
    • +
    +
    Parameters
    + + + +
    [in,out]ostream to serialize to
    [in]jJSON value to serialize
    +
    +
    +
    Returns
    the stream o
    +
    Exceptions
    + + +
    type_error.316if a string stored inside the JSON value is not UTF-8 encoded
    +
    +
    +

    Linear.

    +

    {The example below shows the serialization with different parameters to width to adjust the indentation level.,operator_serialize}

    +
    Since
    version 1.0.0; indentation character added in version 3.0.0
    + +

    Definition at line 23714 of file json.hpp.

    + +
    +
    + +

    ◆ operator<< [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    std::istream& operator<< (basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & j,
    std::istream & i 
    )
    +
    +friend
    +
    + +

    deserialize from stream

    +
    Deprecated:
    This stream operator is deprecated and will be removed in version 4.0.0 of the library. Please use operator>>(std::istream&, basic_json&) instead; that is, replace calls like j << i; with i >> j;.
    +
    Since
    version 1.0.0; deprecated since version 3.0.0
    + +

    Definition at line 24010 of file json.hpp.

    + +
    +
    + +

    ◆ operator<= [1/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator<= (const_reference lhs,
    const_reference rhs 
    )
    +
    +friend
    +
    + +

    comparison: less than or equal

    +

    Compares whether one JSON value lhs is less than or equal to another JSON value by calculating not (rhs < lhs).

    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether lhs is less than or equal to rhs
    +

    Linear.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    {The example demonstrates comparing several JSON types.,operator__greater}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23555 of file json.hpp.

    + +
    +
    + +

    ◆ operator<= [2/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator<= (const_reference lhs,
    ScalarType rhs 
    )
    +
    +friend
    +
    + +

    comparison: less than or equal

    +

    comparison: less than or equal Compares whether one JSON value lhs is less than or equal to another JSON value by calculating not (rhs < lhs).

    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether lhs is less than or equal to rhs
    +

    Linear.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    {The example demonstrates comparing several JSON types.,operator__greater}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23566 of file json.hpp.

    + +
    +
    + +

    ◆ operator<= [3/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator<= (ScalarType lhs,
    const_reference rhs 
    )
    +
    +friend
    +
    + +

    comparison: less than or equal

    +

    comparison: less than or equal Compares whether one JSON value lhs is less than or equal to another JSON value by calculating not (rhs < lhs).

    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether lhs is less than or equal to rhs
    +

    Linear.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    {The example demonstrates comparing several JSON types.,operator__greater}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23577 of file json.hpp.

    + +
    +
    + +

    ◆ operator== [1/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator== (const_reference lhs,
    const_reference rhs 
    )
    +
    +friend
    +
    + +

    comparison: equal

    +

    Compares two JSON values for equality according to the following rules:

      +
    • Two JSON values are equal if (1) they are from the same type and (2) their stored values are the same according to their respective operator==.
    • +
    • Integer and floating-point numbers are automatically converted before comparison. Note that two NaN values are always treated as unequal.
    • +
    • Two JSON null values are equal.
    • +
    +
    Note
    Floating-point inside JSON values numbers are compared with json::number_float_t::operator== which is double::operator== by default. To compare floating-point while respecting an epsilon, an alternative comparison function could be used, for instance
    template<typename T, typename = typename std::enable_if<std::is_floating_point<T>::value, T>::type>
    inline bool is_same(T a, T b, T epsilon = std::numeric_limits<T>::epsilon()) noexcept
    {
    return std::abs(a - b) <= epsilon;
    }
    Or you can self-defined operator equal function like this:
    bool my_equal(const_reference lhs, const_reference rhs) {
    const auto lhs_type lhs.type();
    const auto rhs_type rhs.type();
    if (lhs_type == rhs_type) {
    switch(lhs_type)
    // self_defined case
    return std::abs(lhs - rhs) <= std::numeric_limits<float>::epsilon();
    // other cases remain the same with the original
    ...
    }
    ...
    }
    +
    +NaN values never compare equal to themselves or to other NaN values.
    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether the values lhs and rhs are equal
    +

    No-throw guarantee: this function never throws exceptions.

    +

    Linear.

    +

    {The example demonstrates comparing several JSON types.,operator__equal}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23280 of file json.hpp.

    + +
    +
    + +

    ◆ operator== [2/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator== (const_reference lhs,
    ScalarType rhs 
    )
    +
    +friend
    +
    + +

    comparison: equal

    +

    comparison: equal Compares two JSON values for equality according to the following rules:

      +
    • Two JSON values are equal if (1) they are from the same type and (2) their stored values are the same according to their respective operator==.
    • +
    • Integer and floating-point numbers are automatically converted before comparison. Note that two NaN values are always treated as unequal.
    • +
    • Two JSON null values are equal.
    • +
    +
    Note
    Floating-point inside JSON values numbers are compared with json::number_float_t::operator== which is double::operator== by default. To compare floating-point while respecting an epsilon, an alternative comparison function could be used, for instance
    template<typename T, typename = typename std::enable_if<std::is_floating_point<T>::value, T>::type>
    inline bool is_same(T a, T b, T epsilon = std::numeric_limits<T>::epsilon()) noexcept
    {
    return std::abs(a - b) <= epsilon;
    }
    Or you can self-defined operator equal function like this:
    bool my_equal(const_reference lhs, const_reference rhs) {
    const auto lhs_type lhs.type();
    const auto rhs_type rhs.type();
    if (lhs_type == rhs_type) {
    switch(lhs_type)
    // self_defined case
    return std::abs(lhs - rhs) <= std::numeric_limits<float>::epsilon();
    // other cases remain the same with the original
    ...
    }
    ...
    }
    +
    +NaN values never compare equal to themselves or to other NaN values.
    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether the values lhs and rhs are equal
    +

    No-throw guarantee: this function never throws exceptions.

    +

    Linear.

    +

    {The example demonstrates comparing several JSON types.,operator__equal}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23354 of file json.hpp.

    + +
    +
    + +

    ◆ operator== [3/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator== (ScalarType lhs,
    const_reference rhs 
    )
    +
    +friend
    +
    + +

    comparison: equal

    +

    comparison: equal Compares two JSON values for equality according to the following rules:

      +
    • Two JSON values are equal if (1) they are from the same type and (2) their stored values are the same according to their respective operator==.
    • +
    • Integer and floating-point numbers are automatically converted before comparison. Note that two NaN values are always treated as unequal.
    • +
    • Two JSON null values are equal.
    • +
    +
    Note
    Floating-point inside JSON values numbers are compared with json::number_float_t::operator== which is double::operator== by default. To compare floating-point while respecting an epsilon, an alternative comparison function could be used, for instance
    template<typename T, typename = typename std::enable_if<std::is_floating_point<T>::value, T>::type>
    inline bool is_same(T a, T b, T epsilon = std::numeric_limits<T>::epsilon()) noexcept
    {
    return std::abs(a - b) <= epsilon;
    }
    Or you can self-defined operator equal function like this:
    bool my_equal(const_reference lhs, const_reference rhs) {
    const auto lhs_type lhs.type();
    const auto rhs_type rhs.type();
    if (lhs_type == rhs_type) {
    switch(lhs_type)
    // self_defined case
    return std::abs(lhs - rhs) <= std::numeric_limits<float>::epsilon();
    // other cases remain the same with the original
    ...
    }
    ...
    }
    +
    +NaN values never compare equal to themselves or to other NaN values.
    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether the values lhs and rhs are equal
    +

    No-throw guarantee: this function never throws exceptions.

    +

    Linear.

    +

    {The example demonstrates comparing several JSON types.,operator__equal}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23365 of file json.hpp.

    + +
    +
    + +

    ◆ operator> [1/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator> (const_reference lhs,
    const_reference rhs 
    )
    +
    +friend
    +
    + +

    comparison: greater than

    +

    Compares whether one JSON value lhs is greater than another JSON value by calculating not (lhs <= rhs).

    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether lhs is greater than to rhs
    +

    Linear.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    {The example demonstrates comparing several JSON types.,operator__lessequal}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23601 of file json.hpp.

    + +
    +
    + +

    ◆ operator> [2/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator> (const_reference lhs,
    ScalarType rhs 
    )
    +
    +friend
    +
    + +

    comparison: greater than

    +

    comparison: greater than Compares whether one JSON value lhs is greater than another JSON value by calculating not (lhs <= rhs).

    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether lhs is greater than to rhs
    +

    Linear.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    {The example demonstrates comparing several JSON types.,operator__lessequal}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23612 of file json.hpp.

    + +
    +
    + +

    ◆ operator> [3/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator> (ScalarType lhs,
    const_reference rhs 
    )
    +
    +friend
    +
    + +

    comparison: greater than

    +

    comparison: greater than Compares whether one JSON value lhs is greater than another JSON value by calculating not (lhs <= rhs).

    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether lhs is greater than to rhs
    +

    Linear.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    {The example demonstrates comparing several JSON types.,operator__lessequal}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23623 of file json.hpp.

    + +
    +
    + +

    ◆ operator>= [1/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator>= (const_reference lhs,
    const_reference rhs 
    )
    +
    +friend
    +
    + +

    comparison: greater than or equal

    +

    Compares whether one JSON value lhs is greater than or equal to another JSON value by calculating not (lhs < rhs).

    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether lhs is greater than or equal to rhs
    +

    Linear.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    {The example demonstrates comparing several JSON types.,operator__greaterequal}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23647 of file json.hpp.

    + +
    +
    + +

    ◆ operator>= [2/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator>= (const_reference lhs,
    ScalarType rhs 
    )
    +
    +friend
    +
    + +

    comparison: greater than or equal

    +

    comparison: greater than or equal Compares whether one JSON value lhs is greater than or equal to another JSON value by calculating not (lhs < rhs).

    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether lhs is greater than or equal to rhs
    +

    Linear.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    {The example demonstrates comparing several JSON types.,operator__greaterequal}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23658 of file json.hpp.

    + +
    +
    + +

    ◆ operator>= [3/3]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    +
    +template<typename ScalarType , typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator>= (ScalarType lhs,
    const_reference rhs 
    )
    +
    +friend
    +
    + +

    comparison: greater than or equal

    +

    comparison: greater than or equal Compares whether one JSON value lhs is greater than or equal to another JSON value by calculating not (lhs < rhs).

    +
    Parameters
    + + + +
    [in]lhsfirst JSON value to consider
    [in]rhssecond JSON value to consider
    +
    +
    +
    Returns
    whether lhs is greater than or equal to rhs
    +

    Linear.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    {The example demonstrates comparing several JSON types.,operator__greaterequal}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23669 of file json.hpp.

    + +
    +
    + +

    ◆ operator>> [1/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    std::ostream& operator>> (const basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & j,
    std::ostream & o 
    )
    +
    +friend
    +
    + +

    serialize to stream

    +
    Deprecated:
    This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use operator<<(std::ostream&, const basic_json&) instead; that is, replace calls like j >> o; with o << j;.
    +
    Since
    version 1.0.0; deprecated since version 3.0.0
    + +

    Definition at line 23738 of file json.hpp.

    + +
    +
    + +

    ◆ operator>> [2/2]

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    std::istream& operator>> (std::istream & i,
    basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > & j 
    )
    +
    +friend
    +
    + +

    deserialize from stream

    +

    Deserializes an input stream to a JSON value.

    +
    Parameters
    + + + +
    [in,out]iinput stream to read a serialized JSON value from
    [in,out]jJSON value to write the deserialized input to
    +
    +
    +
    Exceptions
    + + + + +
    parse_error.101in case of an unexpected token
    parse_error.102if to_unicode fails or surrogate error
    parse_error.103if to_unicode fails
    +
    +
    +

    Linear in the length of the input. The parser is a predictive LL(1) parser.

    +
    Note
    A UTF-8 byte order mark is silently ignored.
    +

    {The example below shows how a JSON value is constructed by reading a serialization from a stream.,operator_deserialize}

    +
    See also
    parse(std::istream&, const parser_callback_t) for a variant with a parser callback function to filter values while parsing
    +
    Since
    version 1.0.0
    + +

    Definition at line 24040 of file json.hpp.

    + +
    +
    + +

    ◆ swap

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void swap (reference left,
    reference right 
    )
    +
    +friend
    +
    + +

    exchanges the values

    +

    Exchanges the contents of the JSON value from left with those of right. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated. implemented as a friend function callable via ADL.

    +
    Parameters
    + + + +
    [in,out]leftJSON value to exchange the contents with
    [in,out]rightJSON value to exchange the contents with
    +
    +
    +

    Constant.

    +

    {The example below shows how JSON values can be swapped with swap().,swap__reference}

    +
    Since
    version 1.0.0
    + +

    Definition at line 23059 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ __pad0__

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + +
    JSON_PRIVATE_UNLESS_TESTED nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::__pad0__
    +
    +private
    +
    + +

    Definition at line 17220 of file json.hpp.

    + +
    +
    + +

    ◆ __pad1__

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + +
    JSON_PRIVATE_UNLESS_TESTED nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::__pad1__
    +
    +private
    +
    + +

    Definition at line 17252 of file json.hpp.

    + +
    +
    + +

    ◆ __pad2__

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + +
    JSON_PRIVATE_UNLESS_TESTED nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::__pad2__
    +
    +private
    +
    + +

    Definition at line 17995 of file json.hpp.

    + +
    +
    + +

    ◆ __pad3__

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    JSON_PRIVATE_UNLESS_TESTED nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::__pad3__
    +
    + +

    Definition at line 24116 of file json.hpp.

    + +
    +
    + +

    ◆ array

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + +
    array_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::array
    +
    +private
    +
    +
    + +

    ◆ binary

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + +
    binary_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary
    +
    +private
    +
    + +

    binary (stored with pointer to save storage)

    + +

    Definition at line 18001 of file json.hpp.

    + +
    +
    + +

    ◆ boolean

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + +
    boolean_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::boolean
    +
    +private
    +
    + +

    boolean

    + +

    Definition at line 18003 of file json.hpp.

    + +
    +
    + +

    ◆ m_value

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + +
    json_value nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::m_value = {}
    +
    +
    + +

    ◆ number_float

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + +
    number_float_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::number_float
    +
    +private
    +
    + +

    number (floating-point)

    + +

    Definition at line 18009 of file json.hpp.

    + +
    +
    + +

    ◆ number_integer

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + +
    number_integer_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::number_integer
    +
    +private
    +
    + +

    number (integer)

    + +

    Definition at line 18005 of file json.hpp.

    + +
    +
    + +

    ◆ number_unsigned

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + +
    number_unsigned_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::number_unsigned
    +
    +private
    +
    + +

    number (unsigned integer)

    + +

    Definition at line 18007 of file json.hpp.

    + +
    +
    + +

    ◆ string

    + +
    +
    +
    +template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
    + + + + + +
    + + + + +
    string_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::string
    +
    +private
    +
    + +

    string (stored with pointer to save storage)

    + +

    Definition at line 17999 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/d9/dcc/classnlohmann_1_1basic__json.js b/docs/d9/dcc/classnlohmann_1_1basic__json.js new file mode 100644 index 00000000..87df3ba1 --- /dev/null +++ b/docs/d9/dcc/classnlohmann_1_1basic__json.js @@ -0,0 +1,306 @@ +var classnlohmann_1_1basic__json = +[ + [ "allocator_type", "d9/dcc/classnlohmann_1_1basic__json.html#ad38ae80f1e99d4b1f33c99fea4611457", null ], + [ "array_t", "d9/dcc/classnlohmann_1_1basic__json.html#a858c1cf8407bc06494e3a1114a3b73e7", null ], + [ "basic_json_t", "d9/dcc/classnlohmann_1_1basic__json.html#a125c0afa5f3599949b0589ef7b4aa322", null ], + [ "binary_reader", "d9/dcc/classnlohmann_1_1basic__json.html#a6c26be4635e562ebae8b9a142f9538b4", null ], + [ "binary_t", "d9/dcc/classnlohmann_1_1basic__json.html#ad6c955145bebde84d93991ffed7cd389", null ], + [ "binary_writer", "d9/dcc/classnlohmann_1_1basic__json.html#ab483f21649bd170f593ec58044cd68a6", null ], + [ "boolean_t", "d9/dcc/classnlohmann_1_1basic__json.html#a44fd1a12c9c54623c942b430e7a72937", null ], + [ "cbor_tag_handler_t", "d9/dcc/classnlohmann_1_1basic__json.html#a54951d14f0dd10cc3cfdaa24f8bfd15c", null ], + [ "const_iterator", "d9/dcc/classnlohmann_1_1basic__json.html#aebd2cfa7e4ded4e97cde9269bfeeea38", null ], + [ "const_pointer", "d9/dcc/classnlohmann_1_1basic__json.html#a4108c5148f1d7cf13c2681e22f141a10", null ], + [ "const_reference", "d9/dcc/classnlohmann_1_1basic__json.html#ab8a1c33ee7b154fc41ca2545aa9724e6", null ], + [ "const_reverse_iterator", "d9/dcc/classnlohmann_1_1basic__json.html#aa7dba16ed9ee97380aeb17a207dd919a", null ], + [ "difference_type", "d9/dcc/classnlohmann_1_1basic__json.html#a3d20d11e5dfe95084a76f62eca54fadd", null ], + [ "error_handler_t", "d9/dcc/classnlohmann_1_1basic__json.html#a1e7ca76cc3f62626b380be5e18a002d5", null ], + [ "exception", "d9/dcc/classnlohmann_1_1basic__json.html#a14824c27188d2fee4861806cd5f23d22", null ], + [ "initializer_list_t", "d9/dcc/classnlohmann_1_1basic__json.html#ac569f292a070dfd2f6b69c16e746095a", null ], + [ "input_format_t", "d9/dcc/classnlohmann_1_1basic__json.html#a211cf53702226ad9fb3c939a3a3d3689", null ], + [ "internal_iterator", "d9/dcc/classnlohmann_1_1basic__json.html#abe6f1016de5097691cbfdbb989267718", null ], + [ "invalid_iterator", "d9/dcc/classnlohmann_1_1basic__json.html#a6ccc9788413fd58de998fe92743cb4aa", null ], + [ "iter_impl", "d9/dcc/classnlohmann_1_1basic__json.html#a7b03055088a8e9770680ee975fb8ba55", null ], + [ "iteration_proxy", "d9/dcc/classnlohmann_1_1basic__json.html#ae2ce7eec3ae7e7b903e0344e89f0512b", null ], + [ "iterator", "d9/dcc/classnlohmann_1_1basic__json.html#aa549b2b382916b3baafb526e5cb410bd", null ], + [ "json_pointer", "d9/dcc/classnlohmann_1_1basic__json.html#aa8f1f93b32da01b42413643be32b2c27", null ], + [ "json_reverse_iterator", "d9/dcc/classnlohmann_1_1basic__json.html#a556d91bc2228135b27eb189e5a90ea4c", null ], + [ "json_sax_t", "d9/dcc/classnlohmann_1_1basic__json.html#a164b1094a1a9feb54e400d8510bb0b12", null ], + [ "json_serializer", "d9/dcc/classnlohmann_1_1basic__json.html#ad6ebc5da7ced975bb184133750e7d49f", null ], + [ "number_float_t", "d9/dcc/classnlohmann_1_1basic__json.html#a5b8abaebd922d82d69756327c0c347e6", null ], + [ "number_integer_t", "d9/dcc/classnlohmann_1_1basic__json.html#a11e390944da90db83089eb2426a749d3", null ], + [ "number_unsigned_t", "d9/dcc/classnlohmann_1_1basic__json.html#ae09af9c23351b7245d9be4d1b2035fef", null ], + [ "object_comparator_t", "d9/dcc/classnlohmann_1_1basic__json.html#ac26c2e8d6bcaccde372ceedd81851200", null ], + [ "object_t", "d9/dcc/classnlohmann_1_1basic__json.html#aef3ff5a73597850597d1d40db9edd376", null ], + [ "other_error", "d9/dcc/classnlohmann_1_1basic__json.html#a6fc373c99facc37aadbc5651b3d6631d", null ], + [ "out_of_range", "d9/dcc/classnlohmann_1_1basic__json.html#a2251d8523fa6d16c0fba6388ffa2ef8c", null ], + [ "output_adapter_t", "d9/dcc/classnlohmann_1_1basic__json.html#ac4927a4f303011cd45b99f2a7c18c866", null ], + [ "parse_error", "d9/dcc/classnlohmann_1_1basic__json.html#a555b05e9da63d486126759922685a37a", null ], + [ "parse_event_t", "d9/dcc/classnlohmann_1_1basic__json.html#a24086b03c5c063849df0307f78c41c54", null ], + [ "parser_callback_t", "d9/dcc/classnlohmann_1_1basic__json.html#a0273d074462644e5d5a7ff313ad0d742", null ], + [ "pointer", "d9/dcc/classnlohmann_1_1basic__json.html#a42e5c23402f4c2e1df487e1d102bc5fa", null ], + [ "primitive_iterator_t", "d9/dcc/classnlohmann_1_1basic__json.html#ae2cb9166f46abfc6d3910e076410f1ca", null ], + [ "reference", "d9/dcc/classnlohmann_1_1basic__json.html#a220ae98554a76205fb7f8822d36b2d5a", null ], + [ "reverse_iterator", "d9/dcc/classnlohmann_1_1basic__json.html#a5b8c0ebedd920b507f4f7ff4e19bf3c6", null ], + [ "size_type", "d9/dcc/classnlohmann_1_1basic__json.html#a3ada29bca70b4965f6fd37ec1c8f85f7", null ], + [ "string_t", "d9/dcc/classnlohmann_1_1basic__json.html#a33593865ffb1860323dcbd52425b90c8", null ], + [ "type_error", "d9/dcc/classnlohmann_1_1basic__json.html#ace5bf851eafe85bd6332f978991bc11c", null ], + [ "value_t", "d9/dcc/classnlohmann_1_1basic__json.html#ac68cb65a7f3517f0c5b1d3a4967406ad", null ], + [ "value_type", "d9/dcc/classnlohmann_1_1basic__json.html#a57c816a20c1d3ccc9bbc2972829da847", null ], + [ "basic_json", "d9/dcc/classnlohmann_1_1basic__json.html#a19734fbc9c97d536832892ddacd6b62a", null ], + [ "basic_json", "d9/dcc/classnlohmann_1_1basic__json.html#ace6fbaf6c64f60b61922b5c9d3e61aa6", null ], + [ "basic_json", "d9/dcc/classnlohmann_1_1basic__json.html#a232bddcef573bde8777a6a87da0048dd", null ], + [ "basic_json", "d9/dcc/classnlohmann_1_1basic__json.html#a40738eb9cb8c5a9ca14ae4b697c29f8e", null ], + [ "basic_json", "d9/dcc/classnlohmann_1_1basic__json.html#aeac617faf3448d6d2cb33a020be01d37", null ], + [ "basic_json", "d9/dcc/classnlohmann_1_1basic__json.html#afbccea367512a87b5d76e2bd92c5cc85", null ], + [ "basic_json", "d9/dcc/classnlohmann_1_1basic__json.html#a23e540f473d32f1cf5d3243ea3ad495e", null ], + [ "basic_json", "d9/dcc/classnlohmann_1_1basic__json.html#a28524e9c443076ea6dccff8e391354ed", null ], + [ "basic_json", "d9/dcc/classnlohmann_1_1basic__json.html#a603be713183ad63dd8c9e1052c606004", null ], + [ "basic_json", "d9/dcc/classnlohmann_1_1basic__json.html#a642afd9d8886e0dedfc0d5cee2baf57f", null ], + [ "~basic_json", "d9/dcc/classnlohmann_1_1basic__json.html#a60b643c02a19fa52f99db8215ff58e0f", null ], + [ "accept", "d9/dcc/classnlohmann_1_1basic__json.html#a32872afe5bfd040777e3e2bb85f0ca55", null ], + [ "accept", "d9/dcc/classnlohmann_1_1basic__json.html#a47fb596473649332185aedb0a8a6ccc5", null ], + [ "accept", "d9/dcc/classnlohmann_1_1basic__json.html#a6d9e85910b91d02f6807b69b61690a4b", null ], + [ "array", "d9/dcc/classnlohmann_1_1basic__json.html#a2c8d8f5741aedadac8f3bffd8f2ce13e", null ], + [ "assert_invariant", "d9/dcc/classnlohmann_1_1basic__json.html#a2ef98c6797810a551296191fc72e2b9e", null ], + [ "at", "d9/dcc/classnlohmann_1_1basic__json.html#a52b18a5b7e68652c65b070900c438c6e", null ], + [ "at", "d9/dcc/classnlohmann_1_1basic__json.html#aeb18fe2b8a5dbff4ccf2848de854c3ac", null ], + [ "at", "d9/dcc/classnlohmann_1_1basic__json.html#a239e942da82f2597d0cf5ec806f5bc0d", null ], + [ "at", "d9/dcc/classnlohmann_1_1basic__json.html#a229964ee10c92ba89ae4fba786fe6b50", null ], + [ "at", "d9/dcc/classnlohmann_1_1basic__json.html#aa014a978f8b6c085db8825faa8dad320", null ], + [ "at", "d9/dcc/classnlohmann_1_1basic__json.html#a8284b9c1d4d0830151eaa000f907b2e6", null ], + [ "back", "d9/dcc/classnlohmann_1_1basic__json.html#a30914ad0767ccdc3633f88a906ed7dfa", null ], + [ "back", "d9/dcc/classnlohmann_1_1basic__json.html#aac965b84ea43ccd8aef9caefef02794a", null ], + [ "begin", "d9/dcc/classnlohmann_1_1basic__json.html#a23b495b4c282e4afacf382f5b49af7c7", null ], + [ "begin", "d9/dcc/classnlohmann_1_1basic__json.html#a4f147be16fcde9f510c4aac89ab511c9", null ], + [ "binary", "d9/dcc/classnlohmann_1_1basic__json.html#a3d255dbe024ce2d0fdfb1b4837629091", null ], + [ "binary", "d9/dcc/classnlohmann_1_1basic__json.html#acd2c506b279049f7d92ad7ae10a2f12b", null ], + [ "binary", "d9/dcc/classnlohmann_1_1basic__json.html#ab085777bbfbfac5a472120b991ef5cf3", null ], + [ "binary", "d9/dcc/classnlohmann_1_1basic__json.html#a012e375f4016b89444c528ed46cce3af", null ], + [ "cbegin", "d9/dcc/classnlohmann_1_1basic__json.html#ae508c13e3ad6ce445bcaf24a2bc7d039", null ], + [ "cend", "d9/dcc/classnlohmann_1_1basic__json.html#a3017cf0f1a4673e904e34cfef62e7758", null ], + [ "clear", "d9/dcc/classnlohmann_1_1basic__json.html#a946cc8f30d8b1d6609b57387b647fe53", null ], + [ "contains", "d9/dcc/classnlohmann_1_1basic__json.html#a02c9bc4d0f33b7dec20b2798301d6971", null ], + [ "contains", "d9/dcc/classnlohmann_1_1basic__json.html#adb82c1f34c73486e013da71ae369e597", null ], + [ "count", "d9/dcc/classnlohmann_1_1basic__json.html#aba5ec6d1e37eda6b11eba491a1e5237e", null ], + [ "crbegin", "d9/dcc/classnlohmann_1_1basic__json.html#a044298d189bdf7e4b36492de9811ddd6", null ], + [ "create", "d9/dcc/classnlohmann_1_1basic__json.html#ac53c5c09feafe34cc8a3a9f0b90f4792", null ], + [ "crend", "d9/dcc/classnlohmann_1_1basic__json.html#a223480466a0922267d680ec8f0722d58", null ], + [ "destroy", "d9/dcc/classnlohmann_1_1basic__json.html#adca9bb93a7bfa43bdae38dd8493cc042", null ], + [ "diff", "d9/dcc/classnlohmann_1_1basic__json.html#a1c1f21327df91a4dd6c5f5a107240385", null ], + [ "dump", "d9/dcc/classnlohmann_1_1basic__json.html#a476756fb08e7f2416aad116d137977f4", null ], + [ "emplace", "d9/dcc/classnlohmann_1_1basic__json.html#ac479e609cbd03948bd3e85fb441b66e5", null ], + [ "emplace_back", "d9/dcc/classnlohmann_1_1basic__json.html#a15c0a5db4fb12d49433801bbe6436bfb", null ], + [ "empty", "d9/dcc/classnlohmann_1_1basic__json.html#a5c99855f3e35ff35558cb46139b785f8", null ], + [ "end", "d9/dcc/classnlohmann_1_1basic__json.html#a931267ec3f09eb67e4382f321b2c52bc", null ], + [ "end", "d9/dcc/classnlohmann_1_1basic__json.html#a82b5b96f86879a3bac0c713d33178551", null ], + [ "erase", "d9/dcc/classnlohmann_1_1basic__json.html#a494632b69bbe1d0153d3bedad0901b8e", null ], + [ "erase", "d9/dcc/classnlohmann_1_1basic__json.html#a8ac83750e267e37d5d47591eb44cce42", null ], + [ "erase", "d9/dcc/classnlohmann_1_1basic__json.html#af72b1c9d1502b02a49a0cb9db9f980ea", null ], + [ "erase", "d9/dcc/classnlohmann_1_1basic__json.html#a221b943d3228488c14225e55f726cc26", null ], + [ "find", "d9/dcc/classnlohmann_1_1basic__json.html#acdf9b3aab82dcf443dd91ca5ec06b80c", null ], + [ "find", "d9/dcc/classnlohmann_1_1basic__json.html#a17a516671c29a69bb2e11ca12030316b", null ], + [ "flatten", "d9/dcc/classnlohmann_1_1basic__json.html#ab7aa6e048e659481a036f2d872c7cba6", null ], + [ "from_bson", "d9/dcc/classnlohmann_1_1basic__json.html#a4e02793f2691aa29ab7cb69fddafbf5c", null ], + [ "from_bson", "d9/dcc/classnlohmann_1_1basic__json.html#a4118d0ec23d9eeafc236b9524d220e94", null ], + [ "from_bson", "d9/dcc/classnlohmann_1_1basic__json.html#ae2612581e4788ddffc2f45d5e4cc04fc", null ], + [ "from_bson", "d9/dcc/classnlohmann_1_1basic__json.html#a2afe89884edf72412a0624982324755d", null ], + [ "from_cbor", "d9/dcc/classnlohmann_1_1basic__json.html#a44dd5635fb2da4710f6cd6e42b72773f", null ], + [ "from_cbor", "d9/dcc/classnlohmann_1_1basic__json.html#aba4f6fc79cc405fb212ea3d992334e71", null ], + [ "from_cbor", "d9/dcc/classnlohmann_1_1basic__json.html#a188755c8cda27e2afb03c016c14125d8", null ], + [ "from_cbor", "d9/dcc/classnlohmann_1_1basic__json.html#a4a67e47f4bcde55214475f47f8314c1f", null ], + [ "from_msgpack", "d9/dcc/classnlohmann_1_1basic__json.html#adbcab52fca1e25b3311ef14e71a57590", null ], + [ "from_msgpack", "d9/dcc/classnlohmann_1_1basic__json.html#a94dbeb08bcd13821512957dcbf3f00bd", null ], + [ "from_msgpack", "d9/dcc/classnlohmann_1_1basic__json.html#a0d69d3102639759d5202a6f764760d23", null ], + [ "from_msgpack", "d9/dcc/classnlohmann_1_1basic__json.html#a84b3d89de8e774a2609dc4c0a1273f62", null ], + [ "from_ubjson", "d9/dcc/classnlohmann_1_1basic__json.html#aa81f62db69978b90ff701f05c72e03a7", null ], + [ "from_ubjson", "d9/dcc/classnlohmann_1_1basic__json.html#a9dbb422350fed520ce8c1ca8762c0251", null ], + [ "from_ubjson", "d9/dcc/classnlohmann_1_1basic__json.html#ab6eeda23c34cee79d8d72f1a8691a8de", null ], + [ "from_ubjson", "d9/dcc/classnlohmann_1_1basic__json.html#a47201396899371881a46562bffb922da", null ], + [ "front", "d9/dcc/classnlohmann_1_1basic__json.html#a5417ca43ae5e7a3a2f82eee2d915c6ed", null ], + [ "front", "d9/dcc/classnlohmann_1_1basic__json.html#a5ac8f974c178cf9326b6765e22f50eb6", null ], + [ "get", "d9/dcc/classnlohmann_1_1basic__json.html#ad8c8d2d107c6952960ba8aa78e009284", null ], + [ "get", "d9/dcc/classnlohmann_1_1basic__json.html#a46bb02ef17ee178984313efbc2c8eb8d", null ], + [ "get_allocator", "d9/dcc/classnlohmann_1_1basic__json.html#afc55e7dca1a243b0d5011564824c0267", null ], + [ "get_binary", "d9/dcc/classnlohmann_1_1basic__json.html#aab19a246f6bcd27c195bed376cf5e138", null ], + [ "get_binary", "d9/dcc/classnlohmann_1_1basic__json.html#abbfa5532931abd2d9040cbf4d18a2ca7", null ], + [ "get_impl", "d9/dcc/classnlohmann_1_1basic__json.html#a462f82051df2a68142c2bbd0a2798f56", null ], + [ "get_impl", "d9/dcc/classnlohmann_1_1basic__json.html#ad2e690ffeeff334640da1042c415bf65", null ], + [ "get_impl", "d9/dcc/classnlohmann_1_1basic__json.html#ae0558bf35848bc194ffae2ef4d371c2c", null ], + [ "get_impl", "d9/dcc/classnlohmann_1_1basic__json.html#a6a8e927bfe09a0410baba859cd1a04c1", null ], + [ "get_impl", "d9/dcc/classnlohmann_1_1basic__json.html#ad5462e42ebf32c2570f5ade93e4bd34e", null ], + [ "get_impl", "d9/dcc/classnlohmann_1_1basic__json.html#a0ace71470cab6d59035de18cea4fe272", null ], + [ "get_impl", "d9/dcc/classnlohmann_1_1basic__json.html#aa17b6729b79846fe460b6905eb8ece5f", null ], + [ "get_impl_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#a8b71cea6588f74f6eab6cc27ae314e5c", null ], + [ "get_impl_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#a7577c2bbaf8da92947b964ae935a57c3", null ], + [ "get_impl_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#a3bbb975975e648f0468a2b96d25debfc", null ], + [ "get_impl_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#ac59c6abb509fe0160e30800cd84b0091", null ], + [ "get_impl_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#a2c8443b36a3e3c591341a43e8f088c2d", null ], + [ "get_impl_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#ad968b5c1134f6aa22bd3c995ab227c11", null ], + [ "get_impl_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#a258ec4690664fc0ee2a06a70574995e7", null ], + [ "get_impl_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#a60a0febbb5030562424092fd134ce19d", null ], + [ "get_impl_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#ab3ac4d7aa5bf26e70df1fdb2d6a2b207", null ], + [ "get_impl_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#a12b8d90204a45d2cde4b2d22c861c384", null ], + [ "get_impl_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#aaacd6324154f273268cd75739b219347", null ], + [ "get_impl_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#a5cf0d01a7b245c82263cc73bfb070c3f", null ], + [ "get_impl_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#a3f8e91583b4d0f16eed6c690f1022a02", null ], + [ "get_impl_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#a9ad84afed3e707cd066380b12901f9db", null ], + [ "get_impl_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#a5b429e4041392a984ce5b6f85196b570", null ], + [ "get_impl_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#a38632b8b0c8c7bf4b54bd6fe782c0196", null ], + [ "get_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#ac3698ce827dcd4f0c81455461709938d", null ], + [ "get_ptr", "d9/dcc/classnlohmann_1_1basic__json.html#ae4e9a0afab117f1642b90b9607285348", null ], + [ "get_ref", "d9/dcc/classnlohmann_1_1basic__json.html#a14ddc6e0f6d70296bc81f810254076c5", null ], + [ "get_ref", "d9/dcc/classnlohmann_1_1basic__json.html#a7f0889072c54f1b899689ed6246238e7", null ], + [ "get_ref_impl", "d9/dcc/classnlohmann_1_1basic__json.html#af9091a59efebd38435cbc0583fcda777", null ], + [ "get_to", "d9/dcc/classnlohmann_1_1basic__json.html#a95c3851acd53eccd620b0d82855c3da1", null ], + [ "get_to", "d9/dcc/classnlohmann_1_1basic__json.html#ac6fd6c12364425e4007ee4d7ecf9fefd", null ], + [ "get_to", "d9/dcc/classnlohmann_1_1basic__json.html#a8e29710c587ab852ba851b623d4efa00", null ], + [ "insert", "d9/dcc/classnlohmann_1_1basic__json.html#aeb86e8478e20d95970a8b61ff01dce3b", null ], + [ "insert", "d9/dcc/classnlohmann_1_1basic__json.html#a9c5b9de8a4a759861cb600b38a6c81b1", null ], + [ "insert", "d9/dcc/classnlohmann_1_1basic__json.html#a71e197e6cc78c3960011f68a75f8ef22", null ], + [ "insert", "d9/dcc/classnlohmann_1_1basic__json.html#a8137d5471edcd71606e42155ed9c23e2", null ], + [ "insert", "d9/dcc/classnlohmann_1_1basic__json.html#a856b8764efd21dac4205a00fec82e09a", null ], + [ "insert", "d9/dcc/classnlohmann_1_1basic__json.html#a0181d03c6314bedcbad2e92d3676223c", null ], + [ "insert_iterator", "d9/dcc/classnlohmann_1_1basic__json.html#ab5c8034e997c5b852b92bdc6a3f70994", null ], + [ "is_array", "d9/dcc/classnlohmann_1_1basic__json.html#ab5b70d60a636b9c5e10f6c8caac60b9e", null ], + [ "is_binary", "d9/dcc/classnlohmann_1_1basic__json.html#a9576224f7b3ff812a308e7c1e784ea80", null ], + [ "is_boolean", "d9/dcc/classnlohmann_1_1basic__json.html#a911b11e855e685fa59ea1d111490b36b", null ], + [ "is_discarded", "d9/dcc/classnlohmann_1_1basic__json.html#aecaaa0613d3f3a5b49b34b02afc5f85d", null ], + [ "is_null", "d9/dcc/classnlohmann_1_1basic__json.html#aedc7afad96292b5ab61a2e0ad3067f5f", null ], + [ "is_number", "d9/dcc/classnlohmann_1_1basic__json.html#abd47ac8eba63833152795280f75b5851", null ], + [ "is_number_float", "d9/dcc/classnlohmann_1_1basic__json.html#a116cdb9300b56519fc9cf756609296cb", null ], + [ "is_number_integer", "d9/dcc/classnlohmann_1_1basic__json.html#ac4b4acf2c0ad075c0dc125a65c102362", null ], + [ "is_number_unsigned", "d9/dcc/classnlohmann_1_1basic__json.html#a5493f2ed1e07b0ece428bd5a47e2fb95", null ], + [ "is_object", "d9/dcc/classnlohmann_1_1basic__json.html#a57e8411a770a6263d6d8f2116c37f3aa", null ], + [ "is_primitive", "d9/dcc/classnlohmann_1_1basic__json.html#a548d2d4013da24e7d7510d90febc80c4", null ], + [ "is_string", "d9/dcc/classnlohmann_1_1basic__json.html#ab303d17366c26fca12242c7f8def1bb7", null ], + [ "is_structured", "d9/dcc/classnlohmann_1_1basic__json.html#a4e05a7d5deec758f1d830741b68b4249", null ], + [ "items", "d9/dcc/classnlohmann_1_1basic__json.html#a916a6ba75ec7624e9c6c977a52d6fd17", null ], + [ "items", "d9/dcc/classnlohmann_1_1basic__json.html#a4faaed730a81347f2f01e93f37c73823", null ], + [ "iterator_wrapper", "d9/dcc/classnlohmann_1_1basic__json.html#a22e2e5b0e68d9d7c63be2cada5187259", null ], + [ "iterator_wrapper", "d9/dcc/classnlohmann_1_1basic__json.html#a3710ff8c5a1cbedb4f75b700a8962d5c", null ], + [ "json_value", "d9/dcc/classnlohmann_1_1basic__json.html#abcfe744b08e2cd81508ce9bf7ebc86cf", null ], + [ "json_value", "d9/dcc/classnlohmann_1_1basic__json.html#a8ff30e37ec09ce661d0fed77e3e2e1f3", null ], + [ "json_value", "d9/dcc/classnlohmann_1_1basic__json.html#a3023fcecbe85032b7048499f7bfc4ada", null ], + [ "json_value", "d9/dcc/classnlohmann_1_1basic__json.html#a400ee8e0f051b9692692798906dc4654", null ], + [ "json_value", "d9/dcc/classnlohmann_1_1basic__json.html#a2e15685d39544db2bc5959705632fc04", null ], + [ "json_value", "d9/dcc/classnlohmann_1_1basic__json.html#a60041447d13e8709028a46e50219c161", null ], + [ "json_value", "d9/dcc/classnlohmann_1_1basic__json.html#a7e77b31f17b1b5f0ce72d3e6488b6d86", null ], + [ "json_value", "d9/dcc/classnlohmann_1_1basic__json.html#a2f3332829fc8117b48cba5a4a26ea76b", null ], + [ "json_value", "d9/dcc/classnlohmann_1_1basic__json.html#a8a3eb027b86f4de2de4277410ceaa454", null ], + [ "json_value", "d9/dcc/classnlohmann_1_1basic__json.html#a2544582412088703c778e882e2531af3", null ], + [ "json_value", "d9/dcc/classnlohmann_1_1basic__json.html#a80a1e2c1da21dccad6471c28facf04ec", null ], + [ "json_value", "d9/dcc/classnlohmann_1_1basic__json.html#aea49a99ac9d45c1d1bfe3912ed20ffb6", null ], + [ "json_value", "d9/dcc/classnlohmann_1_1basic__json.html#abb5466ba8f6483df6a37e040a7b32a92", null ], + [ "json_value", "d9/dcc/classnlohmann_1_1basic__json.html#a8bef6d062634dfd09e14d9a3217da8cd", null ], + [ "json_value", "d9/dcc/classnlohmann_1_1basic__json.html#a7e79daa34d13bfd8f03aae00e57649ec", null ], + [ "json_value", "d9/dcc/classnlohmann_1_1basic__json.html#ac7bb152c454b4d837d943cfb541da510", null ], + [ "max_size", "d9/dcc/classnlohmann_1_1basic__json.html#a1b46c6631e30b8394e89bd1546d69736", null ], + [ "merge_patch", "d9/dcc/classnlohmann_1_1basic__json.html#a844a77cb154752d12118f10af26d54cb", null ], + [ "meta", "d9/dcc/classnlohmann_1_1basic__json.html#a351b4f65014f6c2b8b2832847d44bbd7", null ], + [ "object", "d9/dcc/classnlohmann_1_1basic__json.html#a9a4df356e05415438fadf8a15e583903", null ], + [ "operator value_t", "d9/dcc/classnlohmann_1_1basic__json.html#a6d4b8df10ecc533a50823e8805f4a873", null ], + [ "operator ValueType", "d9/dcc/classnlohmann_1_1basic__json.html#ada1463d8d7ba77865f28f5e83dec7f33", null ], + [ "operator+=", "d9/dcc/classnlohmann_1_1basic__json.html#a40226d9c84fcb9cb948ae0c27b842c57", null ], + [ "operator+=", "d9/dcc/classnlohmann_1_1basic__json.html#af643a4baa91f484b11af0e4437183115", null ], + [ "operator+=", "d9/dcc/classnlohmann_1_1basic__json.html#ae300819781bce2193369609457f70f30", null ], + [ "operator+=", "d9/dcc/classnlohmann_1_1basic__json.html#ac48302a8b4f8c2a6e30c2a7bff6abc49", null ], + [ "operator=", "d9/dcc/classnlohmann_1_1basic__json.html#a1ae937c299f347a9dcb7f31a8e57762b", null ], + [ "operator[]", "d9/dcc/classnlohmann_1_1basic__json.html#a9ea67fc1ef0ccc42e1d5388fe0416ae5", null ], + [ "operator[]", "d9/dcc/classnlohmann_1_1basic__json.html#ad21d96f490fa1aa8605fba8dadcce319", null ], + [ "operator[]", "d9/dcc/classnlohmann_1_1basic__json.html#a3f45f3820c456ad2e3f3df2926564151", null ], + [ "operator[]", "d9/dcc/classnlohmann_1_1basic__json.html#acb5b489310f4e0ce2d5fb29b73fb59d3", null ], + [ "operator[]", "d9/dcc/classnlohmann_1_1basic__json.html#abc94831476f7b4d3efe6f2e9036c7188", null ], + [ "operator[]", "d9/dcc/classnlohmann_1_1basic__json.html#a11bbe874496eb7b29a5549e0637de59e", null ], + [ "operator[]", "d9/dcc/classnlohmann_1_1basic__json.html#a0d3deaa73b3644b4da3f8ef3172cd8d2", null ], + [ "operator[]", "d9/dcc/classnlohmann_1_1basic__json.html#a0a691c29eb7c4acd91ccb498a79cd3ee", null ], + [ "parse", "d9/dcc/classnlohmann_1_1basic__json.html#a15018ade392a844ea32d5188d1a0b9c6", null ], + [ "parse", "d9/dcc/classnlohmann_1_1basic__json.html#ad832c70af0989389a9a104c21d2d1c5c", null ], + [ "parse", "d9/dcc/classnlohmann_1_1basic__json.html#a73cf15644f04fa569f50291049d1bafd", null ], + [ "parser", "d9/dcc/classnlohmann_1_1basic__json.html#aaa5b1a16260634ed7b6c6a44f39c4d8a", null ], + [ "patch", "d9/dcc/classnlohmann_1_1basic__json.html#adcc786998f220a5b3083ee8a37c4553e", null ], + [ "push_back", "d9/dcc/classnlohmann_1_1basic__json.html#ab9e0253c92736db021840105d374c4c4", null ], + [ "push_back", "d9/dcc/classnlohmann_1_1basic__json.html#a3405d38087e13994a5a4556065b0be6d", null ], + [ "push_back", "d9/dcc/classnlohmann_1_1basic__json.html#ad704839e6a5195e3b76f22e2b9aa63ee", null ], + [ "push_back", "d9/dcc/classnlohmann_1_1basic__json.html#a4567cf75f19b1efca090f75d7a8a350a", null ], + [ "rbegin", "d9/dcc/classnlohmann_1_1basic__json.html#aff8e38cd973bc94557fa8d36433c0e4c", null ], + [ "rbegin", "d9/dcc/classnlohmann_1_1basic__json.html#aab1329f44c8301b7679962726a043549", null ], + [ "rend", "d9/dcc/classnlohmann_1_1basic__json.html#a7a328b29b290cc300345376c54f618cb", null ], + [ "rend", "d9/dcc/classnlohmann_1_1basic__json.html#a2e4cbf41d593d41847b90aea55e5e84d", null ], + [ "sax_parse", "d9/dcc/classnlohmann_1_1basic__json.html#a12b382c6407da5543827ce4b24bb5008", null ], + [ "sax_parse", "d9/dcc/classnlohmann_1_1basic__json.html#ab62241c2694a054818edf2f66d72f113", null ], + [ "sax_parse", "d9/dcc/classnlohmann_1_1basic__json.html#aef9ef0a817ecde8bf270653e8706c150", null ], + [ "set_parent", "d9/dcc/classnlohmann_1_1basic__json.html#aee080f037758ca55531e98ce93097d4c", null ], + [ "set_parents", "d9/dcc/classnlohmann_1_1basic__json.html#ade91330092a38c86ae056cca64a3647e", null ], + [ "set_parents", "d9/dcc/classnlohmann_1_1basic__json.html#accbd22113420ad6a31e375ceedc7334e", null ], + [ "size", "d9/dcc/classnlohmann_1_1basic__json.html#a33c7c8638bb0b12e6d1b69d8106dd2e0", null ], + [ "swap", "d9/dcc/classnlohmann_1_1basic__json.html#a94295a06e0e7b3867fe83afbee4cb202", null ], + [ "swap", "d9/dcc/classnlohmann_1_1basic__json.html#a76126242de262f6d38cadda19e0d13e1", null ], + [ "swap", "d9/dcc/classnlohmann_1_1basic__json.html#a57b86bdcfc55557dacc36969adb0417e", null ], + [ "swap", "d9/dcc/classnlohmann_1_1basic__json.html#aac916df9561daf4eaf2372119fe91899", null ], + [ "swap", "d9/dcc/classnlohmann_1_1basic__json.html#aa242e339ebc7583e114f2167a83f8c90", null ], + [ "swap", "d9/dcc/classnlohmann_1_1basic__json.html#a749a1f5091a5e63ccfe919e0aef986af", null ], + [ "to_bson", "d9/dcc/classnlohmann_1_1basic__json.html#aa62d64781b217372225a0652047d8cf3", null ], + [ "to_bson", "d9/dcc/classnlohmann_1_1basic__json.html#a668e4c2ad9808218a25879700f4aef2b", null ], + [ "to_bson", "d9/dcc/classnlohmann_1_1basic__json.html#a9ebed178fb7dad1a574bcb7c361fb1b8", null ], + [ "to_cbor", "d9/dcc/classnlohmann_1_1basic__json.html#adabcf74c9c868da3e04a5546b7705af4", null ], + [ "to_cbor", "d9/dcc/classnlohmann_1_1basic__json.html#a2becf604016783e5644eaa7782a08683", null ], + [ "to_cbor", "d9/dcc/classnlohmann_1_1basic__json.html#a5689672954fd3bc38f2f17e5607064c6", null ], + [ "to_msgpack", "d9/dcc/classnlohmann_1_1basic__json.html#a99b15bcaee410426b937eacc6e47d771", null ], + [ "to_msgpack", "d9/dcc/classnlohmann_1_1basic__json.html#aa8fe46eda86f6f92c5599c20b6c81819", null ], + [ "to_msgpack", "d9/dcc/classnlohmann_1_1basic__json.html#aca5dc0fca52131f3a634372120abfbe7", null ], + [ "to_ubjson", "d9/dcc/classnlohmann_1_1basic__json.html#a25355b9719db23b189fb5f6a8f4f16c4", null ], + [ "to_ubjson", "d9/dcc/classnlohmann_1_1basic__json.html#a19dad92c4fe9e6a289a93195e1230e97", null ], + [ "to_ubjson", "d9/dcc/classnlohmann_1_1basic__json.html#a6d133cf7b2e729e9e215edeba5726116", null ], + [ "type", "d9/dcc/classnlohmann_1_1basic__json.html#a5b7c4b35a0ad9f97474912a08965d7ad", null ], + [ "type_name", "d9/dcc/classnlohmann_1_1basic__json.html#a459dbfcd47bd632ca82ca8ff8db278c8", null ], + [ "unflatten", "d9/dcc/classnlohmann_1_1basic__json.html#adea158bff8642202420898f6322da479", null ], + [ "update", "d9/dcc/classnlohmann_1_1basic__json.html#a377819905d567f6f523dcbc592cb6356", null ], + [ "update", "d9/dcc/classnlohmann_1_1basic__json.html#a9f9e5f668474280acc9bd7f5410b9392", null ], + [ "value", "d9/dcc/classnlohmann_1_1basic__json.html#a11641b35219676b225d9bd15c7677659", null ], + [ "value", "d9/dcc/classnlohmann_1_1basic__json.html#adcfdefe95d5c2471a5c97e911d46ee88", null ], + [ "value", "d9/dcc/classnlohmann_1_1basic__json.html#a36bd6765ccd8aeeeb4e49a766ba639df", null ], + [ "value", "d9/dcc/classnlohmann_1_1basic__json.html#a4658a584571c4180656f5268969ed0a1", null ], + [ "::nlohmann::detail::binary_reader", "d9/dcc/classnlohmann_1_1basic__json.html#aa226ed5103dfd10e27e562d35a3a106b", null ], + [ "::nlohmann::detail::binary_writer", "d9/dcc/classnlohmann_1_1basic__json.html#a69d491bbda88ade6d3c7a2b11309e8bf", null ], + [ "::nlohmann::detail::exception", "d9/dcc/classnlohmann_1_1basic__json.html#abdcb15d025676b4d3db0f32a50f4393f", null ], + [ "::nlohmann::detail::iter_impl", "d9/dcc/classnlohmann_1_1basic__json.html#a842e5c7ca096025c18b11e715d3401f4", null ], + [ "::nlohmann::detail::json_sax_dom_callback_parser", "d9/dcc/classnlohmann_1_1basic__json.html#a95574da8d12905ea99dc348934c837da", null ], + [ "::nlohmann::detail::json_sax_dom_parser", "d9/dcc/classnlohmann_1_1basic__json.html#a47aabb1eceae32e8a6e8e7f0ff34be60", null ], + [ "::nlohmann::detail::parser", "d9/dcc/classnlohmann_1_1basic__json.html#ac8f3125911eb018ef4ab00d879487baf", null ], + [ "detail::external_constructor", "d9/dcc/classnlohmann_1_1basic__json.html#a6275ed57bae6866cdf5db5370a7ad47c", null ], + [ "operator!=", "d9/dcc/classnlohmann_1_1basic__json.html#a6e2e21da48f5d9471716cd868a068327", null ], + [ "operator!=", "d9/dcc/classnlohmann_1_1basic__json.html#a4d581dc2ab78091885f9af24d13749dc", null ], + [ "operator!=", "d9/dcc/classnlohmann_1_1basic__json.html#aa9861979059799375c0fff68174610ba", null ], + [ "operator<", "d9/dcc/classnlohmann_1_1basic__json.html#aacd442b66140c764c594ac8ad7dfd5b3", null ], + [ "operator<", "d9/dcc/classnlohmann_1_1basic__json.html#a52907b78829a55473f2548530cf2c1c7", null ], + [ "operator<", "d9/dcc/classnlohmann_1_1basic__json.html#a71f65ff3abee4c140e27ca64fa327973", null ], + [ "operator<<", "d9/dcc/classnlohmann_1_1basic__json.html#a5e34c5435e557d0bf666bd7311211405", null ], + [ "operator<<", "d9/dcc/classnlohmann_1_1basic__json.html#a60ca396028b8d9714c6e10efbf475af6", null ], + [ "operator<=", "d9/dcc/classnlohmann_1_1basic__json.html#a5c8bb5200f5eac10d31e26be46e5b1ac", null ], + [ "operator<=", "d9/dcc/classnlohmann_1_1basic__json.html#ae7bce6989e2bf72aa0784ca6755e22a9", null ], + [ "operator<=", "d9/dcc/classnlohmann_1_1basic__json.html#a4e96b98c1f8dfccaaa94aa0d5e77427c", null ], + [ "operator==", "d9/dcc/classnlohmann_1_1basic__json.html#a122640e7e2db1814fc7bbb3c122ec76e", null ], + [ "operator==", "d9/dcc/classnlohmann_1_1basic__json.html#a107a085c92ec4e062d1185b2d09c7978", null ], + [ "operator==", "d9/dcc/classnlohmann_1_1basic__json.html#a24ae7acd5b06ae49cfe1c94633436b68", null ], + [ "operator>", "d9/dcc/classnlohmann_1_1basic__json.html#a87db51b6b936fb2ea293cdbc8702dcb8", null ], + [ "operator>", "d9/dcc/classnlohmann_1_1basic__json.html#a9ea8e0e86820fcb3ab0fc937d41226e7", null ], + [ "operator>", "d9/dcc/classnlohmann_1_1basic__json.html#a67771044f08fd07105b34667615d9e0e", null ], + [ "operator>=", "d9/dcc/classnlohmann_1_1basic__json.html#a74a943800c7f103d0990d7eef82c6453", null ], + [ "operator>=", "d9/dcc/classnlohmann_1_1basic__json.html#ab83d11de4db25633f93e067aa218cae9", null ], + [ "operator>=", "d9/dcc/classnlohmann_1_1basic__json.html#a94c61e0128f0794e7a34e1aecee5c445", null ], + [ "operator>>", "d9/dcc/classnlohmann_1_1basic__json.html#a34d6a60dd99e9f33b8273a1c8db5669b", null ], + [ "operator>>", "d9/dcc/classnlohmann_1_1basic__json.html#aaf363408931d76472ded14017e59c9e8", null ], + [ "swap", "d9/dcc/classnlohmann_1_1basic__json.html#aee0ae36cbfb0336832ebc0374c3c7679", null ], + [ "__pad0__", "d9/dcc/classnlohmann_1_1basic__json.html#a501740b004225f4c948e657c9e6e539e", null ], + [ "__pad1__", "d9/dcc/classnlohmann_1_1basic__json.html#a834674252ca19c65b24963d28eb8932d", null ], + [ "__pad2__", "d9/dcc/classnlohmann_1_1basic__json.html#ab85f42065b70594c15de42e1f0870fba", null ], + [ "__pad3__", "d9/dcc/classnlohmann_1_1basic__json.html#aa52fb28bbfe1d5484808cad53c35d76c", null ], + [ "array", "d9/dcc/classnlohmann_1_1basic__json.html#ad2b075c694e4564c9742d2c8db7c7c5f", null ], + [ "binary", "d9/dcc/classnlohmann_1_1basic__json.html#a9a4a1bb634091c7ebd66c4e989ed469d", null ], + [ "boolean", "d9/dcc/classnlohmann_1_1basic__json.html#a7386443608348fa4b451f033a1439074", null ], + [ "m_value", "d9/dcc/classnlohmann_1_1basic__json.html#a72f1c0ede41f166429ce3fe7c2ffefc0", null ], + [ "number_float", "d9/dcc/classnlohmann_1_1basic__json.html#abe229fa4c3b1f3536c7a85ab9cbff2e7", null ], + [ "number_integer", "d9/dcc/classnlohmann_1_1basic__json.html#ad88685d4cc24d7e86ddc5b0edb64192a", null ], + [ "number_unsigned", "d9/dcc/classnlohmann_1_1basic__json.html#a077b1e7977afafb97a6a38a3a617ba66", null ], + [ "string", "d9/dcc/classnlohmann_1_1basic__json.html#ac32019eb29dc7bb4c326a233e0e2f0cb", null ] +]; \ No newline at end of file diff --git a/docs/d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html b/docs/d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html new file mode 100644 index 00000000..fe4f8451 --- /dev/null +++ b/docs/d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html @@ -0,0 +1,165 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + +

    +Public Types

    using value_t = std::true_type
     
    using type = Op< Args... >
     
    +

    Detailed Description

    +

    template<class Default, template< class... > class Op, class... Args>
    +struct nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >

    + + +

    Definition at line 3301 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ type

    + +
    +
    +
    +template<class Default , template< class... > class Op, class... Args>
    + + + + +
    using nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >::type = Op<Args...>
    +
    + +

    Definition at line 3304 of file json.hpp.

    + +
    +
    + +

    ◆ value_t

    + +
    +
    +
    +template<class Default , template< class... > class Op, class... Args>
    + + + + +
    using nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >::value_t = std::true_type
    +
    + +

    Definition at line 3303 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.js b/docs/d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.js new file mode 100644 index 00000000..57466945 --- /dev/null +++ b/docs/d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.js @@ -0,0 +1,5 @@ +var structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4 = +[ + [ "type", "d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html#a5afd6a40e94dde21d120ac646468c495", null ], + [ "value_t", "d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html#ab748f9f00bb31bee4978a033589f8c85", null ] +]; \ No newline at end of file diff --git a/docs/d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html b/docs/d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html new file mode 100644 index 00000000..626fc486 --- /dev/null +++ b/docs/d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html @@ -0,0 +1,178 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Public Types

    using serializer = typename BasicJsonType::template json_serializer< T, void >
     
    + + + +

    +Static Public Attributes

    static constexpr bool value
     
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename T>
    +struct nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >

    + + +

    Definition at line 3534 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ serializer

    + +
    +
    +
    +template<typename BasicJsonType , typename T >
    + + + + +
    using nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer = typename BasicJsonType::template json_serializer<T, void>
    +
    + +

    Definition at line 3536 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ value

    + +
    +
    +
    +template<typename BasicJsonType , typename T >
    + + + + + +
    + + + + +
    constexpr bool nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value
    +
    +static
    +
    +Initial value: +

    Definition at line 3538 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.js b/docs/d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.js new file mode 100644 index 00000000..9b32e9ce --- /dev/null +++ b/docs/d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.js @@ -0,0 +1,5 @@ +var structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c = +[ + [ "serializer", "d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html#a7af8dd95a01e7ca32f10075c9934b107", null ], + [ "value", "d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html#a25600efc3dbab20cebe1a90f97505d6a", null ] +]; \ No newline at end of file diff --git a/docs/d9/de2/classcudnn__frontend_1_1OperationBuilder__v8__coll__graph.map b/docs/d9/de2/classcudnn__frontend_1_1OperationBuilder__v8__coll__graph.map index eb2120e4..bd2cd497 100644 --- a/docs/d9/de2/classcudnn__frontend_1_1OperationBuilder__v8__coll__graph.map +++ b/docs/d9/de2/classcudnn__frontend_1_1OperationBuilder__v8__coll__graph.map @@ -1,5 +1,5 @@ - + diff --git a/docs/d9/de2/classcudnn__frontend_1_1OperationBuilder__v8__coll__graph.md5 b/docs/d9/de2/classcudnn__frontend_1_1OperationBuilder__v8__coll__graph.md5 index 16bb38ed..79f6b44b 100644 --- a/docs/d9/de2/classcudnn__frontend_1_1OperationBuilder__v8__coll__graph.md5 +++ b/docs/d9/de2/classcudnn__frontend_1_1OperationBuilder__v8__coll__graph.md5 @@ -1 +1 @@ -6084b6c43fd6e11ced0920ac687ec913 \ No newline at end of file +d417f89aa21ada07fffbcc65889e06ba \ No newline at end of file diff --git a/docs/d9/de2/classcudnn__frontend_1_1OperationBuilder__v8__coll__graph.png b/docs/d9/de2/classcudnn__frontend_1_1OperationBuilder__v8__coll__graph.png index 3418b997..0918fef9 100644 Binary files a/docs/d9/de2/classcudnn__frontend_1_1OperationBuilder__v8__coll__graph.png and b/docs/d9/de2/classcudnn__frontend_1_1OperationBuilder__v8__coll__graph.png differ diff --git a/docs/d9/de4/classnlohmann_1_1detail_1_1output__adapter-members.html b/docs/d9/de4/classnlohmann_1_1detail_1_1output__adapter-members.html new file mode 100644 index 00000000..953425dd --- /dev/null +++ b/docs/d9/de4/classnlohmann_1_1detail_1_1output__adapter-members.html @@ -0,0 +1,106 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::output_adapter< CharType, StringType > Member List
    +
    + +
    + + + + diff --git a/docs/d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html b/docs/d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html index 42db7110..04f365f0 100644 --- a/docs/d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html +++ b/docs/d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html @@ -95,11 +95,11 @@
    Collaboration graph
    - - - - - + + + + +
    @@ -131,7 +131,7 @@

    Detailed Description

    EngineFallBackListBuilder Class Helper class used to build EngineFallBackList class

    -

    Definition at line 108 of file cudnn_frontend_EngineFallbackList.h.

    +

    Definition at line 120 of file cudnn_frontend_EngineFallbackList.h.

    Constructor & Destructor Documentation

    ◆ EngineFallbackListBuilder_v8() [1/3]

    @@ -260,9 +260,9 @@

    constructs the EngineFallbackList_v8 by calling the cudnn API Throws the appropriate error message

    -

    Definition at line 131 of file cudnn_frontend_EngineFallbackList.h.

    +

    Definition at line 144 of file cudnn_frontend_EngineFallbackList.h.

    -

    References cudnn_frontend::EngineFallbackList_v8::EngineFallbackListBuilder_v8, cudnn_frontend::get_fallback_engine_list(), cudnn_frontend::EngineFallbackList_v8::operator=(), cudnn_frontend::set_error_and_throw_exception(), cudnn_frontend::EngineConfigBuilder_v8::setEngine(), and cudnn_frontend::EngineBuilder_v8::setGlobalEngineIdx().

    +

    References cudnn_frontend::EngineFallbackList_v8::EngineFallbackListBuilder_v8, cudnn_frontend::get_fallback_engine_list(), cudnn_frontend::EngineFallbackList_v8::operator=(), cudnn_frontend::set_error_and_throw_exception(), cudnn_frontend::EngineConfigBuilder_v8::setEngine(), and cudnn_frontend::EngineBuilder_v8::setGlobalEngineIdx().

    @@ -313,7 +313,7 @@

    -

    Definition at line 167 of file cudnn_frontend_EngineFallbackList.h.

    +

    Definition at line 180 of file cudnn_frontend_EngineFallbackList.h.

    diff --git a/docs/d9/df6/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.map b/docs/d9/df6/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.map new file mode 100644 index 00000000..f25d30fb --- /dev/null +++ b/docs/d9/df6/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/d9/df6/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.md5 b/docs/d9/df6/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.md5 new file mode 100644 index 00000000..aed491fb --- /dev/null +++ b/docs/d9/df6/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.md5 @@ -0,0 +1 @@ +233c52589a4e06b49986199f2aad3886 \ No newline at end of file diff --git a/docs/d9/df6/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.png b/docs/d9/df6/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.png new file mode 100644 index 00000000..0e942079 Binary files /dev/null and b/docs/d9/df6/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4__coll__graph.png differ diff --git a/docs/da/d08/structnlohmann_1_1detail_1_1is__default__constructible__inherit__graph.map b/docs/da/d08/structnlohmann_1_1detail_1_1is__default__constructible__inherit__graph.map new file mode 100644 index 00000000..14bc493c --- /dev/null +++ b/docs/da/d08/structnlohmann_1_1detail_1_1is__default__constructible__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/da/d08/structnlohmann_1_1detail_1_1is__default__constructible__inherit__graph.md5 b/docs/da/d08/structnlohmann_1_1detail_1_1is__default__constructible__inherit__graph.md5 new file mode 100644 index 00000000..28f102f1 --- /dev/null +++ b/docs/da/d08/structnlohmann_1_1detail_1_1is__default__constructible__inherit__graph.md5 @@ -0,0 +1 @@ +c61c8283b9e088c15fc21ed14bf49983 \ No newline at end of file diff --git a/docs/da/d08/structnlohmann_1_1detail_1_1is__default__constructible__inherit__graph.png b/docs/da/d08/structnlohmann_1_1detail_1_1is__default__constructible__inherit__graph.png new file mode 100644 index 00000000..9e3a9b69 Binary files /dev/null and b/docs/da/d08/structnlohmann_1_1detail_1_1is__default__constructible__inherit__graph.png differ diff --git a/docs/da/d10/classnlohmann_1_1detail_1_1json__ref.html b/docs/da/d10/classnlohmann_1_1detail_1_1json__ref.html new file mode 100644 index 00000000..39f83f51 --- /dev/null +++ b/docs/da/d10/classnlohmann_1_1detail_1_1json__ref.html @@ -0,0 +1,587 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::json_ref< BasicJsonType > Class Template Reference + + + + + + + + + + + + + + +
    +
    +

    + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::json_ref< BasicJsonType > Class Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::json_ref< BasicJsonType >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Public Types

    using value_type = BasicJsonType
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     json_ref (value_type &&value)
     
     json_ref (const value_type &value)
     
     json_ref (std::initializer_list< json_ref > init)
     
    template<class... Args, enable_if_t< std::is_constructible< value_type, Args... >::value, int > = 0>
     json_ref (Args &&... args)
     
     json_ref (json_ref &&) noexcept=default
     
     json_ref (const json_ref &)=delete
     
    json_refoperator= (const json_ref &)=delete
     
    json_refoperator= (json_ref &&)=delete
     
     ~json_ref ()=default
     
    value_type moved_or_copied () const
     
    value_type const & operator* () const
     
    value_type const * operator-> () const
     
    + + + + + +

    +Private Attributes

    value_type owned_value = nullptr
     
    value_type const * value_ref = nullptr
     
    +

    Detailed Description

    +

    template<typename BasicJsonType>
    +class nlohmann::detail::json_ref< BasicJsonType >

    + + +

    Definition at line 3444 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ value_type

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + +
    using nlohmann::detail::json_ref< BasicJsonType >::value_type = BasicJsonType
    +
    + +

    Definition at line 13039 of file json.hpp.

    + +
    +
    +

    Constructor & Destructor Documentation

    + +

    ◆ json_ref() [1/6]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::json_ref< BasicJsonType >::json_ref (value_type && value)
    +
    +inline
    +
    + +

    Definition at line 13041 of file json.hpp.

    + +
    +
    + +

    ◆ json_ref() [2/6]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::json_ref< BasicJsonType >::json_ref (const value_typevalue)
    +
    +inline
    +
    + +

    Definition at line 13045 of file json.hpp.

    + +
    +
    + +

    ◆ json_ref() [3/6]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::json_ref< BasicJsonType >::json_ref (std::initializer_list< json_ref< BasicJsonType > > init)
    +
    +inline
    +
    + +

    Definition at line 13049 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ json_ref() [4/6]

    + +
    +
    +
    +template<typename BasicJsonType >
    +
    +template<class... Args, enable_if_t< std::is_constructible< value_type, Args... >::value, int > = 0>
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::json_ref< BasicJsonType >::json_ref (Args &&... args)
    +
    +inline
    +
    + +

    Definition at line 13056 of file json.hpp.

    + +
    +
    + +

    ◆ json_ref() [5/6]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::json_ref< BasicJsonType >::json_ref (json_ref< BasicJsonType > && )
    +
    +defaultnoexcept
    +
    + +
    +
    + +

    ◆ json_ref() [6/6]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::json_ref< BasicJsonType >::json_ref (const json_ref< BasicJsonType > & )
    +
    +delete
    +
    + +
    +
    + +

    ◆ ~json_ref()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + +
    nlohmann::detail::json_ref< BasicJsonType >::~json_ref ()
    +
    +default
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ moved_or_copied()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + +
    value_type nlohmann::detail::json_ref< BasicJsonType >::moved_or_copied () const
    +
    +inline
    +
    + +

    Definition at line 13067 of file json.hpp.

    + +
    +
    + +

    ◆ operator*()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + +
    value_type const& nlohmann::detail::json_ref< BasicJsonType >::operator* () const
    +
    +inline
    +
    + +

    Definition at line 13076 of file json.hpp.

    + +
    +
    + +

    ◆ operator->()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + +
    value_type const* nlohmann::detail::json_ref< BasicJsonType >::operator-> () const
    +
    +inline
    +
    + +

    Definition at line 13081 of file json.hpp.

    + +
    +
    + +

    ◆ operator=() [1/2]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    json_ref& nlohmann::detail::json_ref< BasicJsonType >::operator= (const json_ref< BasicJsonType > & )
    +
    +delete
    +
    + +
    +
    + +

    ◆ operator=() [2/2]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    json_ref& nlohmann::detail::json_ref< BasicJsonType >::operator= (json_ref< BasicJsonType > && )
    +
    +delete
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ owned_value

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + +
    value_type nlohmann::detail::json_ref< BasicJsonType >::owned_value = nullptr
    +
    +mutableprivate
    +
    + +

    Definition at line 13087 of file json.hpp.

    + +
    +
    + +

    ◆ value_ref

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + +
    value_type const* nlohmann::detail::json_ref< BasicJsonType >::value_ref = nullptr
    +
    +private
    +
    + +

    Definition at line 13088 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/da/d10/classnlohmann_1_1detail_1_1json__ref.js b/docs/da/d10/classnlohmann_1_1detail_1_1json__ref.js new file mode 100644 index 00000000..32e189c2 --- /dev/null +++ b/docs/da/d10/classnlohmann_1_1detail_1_1json__ref.js @@ -0,0 +1,18 @@ +var classnlohmann_1_1detail_1_1json__ref = +[ + [ "value_type", "da/d10/classnlohmann_1_1detail_1_1json__ref.html#a78d76cf288141049568c0d670ed670ef", null ], + [ "json_ref", "da/d10/classnlohmann_1_1detail_1_1json__ref.html#ae1adf5bcee8b6fa0c358710604fb1938", null ], + [ "json_ref", "da/d10/classnlohmann_1_1detail_1_1json__ref.html#a8c3eb3c6e952ed0cd7eece586ab4047c", null ], + [ "json_ref", "da/d10/classnlohmann_1_1detail_1_1json__ref.html#adfba2db547283a7c6a5df9a32e72efc5", null ], + [ "json_ref", "da/d10/classnlohmann_1_1detail_1_1json__ref.html#a8a31d6c588d6c3c06b62008fd5d36c6c", null ], + [ "json_ref", "da/d10/classnlohmann_1_1detail_1_1json__ref.html#a4ec90f097b33e7ea8ea7473b6b6c4015", null ], + [ "json_ref", "da/d10/classnlohmann_1_1detail_1_1json__ref.html#a4c68db46934e03588bbd73b00147c0dd", null ], + [ "~json_ref", "da/d10/classnlohmann_1_1detail_1_1json__ref.html#a8bcd4cfcafe952ce5140f8cb35ebe2f6", null ], + [ "moved_or_copied", "da/d10/classnlohmann_1_1detail_1_1json__ref.html#ae39e523218bf05cac3fb5b5b1cd5efb6", null ], + [ "operator*", "da/d10/classnlohmann_1_1detail_1_1json__ref.html#aa3100e41472dba02ab78ccc1607e44ab", null ], + [ "operator->", "da/d10/classnlohmann_1_1detail_1_1json__ref.html#adb652774a67829876449dc0b30637456", null ], + [ "operator=", "da/d10/classnlohmann_1_1detail_1_1json__ref.html#a98956ba676b1ae16b62346f9c4fb752e", null ], + [ "operator=", "da/d10/classnlohmann_1_1detail_1_1json__ref.html#a9a73363d9be6b300ddd30745786c50a6", null ], + [ "owned_value", "da/d10/classnlohmann_1_1detail_1_1json__ref.html#a5d7bd67a5ab713d9be1e248cf9d509cd", null ], + [ "value_ref", "da/d10/classnlohmann_1_1detail_1_1json__ref.html#a45391e581543480fc02007de08d95705", null ] +]; \ No newline at end of file diff --git a/docs/da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html b/docs/da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html new file mode 100644 index 00000000..cbce2dca --- /dev/null +++ b/docs/da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html @@ -0,0 +1,379 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::file_input_adapter Class Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::file_input_adapter Class Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::file_input_adapter:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Public Types

    using char_type = char
     
    + + + + + + + + + + + + + + + +

    +Public Member Functions

     file_input_adapter (std::FILE *f) noexcept
     
     file_input_adapter (const file_input_adapter &)=delete
     
     file_input_adapter (file_input_adapter &&) noexcept=default
     
    file_input_adapteroperator= (const file_input_adapter &)=delete
     
    file_input_adapteroperator= (file_input_adapter &&)=delete
     
     ~file_input_adapter ()=default
     
    std::char_traits< char >::int_type get_character () noexcept
     
    + + + + +

    +Private Attributes

    std::FILE * m_file
     the file pointer to read from More...
     
    +

    Detailed Description

    +

    Input adapter for stdio file access. This adapter read only 1 byte and do not use any buffer. This adapter is a very low level adapter.

    + +

    Definition at line 5260 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ char_type

    + +
    +
    + +

    Definition at line 5263 of file json.hpp.

    + +
    +
    +

    Constructor & Destructor Documentation

    + +

    ◆ file_input_adapter() [1/3]

    + +
    +
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::file_input_adapter::file_input_adapter (std::FILE * f)
    +
    +inlineexplicitnoexcept
    +
    + +

    Definition at line 5266 of file json.hpp.

    + +
    +
    + +

    ◆ file_input_adapter() [2/3]

    + +
    +
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::file_input_adapter::file_input_adapter (const file_input_adapter)
    +
    +delete
    +
    + +
    +
    + +

    ◆ file_input_adapter() [3/3]

    + +
    +
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::file_input_adapter::file_input_adapter (file_input_adapter && )
    +
    +defaultnoexcept
    +
    + +
    +
    + +

    ◆ ~file_input_adapter()

    + +
    +
    + + + + + +
    + + + + + + + +
    nlohmann::detail::file_input_adapter::~file_input_adapter ()
    +
    +default
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ get_character()

    + +
    +
    + + + + + +
    + + + + + + + +
    std::char_traits<char>::int_type nlohmann::detail::file_input_adapter::get_character ()
    +
    +inlinenoexcept
    +
    + +

    Definition at line 5277 of file json.hpp.

    + +
    +
    + +

    ◆ operator=() [1/2]

    + +
    +
    + + + + + +
    + + + + + + + + +
    file_input_adapter& nlohmann::detail::file_input_adapter::operator= (const file_input_adapter)
    +
    +delete
    +
    + +
    +
    + +

    ◆ operator=() [2/2]

    + +
    +
    + + + + + +
    + + + + + + + + +
    file_input_adapter& nlohmann::detail::file_input_adapter::operator= (file_input_adapter && )
    +
    +delete
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ m_file

    + +
    +
    + + + + + +
    + + + + +
    std::FILE* nlohmann::detail::file_input_adapter::m_file
    +
    +private
    +
    + +

    the file pointer to read from

    + +

    Definition at line 5284 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/da/d14/classnlohmann_1_1detail_1_1file__input__adapter.js b/docs/da/d14/classnlohmann_1_1detail_1_1file__input__adapter.js new file mode 100644 index 00000000..5372e244 --- /dev/null +++ b/docs/da/d14/classnlohmann_1_1detail_1_1file__input__adapter.js @@ -0,0 +1,12 @@ +var classnlohmann_1_1detail_1_1file__input__adapter = +[ + [ "char_type", "da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#ac853c96c60f93dc97433dacd98179f35", null ], + [ "file_input_adapter", "da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#aeade050f2793280503be93feff2ece5b", null ], + [ "file_input_adapter", "da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a308099b496a0cba2123a06fe99a95d02", null ], + [ "file_input_adapter", "da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a5a35c5bc8d6216ee6e4070fc4b6b0127", null ], + [ "~file_input_adapter", "da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a6977a9d721de8181253d8431a335ba63", null ], + [ "get_character", "da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a300fa4e2da1891e97eb0d85bf14cb022", null ], + [ "operator=", "da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#ad59bbc7e3f23dd74475c5cb818784e42", null ], + [ "operator=", "da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#acfd616c651d601a1dfc7fbdd6973f716", null ], + [ "m_file", "da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a164fbe2739ac97e517e22bc1fff1c174", null ] +]; \ No newline at end of file diff --git a/docs/da/d16/structnlohmann_1_1detail_1_1is__sax__coll__graph.map b/docs/da/d16/structnlohmann_1_1detail_1_1is__sax__coll__graph.map new file mode 100644 index 00000000..71fbf8ec --- /dev/null +++ b/docs/da/d16/structnlohmann_1_1detail_1_1is__sax__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/da/d16/structnlohmann_1_1detail_1_1is__sax__coll__graph.md5 b/docs/da/d16/structnlohmann_1_1detail_1_1is__sax__coll__graph.md5 new file mode 100644 index 00000000..27206476 --- /dev/null +++ b/docs/da/d16/structnlohmann_1_1detail_1_1is__sax__coll__graph.md5 @@ -0,0 +1 @@ +b69c5e2673a499edd8c5e3a531cd6da7 \ No newline at end of file diff --git a/docs/da/d16/structnlohmann_1_1detail_1_1is__sax__coll__graph.png b/docs/da/d16/structnlohmann_1_1detail_1_1is__sax__coll__graph.png new file mode 100644 index 00000000..71271261 Binary files /dev/null and b/docs/da/d16/structnlohmann_1_1detail_1_1is__sax__coll__graph.png differ diff --git a/docs/da/d1c/classnlohmann_1_1detail_1_1type__error.html b/docs/da/d1c/classnlohmann_1_1detail_1_1type__error.html new file mode 100644 index 00000000..9a296286 --- /dev/null +++ b/docs/da/d1c/classnlohmann_1_1detail_1_1type__error.html @@ -0,0 +1,307 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::type_error Class Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::type_error Class Reference
    +
    +
    + +

    exception indicating executing a member function with a wrong type + More...

    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::type_error:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::type_error:
    +
    +
    Collaboration graph
    + + + + + +
    + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static type_error create (int id_, const std::string &what_arg, const BasicJsonType &context)
     
    + + + +

    +Private Member Functions

     type_error (int id_, const char *what_arg)
     
    + + + + + + + + + + + + + + + + + + +

    +Additional Inherited Members

    - Public Member Functions inherited from nlohmann::detail::exception
    const char * what () const noexcept override
     returns the explanatory string More...
     
    - Public Attributes inherited from nlohmann::detail::exception
    const int id
     the id of the exception More...
     
    - Protected Member Functions inherited from nlohmann::detail::exception
     exception (int id_, const char *what_arg)
     
    - Static Protected Member Functions inherited from nlohmann::detail::exception
    static std::string name (const std::string &ename, int id_)
     
    template<typename BasicJsonType >
    static std::string diagnostics (const BasicJsonType &leaf_element)
     
    +

    Detailed Description

    +

    exception indicating executing a member function with a wrong type

    +

    This exception is thrown in case of a type error; that is, a library function is executed on a JSON value whose type does not match the expected semantics.

    +

    Exceptions have ids 3xx.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    name / id example message description
    json.exception.type_error.301 cannot create object from initializer list To create an object from an initializer list, the initializer list must consist only of a list of pairs whose first element is a string. When this constraint is violated, an array is created instead.
    json.exception.type_error.302 type must be object, but is array During implicit or explicit value conversion, the JSON type must be compatible to the target type. For instance, a JSON string can only be converted into string types, but not into numbers or boolean types.
    json.exception.type_error.303 incompatible ReferenceType for get_ref, actual type is object To retrieve a reference to a value stored in a basic_json object with get_ref, the type of the reference must match the value type. For instance, for a JSON array, the ReferenceType must be array_t &.
    json.exception.type_error.304 cannot use at() with string The at() member functions can only be executed for certain JSON types.
    json.exception.type_error.305 cannot use operator[] with string The operator[] member functions can only be executed for certain JSON types.
    json.exception.type_error.306 cannot use value() with string The value() member functions can only be executed for certain JSON types.
    json.exception.type_error.307 cannot use erase() with string The erase() member functions can only be executed for certain JSON types.
    json.exception.type_error.308 cannot use push_back() with string The push_back() and operator+= member functions can only be executed for certain JSON types.
    json.exception.type_error.309 cannot use insert() with The insert() member functions can only be executed for certain JSON types.
    json.exception.type_error.310 cannot use swap() with number The swap() member functions can only be executed for certain JSON types.
    json.exception.type_error.311 cannot use emplace_back() with string The emplace_back() member function can only be executed for certain JSON types.
    json.exception.type_error.312 cannot use update() with string The update() member functions can only be executed for certain JSON types.
    json.exception.type_error.313 invalid value to unflatten The unflatten function converts an object whose keys are JSON Pointers back into an arbitrary nested JSON value. The JSON Pointers must not overlap, because then the resulting value would not be well defined.
    json.exception.type_error.314 only objects can be unflattened The unflatten function only works for an object whose keys are JSON Pointers.
    json.exception.type_error.315 values in object must be primitive The unflatten function only works for an object whose keys are JSON Pointers and whose values are primitive.
    json.exception.type_error.316 invalid UTF-8 byte at index 10: 0x7E The dump function only works with UTF-8 encoded strings; that is, if you assign a std::string to a JSON value, make sure it is UTF-8 encoded.
    json.exception.type_error.317 JSON value cannot be serialized to requested format The dynamic type of the object cannot be represented in the requested serialization format (e.g. a raw true or null JSON object cannot be serialized to BSON)
    +

    {The following code shows how a type_error exception can be caught.,type_error}

    +
    See also
    - exception for the base class of the library exceptions
    +
    +- parse_error for exceptions indicating a parse error
    +
    +- invalid_iterator for exceptions indicating errors with iterators
    +
    +- out_of_range for exceptions indicating access out of the defined range
    +
    +- other_error for exceptions indicating other library errors
    +
    Since
    version 3.0.0
    + +

    Definition at line 2912 of file json.hpp.

    +

    Constructor & Destructor Documentation

    + +

    ◆ type_error()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    nlohmann::detail::type_error::type_error (int id_,
    const char * what_arg 
    )
    +
    +inlineprivate
    +
    + +

    Definition at line 2924 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ create()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static type_error nlohmann::detail::type_error::create (int id_,
    const std::stringwhat_arg,
    const BasicJsonType & context 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 2916 of file json.hpp.

    + +

    References nlohmann::detail::exception::diagnostics(), JSON_HEDLEY_NON_NULL, nlohmann::detail::exception::name(), and nlohmann::detail::string.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::emplace(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::emplace_back(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase(), nlohmann::detail::serializer< BasicJsonType >::for(), nlohmann::detail::from_json(), nlohmann::json_pointer< BasicJsonType >::get_and_create(), nlohmann::detail::get_arithmetic_value(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_binary(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ref_impl(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[](), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap(), nlohmann::json_pointer< BasicJsonType >::unflatten(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value(), nlohmann::detail::void(), and nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson().

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/da/d1c/classnlohmann_1_1detail_1_1type__error.js b/docs/da/d1c/classnlohmann_1_1detail_1_1type__error.js new file mode 100644 index 00000000..711bea41 --- /dev/null +++ b/docs/da/d1c/classnlohmann_1_1detail_1_1type__error.js @@ -0,0 +1,5 @@ +var classnlohmann_1_1detail_1_1type__error = +[ + [ "type_error", "da/d1c/classnlohmann_1_1detail_1_1type__error.html#aa01edaa0bf18b853368f0b900e485cd7", null ], + [ "create", "da/d1c/classnlohmann_1_1detail_1_1type__error.html#a838a5e301cf97289c2d106b9ace1470f", null ] +]; \ No newline at end of file diff --git a/docs/da/d1e/classcudnn__frontend_1_1Operation__v8__inherit__graph.md5 b/docs/da/d1e/classcudnn__frontend_1_1Operation__v8__inherit__graph.md5 index 932a4f84..ada4ed8d 100644 --- a/docs/da/d1e/classcudnn__frontend_1_1Operation__v8__inherit__graph.md5 +++ b/docs/da/d1e/classcudnn__frontend_1_1Operation__v8__inherit__graph.md5 @@ -1 +1 @@ -1a9ed829682a6db5a7bccff530144f7b \ No newline at end of file +e4294f198ead95203f53be8994ef7cd8 \ No newline at end of file diff --git a/docs/da/d1e/classcudnn__frontend_1_1Operation__v8__inherit__graph.png b/docs/da/d1e/classcudnn__frontend_1_1Operation__v8__inherit__graph.png index 10a2ac8c..7be1c4dd 100644 Binary files a/docs/da/d1e/classcudnn__frontend_1_1Operation__v8__inherit__graph.png and b/docs/da/d1e/classcudnn__frontend_1_1Operation__v8__inherit__graph.png differ diff --git a/docs/da/d1f/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.map b/docs/da/d1f/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.map new file mode 100644 index 00000000..339095ef --- /dev/null +++ b/docs/da/d1f/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/da/d1f/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.md5 b/docs/da/d1f/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.md5 new file mode 100644 index 00000000..0f3da545 --- /dev/null +++ b/docs/da/d1f/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.md5 @@ -0,0 +1 @@ +d7b3ec322c50e35d1eb90a2567b6526c \ No newline at end of file diff --git a/docs/da/d1f/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.png b/docs/da/d1f/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.png new file mode 100644 index 00000000..f4c8e934 Binary files /dev/null and b/docs/da/d1f/structnlohmann_1_1detail_1_1is__basic__json__inherit__graph.png differ diff --git a/docs/da/d2d/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.map b/docs/da/d2d/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.map new file mode 100644 index 00000000..eb72b56e --- /dev/null +++ b/docs/da/d2d/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/da/d2d/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.md5 b/docs/da/d2d/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.md5 new file mode 100644 index 00000000..04ef1eee --- /dev/null +++ b/docs/da/d2d/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.md5 @@ -0,0 +1 @@ +2196bf289dd64004fb5f7e4c498d39f4 \ No newline at end of file diff --git a/docs/da/d2d/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.png b/docs/da/d2d/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.png new file mode 100644 index 00000000..6b0b6a8b Binary files /dev/null and b/docs/da/d2d/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31de627e6351fc4d3947a52fbbc938280.png differ diff --git a/docs/da/d31/structnlohmann_1_1detail_1_1nonesuch.html b/docs/da/d31/structnlohmann_1_1detail_1_1nonesuch.html new file mode 100644 index 00000000..46cb3902 --- /dev/null +++ b/docs/da/d31/structnlohmann_1_1detail_1_1nonesuch.html @@ -0,0 +1,289 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::nonesuch Struct Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::nonesuch Struct Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::nonesuch:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + + + + + +

    +Public Member Functions

     nonesuch ()=delete
     
     ~nonesuch ()=delete
     
     nonesuch (nonesuch const &)=delete
     
     nonesuch (nonesuch const &&)=delete
     
    void operator= (nonesuch const &)=delete
     
    void operator= (nonesuch &&)=delete
     
    +

    Detailed Description

    +
    +

    Definition at line 3280 of file json.hpp.

    +

    Constructor & Destructor Documentation

    + +

    ◆ nonesuch() [1/3]

    + +
    +
    + + + + + +
    + + + + + + + +
    nlohmann::detail::nonesuch::nonesuch ()
    +
    +delete
    +
    + +
    +
    + +

    ◆ ~nonesuch()

    + +
    +
    + + + + + +
    + + + + + + + +
    nlohmann::detail::nonesuch::~nonesuch ()
    +
    +delete
    +
    + +
    +
    + +

    ◆ nonesuch() [2/3]

    + +
    +
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::nonesuch::nonesuch (nonesuch const & )
    +
    +delete
    +
    + +
    +
    + +

    ◆ nonesuch() [3/3]

    + +
    +
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::nonesuch::nonesuch (nonesuch const && )
    +
    +delete
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ operator=() [1/2]

    + +
    +
    + + + + + +
    + + + + + + + + +
    void nlohmann::detail::nonesuch::operator= (nonesuch const & )
    +
    +delete
    +
    + +
    +
    + +

    ◆ operator=() [2/2]

    + +
    +
    + + + + + +
    + + + + + + + + +
    void nlohmann::detail::nonesuch::operator= (nonesuch && )
    +
    +delete
    +
    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/da/d31/structnlohmann_1_1detail_1_1nonesuch.js b/docs/da/d31/structnlohmann_1_1detail_1_1nonesuch.js new file mode 100644 index 00000000..25ae4531 --- /dev/null +++ b/docs/da/d31/structnlohmann_1_1detail_1_1nonesuch.js @@ -0,0 +1,9 @@ +var structnlohmann_1_1detail_1_1nonesuch = +[ + [ "nonesuch", "da/d31/structnlohmann_1_1detail_1_1nonesuch.html#a6fe87da966856c6cb06617940d90f010", null ], + [ "~nonesuch", "da/d31/structnlohmann_1_1detail_1_1nonesuch.html#a7b1119845860e548b67f1644a2084373", null ], + [ "nonesuch", "da/d31/structnlohmann_1_1detail_1_1nonesuch.html#a563462ef2d05fe60cdf1dc7f567dc276", null ], + [ "nonesuch", "da/d31/structnlohmann_1_1detail_1_1nonesuch.html#ad7719f7d2a00263be8b8d123870217d8", null ], + [ "operator=", "da/d31/structnlohmann_1_1detail_1_1nonesuch.html#add6ef84c52a851e391cef514c85f2ffe", null ], + [ "operator=", "da/d31/structnlohmann_1_1detail_1_1nonesuch.html#a78ca022a1b4defe4f7ba662843602231", null ] +]; \ No newline at end of file diff --git a/docs/da/d53/structnlohmann_1_1detail_1_1iterator__input__adapter__factory__coll__graph.map b/docs/da/d53/structnlohmann_1_1detail_1_1iterator__input__adapter__factory__coll__graph.map new file mode 100644 index 00000000..11c40ac0 --- /dev/null +++ b/docs/da/d53/structnlohmann_1_1detail_1_1iterator__input__adapter__factory__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/da/d53/structnlohmann_1_1detail_1_1iterator__input__adapter__factory__coll__graph.md5 b/docs/da/d53/structnlohmann_1_1detail_1_1iterator__input__adapter__factory__coll__graph.md5 new file mode 100644 index 00000000..5fc254d0 --- /dev/null +++ b/docs/da/d53/structnlohmann_1_1detail_1_1iterator__input__adapter__factory__coll__graph.md5 @@ -0,0 +1 @@ +f614a0ecf1ce970821f612eea669ddd1 \ No newline at end of file diff --git a/docs/da/d53/structnlohmann_1_1detail_1_1iterator__input__adapter__factory__coll__graph.png b/docs/da/d53/structnlohmann_1_1detail_1_1iterator__input__adapter__factory__coll__graph.png new file mode 100644 index 00000000..a2839b1d Binary files /dev/null and b/docs/da/d53/structnlohmann_1_1detail_1_1iterator__input__adapter__factory__coll__graph.png differ diff --git a/docs/da/d58/deprecated.html b/docs/da/d58/deprecated.html new file mode 100644 index 00000000..7664674c --- /dev/null +++ b/docs/da/d58/deprecated.html @@ -0,0 +1,106 @@ + + + + + + + +CUDNN Frontend API: Deprecated List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Deprecated List
    +
    +
    +
    +
    Member nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::iterator_wrapper (reference ref) noexcept
    +
    This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use items() instead; that is, replace json::iterator_wrapper(j) with j.items().
    +
    Member nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator<< (basic_json &j, std::istream &i)
    +
    This stream operator is deprecated and will be removed in version 4.0.0 of the library. Please use operator>>(std::istream&, basic_json&) instead; that is, replace calls like j << i; with i >> j;.
    +
    Member nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator>> (const basic_json &j, std::ostream &o)
    +
    This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use operator<<(std::ostream&, const basic_json&) instead; that is, replace calls like j >> o; with o << j;.
    +
    +
    +
    + + + + diff --git a/docs/da/d5a/cudnn__frontend__Operation_8h.html b/docs/da/d5a/cudnn__frontend__Operation_8h.html index 7b261543..8006c9a1 100644 --- a/docs/da/d5a/cudnn__frontend__Operation_8h.html +++ b/docs/da/d5a/cudnn__frontend__Operation_8h.html @@ -98,6 +98,7 @@ #include "cudnn_frontend_ConvDesc.h"
    #include "cudnn_frontend_PointWiseDesc.h"
    #include "cudnn_frontend_MatMulDesc.h"
    +#include "cudnn_frontend_ReductionDesc.h"
    #include "cudnn_frontend_Tensor.h"
    #include "cudnn_frontend_utils.h"
    @@ -105,12 +106,13 @@
    - - - - - - + + + + + + +
    diff --git a/docs/da/d5a/cudnn__frontend__Operation_8h_source.html b/docs/da/d5a/cudnn__frontend__Operation_8h_source.html index 3785cc1b..b9dbd0bd 100644 --- a/docs/da/d5a/cudnn__frontend__Operation_8h_source.html +++ b/docs/da/d5a/cudnn__frontend__Operation_8h_source.html @@ -84,83 +84,88 @@
    cudnn_frontend_Operation.h
    -Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <algorithm>
    26 #include <array>
    27 #include <functional>
    28 #include <memory>
    29 #include <sstream>
    30 #include <utility>
    31 
    32 #include <cudnn.h>
    33 #include <cudnn_backend.h>
    34 
    38 #include "cudnn_frontend_Tensor.h"
    39 #include "cudnn_frontend_utils.h"
    40 
    41 namespace cudnn_frontend {
    66  public:
    67  friend class OperationBuilder_v8;
    68  std::string
    69  describe() const override {
    70  std::stringstream ss;
    71  ss << "CUDNN_BACKEND_OPERATION :"
    72  << " OpMode: " << std::to_string(op_mode);
    73  ss << std::hex << " X " << xdesc;
    74  ss << std::hex << " Y " << ydesc;
    75  ss << std::hex << " W " << wdesc;
    76  ss << std::hex << " B " << bdesc;
    77  ss << std::hex << " DW " << dwdesc;
    78  ss << std::hex << " DY " << dydesc;
    79  ss << std::hex << " DX " << dxdesc;
    80  ss << std::hex << " C " << cdesc;
    81  ss << std::hex << " A Mtrix " << amatdesc;
    82  ss << std::hex << " B Mtrix " << bmatdesc;
    83  ss << std::hex << " C Mtrix " << cmatdesc;
    84  ss << std::hex << " P " << pwdesc;
    85  ss << std::hex << " MatMul " << matmuldesc;
    86  ss << std::dec << " alphabetaType " << alphabetaType;
    87  ss << " Alpha: " << alpha_s << " " << alpha_d;
    88  ss << " Alpha2: " << alpha2_s << " " << alpha2_d;
    89  ss << " Beta: " << beta_s << " " << beta_d;
    90  return ss.str();
    91  }
    93  : BackendDescriptor(from.pointer, from.get_status(), from.get_error()),
    94  op_mode(from.op_mode),
    95  xdesc(from.xdesc),
    96  ydesc(from.ydesc),
    97  wdesc(from.wdesc),
    98  bdesc(from.bdesc),
    99  dydesc(from.dydesc),
    100  dxdesc(from.dxdesc),
    101  dwdesc(from.dwdesc),
    102  cdesc(from.cdesc),
    103  amatdesc(from.amatdesc),
    104  bmatdesc(from.bmatdesc),
    105  cmatdesc(from.cmatdesc),
    106  pwdesc(from.pwdesc),
    107  matmuldesc(from.matmuldesc),
    109  alpha_s(from.alpha_s),
    110  beta_s(from.beta_s),
    111  alpha2_s(from.alpha2_s),
    112  alpha_d(from.alpha_d),
    113  beta_d(from.beta_d),
    114  alpha2_d(from.alpha2_d),
    117  operationTag(from.operationTag) {}
    118 
    121  return (op_mode == CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR) ? cmatdesc : ydesc;
    122  }
    123 
    124  std::string const &
    125  getTag() const {
    126  return operationTag;
    127  }
    128 
    129  ~Operation_v8() = default;
    130 
    131  private:
    132  Operation_v8() = default;
    133  Operation_v8(Operation_v8 const &) = delete;
    134  Operation_v8 &
    135  operator=(Operation_v8 const &) = delete;
    136 
    137  cudnnBackendDescriptorType_t op_mode = CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR;
    138 
    152 
    153  cudnnBackendAttributeType_t alphabetaType = CUDNN_TYPE_FLOAT;
    154  float alpha_s = 1.0f, beta_s = .0f, alpha2_s = 1.0f;
    155  double alpha_d = 1.0, beta_d = 0.0, alpha2_d = 1.0;
    156  int64_t pointwise_port_count = -1;
    157  cudnnPointwiseMode_t pointwise_mode;
    160  bool is_pointwise_math_op = false;
    161  std::string operationTag;
    162 };
    163 
    167 
    169  private:
    171  bool is_convolution_op = false;
    172  bool is_pointwise_op = false;
    173  bool is_matmul_op = false;
    174 
    175  public:
    180  auto
    182  m_operation.xdesc = raw_tensor;
    183  return *this;
    184  }
    185 
    186  auto
    187  setxDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 & {
    188  m_operation.xdesc = tensor.get_desc();
    189  return *this;
    190  }
    191  auto
    192  setbDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 & {
    193  if (is_pointwise_op == false) {
    195  &m_operation,
    196  CUDNN_STATUS_BAD_PARAM,
    197  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Pointwise operation does not need bTensor");
    198  }
    199  m_operation.bdesc = tensor.get_desc();
    200  return *this;
    201  }
    202  auto
    203  setyDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 & {
    204  m_operation.ydesc = tensor.get_desc();
    205  return *this;
    206  }
    207  auto
    208  setwDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 & {
    209  if (is_convolution_op == false) {
    211  &m_operation,
    212  CUDNN_STATUS_BAD_PARAM,
    213  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Convolution operation does not need wTensor");
    214  }
    215  m_operation.wdesc = tensor.get_desc();
    216  return *this;
    217  }
    218 
    219  auto
    221  m_operation.dydesc = raw_tensor;
    222  return *this;
    223  }
    224  auto
    226  m_operation.dydesc = tensor.get_desc();
    227  return *this;
    228  }
    229  auto
    231  m_operation.dxdesc = tensor.get_desc();
    232  return *this;
    233  }
    234  auto
    236  m_operation.dwdesc = tensor.get_desc();
    237  return *this;
    238  }
    239 
    240  auto
    242  if (is_convolution_op == false) {
    244  &m_operation,
    245  CUDNN_STATUS_BAD_PARAM,
    246  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Convolution operation does not need Convolution DESCRIPTOR");
    247  }
    248  m_operation.cdesc = conv.get_desc();
    249  return *this;
    250  }
    251  auto
    253  if (is_matmul_op == false) {
    255  &m_operation,
    256  CUDNN_STATUS_BAD_PARAM,
    257  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Matmul operation does not need a Matrix Tensor");
    258  }
    259  m_operation.amatdesc = tensor.get_desc();
    260  return *this;
    261  }
    262  auto
    264  if (is_matmul_op == false) {
    266  &m_operation,
    267  CUDNN_STATUS_BAD_PARAM,
    268  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Matmul operation does not need b Matrix Tensor");
    269  }
    270  m_operation.bmatdesc = tensor.get_desc();
    271  return *this;
    272  }
    273  auto
    275  if (is_matmul_op == false) {
    277  &m_operation,
    278  CUDNN_STATUS_BAD_PARAM,
    279  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Matmul operation does not need c Matrix Tensor");
    280  }
    281  m_operation.cmatdesc = tensor.get_desc();
    282  return *this;
    283  }
    284  auto
    286  if (is_matmul_op == false) {
    288  &m_operation,
    289  CUDNN_STATUS_BAD_PARAM,
    290  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Matmul operation does not need MATMUL DESCRIPTOR");
    291  }
    292  m_operation.matmuldesc = matmulDesc.get_desc();
    293  return *this;
    294  }
    295  auto
    296  setpwDesc(PointWiseDesc_v8 const &pointWiseDesc) -> OperationBuilder_v8 & {
    297  if (is_pointwise_op == false) {
    299  &m_operation,
    300  CUDNN_STATUS_BAD_PARAM,
    301  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Pointwise operation does not need POINTWISE DESCRIPTOR");
    302  }
    303  m_operation.pwdesc = pointWiseDesc.get_desc();
    304  m_operation.pointwise_port_count = pointWiseDesc.getPortCount();
    305  m_operation.pointwise_mode = pointWiseDesc.getPointWiseMode();
    306 
    307  m_operation.is_pointwise_math_op = ((m_operation.pointwise_mode == CUDNN_POINTWISE_ADD) ||
    308  (m_operation.pointwise_mode == CUDNN_POINTWISE_MUL) ||
    309  (m_operation.pointwise_mode == CUDNN_POINTWISE_MIN) ||
    310  (m_operation.pointwise_mode == CUDNN_POINTWISE_MAX) ||
    311  (m_operation.pointwise_mode == CUDNN_POINTWISE_SQRT));
    312 
    313  m_operation.is_pointwise_activation_fwd_op = ((m_operation.pointwise_mode == CUDNN_POINTWISE_RELU_FWD) ||
    314  (m_operation.pointwise_mode == CUDNN_POINTWISE_TANH_FWD) ||
    315  (m_operation.pointwise_mode == CUDNN_POINTWISE_SIGMOID_FWD) ||
    316  (m_operation.pointwise_mode == CUDNN_POINTWISE_ELU_FWD) ||
    317  (m_operation.pointwise_mode == CUDNN_POINTWISE_GELU_FWD) ||
    318  (m_operation.pointwise_mode == CUDNN_POINTWISE_SOFTPLUS_FWD) ||
    319  (m_operation.pointwise_mode == CUDNN_POINTWISE_SWISH_FWD));
    320 
    321  m_operation.is_pointwise_activation_bwd_op = ((m_operation.pointwise_mode == CUDNN_POINTWISE_RELU_BWD) ||
    322  (m_operation.pointwise_mode == CUDNN_POINTWISE_TANH_BWD) ||
    323  (m_operation.pointwise_mode == CUDNN_POINTWISE_SIGMOID_BWD) ||
    324  (m_operation.pointwise_mode == CUDNN_POINTWISE_ELU_BWD) ||
    325  (m_operation.pointwise_mode == CUDNN_POINTWISE_GELU_BWD) ||
    326  (m_operation.pointwise_mode == CUDNN_POINTWISE_SOFTPLUS_BWD) ||
    327  (m_operation.pointwise_mode == CUDNN_POINTWISE_SWISH_BWD));
    328 
    329  return *this;
    330  }
    331 
    332  auto
    333  setAlpha(float alpha) -> OperationBuilder_v8 & {
    334  m_operation.alphabetaType = CUDNN_TYPE_FLOAT;
    335  m_operation.alpha_d = static_cast<double>(alpha);
    336  m_operation.alpha_s = alpha;
    337  return *this;
    338  }
    339  auto
    340  setAlpha(double alpha) -> OperationBuilder_v8 & {
    341  m_operation.alphabetaType = CUDNN_TYPE_DOUBLE;
    342  m_operation.alpha_s = static_cast<float>(alpha);
    343  m_operation.alpha_d = alpha;
    344  return *this;
    345  }
    346  auto
    347  setAlpha2(float alpha) -> OperationBuilder_v8 & {
    348  m_operation.alphabetaType = CUDNN_TYPE_FLOAT;
    349  m_operation.alpha2_d = static_cast<double>(alpha);
    350  m_operation.alpha2_s = alpha;
    351  return *this;
    352  }
    353  auto
    354  setAlpha2(double alpha) -> OperationBuilder_v8 & {
    355  m_operation.alphabetaType = CUDNN_TYPE_DOUBLE;
    356  m_operation.alpha2_s = static_cast<float>(alpha);
    357  m_operation.alpha2_d = alpha;
    358  return *this;
    359  }
    360  auto
    361  setBeta(float beta) -> OperationBuilder_v8 & {
    362  m_operation.alphabetaType = CUDNN_TYPE_FLOAT;
    363  m_operation.beta_d = static_cast<double>(beta);
    364  m_operation.beta_s = beta;
    365  return *this;
    366  }
    367  auto
    368  setBeta(double beta) -> OperationBuilder_v8 & {
    369  m_operation.alphabetaType = CUDNN_TYPE_DOUBLE;
    370  m_operation.beta_s = static_cast<float>(beta);
    371  m_operation.beta_d = beta;
    372  return *this;
    373  }
    374 
    375  OperationBuilder_v8(cudnnBackendDescriptorType_t mode) {
    376  m_operation.op_mode = mode;
    377  is_convolution_op = ((m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR) ||
    378  (m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR) ||
    379  (m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR));
    380 
    381  is_pointwise_op = (m_operation.op_mode == CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR);
    382  is_matmul_op = (m_operation.op_mode == CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR);
    383  }
    386  Operation_v8 &&
    389  build() {
    390  if (m_operation.status != CUDNN_STATUS_SUCCESS) {
    392  &m_operation, m_operation.status, "CUDNN_BACKEND_OPERATION: Operation not initialized properly");
    393  return std::move(m_operation);
    394  }
    395 
    396  if (is_convolution_op) {
    397  if (m_operation.cdesc == nullptr) {
    399  &m_operation,
    400  CUDNN_STATUS_BAD_PARAM,
    401  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_CONVOLUTION_*_CONV_DESC");
    402  return std::move(m_operation);
    403  }
    404  if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR) {
    405  if (m_operation.xdesc == nullptr) {
    407  &m_operation,
    408  CUDNN_STATUS_BAD_PARAM,
    409  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_CONVOLUTION_*_X");
    410  return std::move(m_operation);
    411  }
    412  if (m_operation.wdesc == nullptr) {
    414  &m_operation,
    415  CUDNN_STATUS_BAD_PARAM,
    416  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_CONVOLUTION_*_W");
    417  return std::move(m_operation);
    418  }
    419  if (m_operation.ydesc == nullptr) {
    421  &m_operation,
    422  CUDNN_STATUS_BAD_PARAM,
    423  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_CONVOLUTION_*_Y");
    424  return std::move(m_operation);
    425  }
    426 
    427  } else if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR) {
    428  if (m_operation.ydesc != nullptr && m_operation.dydesc != nullptr) {
    429  set_error_and_throw_exception(&m_operation,
    430  CUDNN_STATUS_BAD_PARAM,
    431  "CUDNN_BACKEND_OPERATION: Ambiguous specification. Choose and Set "
    432  "only one of setyDesc() or setdyDesc()");
    433  return std::move(m_operation);
    434  }
    435  if (m_operation.ydesc == nullptr && m_operation.dydesc == nullptr) {
    437  &m_operation,
    438  CUDNN_STATUS_BAD_PARAM,
    439  "CUDNN_BACKEND_OPERATION: Choose and Set one of setyDesc() or setdyDesc()");
    440  return std::move(m_operation);
    441  }
    442  if (m_operation.xdesc == nullptr) {
    444  &m_operation,
    445  CUDNN_STATUS_BAD_PARAM,
    446  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_CONVOLUTION_*_X");
    447  return std::move(m_operation);
    448  }
    449  if (m_operation.wdesc != nullptr && m_operation.dwdesc != nullptr) {
    450  set_error_and_throw_exception(&m_operation,
    451  CUDNN_STATUS_BAD_PARAM,
    452  "CUDNN_BACKEND_OPERATION: Ambiguous specification. Choose and Set "
    453  "only one of setwDesc() or setdwDesc()");
    454  return std::move(m_operation);
    455  }
    456  if (m_operation.wdesc == nullptr && m_operation.dwdesc == nullptr) {
    458  &m_operation,
    459  CUDNN_STATUS_BAD_PARAM,
    460  "CUDNN_BACKEND_OPERATION: Choose and Set one of setwDesc() or setdwDesc()");
    461  return std::move(m_operation);
    462  }
    463  } else if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR) {
    464  if (m_operation.ydesc != nullptr && m_operation.dydesc != nullptr) {
    465  set_error_and_throw_exception(&m_operation,
    466  CUDNN_STATUS_BAD_PARAM,
    467  "CUDNN_BACKEND_OPERATION: Ambiguous specification. Choose and Set "
    468  "only one of setyDesc() or setdyDesc()");
    469  return std::move(m_operation);
    470  }
    471  if (m_operation.ydesc == nullptr && m_operation.dydesc == nullptr) {
    473  &m_operation,
    474  CUDNN_STATUS_BAD_PARAM,
    475  "CUDNN_BACKEND_OPERATION: Choose and Set one of setyDesc() or setdyDesc()");
    476  return std::move(m_operation);
    477  }
    478  if (m_operation.wdesc == nullptr) {
    480  &m_operation,
    481  CUDNN_STATUS_BAD_PARAM,
    482  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_CONVOLUTION_*_W");
    483  return std::move(m_operation);
    484  }
    485  if (m_operation.xdesc != nullptr && m_operation.dxdesc != nullptr) {
    486  set_error_and_throw_exception(&m_operation,
    487  CUDNN_STATUS_BAD_PARAM,
    488  "CUDNN_BACKEND_OPERATION: Ambiguous specification. Choose and Set "
    489  "only one of setxDesc() or setdxDesc()");
    490  return std::move(m_operation);
    491  }
    492  if (m_operation.xdesc == nullptr && m_operation.dxdesc == nullptr) {
    494  &m_operation,
    495  CUDNN_STATUS_BAD_PARAM,
    496  "CUDNN_BACKEND_OPERATION: Choose and Set one of setxDesc() or setdxDesc()");
    497  return std::move(m_operation);
    498  }
    499  } else {
    500  set_error_and_throw_exception(&m_operation,
    501  CUDNN_STATUS_BAD_PARAM,
    502  "CUDNN_BACKEND_OPERATION: Unsupported convolution operation. Check and "
    503  "set CUDNN_BACKEND_OPERATION_CONVOLUTION_*_DESCRIPTOR");
    504  return std::move(m_operation);
    505  }
    506  } else if (is_pointwise_op) {
    507  if (m_operation.xdesc == nullptr) {
    509  &m_operation,
    510  CUDNN_STATUS_BAD_PARAM,
    511  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_POINTWISE_XDESC");
    512  return std::move(m_operation);
    513  }
    514 
    515  if (m_operation.is_pointwise_math_op) {
    516  if (m_operation.pointwise_port_count == 3 && m_operation.bdesc == nullptr) {
    518  &m_operation,
    519  CUDNN_STATUS_BAD_PARAM,
    520  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_POINTWISE_BDESC");
    521  return std::move(m_operation);
    522  }
    523  if (m_operation.ydesc == nullptr) {
    525  &m_operation,
    526  CUDNN_STATUS_BAD_PARAM,
    527  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_POINTWISE_YDESC");
    528  return std::move(m_operation);
    529  }
    530  } else if (m_operation.is_pointwise_activation_fwd_op) {
    531  if (m_operation.ydesc == nullptr) {
    533  &m_operation,
    534  CUDNN_STATUS_BAD_PARAM,
    535  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_POINTWISE_YDESC");
    536  return std::move(m_operation);
    537  }
    538  } else if (m_operation.is_pointwise_activation_bwd_op) {
    539  if (m_operation.dydesc == nullptr) {
    541  &m_operation,
    542  CUDNN_STATUS_BAD_PARAM,
    543  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_POINTWISE_DYDESC");
    544  return std::move(m_operation);
    545  }
    546  if (m_operation.dxdesc == nullptr) {
    548  &m_operation,
    549  CUDNN_STATUS_BAD_PARAM,
    550  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_POINTWISE_DXDESC");
    551  return std::move(m_operation);
    552  }
    553  } else {
    555  &m_operation,
    556  CUDNN_STATUS_BAD_PARAM,
    557  "CUDNN_BACKEND_OPERATION: Unsupported cudnn pointwise mode. Check and set CUDNN_POINTWISE_*");
    558  return std::move(m_operation);
    559  }
    560 
    561  } else if (is_matmul_op) {
    562  if (m_operation.matmuldesc == nullptr) {
    564  &m_operation,
    565  CUDNN_STATUS_BAD_PARAM,
    566  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_MATMUL_DESC");
    567  return std::move(m_operation);
    568  }
    569  if (m_operation.amatdesc == nullptr) {
    571  &m_operation,
    572  CUDNN_STATUS_BAD_PARAM,
    573  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_MATMUL_ADESC");
    574  return std::move(m_operation);
    575  }
    576  if (m_operation.bmatdesc == nullptr) {
    578  &m_operation,
    579  CUDNN_STATUS_BAD_PARAM,
    580  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_MATMUL_BDESC");
    581  return std::move(m_operation);
    582  }
    583  if (m_operation.cmatdesc == nullptr) {
    585  &m_operation,
    586  CUDNN_STATUS_BAD_PARAM,
    587  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_MATMUL_CDESC");
    588  return std::move(m_operation);
    589  }
    590  } else {
    591  set_error_and_throw_exception(&m_operation,
    592  CUDNN_STATUS_BAD_PARAM,
    593  "CUDNN_BACKEND_OPERATION_DESCRIPTOR: Unsupported cudnn backend descriptor "
    594  "type. Check and set CUDNN_BACKEND_OPERATION_*_DESCRIPTOR");
    595  return std::move(m_operation);
    596  }
    597 
    598  // Create the descriptor.
    599  auto status = m_operation.initialize_managed_backend_pointer(m_operation.op_mode);
    600  if (status != CUDNN_STATUS_SUCCESS) {
    601  set_error_and_throw_exception(&m_operation, status, "CUDNN_BACKEND_OPERATION: cudnnCreate Failed");
    602  return std::move(m_operation);
    603  }
    604 
    605  if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR) {
    606  m_operation.operationTag = "ConvFwd";
    607 
    608  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    609  CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_X,
    610  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    611  1,
    612  &(m_operation.xdesc->get_backend_descriptor()));
    613  if (status != CUDNN_STATUS_SUCCESS) {
    615  &m_operation,
    616  status,
    617  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_X Failed");
    618  return std::move(m_operation);
    619  }
    620  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    621  CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_W,
    622  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    623  1,
    624  &(m_operation.wdesc->get_backend_descriptor()));
    625  if (status != CUDNN_STATUS_SUCCESS) {
    627  &m_operation,
    628  status,
    629  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_W Failed");
    630  return std::move(m_operation);
    631  }
    632  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    633  CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_Y,
    634  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    635  1,
    636  &(m_operation.ydesc->get_backend_descriptor()));
    637  if (status != CUDNN_STATUS_SUCCESS) {
    639  &m_operation,
    640  status,
    641  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_Y Failed");
    642  return std::move(m_operation);
    643  }
    644  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    645  CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_CONV_DESC,
    646  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    647  1,
    648  &(m_operation.cdesc->get_backend_descriptor()));
    649  if (status != CUDNN_STATUS_SUCCESS) {
    651  &m_operation,
    652  status,
    653  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_CONV_DESC Failed");
    654  return std::move(m_operation);
    655  }
    656  void *alpha = (m_operation.alphabetaType == CUDNN_TYPE_FLOAT ? static_cast<void *>(&m_operation.alpha_s)
    657  : static_cast<void *>(&m_operation.alpha_d));
    658  void *beta = (m_operation.alphabetaType == CUDNN_TYPE_FLOAT ? static_cast<void *>(&m_operation.beta_s)
    659  : static_cast<void *>(&m_operation.beta_d));
    660  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    661  CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_ALPHA,
    662  m_operation.alphabetaType,
    663  1,
    664  alpha);
    665  if (status != CUDNN_STATUS_SUCCESS) {
    667  &m_operation,
    668  status,
    669  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_ALPHA Failed");
    670  return std::move(m_operation);
    671  }
    672  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    673  CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_BETA,
    674  m_operation.alphabetaType,
    675  1,
    676  beta);
    677  if (status != CUDNN_STATUS_SUCCESS) {
    679  &m_operation,
    680  status,
    681  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_BETA Failed");
    682  return std::move(m_operation);
    683  }
    684  } else if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR) {
    685  m_operation.operationTag = "ConvBwdFilter";
    686 
    687  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    688  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_X,
    689  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    690  1,
    691  &(m_operation.xdesc->get_backend_descriptor()));
    692  if (status != CUDNN_STATUS_SUCCESS) {
    694  &m_operation,
    695  status,
    696  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_X Failed");
    697  return std::move(m_operation);
    698  }
    699 
    700  auto dwdesc_ = m_operation.dwdesc != nullptr ? m_operation.dwdesc : m_operation.wdesc;
    701  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    702  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DW,
    703  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    704  1,
    705  &(dwdesc_->get_backend_descriptor()));
    706  if (status != CUDNN_STATUS_SUCCESS) {
    708  &m_operation,
    709  status,
    710  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DW Failed");
    711  return std::move(m_operation);
    712  }
    713 
    714  auto dydesc_ = m_operation.dydesc != nullptr ? m_operation.dydesc : m_operation.ydesc;
    715  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    716  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DY,
    717  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    718  1,
    719  &(dydesc_->get_backend_descriptor()));
    720  if (status != CUDNN_STATUS_SUCCESS) {
    722  &m_operation,
    723  status,
    724  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DY Failed");
    725  return std::move(m_operation);
    726  }
    727 
    728  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    729  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_CONV_DESC,
    730  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    731  1,
    732  &(m_operation.cdesc->get_backend_descriptor()));
    733  if (status != CUDNN_STATUS_SUCCESS) {
    734  set_error_and_throw_exception(&m_operation,
    735  status,
    736  "CUDNN_BACKEND_OPERATION: SetAttribute "
    737  "CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_CONV_DESC Failed");
    738  return std::move(m_operation);
    739  }
    740  void *alpha = (m_operation.alphabetaType == CUDNN_TYPE_FLOAT ? static_cast<void *>(&m_operation.alpha_s)
    741  : static_cast<void *>(&m_operation.alpha_d));
    742  void *beta = (m_operation.alphabetaType == CUDNN_TYPE_FLOAT ? static_cast<void *>(&m_operation.beta_s)
    743  : static_cast<void *>(&m_operation.beta_d));
    744  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    745  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_ALPHA,
    746  m_operation.alphabetaType,
    747  1,
    748  alpha);
    749  if (status != CUDNN_STATUS_SUCCESS) {
    751  &m_operation,
    752  status,
    753  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_ALPHA Failed");
    754  return std::move(m_operation);
    755  }
    756  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    757  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_BETA,
    758  m_operation.alphabetaType,
    759  1,
    760  beta);
    761  if (status != CUDNN_STATUS_SUCCESS) {
    763  &m_operation,
    764  status,
    765  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_BETA Failed");
    766  return std::move(m_operation);
    767  }
    768  } else if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR) {
    769  m_operation.operationTag = "ConvBwdData";
    770 
    771  auto dxdesc_ = m_operation.dxdesc != nullptr ? m_operation.dxdesc : m_operation.xdesc;
    772  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    773  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DX,
    774  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    775  1,
    776  &(dxdesc_->get_backend_descriptor()));
    777  if (status != CUDNN_STATUS_SUCCESS) {
    779  &m_operation,
    780  status,
    781  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DX Failed");
    782  return std::move(m_operation);
    783  }
    784 
    785  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    786  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_W,
    787  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    788  1,
    789  &(m_operation.wdesc->get_backend_descriptor()));
    790  if (status != CUDNN_STATUS_SUCCESS) {
    792  &m_operation,
    793  status,
    794  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_W Failed");
    795  return std::move(m_operation);
    796  }
    797 
    798  auto dydesc_ = m_operation.dydesc != nullptr ? m_operation.dydesc : m_operation.ydesc;
    799  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    800  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DY,
    801  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    802  1,
    803  &(dydesc_->get_backend_descriptor()));
    804  if (status != CUDNN_STATUS_SUCCESS) {
    806  &m_operation,
    807  status,
    808  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DY Failed");
    809  return std::move(m_operation);
    810  }
    811 
    812  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    813  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_CONV_DESC,
    814  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    815  1,
    816  &(m_operation.cdesc->get_backend_descriptor()));
    817  if (status != CUDNN_STATUS_SUCCESS) {
    819  &m_operation,
    820  status,
    821  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_CONV_DESC Failed");
    822  return std::move(m_operation);
    823  }
    824 
    825  void *alpha = (m_operation.alphabetaType == CUDNN_TYPE_FLOAT ? static_cast<void *>(&m_operation.alpha_s)
    826  : static_cast<void *>(&m_operation.alpha_d));
    827  void *beta = (m_operation.alphabetaType == CUDNN_TYPE_FLOAT ? static_cast<void *>(&m_operation.beta_s)
    828  : static_cast<void *>(&m_operation.beta_d));
    829  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    830  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_ALPHA,
    831  m_operation.alphabetaType,
    832  1,
    833  alpha);
    834  if (status != CUDNN_STATUS_SUCCESS) {
    836  &m_operation,
    837  status,
    838  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_ALPHA Failed");
    839  return std::move(m_operation);
    840  }
    841  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    842  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_BETA,
    843  m_operation.alphabetaType,
    844  1,
    845  beta);
    846  if (status != CUDNN_STATUS_SUCCESS) {
    848  &m_operation,
    849  status,
    850  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_BETA Failed");
    851  return std::move(m_operation);
    852  }
    853  } else if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR) {
    854  switch (m_operation.pointwise_mode) {
    855  case CUDNN_POINTWISE_ADD:
    856  m_operation.operationTag = "Add";
    857  break;
    858  case CUDNN_POINTWISE_MUL:
    859  m_operation.operationTag = "Mul";
    860  break;
    861  case CUDNN_POINTWISE_MIN:
    862  m_operation.operationTag = "Min";
    863  break;
    864  case CUDNN_POINTWISE_MAX:
    865  m_operation.operationTag = "Max";
    866  break;
    867  case CUDNN_POINTWISE_SQRT:
    868  m_operation.operationTag = "Sqrt";
    869  break;
    870  case CUDNN_POINTWISE_RELU_FWD:
    871  m_operation.operationTag = "ReluFwd";
    872  break;
    873  case CUDNN_POINTWISE_TANH_FWD:
    874  m_operation.operationTag = "TanhFwd";
    875  break;
    876  case CUDNN_POINTWISE_SIGMOID_FWD:
    877  m_operation.operationTag = "SigmoidFwd";
    878  break;
    879  case CUDNN_POINTWISE_ELU_FWD:
    880  m_operation.operationTag = "EluFwd";
    881  break;
    882  case CUDNN_POINTWISE_GELU_FWD:
    883  m_operation.operationTag = "GeluFwd";
    884  break;
    885  case CUDNN_POINTWISE_SOFTPLUS_FWD:
    886  m_operation.operationTag = "SoftplusFwd";
    887  break;
    888  case CUDNN_POINTWISE_SWISH_FWD:
    889  m_operation.operationTag = "SwishFwd";
    890  break;
    891  case CUDNN_POINTWISE_RELU_BWD:
    892  m_operation.operationTag = "ReluBwd";
    893  break;
    894  case CUDNN_POINTWISE_TANH_BWD:
    895  m_operation.operationTag = "TanhBwd";
    896  break;
    897  case CUDNN_POINTWISE_SIGMOID_BWD:
    898  m_operation.operationTag = "SigmoidBwd";
    899  break;
    900  case CUDNN_POINTWISE_ELU_BWD:
    901  m_operation.operationTag = "EluBwd";
    902  break;
    903  case CUDNN_POINTWISE_GELU_BWD:
    904  m_operation.operationTag = "GeluBwd";
    905  break;
    906  case CUDNN_POINTWISE_SOFTPLUS_BWD:
    907  m_operation.operationTag = "SoftplusBwd";
    908  break;
    909  case CUDNN_POINTWISE_SWISH_BWD:
    910  m_operation.operationTag = "SwishBwd";
    911  break;
    912  default:
    913  m_operation.operationTag = "OtherOp";
    914  break;
    915  }
    916 
    917  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    918  CUDNN_ATTR_OPERATION_POINTWISE_PW_DESCRIPTOR,
    919  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    920  1,
    921  &(m_operation.pwdesc->get_backend_descriptor()));
    922  if (status != CUDNN_STATUS_SUCCESS) {
    924  &m_operation,
    925  status,
    926  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_POINTWISE_PW_DESCRIPTOR Failed");
    927  return std::move(m_operation);
    928  }
    929 
    930  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    931  CUDNN_ATTR_OPERATION_POINTWISE_XDESC,
    932  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    933  1,
    934  &(m_operation.xdesc->get_backend_descriptor()));
    935  if (status != CUDNN_STATUS_SUCCESS) {
    937  &m_operation,
    938  status,
    939  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_POINTWISE_XDESC Failed");
    940  return std::move(m_operation);
    941  }
    942 
    943  if (!m_operation.is_pointwise_activation_bwd_op) {
    944  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    945  CUDNN_ATTR_OPERATION_POINTWISE_YDESC,
    946  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    947  1,
    948  &(m_operation.ydesc->get_backend_descriptor()));
    949  if (status != CUDNN_STATUS_SUCCESS) {
    951  &m_operation,
    952  status,
    953  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_POINTWISE_YDESC Failed");
    954  return std::move(m_operation);
    955  }
    956  } else {
    957  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    958  CUDNN_ATTR_OPERATION_POINTWISE_DYDESC,
    959  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    960  1,
    961  &(m_operation.dydesc->get_backend_descriptor()));
    962  if (status != CUDNN_STATUS_SUCCESS) {
    964  &m_operation,
    965  status,
    966  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_POINTWISE_DYDESC Failed");
    967  return std::move(m_operation);
    968  }
    969 
    970  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    971  CUDNN_ATTR_OPERATION_POINTWISE_DXDESC,
    972  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    973  1,
    974  &(m_operation.dxdesc->get_backend_descriptor()));
    975  if (status != CUDNN_STATUS_SUCCESS) {
    977  &m_operation,
    978  status,
    979  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_POINTWISE_DXDESC Failed");
    980  return std::move(m_operation);
    981  }
    982  }
    983 
    984  void *alpha = (m_operation.alphabetaType == CUDNN_TYPE_FLOAT ? static_cast<void *>(&m_operation.alpha_s)
    985  : static_cast<void *>(&m_operation.alpha_d));
    986  void *alpha2 = (m_operation.alphabetaType == CUDNN_TYPE_FLOAT ? static_cast<void *>(&m_operation.alpha2_s)
    987  : static_cast<void *>(&m_operation.alpha2_d));
    988  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    989  CUDNN_ATTR_OPERATION_POINTWISE_ALPHA1,
    990  m_operation.alphabetaType,
    991  1,
    992  alpha);
    993  if (status != CUDNN_STATUS_SUCCESS) {
    995  &m_operation,
    996  status,
    997  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_POINTWISE_ALPHA1 Failed");
    998  return std::move(m_operation);
    999  }
    1000  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1001  CUDNN_ATTR_OPERATION_POINTWISE_ALPHA2,
    1002  m_operation.alphabetaType,
    1003  1,
    1004  alpha2);
    1005  if (status != CUDNN_STATUS_SUCCESS) {
    1007  &m_operation,
    1008  status,
    1009  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_POINTWISE_ALPHA2 Failed");
    1010  return std::move(m_operation);
    1011  }
    1012 
    1013  if (m_operation.pointwise_port_count == 3 && !m_operation.is_pointwise_activation_bwd_op) {
    1014  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1015  CUDNN_ATTR_OPERATION_POINTWISE_BDESC,
    1016  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    1017  1,
    1018  &(m_operation.bdesc->get_backend_descriptor()));
    1019  if (status != CUDNN_STATUS_SUCCESS) {
    1021  &m_operation,
    1022  status,
    1023  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_POINTWISE_BDESC Failed");
    1024  return std::move(m_operation);
    1025  }
    1026  }
    1027  } else if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR) {
    1028  m_operation.operationTag = "Matmul";
    1029  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1030  CUDNN_ATTR_OPERATION_MATMUL_ADESC,
    1031  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    1032  1,
    1033  &(m_operation.amatdesc->get_backend_descriptor()));
    1034  if (status != CUDNN_STATUS_SUCCESS) {
    1036  &m_operation,
    1037  status,
    1038  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_MATMUL_ADESC Failed");
    1039  return std::move(m_operation);
    1040  }
    1041  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1042  CUDNN_ATTR_OPERATION_MATMUL_BDESC,
    1043  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    1044  1,
    1045  &(m_operation.bmatdesc->get_backend_descriptor()));
    1046  if (status != CUDNN_STATUS_SUCCESS) {
    1048  &m_operation,
    1049  status,
    1050  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_MATMUL_BDESC Failed");
    1051  return std::move(m_operation);
    1052  }
    1053  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1054  CUDNN_ATTR_OPERATION_MATMUL_CDESC,
    1055  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    1056  1,
    1057  &(m_operation.cmatdesc->get_backend_descriptor()));
    1058  if (status != CUDNN_STATUS_SUCCESS) {
    1060  &m_operation,
    1061  status,
    1062  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_MATMUL_CDESC Failed");
    1063  return std::move(m_operation);
    1064  }
    1065  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1066  CUDNN_ATTR_OPERATION_MATMUL_DESC,
    1067  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    1068  1,
    1069  &(m_operation.matmuldesc->get_backend_descriptor()));
    1070  if (status != CUDNN_STATUS_SUCCESS) {
    1072  &m_operation,
    1073  status,
    1074  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_MATMUL_DESC Failed");
    1075  return std::move(m_operation);
    1076  }
    1077  }
    1078  status = cudnnBackendFinalize(m_operation.pointer->get_backend_descriptor());
    1079  if (status != CUDNN_STATUS_SUCCESS) {
    1080  set_error_and_throw_exception(&m_operation, status, "CUDNN_BACKEND_OPERATION: cudnnFinalize Failed");
    1081  return std::move(m_operation);
    1082  }
    1083  return std::move(m_operation);
    1084  }
    1085 };
    1086 }
    -
    auto setcDesc(ConvDesc_v8 const &conv) -> OperationBuilder_v8 &
    +Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <algorithm>
    26 #include <array>
    27 #include <functional>
    28 #include <memory>
    29 #include <sstream>
    30 #include <utility>
    31 
    32 #include <cudnn.h>
    33 #include <cudnn_backend.h>
    34 
    39 #include "cudnn_frontend_Tensor.h"
    40 #include "cudnn_frontend_utils.h"
    41 
    42 namespace cudnn_frontend {
    68  public:
    69  friend class OperationBuilder_v8;
    70  std::string
    71  describe() const override {
    72  std::stringstream ss;
    73  ss << "CUDNN_BACKEND_OPERATION :"
    74  << " OpMode: " << std::to_string(op_mode);
    75  ss << std::hex << " X " << xdesc;
    76  ss << std::hex << " Y " << ydesc;
    77  ss << std::hex << " W " << wdesc;
    78  ss << std::hex << " B " << bdesc;
    79  ss << std::hex << " DW " << dwdesc;
    80  ss << std::hex << " DY " << dydesc;
    81  ss << std::hex << " DX " << dxdesc;
    82  ss << std::hex << " C " << cdesc;
    83  ss << std::hex << " A Mtrix " << amatdesc;
    84  ss << std::hex << " B Mtrix " << bmatdesc;
    85  ss << std::hex << " C Mtrix " << cmatdesc;
    86  ss << std::hex << " P " << pwdesc;
    87  ss << std::hex << " MatMul " << matmuldesc;
    88  ss << std::hex << " Reduction " << reductiondesc;
    89  ss << std::dec << " alphabetaType " << alphabetaType;
    90  ss << " Alpha: " << alpha_s << " " << alpha_d;
    91  ss << " Alpha2: " << alpha2_s << " " << alpha2_d;
    92  ss << " Beta: " << beta_s << " " << beta_d;
    93  return ss.str();
    94  }
    96  : BackendDescriptor(from.pointer, from.get_status(), from.get_error()),
    97  op_mode(from.op_mode),
    98  xdesc(from.xdesc),
    99  ydesc(from.ydesc),
    100  wdesc(from.wdesc),
    101  bdesc(from.bdesc),
    102  dydesc(from.dydesc),
    103  dxdesc(from.dxdesc),
    104  dwdesc(from.dwdesc),
    105  cdesc(from.cdesc),
    106  amatdesc(from.amatdesc),
    107  bmatdesc(from.bmatdesc),
    108  cmatdesc(from.cmatdesc),
    109  pwdesc(from.pwdesc),
    110  matmuldesc(from.matmuldesc),
    113  alpha_s(from.alpha_s),
    114  beta_s(from.beta_s),
    115  alpha2_s(from.alpha2_s),
    116  alpha_d(from.alpha_d),
    117  beta_d(from.beta_d),
    118  alpha2_d(from.alpha2_d),
    121  operationTag(from.operationTag) {}
    122 
    125  return (op_mode == CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR) ? cmatdesc : ydesc;
    126  }
    127 
    128  std::string const &
    129  getTag() const {
    130  return operationTag;
    131  }
    132 
    133  ~Operation_v8() = default;
    134 
    135  private:
    136  Operation_v8() = default;
    137  Operation_v8(Operation_v8 const &) = delete;
    138  Operation_v8 &
    139  operator=(Operation_v8 const &) = delete;
    140 
    141  cudnnBackendDescriptorType_t op_mode = CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR;
    142 
    157 
    158  cudnnBackendAttributeType_t alphabetaType = CUDNN_TYPE_FLOAT;
    159  float alpha_s = 1.0f, beta_s = .0f, alpha2_s = 1.0f;
    160  double alpha_d = 1.0, beta_d = 0.0, alpha2_d = 1.0;
    161  int64_t pointwise_port_count = -1;
    162  cudnnPointwiseMode_t pointwise_mode;
    165  bool is_pointwise_math_op = false;
    166  std::string operationTag;
    167 };
    168 
    172 
    174  private:
    176  bool is_convolution_op = false;
    177  bool is_pointwise_op = false;
    178  bool is_matmul_op = false;
    179  bool is_reduction_op = false;
    180 
    181  public:
    186  auto
    188  m_operation.xdesc = raw_tensor;
    189  return *this;
    190  }
    191 
    192  auto
    193  setxDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 & {
    194  m_operation.xdesc = tensor.get_desc();
    195  return *this;
    196  }
    197  auto
    198  setbDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 & {
    199  if (is_pointwise_op == false) {
    201  &m_operation,
    202  CUDNN_STATUS_BAD_PARAM,
    203  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Pointwise operation does not need bTensor");
    204  }
    205  m_operation.bdesc = tensor.get_desc();
    206  return *this;
    207  }
    208  auto
    209  setyDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 & {
    210  m_operation.ydesc = tensor.get_desc();
    211  return *this;
    212  }
    213  auto
    214  setwDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 & {
    215  if (is_convolution_op == false) {
    217  &m_operation,
    218  CUDNN_STATUS_BAD_PARAM,
    219  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Convolution operation does not need wTensor");
    220  }
    221  m_operation.wdesc = tensor.get_desc();
    222  return *this;
    223  }
    224 
    225  auto
    227  m_operation.dydesc = raw_tensor;
    228  return *this;
    229  }
    230  auto
    232  m_operation.dydesc = tensor.get_desc();
    233  return *this;
    234  }
    235  auto
    237  m_operation.dxdesc = tensor.get_desc();
    238  return *this;
    239  }
    240  auto
    242  m_operation.dwdesc = tensor.get_desc();
    243  return *this;
    244  }
    245 
    246  auto
    248  if (is_convolution_op == false) {
    250  &m_operation,
    251  CUDNN_STATUS_BAD_PARAM,
    252  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Convolution operation does not need Convolution DESCRIPTOR");
    253  }
    254  m_operation.cdesc = conv.get_desc();
    255  return *this;
    256  }
    257  auto
    259  if (is_matmul_op == false) {
    261  &m_operation,
    262  CUDNN_STATUS_BAD_PARAM,
    263  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Matmul operation does not need a Matrix Tensor");
    264  }
    265  m_operation.amatdesc = tensor.get_desc();
    266  return *this;
    267  }
    268  auto
    270  if (is_matmul_op == false) {
    272  &m_operation,
    273  CUDNN_STATUS_BAD_PARAM,
    274  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Matmul operation does not need b Matrix Tensor");
    275  }
    276  m_operation.bmatdesc = tensor.get_desc();
    277  return *this;
    278  }
    279  auto
    281  if (is_matmul_op == false) {
    283  &m_operation,
    284  CUDNN_STATUS_BAD_PARAM,
    285  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Matmul operation does not need c Matrix Tensor");
    286  }
    287  m_operation.cmatdesc = tensor.get_desc();
    288  return *this;
    289  }
    290  auto
    292  if (is_matmul_op == false) {
    294  &m_operation,
    295  CUDNN_STATUS_BAD_PARAM,
    296  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Matmul operation does not need MATMUL DESCRIPTOR");
    297  }
    298  m_operation.matmuldesc = matmulDesc.get_desc();
    299  return *this;
    300  }
    301  auto
    303  if (is_reduction_op == false) {
    305  &m_operation,
    306  CUDNN_STATUS_BAD_PARAM,
    307  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Reduction operation does not need REDUCTION DESCRIPTOR");
    308  }
    309  m_operation.reductiondesc = reductionDesc.get_desc();
    310  return *this;
    311  }
    312  auto
    313  setpwDesc(PointWiseDesc_v8 const &pointWiseDesc) -> OperationBuilder_v8 & {
    314  if (is_pointwise_op == false) {
    316  &m_operation,
    317  CUDNN_STATUS_BAD_PARAM,
    318  "CUDNN_BACKEND_OPERATION_*_DESCRIPTOR: Non Pointwise operation does not need POINTWISE DESCRIPTOR");
    319  }
    320  m_operation.pwdesc = pointWiseDesc.get_desc();
    321  m_operation.pointwise_port_count = pointWiseDesc.getPortCount();
    322  m_operation.pointwise_mode = pointWiseDesc.getPointWiseMode();
    323 
    324  m_operation.is_pointwise_math_op = ((m_operation.pointwise_mode == CUDNN_POINTWISE_ADD) ||
    325  (m_operation.pointwise_mode == CUDNN_POINTWISE_MUL) ||
    326  (m_operation.pointwise_mode == CUDNN_POINTWISE_MIN) ||
    327  (m_operation.pointwise_mode == CUDNN_POINTWISE_MAX) ||
    328  (m_operation.pointwise_mode == CUDNN_POINTWISE_SQRT));
    329 
    330  m_operation.is_pointwise_activation_fwd_op = ((m_operation.pointwise_mode == CUDNN_POINTWISE_RELU_FWD) ||
    331  (m_operation.pointwise_mode == CUDNN_POINTWISE_TANH_FWD) ||
    332  (m_operation.pointwise_mode == CUDNN_POINTWISE_SIGMOID_FWD) ||
    333  (m_operation.pointwise_mode == CUDNN_POINTWISE_ELU_FWD) ||
    334  (m_operation.pointwise_mode == CUDNN_POINTWISE_GELU_FWD) ||
    335  (m_operation.pointwise_mode == CUDNN_POINTWISE_SOFTPLUS_FWD) ||
    336  (m_operation.pointwise_mode == CUDNN_POINTWISE_SWISH_FWD));
    337 
    338  m_operation.is_pointwise_activation_bwd_op = ((m_operation.pointwise_mode == CUDNN_POINTWISE_RELU_BWD) ||
    339  (m_operation.pointwise_mode == CUDNN_POINTWISE_TANH_BWD) ||
    340  (m_operation.pointwise_mode == CUDNN_POINTWISE_SIGMOID_BWD) ||
    341  (m_operation.pointwise_mode == CUDNN_POINTWISE_ELU_BWD) ||
    342  (m_operation.pointwise_mode == CUDNN_POINTWISE_GELU_BWD) ||
    343  (m_operation.pointwise_mode == CUDNN_POINTWISE_SOFTPLUS_BWD) ||
    344  (m_operation.pointwise_mode == CUDNN_POINTWISE_SWISH_BWD));
    345 
    346  return *this;
    347  }
    348 
    349  auto
    350  setAlpha(float alpha) -> OperationBuilder_v8 & {
    351  m_operation.alphabetaType = CUDNN_TYPE_FLOAT;
    352  m_operation.alpha_d = static_cast<double>(alpha);
    353  m_operation.alpha_s = alpha;
    354  return *this;
    355  }
    356  auto
    357  setAlpha(double alpha) -> OperationBuilder_v8 & {
    358  m_operation.alphabetaType = CUDNN_TYPE_DOUBLE;
    359  m_operation.alpha_s = static_cast<float>(alpha);
    360  m_operation.alpha_d = alpha;
    361  return *this;
    362  }
    363  auto
    364  setAlpha2(float alpha) -> OperationBuilder_v8 & {
    365  m_operation.alphabetaType = CUDNN_TYPE_FLOAT;
    366  m_operation.alpha2_d = static_cast<double>(alpha);
    367  m_operation.alpha2_s = alpha;
    368  return *this;
    369  }
    370  auto
    371  setAlpha2(double alpha) -> OperationBuilder_v8 & {
    372  m_operation.alphabetaType = CUDNN_TYPE_DOUBLE;
    373  m_operation.alpha2_s = static_cast<float>(alpha);
    374  m_operation.alpha2_d = alpha;
    375  return *this;
    376  }
    377  auto
    378  setBeta(float beta) -> OperationBuilder_v8 & {
    379  m_operation.alphabetaType = CUDNN_TYPE_FLOAT;
    380  m_operation.beta_d = static_cast<double>(beta);
    381  m_operation.beta_s = beta;
    382  return *this;
    383  }
    384  auto
    385  setBeta(double beta) -> OperationBuilder_v8 & {
    386  m_operation.alphabetaType = CUDNN_TYPE_DOUBLE;
    387  m_operation.beta_s = static_cast<float>(beta);
    388  m_operation.beta_d = beta;
    389  return *this;
    390  }
    391 
    392  OperationBuilder_v8(cudnnBackendDescriptorType_t mode) {
    393  m_operation.op_mode = mode;
    394  is_convolution_op = ((m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR) ||
    395  (m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR) ||
    396  (m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR));
    397 
    398  is_pointwise_op = (m_operation.op_mode == CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR);
    399  is_matmul_op = (m_operation.op_mode == CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR);
    400  is_reduction_op = (m_operation.op_mode == CUDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR);
    401  }
    404  Operation_v8 &&
    407  build() {
    408  if (m_operation.status != CUDNN_STATUS_SUCCESS) {
    410  &m_operation, m_operation.status, "CUDNN_BACKEND_OPERATION: Operation not initialized properly");
    411  return std::move(m_operation);
    412  }
    413 
    414  if (is_convolution_op) {
    415  if (m_operation.cdesc == nullptr) {
    417  &m_operation,
    418  CUDNN_STATUS_BAD_PARAM,
    419  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_CONVOLUTION_*_CONV_DESC");
    420  return std::move(m_operation);
    421  }
    422  if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR) {
    423  if (m_operation.xdesc == nullptr) {
    425  &m_operation,
    426  CUDNN_STATUS_BAD_PARAM,
    427  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_CONVOLUTION_*_X");
    428  return std::move(m_operation);
    429  }
    430  if (m_operation.wdesc == nullptr) {
    432  &m_operation,
    433  CUDNN_STATUS_BAD_PARAM,
    434  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_CONVOLUTION_*_W");
    435  return std::move(m_operation);
    436  }
    437  if (m_operation.ydesc == nullptr) {
    439  &m_operation,
    440  CUDNN_STATUS_BAD_PARAM,
    441  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_CONVOLUTION_*_Y");
    442  return std::move(m_operation);
    443  }
    444 
    445  } else if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR) {
    446  if (m_operation.ydesc != nullptr && m_operation.dydesc != nullptr) {
    447  set_error_and_throw_exception(&m_operation,
    448  CUDNN_STATUS_BAD_PARAM,
    449  "CUDNN_BACKEND_OPERATION: Ambiguous specification. Choose and Set "
    450  "only one of setyDesc() or setdyDesc()");
    451  return std::move(m_operation);
    452  }
    453  if (m_operation.ydesc == nullptr && m_operation.dydesc == nullptr) {
    455  &m_operation,
    456  CUDNN_STATUS_BAD_PARAM,
    457  "CUDNN_BACKEND_OPERATION: Choose and Set one of setyDesc() or setdyDesc()");
    458  return std::move(m_operation);
    459  }
    460  if (m_operation.xdesc == nullptr) {
    462  &m_operation,
    463  CUDNN_STATUS_BAD_PARAM,
    464  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_CONVOLUTION_*_X");
    465  return std::move(m_operation);
    466  }
    467  if (m_operation.wdesc != nullptr && m_operation.dwdesc != nullptr) {
    468  set_error_and_throw_exception(&m_operation,
    469  CUDNN_STATUS_BAD_PARAM,
    470  "CUDNN_BACKEND_OPERATION: Ambiguous specification. Choose and Set "
    471  "only one of setwDesc() or setdwDesc()");
    472  return std::move(m_operation);
    473  }
    474  if (m_operation.wdesc == nullptr && m_operation.dwdesc == nullptr) {
    476  &m_operation,
    477  CUDNN_STATUS_BAD_PARAM,
    478  "CUDNN_BACKEND_OPERATION: Choose and Set one of setwDesc() or setdwDesc()");
    479  return std::move(m_operation);
    480  }
    481  } else if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR) {
    482  if (m_operation.ydesc != nullptr && m_operation.dydesc != nullptr) {
    483  set_error_and_throw_exception(&m_operation,
    484  CUDNN_STATUS_BAD_PARAM,
    485  "CUDNN_BACKEND_OPERATION: Ambiguous specification. Choose and Set "
    486  "only one of setyDesc() or setdyDesc()");
    487  return std::move(m_operation);
    488  }
    489  if (m_operation.ydesc == nullptr && m_operation.dydesc == nullptr) {
    491  &m_operation,
    492  CUDNN_STATUS_BAD_PARAM,
    493  "CUDNN_BACKEND_OPERATION: Choose and Set one of setyDesc() or setdyDesc()");
    494  return std::move(m_operation);
    495  }
    496  if (m_operation.wdesc == nullptr) {
    498  &m_operation,
    499  CUDNN_STATUS_BAD_PARAM,
    500  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_CONVOLUTION_*_W");
    501  return std::move(m_operation);
    502  }
    503  if (m_operation.xdesc != nullptr && m_operation.dxdesc != nullptr) {
    504  set_error_and_throw_exception(&m_operation,
    505  CUDNN_STATUS_BAD_PARAM,
    506  "CUDNN_BACKEND_OPERATION: Ambiguous specification. Choose and Set "
    507  "only one of setxDesc() or setdxDesc()");
    508  return std::move(m_operation);
    509  }
    510  if (m_operation.xdesc == nullptr && m_operation.dxdesc == nullptr) {
    512  &m_operation,
    513  CUDNN_STATUS_BAD_PARAM,
    514  "CUDNN_BACKEND_OPERATION: Choose and Set one of setxDesc() or setdxDesc()");
    515  return std::move(m_operation);
    516  }
    517  } else {
    518  set_error_and_throw_exception(&m_operation,
    519  CUDNN_STATUS_BAD_PARAM,
    520  "CUDNN_BACKEND_OPERATION: Unsupported convolution operation. Check and "
    521  "set CUDNN_BACKEND_OPERATION_CONVOLUTION_*_DESCRIPTOR");
    522  return std::move(m_operation);
    523  }
    524  } else if (is_pointwise_op) {
    525  if (m_operation.xdesc == nullptr) {
    527  &m_operation,
    528  CUDNN_STATUS_BAD_PARAM,
    529  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_POINTWISE_XDESC");
    530  return std::move(m_operation);
    531  }
    532 
    533  if (m_operation.is_pointwise_math_op) {
    534  if (m_operation.pointwise_port_count == 3 && m_operation.bdesc == nullptr) {
    536  &m_operation,
    537  CUDNN_STATUS_BAD_PARAM,
    538  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_POINTWISE_BDESC");
    539  return std::move(m_operation);
    540  }
    541  if (m_operation.ydesc == nullptr) {
    543  &m_operation,
    544  CUDNN_STATUS_BAD_PARAM,
    545  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_POINTWISE_YDESC");
    546  return std::move(m_operation);
    547  }
    548  } else if (m_operation.is_pointwise_activation_fwd_op) {
    549  if (m_operation.ydesc == nullptr) {
    551  &m_operation,
    552  CUDNN_STATUS_BAD_PARAM,
    553  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_POINTWISE_YDESC");
    554  return std::move(m_operation);
    555  }
    556  } else if (m_operation.is_pointwise_activation_bwd_op) {
    557  if (m_operation.dydesc == nullptr) {
    559  &m_operation,
    560  CUDNN_STATUS_BAD_PARAM,
    561  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_POINTWISE_DYDESC");
    562  return std::move(m_operation);
    563  }
    564  if (m_operation.dxdesc == nullptr) {
    566  &m_operation,
    567  CUDNN_STATUS_BAD_PARAM,
    568  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_POINTWISE_DXDESC");
    569  return std::move(m_operation);
    570  }
    571  } else {
    573  &m_operation,
    574  CUDNN_STATUS_BAD_PARAM,
    575  "CUDNN_BACKEND_OPERATION: Unsupported cudnn pointwise mode. Check and set CUDNN_POINTWISE_*");
    576  return std::move(m_operation);
    577  }
    578 
    579  } else if (is_matmul_op) {
    580  if (m_operation.matmuldesc == nullptr) {
    582  &m_operation,
    583  CUDNN_STATUS_BAD_PARAM,
    584  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_MATMUL_DESC");
    585  return std::move(m_operation);
    586  }
    587  if (m_operation.amatdesc == nullptr) {
    589  &m_operation,
    590  CUDNN_STATUS_BAD_PARAM,
    591  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_MATMUL_ADESC");
    592  return std::move(m_operation);
    593  }
    594  if (m_operation.bmatdesc == nullptr) {
    596  &m_operation,
    597  CUDNN_STATUS_BAD_PARAM,
    598  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_MATMUL_BDESC");
    599  return std::move(m_operation);
    600  }
    601  if (m_operation.cmatdesc == nullptr) {
    603  &m_operation,
    604  CUDNN_STATUS_BAD_PARAM,
    605  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_MATMUL_CDESC");
    606  return std::move(m_operation);
    607  }
    608  } else if (is_reduction_op) {
    609  if (m_operation.reductiondesc == nullptr) {
    611  &m_operation,
    612  CUDNN_STATUS_BAD_PARAM,
    613  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_REDUCTION_DESC");
    614  return std::move(m_operation);
    615  }
    616  if (m_operation.xdesc == nullptr) {
    618  &m_operation,
    619  CUDNN_STATUS_BAD_PARAM,
    620  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_REDUCTION_XDESC");
    621  return std::move(m_operation);
    622  }
    623  if (m_operation.ydesc == nullptr) {
    625  &m_operation,
    626  CUDNN_STATUS_BAD_PARAM,
    627  "CUDNN_BACKEND_OPERATION: Check and Set the CUDNN_ATTR_OPERATION_REDUCTION_YDESC");
    628  return std::move(m_operation);
    629  }
    630  } else {
    631  set_error_and_throw_exception(&m_operation,
    632  CUDNN_STATUS_BAD_PARAM,
    633  "CUDNN_BACKEND_OPERATION_DESCRIPTOR: Unsupported cudnn backend descriptor "
    634  "type. Check and set CUDNN_BACKEND_OPERATION_*_DESCRIPTOR");
    635  return std::move(m_operation);
    636  }
    637 
    638  // Create the descriptor.
    639  auto status = m_operation.initialize_managed_backend_pointer(m_operation.op_mode);
    640  if (status != CUDNN_STATUS_SUCCESS) {
    641  set_error_and_throw_exception(&m_operation, status, "CUDNN_BACKEND_OPERATION: cudnnCreate Failed");
    642  return std::move(m_operation);
    643  }
    644 
    645  if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR) {
    646  m_operation.operationTag = "ConvFwd";
    647 
    648  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    649  CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_X,
    650  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    651  1,
    652  &(m_operation.xdesc->get_backend_descriptor()));
    653  if (status != CUDNN_STATUS_SUCCESS) {
    655  &m_operation,
    656  status,
    657  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_X Failed");
    658  return std::move(m_operation);
    659  }
    660  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    661  CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_W,
    662  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    663  1,
    664  &(m_operation.wdesc->get_backend_descriptor()));
    665  if (status != CUDNN_STATUS_SUCCESS) {
    667  &m_operation,
    668  status,
    669  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_W Failed");
    670  return std::move(m_operation);
    671  }
    672  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    673  CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_Y,
    674  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    675  1,
    676  &(m_operation.ydesc->get_backend_descriptor()));
    677  if (status != CUDNN_STATUS_SUCCESS) {
    679  &m_operation,
    680  status,
    681  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_Y Failed");
    682  return std::move(m_operation);
    683  }
    684  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    685  CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_CONV_DESC,
    686  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    687  1,
    688  &(m_operation.cdesc->get_backend_descriptor()));
    689  if (status != CUDNN_STATUS_SUCCESS) {
    691  &m_operation,
    692  status,
    693  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_CONV_DESC Failed");
    694  return std::move(m_operation);
    695  }
    696  void *alpha = (m_operation.alphabetaType == CUDNN_TYPE_FLOAT ? static_cast<void *>(&m_operation.alpha_s)
    697  : static_cast<void *>(&m_operation.alpha_d));
    698  void *beta = (m_operation.alphabetaType == CUDNN_TYPE_FLOAT ? static_cast<void *>(&m_operation.beta_s)
    699  : static_cast<void *>(&m_operation.beta_d));
    700  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    701  CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_ALPHA,
    702  m_operation.alphabetaType,
    703  1,
    704  alpha);
    705  if (status != CUDNN_STATUS_SUCCESS) {
    707  &m_operation,
    708  status,
    709  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_ALPHA Failed");
    710  return std::move(m_operation);
    711  }
    712  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    713  CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_BETA,
    714  m_operation.alphabetaType,
    715  1,
    716  beta);
    717  if (status != CUDNN_STATUS_SUCCESS) {
    719  &m_operation,
    720  status,
    721  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_BETA Failed");
    722  return std::move(m_operation);
    723  }
    724  } else if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR) {
    725  m_operation.operationTag = "ConvBwdFilter";
    726 
    727  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    728  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_X,
    729  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    730  1,
    731  &(m_operation.xdesc->get_backend_descriptor()));
    732  if (status != CUDNN_STATUS_SUCCESS) {
    734  &m_operation,
    735  status,
    736  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_X Failed");
    737  return std::move(m_operation);
    738  }
    739 
    740  auto dwdesc_ = m_operation.dwdesc != nullptr ? m_operation.dwdesc : m_operation.wdesc;
    741  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    742  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DW,
    743  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    744  1,
    745  &(dwdesc_->get_backend_descriptor()));
    746  if (status != CUDNN_STATUS_SUCCESS) {
    748  &m_operation,
    749  status,
    750  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DW Failed");
    751  return std::move(m_operation);
    752  }
    753 
    754  auto dydesc_ = m_operation.dydesc != nullptr ? m_operation.dydesc : m_operation.ydesc;
    755  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    756  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DY,
    757  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    758  1,
    759  &(dydesc_->get_backend_descriptor()));
    760  if (status != CUDNN_STATUS_SUCCESS) {
    762  &m_operation,
    763  status,
    764  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DY Failed");
    765  return std::move(m_operation);
    766  }
    767 
    768  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    769  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_CONV_DESC,
    770  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    771  1,
    772  &(m_operation.cdesc->get_backend_descriptor()));
    773  if (status != CUDNN_STATUS_SUCCESS) {
    774  set_error_and_throw_exception(&m_operation,
    775  status,
    776  "CUDNN_BACKEND_OPERATION: SetAttribute "
    777  "CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_CONV_DESC Failed");
    778  return std::move(m_operation);
    779  }
    780  void *alpha = (m_operation.alphabetaType == CUDNN_TYPE_FLOAT ? static_cast<void *>(&m_operation.alpha_s)
    781  : static_cast<void *>(&m_operation.alpha_d));
    782  void *beta = (m_operation.alphabetaType == CUDNN_TYPE_FLOAT ? static_cast<void *>(&m_operation.beta_s)
    783  : static_cast<void *>(&m_operation.beta_d));
    784  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    785  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_ALPHA,
    786  m_operation.alphabetaType,
    787  1,
    788  alpha);
    789  if (status != CUDNN_STATUS_SUCCESS) {
    791  &m_operation,
    792  status,
    793  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_ALPHA Failed");
    794  return std::move(m_operation);
    795  }
    796  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    797  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_BETA,
    798  m_operation.alphabetaType,
    799  1,
    800  beta);
    801  if (status != CUDNN_STATUS_SUCCESS) {
    803  &m_operation,
    804  status,
    805  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_BETA Failed");
    806  return std::move(m_operation);
    807  }
    808  } else if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR) {
    809  m_operation.operationTag = "ConvBwdData";
    810 
    811  auto dxdesc_ = m_operation.dxdesc != nullptr ? m_operation.dxdesc : m_operation.xdesc;
    812  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    813  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DX,
    814  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    815  1,
    816  &(dxdesc_->get_backend_descriptor()));
    817  if (status != CUDNN_STATUS_SUCCESS) {
    819  &m_operation,
    820  status,
    821  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DX Failed");
    822  return std::move(m_operation);
    823  }
    824 
    825  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    826  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_W,
    827  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    828  1,
    829  &(m_operation.wdesc->get_backend_descriptor()));
    830  if (status != CUDNN_STATUS_SUCCESS) {
    832  &m_operation,
    833  status,
    834  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_W Failed");
    835  return std::move(m_operation);
    836  }
    837 
    838  auto dydesc_ = m_operation.dydesc != nullptr ? m_operation.dydesc : m_operation.ydesc;
    839  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    840  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DY,
    841  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    842  1,
    843  &(dydesc_->get_backend_descriptor()));
    844  if (status != CUDNN_STATUS_SUCCESS) {
    846  &m_operation,
    847  status,
    848  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DY Failed");
    849  return std::move(m_operation);
    850  }
    851 
    852  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    853  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_CONV_DESC,
    854  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    855  1,
    856  &(m_operation.cdesc->get_backend_descriptor()));
    857  if (status != CUDNN_STATUS_SUCCESS) {
    859  &m_operation,
    860  status,
    861  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_CONV_DESC Failed");
    862  return std::move(m_operation);
    863  }
    864 
    865  void *alpha = (m_operation.alphabetaType == CUDNN_TYPE_FLOAT ? static_cast<void *>(&m_operation.alpha_s)
    866  : static_cast<void *>(&m_operation.alpha_d));
    867  void *beta = (m_operation.alphabetaType == CUDNN_TYPE_FLOAT ? static_cast<void *>(&m_operation.beta_s)
    868  : static_cast<void *>(&m_operation.beta_d));
    869  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    870  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_ALPHA,
    871  m_operation.alphabetaType,
    872  1,
    873  alpha);
    874  if (status != CUDNN_STATUS_SUCCESS) {
    876  &m_operation,
    877  status,
    878  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_ALPHA Failed");
    879  return std::move(m_operation);
    880  }
    881  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    882  CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_BETA,
    883  m_operation.alphabetaType,
    884  1,
    885  beta);
    886  if (status != CUDNN_STATUS_SUCCESS) {
    888  &m_operation,
    889  status,
    890  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_BETA Failed");
    891  return std::move(m_operation);
    892  }
    893  } else if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR) {
    894  switch (m_operation.pointwise_mode) {
    895  case CUDNN_POINTWISE_ADD:
    896  m_operation.operationTag = "Add";
    897  break;
    898  case CUDNN_POINTWISE_MUL:
    899  m_operation.operationTag = "Mul";
    900  break;
    901  case CUDNN_POINTWISE_MIN:
    902  m_operation.operationTag = "Min";
    903  break;
    904  case CUDNN_POINTWISE_MAX:
    905  m_operation.operationTag = "Max";
    906  break;
    907  case CUDNN_POINTWISE_SQRT:
    908  m_operation.operationTag = "Sqrt";
    909  break;
    910  case CUDNN_POINTWISE_RELU_FWD:
    911  m_operation.operationTag = "ReluFwd";
    912  break;
    913  case CUDNN_POINTWISE_TANH_FWD:
    914  m_operation.operationTag = "TanhFwd";
    915  break;
    916  case CUDNN_POINTWISE_SIGMOID_FWD:
    917  m_operation.operationTag = "SigmoidFwd";
    918  break;
    919  case CUDNN_POINTWISE_ELU_FWD:
    920  m_operation.operationTag = "EluFwd";
    921  break;
    922  case CUDNN_POINTWISE_GELU_FWD:
    923  m_operation.operationTag = "GeluFwd";
    924  break;
    925  case CUDNN_POINTWISE_SOFTPLUS_FWD:
    926  m_operation.operationTag = "SoftplusFwd";
    927  break;
    928  case CUDNN_POINTWISE_SWISH_FWD:
    929  m_operation.operationTag = "SwishFwd";
    930  break;
    931  case CUDNN_POINTWISE_RELU_BWD:
    932  m_operation.operationTag = "ReluBwd";
    933  break;
    934  case CUDNN_POINTWISE_TANH_BWD:
    935  m_operation.operationTag = "TanhBwd";
    936  break;
    937  case CUDNN_POINTWISE_SIGMOID_BWD:
    938  m_operation.operationTag = "SigmoidBwd";
    939  break;
    940  case CUDNN_POINTWISE_ELU_BWD:
    941  m_operation.operationTag = "EluBwd";
    942  break;
    943  case CUDNN_POINTWISE_GELU_BWD:
    944  m_operation.operationTag = "GeluBwd";
    945  break;
    946  case CUDNN_POINTWISE_SOFTPLUS_BWD:
    947  m_operation.operationTag = "SoftplusBwd";
    948  break;
    949  case CUDNN_POINTWISE_SWISH_BWD:
    950  m_operation.operationTag = "SwishBwd";
    951  break;
    952  default:
    953  m_operation.operationTag = "OtherOp";
    954  break;
    955  }
    956 
    957  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    958  CUDNN_ATTR_OPERATION_POINTWISE_PW_DESCRIPTOR,
    959  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    960  1,
    961  &(m_operation.pwdesc->get_backend_descriptor()));
    962  if (status != CUDNN_STATUS_SUCCESS) {
    964  &m_operation,
    965  status,
    966  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_POINTWISE_PW_DESCRIPTOR Failed");
    967  return std::move(m_operation);
    968  }
    969 
    970  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    971  CUDNN_ATTR_OPERATION_POINTWISE_XDESC,
    972  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    973  1,
    974  &(m_operation.xdesc->get_backend_descriptor()));
    975  if (status != CUDNN_STATUS_SUCCESS) {
    977  &m_operation,
    978  status,
    979  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_POINTWISE_XDESC Failed");
    980  return std::move(m_operation);
    981  }
    982 
    983  if (!m_operation.is_pointwise_activation_bwd_op) {
    984  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    985  CUDNN_ATTR_OPERATION_POINTWISE_YDESC,
    986  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    987  1,
    988  &(m_operation.ydesc->get_backend_descriptor()));
    989  if (status != CUDNN_STATUS_SUCCESS) {
    991  &m_operation,
    992  status,
    993  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_POINTWISE_YDESC Failed");
    994  return std::move(m_operation);
    995  }
    996  } else {
    997  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    998  CUDNN_ATTR_OPERATION_POINTWISE_DYDESC,
    999  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    1000  1,
    1001  &(m_operation.dydesc->get_backend_descriptor()));
    1002  if (status != CUDNN_STATUS_SUCCESS) {
    1004  &m_operation,
    1005  status,
    1006  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_POINTWISE_DYDESC Failed");
    1007  return std::move(m_operation);
    1008  }
    1009 
    1010  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1011  CUDNN_ATTR_OPERATION_POINTWISE_DXDESC,
    1012  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    1013  1,
    1014  &(m_operation.dxdesc->get_backend_descriptor()));
    1015  if (status != CUDNN_STATUS_SUCCESS) {
    1017  &m_operation,
    1018  status,
    1019  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_POINTWISE_DXDESC Failed");
    1020  return std::move(m_operation);
    1021  }
    1022  }
    1023 
    1024  void *alpha = (m_operation.alphabetaType == CUDNN_TYPE_FLOAT ? static_cast<void *>(&m_operation.alpha_s)
    1025  : static_cast<void *>(&m_operation.alpha_d));
    1026  void *alpha2 = (m_operation.alphabetaType == CUDNN_TYPE_FLOAT ? static_cast<void *>(&m_operation.alpha2_s)
    1027  : static_cast<void *>(&m_operation.alpha2_d));
    1028  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1029  CUDNN_ATTR_OPERATION_POINTWISE_ALPHA1,
    1030  m_operation.alphabetaType,
    1031  1,
    1032  alpha);
    1033  if (status != CUDNN_STATUS_SUCCESS) {
    1035  &m_operation,
    1036  status,
    1037  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_POINTWISE_ALPHA1 Failed");
    1038  return std::move(m_operation);
    1039  }
    1040  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1041  CUDNN_ATTR_OPERATION_POINTWISE_ALPHA2,
    1042  m_operation.alphabetaType,
    1043  1,
    1044  alpha2);
    1045  if (status != CUDNN_STATUS_SUCCESS) {
    1047  &m_operation,
    1048  status,
    1049  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_POINTWISE_ALPHA2 Failed");
    1050  return std::move(m_operation);
    1051  }
    1052 
    1053  if (m_operation.pointwise_port_count == 3 && !m_operation.is_pointwise_activation_bwd_op) {
    1054  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1055  CUDNN_ATTR_OPERATION_POINTWISE_BDESC,
    1056  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    1057  1,
    1058  &(m_operation.bdesc->get_backend_descriptor()));
    1059  if (status != CUDNN_STATUS_SUCCESS) {
    1061  &m_operation,
    1062  status,
    1063  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_POINTWISE_BDESC Failed");
    1064  return std::move(m_operation);
    1065  }
    1066  }
    1067  } else if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR) {
    1068  m_operation.operationTag = "Matmul";
    1069  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1070  CUDNN_ATTR_OPERATION_MATMUL_ADESC,
    1071  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    1072  1,
    1073  &(m_operation.amatdesc->get_backend_descriptor()));
    1074  if (status != CUDNN_STATUS_SUCCESS) {
    1076  &m_operation,
    1077  status,
    1078  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_MATMUL_ADESC Failed");
    1079  return std::move(m_operation);
    1080  }
    1081  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1082  CUDNN_ATTR_OPERATION_MATMUL_BDESC,
    1083  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    1084  1,
    1085  &(m_operation.bmatdesc->get_backend_descriptor()));
    1086  if (status != CUDNN_STATUS_SUCCESS) {
    1088  &m_operation,
    1089  status,
    1090  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_MATMUL_BDESC Failed");
    1091  return std::move(m_operation);
    1092  }
    1093  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1094  CUDNN_ATTR_OPERATION_MATMUL_CDESC,
    1095  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    1096  1,
    1097  &(m_operation.cmatdesc->get_backend_descriptor()));
    1098  if (status != CUDNN_STATUS_SUCCESS) {
    1100  &m_operation,
    1101  status,
    1102  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_MATMUL_CDESC Failed");
    1103  return std::move(m_operation);
    1104  }
    1105  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1106  CUDNN_ATTR_OPERATION_MATMUL_DESC,
    1107  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    1108  1,
    1109  &(m_operation.matmuldesc->get_backend_descriptor()));
    1110  if (status != CUDNN_STATUS_SUCCESS) {
    1112  &m_operation,
    1113  status,
    1114  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_MATMUL_DESC Failed");
    1115  return std::move(m_operation);
    1116  }
    1117  } else if (m_operation.op_mode == CUDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR) {
    1118  m_operation.operationTag = "Reduction";
    1119  if ((cudnnGetVersion() / 100) == 81) { // workaround for cudnn 8.1
    1120  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1121  CUDNN_ATTR_REDUCTION_OPERATOR,
    1122  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    1123  1,
    1124  &(m_operation.reductiondesc->get_backend_descriptor()));
    1125  } else {
    1126  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1127  CUDNN_ATTR_OPERATION_REDUCTION_DESC,
    1128  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    1129  1,
    1130  &(m_operation.reductiondesc->get_backend_descriptor()));
    1131  }
    1132  if (status != CUDNN_STATUS_SUCCESS) {
    1134  &m_operation,
    1135  status,
    1136  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_REDUCTION_DESC Failed");
    1137  return std::move(m_operation);
    1138  }
    1139  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1140  CUDNN_ATTR_OPERATION_REDUCTION_XDESC,
    1141  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    1142  1,
    1143  &(m_operation.xdesc->get_backend_descriptor()));
    1144  if (status != CUDNN_STATUS_SUCCESS) {
    1146  &m_operation,
    1147  status,
    1148  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_REDUCTION_XDESC Failed");
    1149  return std::move(m_operation);
    1150  }
    1151  status = cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(),
    1152  CUDNN_ATTR_OPERATION_REDUCTION_YDESC,
    1153  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    1154  1,
    1155  &(m_operation.ydesc->get_backend_descriptor()));
    1156  if (status != CUDNN_STATUS_SUCCESS) {
    1158  &m_operation,
    1159  status,
    1160  "CUDNN_BACKEND_OPERATION: SetAttribute CUDNN_ATTR_OPERATION_REDUCTION_YDESC Failed");
    1161  return std::move(m_operation);
    1162  }
    1163  }
    1164  status = cudnnBackendFinalize(m_operation.pointer->get_backend_descriptor());
    1165  if (status != CUDNN_STATUS_SUCCESS) {
    1166  set_error_and_throw_exception(&m_operation, status, "CUDNN_BACKEND_OPERATION: cudnnFinalize Failed");
    1167  return std::move(m_operation);
    1168  }
    1169  return std::move(m_operation);
    1170  }
    1171 };
    1172 }
    +
    auto setcDesc(ConvDesc_v8 const &conv) -> OperationBuilder_v8 &
    cudnnStatus_t initialize_managed_backend_pointer(cudnnBackendDescriptorType_t type)
    Initializes the underlying managed descriptor.
    static void set_error_and_throw_exception(BackendDescriptor const *desc, cudnnStatus_t status, const char *message)
    -
    auto setAlpha(float alpha) -> OperationBuilder_v8 &
    -
    auto setdxDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    -
    auto setwDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    - - +
    NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string to_string(const NLOHMANN_BASIC_JSON_TPL &j)
    user-defined to_string function for JSON values
    Definition: json.hpp:25855
    +
    auto setAlpha(float alpha) -> OperationBuilder_v8 &
    +
    auto setdxDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    +
    auto setwDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    + +
    Operation_v8 & operator=(Operation_v8 const &)=delete
    - -
    auto setbDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    + +
    auto setbDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    - - - -
    auto setaMatDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    - -
    auto setmatmulDesc(MatMulDesc_v8 const &matmulDesc) -> OperationBuilder_v8 &
    -
    cudnnBackendDescriptorType_t op_mode
    - + + + +
    auto setaMatDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    + +
    auto setmatmulDesc(MatMulDesc_v8 const &matmulDesc) -> OperationBuilder_v8 &
    +
    cudnnBackendDescriptorType_t op_mode
    + - -
    auto setBeta(float beta) -> OperationBuilder_v8 &
    + +
    auto setBeta(float beta) -> OperationBuilder_v8 &
    - -
    auto setpwDesc(PointWiseDesc_v8 const &pointWiseDesc) -> OperationBuilder_v8 &
    -
    auto setAlpha2(float alpha) -> OperationBuilder_v8 &
    -
    auto setdwDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    - - - + +
    auto setpwDesc(PointWiseDesc_v8 const &pointWiseDesc) -> OperationBuilder_v8 &
    +
    auto setAlpha2(float alpha) -> OperationBuilder_v8 &
    + +
    auto setdwDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    +
    auto setreductionDesc(ReductionDesc_v8 const &reductionDesc) -> OperationBuilder_v8 &
    + + +
    cudnnStatus_t get_status() const
    Current status of the descriptor.
    -
    auto setBeta(double beta) -> OperationBuilder_v8 &
    -
    auto setbMatDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    - +
    auto setBeta(double beta) -> OperationBuilder_v8 &
    +
    auto setbMatDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    +
    ManagedOpaqueDescriptor reductiondesc
    + +
    std::shared_ptr< OpaqueBackendPointer > ManagedOpaqueDescriptor
    -
    auto setdyDesc(ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &
    +
    auto setdyDesc(ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &
    -
    std::string describe() const override
    Return a string describing the backend Descriptor.
    - - - -
    auto setdyDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    +
    std::string describe() const override
    Return a string describing the backend Descriptor.
    + + + +
    auto setdyDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    - +
    const char * get_error() const
    Diagonistic error message if any.
    - -
    cudnnBackendAttributeType_t alphabetaType
    - + +
    cudnnBackendAttributeType_t alphabetaType
    + - - - -
    auto setxDesc(ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &
    -
    auto setcMatDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    - -
    auto setyDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    - -
    auto setxDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    - + + + +
    auto setxDesc(ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &
    +
    auto setcMatDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    + +
    auto setyDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    + +
    auto setxDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &
    + -
    ManagedOpaqueDescriptor getOutputTensor()
    -
    auto setAlpha2(double alpha) -> OperationBuilder_v8 &
    - +
    ManagedOpaqueDescriptor getOutputTensor()
    +
    auto setAlpha2(double alpha) -> OperationBuilder_v8 &
    + -
    OperationBuilder_v8(cudnnBackendDescriptorType_t mode)
    - -
    std::string const & getTag() const
    -
    auto setAlpha(double alpha) -> OperationBuilder_v8 &
    +
    OperationBuilder_v8(cudnnBackendDescriptorType_t mode)
    + +
    std::string const & getTag() const
    +
    auto setAlpha(double alpha) -> OperationBuilder_v8 &
    cudnnStatus_t status
    Shared pointer of the OpaqueBackendPointer.
    - +
    diff --git a/docs/da/d5f/cudnn__frontend__PointWiseDesc_8h_source.html b/docs/da/d5f/cudnn__frontend__PointWiseDesc_8h_source.html index 5e618bdc..a5cc41a4 100644 --- a/docs/da/d5f/cudnn__frontend__PointWiseDesc_8h_source.html +++ b/docs/da/d5f/cudnn__frontend__PointWiseDesc_8h_source.html @@ -116,7 +116,7 @@
    auto setMathPrecision(cudnnDataType_t data_type_) -> PointWiseDescBuilder_v8 &
    Set Math Precision Data Type for the Convolution Operation.
    -
    auto setMode(cudnnPointwiseMode_t mode_) -> PointWiseDescBuilder_v8 &
    Set upper and lower limits for the RELU activation.
    +
    auto setMode(cudnnPointwiseMode_t mode_) -> PointWiseDescBuilder_v8 &
    Set pointwise mode for the activation.
    auto setEluAlpha(double elu_alpha_) -> PointWiseDescBuilder_v8 &
    diff --git a/docs/da/d6b/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.map b/docs/da/d6b/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.map new file mode 100644 index 00000000..128681db --- /dev/null +++ b/docs/da/d6b/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/da/d6b/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.md5 b/docs/da/d6b/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.md5 new file mode 100644 index 00000000..b7c61ebe --- /dev/null +++ b/docs/da/d6b/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.md5 @@ -0,0 +1 @@ +b8904b09acee9f99d029b2a1ccae5e96 \ No newline at end of file diff --git a/docs/da/d6b/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.png b/docs/da/d6b/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.png new file mode 100644 index 00000000..107a3050 Binary files /dev/null and b/docs/da/d6b/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4__inherit__graph.png differ diff --git a/docs/da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html b/docs/da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html new file mode 100644 index 00000000..722a8193 --- /dev/null +++ b/docs/da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html @@ -0,0 +1,252 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + +

    +Public Types

    using iterator_type = IteratorType
     
    using char_type = typename std::iterator_traits< iterator_type >::value_type
     
    using base_adapter_type = iterator_input_adapter< iterator_type >
     
    using adapter_type = wide_string_input_adapter< base_adapter_type, char_type >
     
    + + + +

    +Static Public Member Functions

    static adapter_type create (IteratorType first, IteratorType last)
     
    +

    Detailed Description

    +

    template<typename IteratorType>
    +struct nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >

    + + +

    Definition at line 5579 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ adapter_type

    + +
    +
    +
    +template<typename IteratorType >
    + + + + +
    using nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::adapter_type = wide_string_input_adapter<base_adapter_type, char_type>
    +
    + +

    Definition at line 5584 of file json.hpp.

    + +
    +
    + +

    ◆ base_adapter_type

    + +
    +
    +
    +template<typename IteratorType >
    + + + + +
    using nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::base_adapter_type = iterator_input_adapter<iterator_type>
    +
    + +

    Definition at line 5583 of file json.hpp.

    + +
    +
    + +

    ◆ char_type

    + +
    +
    +
    +template<typename IteratorType >
    + + + + +
    using nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::char_type = typename std::iterator_traits<iterator_type>::value_type
    +
    + +

    Definition at line 5582 of file json.hpp.

    + +
    +
    + +

    ◆ iterator_type

    + +
    +
    +
    +template<typename IteratorType >
    + + + + +
    using nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::iterator_type = IteratorType
    +
    + +

    Definition at line 5581 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ create()

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static adapter_type nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::create (IteratorType first,
    IteratorType last 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 5586 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.js b/docs/da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.js new file mode 100644 index 00000000..7ce5031e --- /dev/null +++ b/docs/da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.js @@ -0,0 +1,8 @@ +var structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902 = +[ + [ "adapter_type", "da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#ae9fc94b1b95c5d4afd1ab3f9ccb93c1a", null ], + [ "base_adapter_type", "da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#afd0218fc0657b5e04ab81ccc9dcda03d", null ], + [ "char_type", "da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#aff521be1855964b6ec371eed2ca2590f", null ], + [ "iterator_type", "da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#a1c42a47cd6cd71146cf2851d76165610", null ], + [ "create", "da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#aae2354d80ae95214a9da99c495003f6c", null ] +]; \ No newline at end of file diff --git a/docs/da/d6d/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object8650598a124364f80fcaf29866166db6.html b/docs/da/d6d/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object8650598a124364f80fcaf29866166db6.html new file mode 100644 index 00000000..6733d745 --- /dev/null +++ b/docs/da/d6d/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object8650598a124364f80fcaf29866166db6.html @@ -0,0 +1,106 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + diff --git a/docs/da/d76/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.map b/docs/da/d76/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.map new file mode 100644 index 00000000..4eb8bec5 --- /dev/null +++ b/docs/da/d76/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/da/d76/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.md5 b/docs/da/d76/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.md5 new file mode 100644 index 00000000..0c66948c --- /dev/null +++ b/docs/da/d76/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.md5 @@ -0,0 +1 @@ +b2c012a41aa4f435b8998354bdaa0514 \ No newline at end of file diff --git a/docs/da/d76/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.png b/docs/da/d76/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.png new file mode 100644 index 00000000..2afc4488 Binary files /dev/null and b/docs/da/d76/structnlohmann_1_1detail_1_1is__complete__type__inherit__graph.png differ diff --git a/docs/da/d79/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_4723988ec8b6c1d64f623666d71be88c.html b/docs/da/d79/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_4723988ec8b6c1d64f623666d71be88c.html new file mode 100644 index 00000000..4207e248 --- /dev/null +++ b/docs/da/d79/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_4723988ec8b6c1d64f623666d71be88c.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 > Member List
    +
    + +
    + + + + diff --git a/docs/da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html b/docs/da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html new file mode 100644 index 00000000..ce882f80 --- /dev/null +++ b/docs/da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html @@ -0,0 +1,271 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::span_input_adapter Class Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::span_input_adapter Class Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::span_input_adapter:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + +

    +Public Member Functions

    template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value &&std::is_integral< typename std::remove_pointer< CharT >::type >::value &&sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
     span_input_adapter (CharT b, std::size_t l)
     
    template<class IteratorType , typename std::enable_if< std::is_same< typename iterator_traits< IteratorType >::iterator_category, std::random_access_iterator_tag >::value, int >::type = 0>
     span_input_adapter (IteratorType first, IteratorType last)
     
    contiguous_bytes_input_adapter && get ()
     
    + + + +

    +Private Attributes

    contiguous_bytes_input_adapter ia
     
    +

    Detailed Description

    +
    +

    Definition at line 5675 of file json.hpp.

    +

    Constructor & Destructor Documentation

    + +

    ◆ span_input_adapter() [1/2]

    + +
    +
    +
    +template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value &&std::is_integral< typename std::remove_pointer< CharT >::type >::value &&sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    nlohmann::detail::span_input_adapter::span_input_adapter (CharT b,
    std::size_t l 
    )
    +
    +inline
    +
    + +

    Definition at line 5684 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ span_input_adapter() [2/2]

    + +
    +
    +
    +template<class IteratorType , typename std::enable_if< std::is_same< typename iterator_traits< IteratorType >::iterator_category, std::random_access_iterator_tag >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    nlohmann::detail::span_input_adapter::span_input_adapter (IteratorType first,
    IteratorType last 
    )
    +
    +inline
    +
    + +

    Definition at line 5691 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ get()

    + +
    +
    + + + + + +
    + + + + + + + +
    contiguous_bytes_input_adapter&& nlohmann::detail::span_input_adapter::get ()
    +
    +inline
    +
    + +

    Definition at line 5694 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ ia

    + +
    +
    + + + + + +
    + + + + +
    contiguous_bytes_input_adapter nlohmann::detail::span_input_adapter::ia
    +
    +private
    +
    + +

    Definition at line 5700 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.js b/docs/da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.js new file mode 100644 index 00000000..5ed5dd79 --- /dev/null +++ b/docs/da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.js @@ -0,0 +1,7 @@ +var classnlohmann_1_1detail_1_1span__input__adapter = +[ + [ "span_input_adapter", "da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html#a3a328a45b2c2c87145106ce4b2d02365", null ], + [ "span_input_adapter", "da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html#a714c6cf8e15b9af4e1723d9f7f92d4c8", null ], + [ "get", "da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html#a478dfb78d0bf28d2665a19fccf221f02", null ], + [ "ia", "da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html#a3e223a7784502be20ace441e84f8cf43", null ] +]; \ No newline at end of file diff --git a/docs/da/d86/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html b/docs/da/d86/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html new file mode 100644 index 00000000..07b61c2a --- /dev/null +++ b/docs/da/d86/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html @@ -0,0 +1,124 @@ + + + + + + + +CUDNN Frontend API: std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > > Class Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >:
    +
    +
    Inheritance graph
    + + +
    +
    +Collaboration diagram for std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename IteratorType>
    +class std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >

    + + +

    Definition at line 4450 of file json.hpp.

    +

    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/da/d86/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4-members.html b/docs/da/d86/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4-members.html new file mode 100644 index 00000000..7c299ecf --- /dev/null +++ b/docs/da/d86/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::external_constructor< value_t::number_integer > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::external_constructor< value_t::number_integer >, including all inherited members.

    + + +
    construct(BasicJsonType &j, typename BasicJsonType::number_integer_t val) noexceptnlohmann::detail::external_constructor< value_t::number_integer >inlinestatic
    +
    + + + + diff --git a/docs/da/d8d/classnlohmann_1_1detail_1_1iteration__proxy__value__coll__graph.map b/docs/da/d8d/classnlohmann_1_1detail_1_1iteration__proxy__value__coll__graph.map new file mode 100644 index 00000000..4a8f667b --- /dev/null +++ b/docs/da/d8d/classnlohmann_1_1detail_1_1iteration__proxy__value__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/da/d8d/classnlohmann_1_1detail_1_1iteration__proxy__value__coll__graph.md5 b/docs/da/d8d/classnlohmann_1_1detail_1_1iteration__proxy__value__coll__graph.md5 new file mode 100644 index 00000000..64edfc53 --- /dev/null +++ b/docs/da/d8d/classnlohmann_1_1detail_1_1iteration__proxy__value__coll__graph.md5 @@ -0,0 +1 @@ +1abbee7802ebe34081d3aad91ddcda9b \ No newline at end of file diff --git a/docs/da/d8d/classnlohmann_1_1detail_1_1iteration__proxy__value__coll__graph.png b/docs/da/d8d/classnlohmann_1_1detail_1_1iteration__proxy__value__coll__graph.png new file mode 100644 index 00000000..c92e782f Binary files /dev/null and b/docs/da/d8d/classnlohmann_1_1detail_1_1iteration__proxy__value__coll__graph.png differ diff --git a/docs/da/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4__coll__graph.map b/docs/da/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4__coll__graph.map new file mode 100644 index 00000000..a17878c4 --- /dev/null +++ b/docs/da/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/da/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4__coll__graph.md5 b/docs/da/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4__coll__graph.md5 new file mode 100644 index 00000000..b536f2d3 --- /dev/null +++ b/docs/da/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4__coll__graph.md5 @@ -0,0 +1 @@ +81da136989f2b36b21af2e5c634a2af7 \ No newline at end of file diff --git a/docs/da/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4__coll__graph.png b/docs/da/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4__coll__graph.png new file mode 100644 index 00000000..e72a52c3 Binary files /dev/null and b/docs/da/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4__coll__graph.png differ diff --git a/docs/da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html b/docs/da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html new file mode 100644 index 00000000..c723d16e --- /dev/null +++ b/docs/da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html @@ -0,0 +1,225 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + + + +

    +Public Types

    using iterator_category = std::random_access_iterator_tag
     
    using value_type = T
     
    using difference_type = ptrdiff_t
     
    using pointer = T *
     
    using reference = T &
     
    +

    Detailed Description

    +

    template<typename T>
    +struct nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >

    + + +

    Definition at line 3252 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ difference_type

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::difference_type = ptrdiff_t
    +
    + +

    Definition at line 3256 of file json.hpp.

    + +
    +
    + +

    ◆ iterator_category

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::iterator_category = std::random_access_iterator_tag
    +
    + +

    Definition at line 3254 of file json.hpp.

    + +
    +
    + +

    ◆ pointer

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::pointer = T*
    +
    + +

    Definition at line 3257 of file json.hpp.

    + +
    +
    + +

    ◆ reference

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::reference = T&
    +
    + +

    Definition at line 3258 of file json.hpp.

    + +
    +
    + +

    ◆ value_type

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::value_type = T
    +
    + +

    Definition at line 3255 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.js b/docs/da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.js new file mode 100644 index 00000000..bf0e029c --- /dev/null +++ b/docs/da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.js @@ -0,0 +1,8 @@ +var structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4 = +[ + [ "difference_type", "da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#ae7be99eb434f5b5f34692874c272b759", null ], + [ "iterator_category", "da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a9b043cfe0fdfb3e9665428fb2be9cea1", null ], + [ "pointer", "da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a33ee9a1beb8ee099f989fd4af15178a5", null ], + [ "reference", "da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a0809c5949d22f08a993231d2fdf285f0", null ], + [ "value_type", "da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a443e6a62f5fb2c545fc71c751b98ca8d", null ] +]; \ No newline at end of file diff --git a/docs/da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html b/docs/da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html new file mode 100644 index 00000000..36d695e8 --- /dev/null +++ b/docs/da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html @@ -0,0 +1,260 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::external_constructor< value_t::string > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::external_constructor< value_t::string > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::external_constructor< value_t::string >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, const typename BasicJsonType::string_t &s)
     
    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, typename BasicJsonType::string_t &&s)
     
    template<typename BasicJsonType , typename CompatibleStringType , enable_if_t< !std::is_same< CompatibleStringType, typename BasicJsonType::string_t >::value, int > = 0>
    static void construct (BasicJsonType &j, const CompatibleStringType &str)
     
    +

    Detailed Description

    +

    template<>
    +struct nlohmann::detail::external_constructor< value_t::string >

    + + +

    Definition at line 4496 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ construct() [1/3]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::external_constructor< value_t::string >::construct (BasicJsonType & j,
    const typename BasicJsonType::string_t & s 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 4499 of file json.hpp.

    + +

    References nlohmann::detail::string.

    + +
    +
    + +

    ◆ construct() [2/3]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::external_constructor< value_t::string >::construct (BasicJsonType & j,
    typename BasicJsonType::string_t && s 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 4507 of file json.hpp.

    + +

    References nlohmann::detail::string.

    + +
    +
    + +

    ◆ construct() [3/3]

    + +
    +
    +
    +template<typename BasicJsonType , typename CompatibleStringType , enable_if_t< !std::is_same< CompatibleStringType, typename BasicJsonType::string_t >::value, int > = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::external_constructor< value_t::string >::construct (BasicJsonType & j,
    const CompatibleStringType & str 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 4517 of file json.hpp.

    + +

    References nlohmann::detail::string.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.js b/docs/da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.js new file mode 100644 index 00000000..7c8a3e0a --- /dev/null +++ b/docs/da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.js @@ -0,0 +1,6 @@ +var structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4 = +[ + [ "construct", "da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html#ad88d0b4b7ea01ea20e12cc1b82fe0d92", null ], + [ "construct", "da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html#a74f56b9ca1d4e8db9751353d76668322", null ], + [ "construct", "da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html#a8822d43f0e20c5a28be329f9ca7de6c4", null ] +]; \ No newline at end of file diff --git a/docs/da/dbd/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html b/docs/da/dbd/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html new file mode 100644 index 00000000..1e5102ce --- /dev/null +++ b/docs/da/dbd/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html @@ -0,0 +1,129 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_default_constructible< std::pair< T1, T2 > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_default_constructible< std::pair< T1, T2 > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_default_constructible< std::pair< T1, T2 > >:
    +
    +
    Inheritance graph
    + + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_default_constructible< std::pair< T1, T2 > >:
    +
    +
    Collaboration graph
    + + + + +
    +

    Detailed Description

    +

    template<typename T1, typename T2>
    +struct nlohmann::detail::is_default_constructible< std::pair< T1, T2 > >

    + + +

    Definition at line 3562 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/da/dc5/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.map b/docs/da/dc5/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.map new file mode 100644 index 00000000..45af6986 --- /dev/null +++ b/docs/da/dc5/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/da/dc5/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.md5 b/docs/da/dc5/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.md5 new file mode 100644 index 00000000..d2ddbf15 --- /dev/null +++ b/docs/da/dc5/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.md5 @@ -0,0 +1 @@ +8a6bef35e2fa59212c645936c70daf4d \ No newline at end of file diff --git a/docs/da/dc5/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.png b/docs/da/dc5/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.png new file mode 100644 index 00000000..5d806286 Binary files /dev/null and b/docs/da/dc5/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4__coll__graph.png differ diff --git a/docs/da/dd6/structnlohmann_1_1ordered__map__inherit__graph.map b/docs/da/dd6/structnlohmann_1_1ordered__map__inherit__graph.map new file mode 100644 index 00000000..dca1e650 --- /dev/null +++ b/docs/da/dd6/structnlohmann_1_1ordered__map__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/da/dd6/structnlohmann_1_1ordered__map__inherit__graph.md5 b/docs/da/dd6/structnlohmann_1_1ordered__map__inherit__graph.md5 new file mode 100644 index 00000000..1efb0d7c --- /dev/null +++ b/docs/da/dd6/structnlohmann_1_1ordered__map__inherit__graph.md5 @@ -0,0 +1 @@ +be8a150c43d0b5c0737ea3eb04857fb1 \ No newline at end of file diff --git a/docs/da/dd6/structnlohmann_1_1ordered__map__inherit__graph.png b/docs/da/dd6/structnlohmann_1_1ordered__map__inherit__graph.png new file mode 100644 index 00000000..74f2859e Binary files /dev/null and b/docs/da/dd6/structnlohmann_1_1ordered__map__inherit__graph.png differ diff --git a/docs/da/de8/classnlohmann_1_1json__pointer.html b/docs/da/de8/classnlohmann_1_1json__pointer.html new file mode 100644 index 00000000..2c86a669 --- /dev/null +++ b/docs/da/de8/classnlohmann_1_1json__pointer.html @@ -0,0 +1,1713 @@ + + + + + + + +CUDNN Frontend API: nlohmann::json_pointer< BasicJsonType > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::json_pointer< BasicJsonType > Class Template Reference
    +
    +
    + +

    JSON Pointer. + More...

    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::json_pointer< BasicJsonType >:
    +
    +
    Collaboration graph
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     json_pointer (const std::string &s="")
     create JSON pointer More...
     
    std::string to_string () const
     return a string representation of the JSON pointer More...
     
     operator std::string () const
     return a string representation of the JSON pointer More...
     
    json_pointeroperator/= (const json_pointer &ptr)
     append another JSON pointer at the end of this JSON pointer More...
     
    json_pointeroperator/= (std::string token)
     append an unescaped reference token at the end of this JSON pointer More...
     
    json_pointeroperator/= (std::size_t array_idx)
     append an array index at the end of this JSON pointer More...
     
    json_pointer parent_pointer () const
     returns the parent of this JSON pointer More...
     
    void pop_back ()
     remove last reference token More...
     
    const std::string & back () const
     return last reference token More...
     
    void push_back (const std::string &token)
     append an unescaped token at the end of the reference pointer More...
     
    void push_back (std::string &&token)
     append an unescaped token at the end of the reference pointer More...
     
    bool empty () const noexcept
     return whether pointer points to the root document More...
     
    + + + + + + + + + + + + + + + + + + +

    +Private Member Functions

    JSON_PRIVATE_UNLESS_TESTED JSON pointer has no BasicJsonType ()))
     
    BasicJsonTypeget_and_create (BasicJsonType &j) const
     create and return a reference to the pointed to value More...
     
    BasicJsonTypeget_unchecked (BasicJsonType *ptr) const
     return a reference to the pointed to value More...
     
    BasicJsonTypeget_checked (BasicJsonType *ptr) const
     
    const BasicJsonTypeget_unchecked (const BasicJsonType *ptr) const
     return a const reference to the pointed to value More...
     
    const BasicJsonTypeget_checked (const BasicJsonType *ptr) const
     
    bool contains (const BasicJsonType *ptr) const
     
    + + + + + + + + + + +

    +Static Private Member Functions

    static BasicJsonType::size_type array_index (const std::string &s)
     
    static std::vector< std::string > split (const std::string &reference_string)
     split the string input to reference tokens More...
     
    static void flatten (const std::string &reference_string, const BasicJsonType &value, BasicJsonType &result)
     
    static BasicJsonType unflatten (const BasicJsonType &value)
     
    + + + + + + + + + + + + + + +

    +Private Attributes

    JSON_PRIVATE_UNLESS_TESTED __pad0__: json_pointer top() const { if (JSON_HEDLEY_UNLIKELY(empty())) { JSON_THROW(detail::out_of_range::create(405
     
    JSON_PRIVATE_UNLESS_TESTED JSON pointer has no parent
     
    json_pointer result = *this
     
    result reference_tokens = {reference_tokens[0]}
     
    return result
     
    std::vector< std::string > reference_tokens
     the reference tokens More...
     
    + + + + + + + + + + + + + + + + + + +

    +Friends

    class basic_json
     
    json_pointer operator/ (const json_pointer &lhs, const json_pointer &rhs)
     create a new JSON pointer by appending the right JSON pointer at the end of the left JSON pointer More...
     
    json_pointer operator/ (const json_pointer &ptr, std::string token)
     create a new JSON pointer by appending the unescaped token at the end of the JSON pointer More...
     
    json_pointer operator/ (const json_pointer &ptr, std::size_t array_idx)
     create a new JSON pointer by appending the array-index-token at the end of the JSON pointer More...
     
    bool operator== (json_pointer const &lhs, json_pointer const &rhs) noexcept
     compares two JSON pointers for equality More...
     
    bool operator!= (json_pointer const &lhs, json_pointer const &rhs) noexcept
     compares two JSON pointers for inequality More...
     
    +

    Detailed Description

    +

    template<typename BasicJsonType>
    +class nlohmann::json_pointer< BasicJsonType >

    + +

    JSON Pointer.

    +

    A JSON pointer defines a string syntax for identifying a specific value within a JSON document. It can be used with functions at and operator[]. Furthermore, JSON pointers are the base for JSON patches.

    +
    See also
    RFC 6901
    +
    Since
    version 2.0.0
    + +

    Definition at line 3380 of file json.hpp.

    +

    Constructor & Destructor Documentation

    + +

    ◆ json_pointer()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    nlohmann::json_pointer< BasicJsonType >::json_pointer (const std::string & s = "")
    +
    +inlineexplicit
    +
    + +

    create JSON pointer

    +

    Create a JSON pointer according to the syntax described in Section 3 of RFC6901.

    +
    Parameters
    + + +
    [in]sstring representing the JSON pointer; if omitted, the empty string is assumed which references the whole JSON value
    +
    +
    +
    Exceptions
    + + + +
    parse_error.107if the given JSON pointer s is nonempty and does not begin with a slash (/); see example below
    parse_error.108if a tilde (~) in the given JSON pointer s is not followed by 0 (representing ~) or 1 (representing /); see example below
    +
    +
    +

    {The example shows the construction several valid JSON pointers as well as the exceptional behavior.,json_pointer}

    +
    Since
    version 2.0.0
    + +

    Definition at line 12133 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ array_index()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    static BasicJsonType::size_type nlohmann::json_pointer< BasicJsonType >::array_index (const std::string & s)
    +
    +inlinestaticprivate
    +
    +
    Parameters
    + + +
    [in]sreference token to be converted into an array index
    +
    +
    +
    Returns
    integer representation of s
    +
    Exceptions
    + + + + + +
    parse_error.106if an array index begins with '0'
    parse_error.109if an array index begins not with a digit
    out_of_range.404if string s could not be converted to an integer
    out_of_range.410if an array index exceeds size_type
    +
    +
    + +

    Definition at line 12420 of file json.hpp.

    + +

    References nlohmann::detail::parse_error::create(), nlohmann::detail::out_of_range::create(), JSON_CATCH, JSON_HEDLEY_UNLIKELY, JSON_PRIVATE_UNLESS_TESTED, JSON_THROW, and JSON_TRY.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch().

    + +
    +
    + +

    ◆ back()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + +
    const std::string& nlohmann::json_pointer< BasicJsonType >::back () const
    +
    +inline
    +
    + +

    return last reference token

    +
    Precondition
    not empty()
    +
    Returns
    last reference token
    +

    {The example shows the usage of back.,json_pointer__back}

    +

    Constant.

    +
    Exceptions
    + + +
    out_of_range.405if JSON pointer has no parent
    +
    +
    +
    Since
    version 3.6.0
    + +

    Definition at line 12357 of file json.hpp.

    + +

    References nlohmann::detail::out_of_range::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch().

    + +
    +
    + +

    ◆ BasicJsonType()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + +
    JSON_PRIVATE_UNLESS_TESTED JSON pointer has no nlohmann::json_pointer< BasicJsonType >::BasicJsonType ()
    +
    +private
    +
    + +
    +
    + +

    ◆ contains()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    bool nlohmann::json_pointer< BasicJsonType >::contains (const BasicJsonTypeptr) const
    +
    +inlineprivate
    +
    +
    Exceptions
    + + + +
    parse_error.106if an array index begins with '0'
    parse_error.109if an array index was not a number
    +
    +
    + +

    Definition at line 12745 of file json.hpp.

    + +

    References nlohmann::detail::array, JSON_HEDLEY_UNLIKELY, and nlohmann::detail::object.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::contains().

    + +
    +
    + +

    ◆ empty()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + +
    bool nlohmann::json_pointer< BasicJsonType >::empty () const
    +
    +inlinenoexcept
    +
    + +

    return whether pointer points to the root document

    +
    Returns
    true iff the JSON pointer points to the root document
    +

    Constant.

    +

    No-throw guarantee: this function never throws exceptions.

    +

    {The example shows the result of empty for different JSON Pointers.,json_pointer__empty}

    +
    Since
    version 3.6.0
    + +

    Definition at line 12404 of file json.hpp.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch().

    + +
    +
    + +

    ◆ flatten()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    static void nlohmann::json_pointer< BasicJsonType >::flatten (const std::string & reference_string,
    const BasicJsonTypevalue,
    BasicJsonTyperesult 
    )
    +
    +inlinestaticprivate
    +
    +
    Parameters
    + + + + +
    [in]reference_stringthe reference string to the current value
    [in]valuethe value to consider
    [in,out]resultthe result object to insert values to
    +
    +
    +
    Note
    Empty objects or arrays are flattened to null.
    + +

    Definition at line 12893 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::escape(), nlohmann::detail::object, nlohmann::to_string(), and nlohmann::detail::value.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::flatten().

    + +
    +
    + +

    ◆ get_and_create()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    BasicJsonType& nlohmann::json_pointer< BasicJsonType >::get_and_create (BasicJsonTypej) const
    +
    +inlineprivate
    +
    + +

    create and return a reference to the pointed to value

    +

    Linear in the number of reference tokens.

    +
    Exceptions
    + + + +
    parse_error.109if array index is not a number
    type_error.313if value cannot be unflattened
    +
    +
    + +

    Definition at line 12485 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::type_error::create(), JSON_THROW, nlohmann::detail::null, and nlohmann::detail::object.

    + +

    Referenced by nlohmann::json_pointer< BasicJsonType >::unflatten().

    + +
    +
    + +

    ◆ get_checked() [1/2]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    BasicJsonType& nlohmann::json_pointer< BasicJsonType >::get_checked (BasicJsonTypeptr) const
    +
    +inlineprivate
    +
    +
    + +

    ◆ get_checked() [2/2]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    const BasicJsonType& nlohmann::json_pointer< BasicJsonType >::get_checked (const BasicJsonTypeptr) const
    +
    +inlineprivate
    +
    +
    Exceptions
    + + + + + +
    parse_error.106if an array index begins with '0'
    parse_error.109if an array index was not a number
    out_of_range.402if the array index '-' is used
    out_of_range.404if the JSON pointer can not be resolved
    +
    +
    + +

    Definition at line 12705 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::out_of_range::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, nlohmann::detail::object, and nlohmann::to_string().

    + +
    +
    + +

    ◆ get_unchecked() [1/2]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    BasicJsonType& nlohmann::json_pointer< BasicJsonType >::get_unchecked (BasicJsonTypeptr) const
    +
    +inlineprivate
    +
    + +

    return a reference to the pointed to value

    +
    Note
    This version does not throw if a value is not present, but tries to create nested values instead. For instance, calling this function with pointer "/this/that" on a null value is equivalent to calling operator[]("this").operator[]("that") on that value, effectively changing the null value to an object.
    +
    Parameters
    + + +
    [in]ptra JSON value
    +
    +
    +
    Returns
    reference to the JSON value pointed to by the JSON pointer
    +

    Linear in the length of the JSON pointer.

    +
    Exceptions
    + + + + +
    parse_error.106if an array index begins with '0'
    parse_error.109if an array index was not a number
    out_of_range.404if the JSON pointer can not be resolved
    +
    +
    + +

    Definition at line 12557 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::out_of_range::create(), JSON_THROW, and nlohmann::detail::object.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[]().

    + +
    +
    + +

    ◆ get_unchecked() [2/2]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    const BasicJsonType& nlohmann::json_pointer< BasicJsonType >::get_unchecked (const BasicJsonTypeptr) const
    +
    +inlineprivate
    +
    + +

    return a const reference to the pointed to value

    +
    Parameters
    + + +
    [in]ptra JSON value
    +
    +
    +
    Returns
    const reference to the JSON value pointed to by the JSON pointer
    +
    Exceptions
    + + + + + +
    parse_error.106if an array index begins with '0'
    parse_error.109if an array index was not a number
    out_of_range.402if the array index '-' is used
    out_of_range.404if the JSON pointer can not be resolved
    +
    +
    + +

    Definition at line 12665 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::out_of_range::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, nlohmann::detail::object, and nlohmann::to_string().

    + +
    +
    + +

    ◆ operator std::string()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + +
    nlohmann::json_pointer< BasicJsonType >::operator std::string () const
    +
    +inline
    +
    + +

    return a string representation of the JSON pointer

    +
    Invariant
    For each JSON pointer ptr, it holds:
    ptr == json_pointer(ptr.to_string());
    +
    Returns
    a string representation of the JSON pointer
    +

    {The example shows the result of to_string.,json_pointer__to_string}

    +
    Since
    version 2.0.0
    + +

    Definition at line 12162 of file json.hpp.

    + +

    References nlohmann::to_string().

    + +
    +
    + +

    ◆ operator/=() [1/3]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    json_pointer& nlohmann::json_pointer< BasicJsonType >::operator/= (const json_pointer< BasicJsonType > & ptr)
    +
    +inline
    +
    + +

    append another JSON pointer at the end of this JSON pointer

    +
    Parameters
    + + +
    [in]ptrJSON pointer to append
    +
    +
    +
    Returns
    JSON pointer with ptr appended
    +

    {The example shows the usage of operator/=.,json_pointer__operator_add}

    +

    Linear in the length of ptr.

    +
    See also
    see operator/=(std::string) to append a reference token
    +
    +see operator/=(std::size_t) to append an array index
    +
    +see operator/(const json_pointer&, const json_pointer&) for a binary operator
    +
    Since
    version 3.6.0
    + +

    Definition at line 12183 of file json.hpp.

    + +

    References nlohmann::json_pointer< BasicJsonType >::reference_tokens.

    + +
    +
    + +

    ◆ operator/=() [2/3]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    json_pointer& nlohmann::json_pointer< BasicJsonType >::operator/= (std::string token)
    +
    +inline
    +
    + +

    append an unescaped reference token at the end of this JSON pointer

    +
    Parameters
    + + +
    [in]tokenreference token to append
    +
    +
    +
    Returns
    JSON pointer with token appended without escaping token
    +

    {The example shows the usage of operator/=.,json_pointer__operator_add}

    +

    Amortized constant.

    +
    See also
    see operator/=(const json_pointer&) to append a JSON pointer
    +
    +see operator/=(std::size_t) to append an array index
    +
    +see operator/(const json_pointer&, std::size_t) for a binary operator
    +
    Since
    version 3.6.0
    + +

    Definition at line 12207 of file json.hpp.

    + +
    +
    + +

    ◆ operator/=() [3/3]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    json_pointer& nlohmann::json_pointer< BasicJsonType >::operator/= (std::size_t array_idx)
    +
    +inline
    +
    + +

    append an array index at the end of this JSON pointer

    +
    Parameters
    + + +
    [in]array_idxarray index to append
    +
    +
    +
    Returns
    JSON pointer with array_idx appended
    +

    {The example shows the usage of operator/=.,json_pointer__operator_add}

    +

    Amortized constant.

    +
    See also
    see operator/=(const json_pointer&) to append a JSON pointer
    +
    +see operator/=(std::string) to append a reference token
    +
    +see operator/(const json_pointer&, std::string) for a binary operator
    +
    Since
    version 3.6.0
    + +

    Definition at line 12229 of file json.hpp.

    + +

    References nlohmann::to_string().

    + +
    +
    + +

    ◆ parent_pointer()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + +
    json_pointer nlohmann::json_pointer< BasicJsonType >::parent_pointer () const
    +
    +inline
    +
    + +

    returns the parent of this JSON pointer

    +
    Returns
    parent of this JSON pointer; in case this JSON pointer is the root, the root itself is returned
    +

    Linear in the length of the JSON pointer.

    +

    {The example shows the result of parent_pointer for different JSON Pointers.,json_pointer__parent_pointer}

    +
    Since
    version 3.6.0
    + +

    Definition at line 12308 of file json.hpp.

    + +

    References nlohmann::json_pointer< BasicJsonType >::pop_back().

    + +
    +
    + +

    ◆ pop_back()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + +
    void nlohmann::json_pointer< BasicJsonType >::pop_back ()
    +
    +inline
    +
    + +

    remove last reference token

    +
    Precondition
    not empty()
    +

    {The example shows the usage of pop_back.,json_pointer__pop_back}

    +

    Constant.

    +
    Exceptions
    + + +
    out_of_range.405if JSON pointer has no parent
    +
    +
    +
    Since
    version 3.6.0
    + +

    Definition at line 12333 of file json.hpp.

    + +

    References nlohmann::detail::out_of_range::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

    + +

    Referenced by nlohmann::json_pointer< BasicJsonType >::parent_pointer(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch().

    + +
    +
    + +

    ◆ push_back() [1/2]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    void nlohmann::json_pointer< BasicJsonType >::push_back (const std::string & token)
    +
    +inline
    +
    + +

    append an unescaped token at the end of the reference pointer

    +
    Parameters
    + + +
    [in]tokentoken to add
    +
    +
    +

    Amortized constant.

    +

    {The example shows the result of push_back for different JSON Pointers.,json_pointer__push_back}

    +
    Since
    version 3.6.0
    + +

    Definition at line 12379 of file json.hpp.

    + +
    +
    + +

    ◆ push_back() [2/2]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    void nlohmann::json_pointer< BasicJsonType >::push_back (std::string && token)
    +
    +inline
    +
    + +

    append an unescaped token at the end of the reference pointer

    +
    Parameters
    + + +
    [in]tokentoken to add
    +
    +
    +

    Amortized constant.

    +

    {The example shows the result of push_back for different JSON Pointers.,json_pointer__push_back}

    +
    Since
    version 3.6.0
    + +

    Definition at line 12385 of file json.hpp.

    + +
    +
    + +

    ◆ split()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    static std::vector<std::string> nlohmann::json_pointer< BasicJsonType >::split (const std::string & reference_string)
    +
    +inlinestaticprivate
    +
    + +

    split the string input to reference tokens

    +
    Note
    This function is only called by the json_pointer constructor. All exceptions below are documented there.
    +
    Exceptions
    + + + +
    parse_error.107if the pointer is not empty or begins with '/'
    parse_error.108if character '~' is not followed by '0' or '1'
    +
    +
    + +

    Definition at line 12825 of file json.hpp.

    + +

    References nlohmann::detail::parse_error::create(), JSON_ASSERT, JSON_HEDLEY_UNLIKELY, JSON_THROW, and nlohmann::detail::unescape().

    + +
    +
    + +

    ◆ to_string()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + +
    std::string nlohmann::json_pointer< BasicJsonType >::to_string () const
    +
    +inline
    +
    + +

    return a string representation of the JSON pointer

    +
    Invariant
    For each JSON pointer ptr, it holds:
    ptr == json_pointer(ptr.to_string());
    +
    Returns
    a string representation of the JSON pointer
    +

    {The example shows the result of to_string.,json_pointer__to_string}

    +
    Since
    version 2.0.0
    + +

    Definition at line 12151 of file json.hpp.

    + +

    References nlohmann::detail::escape(), and nlohmann::detail::string.

    + +
    +
    + +

    ◆ unflatten()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    static BasicJsonType nlohmann::json_pointer< BasicJsonType >::unflatten (const BasicJsonTypevalue)
    +
    +inlinestaticprivate
    +
    +
    Parameters
    + + +
    [in]valueflattened JSON
    +
    +
    +
    Returns
    unflattened JSON
    +
    Exceptions
    + + + + + +
    parse_error.109if array index is not a number
    type_error.314if value is not an object
    type_error.315if object values are not primitive
    type_error.313if value cannot be unflattened
    +
    +
    + +

    Definition at line 12956 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), nlohmann::json_pointer< BasicJsonType >::get_and_create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::unflatten().

    + +
    +
    +

    Friends And Related Function Documentation

    + +

    ◆ basic_json

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + +
    friend class basic_json
    +
    +friend
    +
    + +

    Definition at line 12109 of file json.hpp.

    + +
    +
    + +

    ◆ operator!=

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator!= (json_pointer< BasicJsonType > const & lhs,
    json_pointer< BasicJsonType > const & rhs 
    )
    +
    +friend
    +
    + +

    compares two JSON pointers for inequality

    +
    Parameters
    + + + +
    [in]lhsJSON pointer to compare
    [in]rhsJSON pointer to compare
    +
    +
    +
    Returns
    whether lhs is not equal rhs
    +

    Linear in the length of the JSON pointer

    +

    No-throw guarantee: this function never throws exceptions.

    + +

    Definition at line 13011 of file json.hpp.

    + +
    +
    + +

    ◆ operator/ [1/3]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    json_pointer operator/ (const json_pointer< BasicJsonType > & lhs,
    const json_pointer< BasicJsonType > & rhs 
    )
    +
    +friend
    +
    + +

    create a new JSON pointer by appending the right JSON pointer at the end of the left JSON pointer

    +
    Parameters
    + + + +
    [in]lhsJSON pointer
    [in]rhsJSON pointer
    +
    +
    +
    Returns
    a new JSON pointer with rhs appended to lhs
    +

    {The example shows the usage of operator/.,json_pointer__operator_add_binary}

    +

    Linear in the length of lhs and rhs.

    +
    See also
    see operator/=(const json_pointer&) to append a JSON pointer
    +
    Since
    version 3.6.0
    + +

    Definition at line 12249 of file json.hpp.

    + +
    +
    + +

    ◆ operator/ [2/3]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    json_pointer operator/ (const json_pointer< BasicJsonType > & ptr,
    std::string token 
    )
    +
    +friend
    +
    + +

    create a new JSON pointer by appending the unescaped token at the end of the JSON pointer

    +
    Parameters
    + + + +
    [in]ptrJSON pointer
    [in]tokenreference token
    +
    +
    +
    Returns
    a new JSON pointer with unescaped token appended to ptr
    +

    {The example shows the usage of operator/.,json_pointer__operator_add_binary}

    +

    Linear in the length of ptr.

    +
    See also
    see operator/=(std::string) to append a reference token
    +
    Since
    version 3.6.0
    + +

    Definition at line 12270 of file json.hpp.

    + +
    +
    + +

    ◆ operator/ [3/3]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    json_pointer operator/ (const json_pointer< BasicJsonType > & ptr,
    std::size_t array_idx 
    )
    +
    +friend
    +
    + +

    create a new JSON pointer by appending the array-index-token at the end of the JSON pointer

    +
    Parameters
    + + + +
    [in]ptrJSON pointer
    [in]array_idxarray index
    +
    +
    +
    Returns
    a new JSON pointer with array_idx appended to ptr
    +

    {The example shows the usage of operator/.,json_pointer__operator_add_binary}

    +

    Linear in the length of ptr.

    +
    See also
    see operator/=(std::size_t) to append an array index
    +
    Since
    version 3.6.0
    + +

    Definition at line 12290 of file json.hpp.

    + +
    +
    + +

    ◆ operator==

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool operator== (json_pointer< BasicJsonType > const & lhs,
    json_pointer< BasicJsonType > const & rhs 
    )
    +
    +friend
    +
    + +

    compares two JSON pointers for equality

    +
    Parameters
    + + + +
    [in]lhsJSON pointer to compare
    [in]rhsJSON pointer to compare
    +
    +
    +
    Returns
    whether lhs is equal to rhs
    +

    Linear in the length of the JSON pointer

    +

    No-throw guarantee: this function never throws exceptions.

    + +

    Definition at line 12994 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ __pad0__

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + +
    JSON_PRIVATE_UNLESS_TESTED nlohmann::json_pointer< BasicJsonType >::__pad0__
    +
    +private
    +
    + +

    Definition at line 12468 of file json.hpp.

    + +
    +
    + +

    ◆ parent

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + +
    JSON_PRIVATE_UNLESS_TESTED JSON pointer has no nlohmann::json_pointer< BasicJsonType >::parent
    +
    +private
    +
    + +

    Definition at line 12468 of file json.hpp.

    + +
    +
    + +

    ◆ reference_tokens [1/2]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + +
    result nlohmann::json_pointer< BasicJsonType >::reference_tokens = {reference_tokens[0]}
    +
    +private
    +
    + +

    Definition at line 12472 of file json.hpp.

    + +

    Referenced by nlohmann::json_pointer< BasicJsonType >::operator/=().

    + +
    +
    + +

    ◆ reference_tokens [2/2]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + +
    std::vector<std::string> nlohmann::json_pointer< BasicJsonType >::reference_tokens
    +
    +private
    +
    + +

    the reference tokens

    + +

    Definition at line 13018 of file json.hpp.

    + +
    +
    + +

    ◆ result [1/2]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + +
    json_pointer nlohmann::json_pointer< BasicJsonType >::result = *this
    +
    +private
    +
    + +

    Definition at line 12471 of file json.hpp.

    + +
    +
    + +

    ◆ result [2/2]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + +
    return nlohmann::json_pointer< BasicJsonType >::result
    +
    +private
    +
    + +

    Definition at line 12473 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/da/de8/classnlohmann_1_1json__pointer.js b/docs/da/de8/classnlohmann_1_1json__pointer.js new file mode 100644 index 00000000..ef111772 --- /dev/null +++ b/docs/da/de8/classnlohmann_1_1json__pointer.js @@ -0,0 +1,38 @@ +var classnlohmann_1_1json__pointer = +[ + [ "json_pointer", "da/de8/classnlohmann_1_1json__pointer.html#a7f32d7c62841f0c4a6784cf741a6e4f8", null ], + [ "array_index", "da/de8/classnlohmann_1_1json__pointer.html#ae28e4b79b9d4fac9e6dca29f47f946fa", null ], + [ "back", "da/de8/classnlohmann_1_1json__pointer.html#a213bc67c32a30c68ac6bf06f5195d482", null ], + [ "BasicJsonType", "da/de8/classnlohmann_1_1json__pointer.html#a0f3376aebd6c88555d12f34480f93741", null ], + [ "contains", "da/de8/classnlohmann_1_1json__pointer.html#a90d38e45e2d3add52d824bc55da8f772", null ], + [ "empty", "da/de8/classnlohmann_1_1json__pointer.html#a649252bda4a2e75a0915b11a25d8bcc3", null ], + [ "flatten", "da/de8/classnlohmann_1_1json__pointer.html#ab0d7759d0caa6a0c0187916da28e6ee7", null ], + [ "get_and_create", "da/de8/classnlohmann_1_1json__pointer.html#a583c726016f440ffe65553935c101ff5", null ], + [ "get_checked", "da/de8/classnlohmann_1_1json__pointer.html#a366d68a67e40d86676d3bdb52e167294", null ], + [ "get_checked", "da/de8/classnlohmann_1_1json__pointer.html#a55a5bbbc3007e479607304a3e8cb9bf5", null ], + [ "get_unchecked", "da/de8/classnlohmann_1_1json__pointer.html#a577512ee6b7f030e8872b4d29fa5c3e5", null ], + [ "get_unchecked", "da/de8/classnlohmann_1_1json__pointer.html#ad6a01f8e1556eef68e5a49b33fef1548", null ], + [ "operator std::string", "da/de8/classnlohmann_1_1json__pointer.html#ae9015c658f99cf3d48a8563accc79988", null ], + [ "operator/=", "da/de8/classnlohmann_1_1json__pointer.html#a7395bd0af29ac23fd3f21543c935cdfa", null ], + [ "operator/=", "da/de8/classnlohmann_1_1json__pointer.html#abdd21567b2b1d69329af0f520335e68b", null ], + [ "operator/=", "da/de8/classnlohmann_1_1json__pointer.html#a7de51480324eb1c5a89ed552cd699875", null ], + [ "parent_pointer", "da/de8/classnlohmann_1_1json__pointer.html#afdaacce1edb7145e0434e014f0e8685a", null ], + [ "pop_back", "da/de8/classnlohmann_1_1json__pointer.html#a4b1ee4d511ca195bed896a3da47e264c", null ], + [ "push_back", "da/de8/classnlohmann_1_1json__pointer.html#a697d12b5bd6205f8866691b166b7c7dc", null ], + [ "push_back", "da/de8/classnlohmann_1_1json__pointer.html#ac228b13596d3c34185da9fe61b570194", null ], + [ "split", "da/de8/classnlohmann_1_1json__pointer.html#ae01c32c6a071c2e5198d5dfcce290e50", null ], + [ "to_string", "da/de8/classnlohmann_1_1json__pointer.html#a3d4b15d32d096e3776c5d2c773b524f5", null ], + [ "unflatten", "da/de8/classnlohmann_1_1json__pointer.html#a920065221e3c81676c3211c100d024a7", null ], + [ "basic_json", "da/de8/classnlohmann_1_1json__pointer.html#ada3100cdb8700566051828f1355fa745", null ], + [ "operator!=", "da/de8/classnlohmann_1_1json__pointer.html#a6779edcf28e6f018a3bbb29c0b4b5e1e", null ], + [ "operator/", "da/de8/classnlohmann_1_1json__pointer.html#a90a11fe6c7f37b1746a3ff9cb24b0d53", null ], + [ "operator/", "da/de8/classnlohmann_1_1json__pointer.html#a926c9065dbed1bedc17857a813f7a46f", null ], + [ "operator/", "da/de8/classnlohmann_1_1json__pointer.html#af5a4bc4f82113c271c9a0cd4d3b5f31c", null ], + [ "operator==", "da/de8/classnlohmann_1_1json__pointer.html#a4667ef558c8c3f8a646bfda0c6654653", null ], + [ "__pad0__", "da/de8/classnlohmann_1_1json__pointer.html#a551777cfe37bf7adb82253482030d992", null ], + [ "parent", "da/de8/classnlohmann_1_1json__pointer.html#a9d826fc24f7821325e4f24d4393d6adc", null ], + [ "reference_tokens", "da/de8/classnlohmann_1_1json__pointer.html#a468dde132b1384d962c75eca7306f6cb", null ], + [ "reference_tokens", "da/de8/classnlohmann_1_1json__pointer.html#a07a990a6838de4f38ee9d881e7b9fd61", null ], + [ "result", "da/de8/classnlohmann_1_1json__pointer.html#ae3d35f4085faec07b87c88ba0dae457d", null ], + [ "result", "da/de8/classnlohmann_1_1json__pointer.html#a8473b794a810d3fdb46cf985bfa9e2bb", null ] +]; \ No newline at end of file diff --git a/docs/da/df2/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.map b/docs/da/df2/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.map new file mode 100644 index 00000000..6e3f0e70 --- /dev/null +++ b/docs/da/df2/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/da/df2/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.md5 b/docs/da/df2/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.md5 new file mode 100644 index 00000000..c93f1253 --- /dev/null +++ b/docs/da/df2/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.md5 @@ -0,0 +1 @@ +3125b9b05cba4437f68081b2c97ce8fe \ No newline at end of file diff --git a/docs/da/df2/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.png b/docs/da/df2/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.png new file mode 100644 index 00000000..a0b1a280 Binary files /dev/null and b/docs/da/df2/structnlohmann_1_1detail_1_1is__constructible__array__type__coll__graph.png differ diff --git a/docs/da/dfb/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcbbd630676ad397dc02cce9e4fead3fea.map b/docs/da/dfb/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcbbd630676ad397dc02cce9e4fead3fea.map new file mode 100644 index 00000000..93ec5020 --- /dev/null +++ b/docs/da/dfb/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcbbd630676ad397dc02cce9e4fead3fea.map @@ -0,0 +1,2 @@ + + diff --git a/docs/da/dfb/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcbbd630676ad397dc02cce9e4fead3fea.md5 b/docs/da/dfb/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcbbd630676ad397dc02cce9e4fead3fea.md5 new file mode 100644 index 00000000..5fe21faa --- /dev/null +++ b/docs/da/dfb/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcbbd630676ad397dc02cce9e4fead3fea.md5 @@ -0,0 +1 @@ +3bced1a5e80f80ec34739507c4bdf2ef \ No newline at end of file diff --git a/docs/da/dfb/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcbbd630676ad397dc02cce9e4fead3fea.png b/docs/da/dfb/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcbbd630676ad397dc02cce9e4fead3fea.png new file mode 100644 index 00000000..1d5ac0ce Binary files /dev/null and b/docs/da/dfb/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construcbbd630676ad397dc02cce9e4fead3fea.png differ diff --git a/docs/da/dff/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.map b/docs/da/dff/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.map new file mode 100644 index 00000000..d80e6f24 --- /dev/null +++ b/docs/da/dff/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.map @@ -0,0 +1,2 @@ + + diff --git a/docs/da/dff/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.md5 b/docs/da/dff/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.md5 new file mode 100644 index 00000000..5b21d6ef --- /dev/null +++ b/docs/da/dff/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.md5 @@ -0,0 +1 @@ +732dc9a8ed3ad50ee8b0f4b01be01545 \ No newline at end of file diff --git a/docs/da/dff/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.png b/docs/da/dff/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.png new file mode 100644 index 00000000..3fcd6568 Binary files /dev/null and b/docs/da/dff/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construca6751f0ccf983945799627775f5c1958.png differ diff --git a/docs/db/d0a/classstd_1_1conditional_1_1type.html b/docs/db/d0a/classstd_1_1conditional_1_1type.html new file mode 100644 index 00000000..3f8bd4d0 --- /dev/null +++ b/docs/db/d0a/classstd_1_1conditional_1_1type.html @@ -0,0 +1,117 @@ + + + + + + + +CUDNN Frontend API: type Class Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    type Class Reference
    +
    +
    +
    +Inheritance diagram for type:
    +
    +
    Inheritance graph
    + + + +
    +
    +Collaboration diagram for type:
    +
    +
    Collaboration graph
    + + +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/db/d0d/classnlohmann_1_1detail_1_1iteration__proxy-members.html b/docs/db/d0d/classnlohmann_1_1detail_1_1iteration__proxy-members.html new file mode 100644 index 00000000..40a95292 --- /dev/null +++ b/docs/db/d0d/classnlohmann_1_1detail_1_1iteration__proxy-members.html @@ -0,0 +1,105 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::iteration_proxy< IteratorType > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::iteration_proxy< IteratorType >, including all inherited members.

    + + + + + +
    begin() noexceptnlohmann::detail::iteration_proxy< IteratorType >inline
    containernlohmann::detail::iteration_proxy< IteratorType >private
    end() noexceptnlohmann::detail::iteration_proxy< IteratorType >inline
    iteration_proxy(typename IteratorType::reference cont) noexceptnlohmann::detail::iteration_proxy< IteratorType >inlineexplicit
    +
    + + + + diff --git a/docs/db/d0d/cudnn__frontend__OperationGraph_8h__incl.map b/docs/db/d0d/cudnn__frontend__OperationGraph_8h__incl.map index 2903ded5..a8f0d5b6 100644 --- a/docs/db/d0d/cudnn__frontend__OperationGraph_8h__incl.map +++ b/docs/db/d0d/cudnn__frontend__OperationGraph_8h__incl.map @@ -1,9 +1,10 @@ - - - - - - - + + + + + + + + diff --git a/docs/db/d0d/cudnn__frontend__OperationGraph_8h__incl.md5 b/docs/db/d0d/cudnn__frontend__OperationGraph_8h__incl.md5 index d06f4362..b4c4b9fc 100644 --- a/docs/db/d0d/cudnn__frontend__OperationGraph_8h__incl.md5 +++ b/docs/db/d0d/cudnn__frontend__OperationGraph_8h__incl.md5 @@ -1 +1 @@ -94da66c0119fcea4230ffe8c518d3a88 \ No newline at end of file +1e24e2f2d5e231fd66d89327bd0aef69 \ No newline at end of file diff --git a/docs/db/d0d/cudnn__frontend__OperationGraph_8h__incl.png b/docs/db/d0d/cudnn__frontend__OperationGraph_8h__incl.png index 95d6b197..28066837 100644 Binary files a/docs/db/d0d/cudnn__frontend__OperationGraph_8h__incl.png and b/docs/db/d0d/cudnn__frontend__OperationGraph_8h__incl.png differ diff --git a/docs/db/d0f/classnlohmann_1_1detail_1_1iteration__proxy__coll__graph.map b/docs/db/d0f/classnlohmann_1_1detail_1_1iteration__proxy__coll__graph.map new file mode 100644 index 00000000..88e0f13f --- /dev/null +++ b/docs/db/d0f/classnlohmann_1_1detail_1_1iteration__proxy__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/db/d0f/classnlohmann_1_1detail_1_1iteration__proxy__coll__graph.md5 b/docs/db/d0f/classnlohmann_1_1detail_1_1iteration__proxy__coll__graph.md5 new file mode 100644 index 00000000..3edb2127 --- /dev/null +++ b/docs/db/d0f/classnlohmann_1_1detail_1_1iteration__proxy__coll__graph.md5 @@ -0,0 +1 @@ +69dd5b878acf6d8867262ebe1caa4fe8 \ No newline at end of file diff --git a/docs/db/d0f/classnlohmann_1_1detail_1_1iteration__proxy__coll__graph.png b/docs/db/d0f/classnlohmann_1_1detail_1_1iteration__proxy__coll__graph.png new file mode 100644 index 00000000..dba269ba Binary files /dev/null and b/docs/db/d0f/classnlohmann_1_1detail_1_1iteration__proxy__coll__graph.png differ diff --git a/docs/db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.html b/docs/db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.html new file mode 100644 index 00000000..8566a898 --- /dev/null +++ b/docs/db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.html @@ -0,0 +1,153 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Static Public Attributes

    static constexpr bool value
     
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename ConstructibleArrayType>
    +struct nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >

    + + +

    Definition at line 3750 of file json.hpp.

    +

    Member Data Documentation

    + +

    ◆ value

    + +
    +
    +
    +template<typename BasicJsonType , typename ConstructibleArrayType >
    + + + + + +
    + + + + +
    constexpr bool nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >::value
    +
    +static
    +
    +Initial value:
    =
    !is_iterator_traits<iterator_traits<ConstructibleArrayType>>::value &&
    (std::is_same<typename ConstructibleArrayType::value_type,
    typename BasicJsonType::array_t::value_type>::value ||
    has_from_json<BasicJsonType,
    typename ConstructibleArrayType::value_type>::value ||
    has_non_default_from_json <
    BasicJsonType, typename ConstructibleArrayType::value_type >::value)
    +

    Definition at line 3762 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.js b/docs/db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.js new file mode 100644 index 00000000..190d20a4 --- /dev/null +++ b/docs/db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52 = +[ + [ "value", "db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.html#a6ae337e4735fd1e84675a7a0eabc09aa", null ] +]; \ No newline at end of file diff --git a/docs/db/d29/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4-members.html b/docs/db/d29/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4-members.html new file mode 100644 index 00000000..76e0a0cd --- /dev/null +++ b/docs/db/d29/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::external_constructor< value_t::number_float > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::external_constructor< value_t::number_float >, including all inherited members.

    + + +
    construct(BasicJsonType &j, typename BasicJsonType::number_float_t val) noexceptnlohmann::detail::external_constructor< value_t::number_float >inlinestatic
    +
    + + + + diff --git a/docs/db/d4e/structnlohmann_1_1detail_1_1is__compatible__string__type.html b/docs/db/d4e/structnlohmann_1_1detail_1_1is__compatible__string__type.html new file mode 100644 index 00000000..034f3172 --- /dev/null +++ b/docs/db/d4e/structnlohmann_1_1detail_1_1is__compatible__string__type.html @@ -0,0 +1,128 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_compatible_string_type< BasicJsonType, ConstructibleStringType > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_compatible_string_type< BasicJsonType, ConstructibleStringType > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_compatible_string_type< BasicJsonType, ConstructibleStringType >:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_compatible_string_type< BasicJsonType, ConstructibleStringType >:
    +
    +
    Collaboration graph
    + + + + +
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename ConstructibleStringType>
    +struct nlohmann::detail::is_compatible_string_type< BasicJsonType, ConstructibleStringType >

    + + +

    Definition at line 3694 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/db/d5d/classnlohmann_1_1detail_1_1lexer__coll__graph.map b/docs/db/d5d/classnlohmann_1_1detail_1_1lexer__coll__graph.map new file mode 100644 index 00000000..db87d720 --- /dev/null +++ b/docs/db/d5d/classnlohmann_1_1detail_1_1lexer__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/db/d5d/classnlohmann_1_1detail_1_1lexer__coll__graph.md5 b/docs/db/d5d/classnlohmann_1_1detail_1_1lexer__coll__graph.md5 new file mode 100644 index 00000000..821840c7 --- /dev/null +++ b/docs/db/d5d/classnlohmann_1_1detail_1_1lexer__coll__graph.md5 @@ -0,0 +1 @@ +11fb241f587ba7bed33c266e2e42c5d3 \ No newline at end of file diff --git a/docs/db/d5d/classnlohmann_1_1detail_1_1lexer__coll__graph.png b/docs/db/d5d/classnlohmann_1_1detail_1_1lexer__coll__graph.png new file mode 100644 index 00000000..ae7fce0b Binary files /dev/null and b/docs/db/d5d/classnlohmann_1_1detail_1_1lexer__coll__graph.png differ diff --git a/docs/db/d66/cudnn__frontend__Heuristics_8h.html b/docs/db/d66/cudnn__frontend__Heuristics_8h.html index 011479cc..52408abb 100644 --- a/docs/db/d66/cudnn__frontend__Heuristics_8h.html +++ b/docs/db/d66/cudnn__frontend__Heuristics_8h.html @@ -97,14 +97,15 @@
    - - - - - - - - + + + + + + + + +
    diff --git a/docs/db/d79/cudnn__frontend__Engine_8h__incl.map b/docs/db/d79/cudnn__frontend__Engine_8h__incl.map index 5af266c3..21292e5e 100644 --- a/docs/db/d79/cudnn__frontend__Engine_8h__incl.map +++ b/docs/db/d79/cudnn__frontend__Engine_8h__incl.map @@ -1,10 +1,11 @@ - - - - - - - - + + + + + + + + + diff --git a/docs/db/d79/cudnn__frontend__Engine_8h__incl.md5 b/docs/db/d79/cudnn__frontend__Engine_8h__incl.md5 index eab25197..5fe3d428 100644 --- a/docs/db/d79/cudnn__frontend__Engine_8h__incl.md5 +++ b/docs/db/d79/cudnn__frontend__Engine_8h__incl.md5 @@ -1 +1 @@ -4e40f79980b6d92d3cfd9983e086b6d9 \ No newline at end of file +0289c23103afa3f76e758738f637721d \ No newline at end of file diff --git a/docs/db/d79/cudnn__frontend__Engine_8h__incl.png b/docs/db/d79/cudnn__frontend__Engine_8h__incl.png index 901383f7..81b970a9 100644 Binary files a/docs/db/d79/cudnn__frontend__Engine_8h__incl.png and b/docs/db/d79/cudnn__frontend__Engine_8h__incl.png differ diff --git a/docs/db/d7d/cudnn__frontend__OperationGraph_8h.html b/docs/db/d7d/cudnn__frontend__OperationGraph_8h.html index 350303e9..2a23fcc0 100644 --- a/docs/db/d7d/cudnn__frontend__OperationGraph_8h.html +++ b/docs/db/d7d/cudnn__frontend__OperationGraph_8h.html @@ -102,13 +102,14 @@
    - - - - - - - + + + + + + + +
    diff --git a/docs/db/d7d/cudnn__frontend__OperationGraph_8h_source.html b/docs/db/d7d/cudnn__frontend__OperationGraph_8h_source.html index c7e1a214..fa32aa10 100644 --- a/docs/db/d7d/cudnn__frontend__OperationGraph_8h_source.html +++ b/docs/db/d7d/cudnn__frontend__OperationGraph_8h_source.html @@ -84,32 +84,33 @@
    cudnn_frontend_OperationGraph.h
    -Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <algorithm>
    26 #include <array>
    27 #include <functional>
    28 #include <memory>
    29 #include <sstream>
    30 #include <utility>
    31 
    32 #include <cudnn.h>
    33 #include <cudnn_backend.h>
    34 
    36 #include "cudnn_frontend_utils.h"
    37 
    38 namespace cudnn_frontend {
    39 
    52  public:
    54  std::string
    55  describe() const override {
    56  std::stringstream ss;
    57  ss << "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR :";
    58  return ss.str();
    59  }
    60 
    62  : BackendDescriptor(from.get_desc(), from.get_status(), from.get_error()),
    63  handle(from.handle),
    64  ops(from.ops),
    65  numOps(from.numOps),
    66  opGraphTag(from.opGraphTag) {}
    67 
    68  ~OperationGraph_v8() = default;
    69 
    74  auto
    76  getEngineCount(void) const -> int64_t {
    77  int64_t global_count = -1;
    78  auto status = cudnnBackendGetAttribute(pointer->get_backend_descriptor(),
    79  CUDNN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT,
    80  CUDNN_TYPE_INT64,
    81  1,
    82  NULL,
    83  &global_count);
    84  if (status != CUDNN_STATUS_SUCCESS) {
    86  status,
    87  "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR: GetAttribute "
    88  "CUDNN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT Failed");
    89  }
    90  return global_count;
    91  }
    94  std::string const &
    95  getTag() const {
    96  return opGraphTag;
    97  }
    98 
    99  private:
    100  OperationGraph_v8() = default;
    101  OperationGraph_v8(OperationGraph_v8 const &) = delete;
    103  operator=(OperationGraph_v8 const &) = delete;
    104 
    105  cudnnHandle_t handle = nullptr;
    106  std::array<ManagedOpaqueDescriptor, 10> ops{};
    107  int64_t numOps = -1;
    108  std::string opGraphTag = "";
    109 };
    110 
    115  public:
    120  auto
    122  setHandle(cudnnHandle_t handle_) -> OperationGraphBuilder_v8 & {
    123  m_operationGraph.handle = handle_;
    124  return *this;
    125  }
    127  auto
    128  setOperationGraph(int64_t numOps_, Operation_v8 const **ops_) -> OperationGraphBuilder_v8 & {
    129  m_operationGraph.numOps = numOps_;
    130  for (auto i = 0u; i < numOps_; i++) {
    131  m_operationGraph.ops[i] = ops_[i]->get_desc();
    132  m_operationGraph.opGraphTag += ops_[i]->getTag() + '_';
    133  }
    134  return *this;
    135  }
    141  build() {
    142  if (m_operationGraph.numOps <= 0) {
    144  &m_operationGraph,
    145  CUDNN_STATUS_BAD_PARAM,
    146  "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR: Check and Set the CUDNN_ATTR_OPERATIONGRAPH_OPS Count field");
    147  return std::move(m_operationGraph);
    148  }
    149  if (m_operationGraph.ops[0] == nullptr) {
    151  &m_operationGraph,
    152  CUDNN_STATUS_BAD_PARAM,
    153  "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR: Check and set CUDNN_ATTR_OPERATIONGRAPH_OPS field");
    154  return std::move(m_operationGraph);
    155  }
    156  if (m_operationGraph.handle == nullptr) {
    158  &m_operationGraph,
    159  CUDNN_STATUS_BAD_PARAM,
    160  "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR: Check and Set CUDNN_ATTR_OPERATIONGRAPH_HANDLE");
    161  return std::move(m_operationGraph);
    162  }
    163 
    164  // Create a descriptor. Memory allocation happens here.
    165  auto status = m_operationGraph.initialize_managed_backend_pointer(CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR);
    166  if (status != CUDNN_STATUS_SUCCESS) {
    168  &m_operationGraph, status, "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR: cudnnCreate Failed");
    169  return std::move(m_operationGraph);
    170  }
    171 
    172  std::array<cudnnBackendDescriptor_t, 10> ops_raw{nullptr};
    173  for (auto i = 0u; i < m_operationGraph.numOps; i++) {
    174  ops_raw[i] = m_operationGraph.ops[i]->get_backend_descriptor();
    175  }
    176 
    177  status = cudnnBackendSetAttribute(m_operationGraph.pointer->get_backend_descriptor(),
    178  CUDNN_ATTR_OPERATIONGRAPH_OPS,
    179  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    180  m_operationGraph.numOps,
    181  ops_raw.data());
    182  if (status != CUDNN_STATUS_SUCCESS) {
    184  &m_operationGraph,
    185  status,
    186  "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR: SetAttribute CUDNN_ATTR_OPERATIONGRAPH_OPS Failed");
    187  return std::move(m_operationGraph);
    188  }
    189  status = cudnnBackendSetAttribute(m_operationGraph.pointer->get_backend_descriptor(),
    190  CUDNN_ATTR_OPERATIONGRAPH_HANDLE,
    191  CUDNN_TYPE_HANDLE,
    192  1,
    193  &m_operationGraph.handle);
    194  if (status != CUDNN_STATUS_SUCCESS) {
    196  &m_operationGraph,
    197  status,
    198  "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR: SetAttribute CUDNN_ATTR_OPERATIONGRAPH_HANDLE Failed");
    199  return std::move(m_operationGraph);
    200  }
    201 
    202  // Finalizing the descriptor
    203  status = cudnnBackendFinalize(m_operationGraph.pointer->get_backend_descriptor());
    204  if (status != CUDNN_STATUS_SUCCESS) {
    206  &m_operationGraph, status, "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR: cudnnFinalize Failed");
    207  return std::move(m_operationGraph);
    208  }
    209 
    210  return std::move(m_operationGraph);
    211  }
    212 
    213  explicit OperationGraphBuilder_v8() = default;
    214  ~OperationGraphBuilder_v8() = default;
    218  operator=(OperationGraphBuilder_v8 const &) = delete;
    219 
    220  private:
    222 };
    223 }
    static void set_error_and_throw_exception(BackendDescriptor const *desc, cudnnStatus_t status, const char *message)
    - -
    auto setHandle(cudnnHandle_t handle_) -> OperationGraphBuilder_v8 &
    Set cudnnHandle for the operations.
    +Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <algorithm>
    26 #include <array>
    27 #include <functional>
    28 #include <memory>
    29 #include <sstream>
    30 #include <utility>
    31 
    32 #include <cudnn.h>
    33 #include <cudnn_backend.h>
    34 
    36 #include "cudnn_frontend_utils.h"
    37 
    38 namespace cudnn_frontend {
    39 
    52  public:
    54  std::string
    55  describe() const override {
    56  std::stringstream ss;
    57  ss << "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR :";
    58  return ss.str();
    59  }
    60 
    62  : BackendDescriptor(from.get_desc(), from.get_status(), from.get_error()),
    63  handle(from.handle),
    64  ops(from.ops),
    65  numOps(from.numOps),
    66  opGraphTag(from.opGraphTag) {}
    67 
    68  ~OperationGraph_v8() = default;
    69 
    74  auto
    76  getEngineCount(void) const -> int64_t {
    77  int64_t global_count = -1;
    78  auto status = cudnnBackendGetAttribute(pointer->get_backend_descriptor(),
    79  CUDNN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT,
    80  CUDNN_TYPE_INT64,
    81  1,
    82  NULL,
    83  &global_count);
    84  if (status != CUDNN_STATUS_SUCCESS) {
    86  status,
    87  "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR: GetAttribute "
    88  "CUDNN_ATTR_OPERATIONGRAPH_ENGINE_GLOBAL_COUNT Failed");
    89  }
    90  return global_count;
    91  }
    94  uint64_t
    95  getOpCount() const {
    96  return numOps;
    97  }
    98 
    99  std::string const &
    100  getTag() const {
    101  return opGraphTag;
    102  }
    103 
    104  private:
    105  OperationGraph_v8() = default;
    106  OperationGraph_v8(OperationGraph_v8 const &) = delete;
    108  operator=(OperationGraph_v8 const &) = delete;
    109 
    110  cudnnHandle_t handle = nullptr;
    111  std::array<ManagedOpaqueDescriptor, 10> ops{};
    112  int64_t numOps = -1;
    113  std::string opGraphTag = "";
    114 };
    115 
    120  public:
    125  auto
    127  setHandle(cudnnHandle_t handle_) -> OperationGraphBuilder_v8 & {
    128  m_operationGraph.handle = handle_;
    129  return *this;
    130  }
    132  auto
    133  setOperationGraph(int64_t numOps_, Operation_v8 const **ops_) -> OperationGraphBuilder_v8 & {
    134  m_operationGraph.numOps = numOps_;
    135  for (auto i = 0u; i < numOps_; i++) {
    136  m_operationGraph.ops[i] = ops_[i]->get_desc();
    137  m_operationGraph.opGraphTag += ops_[i]->getTag() + '_';
    138  }
    139  return *this;
    140  }
    146  build() {
    147  if (m_operationGraph.numOps <= 0) {
    149  &m_operationGraph,
    150  CUDNN_STATUS_BAD_PARAM,
    151  "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR: Check and Set the CUDNN_ATTR_OPERATIONGRAPH_OPS Count field");
    152  return std::move(m_operationGraph);
    153  }
    154  if (m_operationGraph.ops[0] == nullptr) {
    156  &m_operationGraph,
    157  CUDNN_STATUS_BAD_PARAM,
    158  "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR: Check and set CUDNN_ATTR_OPERATIONGRAPH_OPS field");
    159  return std::move(m_operationGraph);
    160  }
    161  if (m_operationGraph.handle == nullptr) {
    163  &m_operationGraph,
    164  CUDNN_STATUS_BAD_PARAM,
    165  "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR: Check and Set CUDNN_ATTR_OPERATIONGRAPH_HANDLE");
    166  return std::move(m_operationGraph);
    167  }
    168 
    169  // Create a descriptor. Memory allocation happens here.
    170  auto status = m_operationGraph.initialize_managed_backend_pointer(CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR);
    171  if (status != CUDNN_STATUS_SUCCESS) {
    173  &m_operationGraph, status, "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR: cudnnCreate Failed");
    174  return std::move(m_operationGraph);
    175  }
    176 
    177  std::array<cudnnBackendDescriptor_t, 10> ops_raw{nullptr};
    178  for (auto i = 0u; i < m_operationGraph.numOps; i++) {
    179  ops_raw[i] = m_operationGraph.ops[i]->get_backend_descriptor();
    180  }
    181 
    182  status = cudnnBackendSetAttribute(m_operationGraph.pointer->get_backend_descriptor(),
    183  CUDNN_ATTR_OPERATIONGRAPH_OPS,
    184  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    185  m_operationGraph.numOps,
    186  ops_raw.data());
    187  if (status != CUDNN_STATUS_SUCCESS) {
    189  &m_operationGraph,
    190  status,
    191  "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR: SetAttribute CUDNN_ATTR_OPERATIONGRAPH_OPS Failed");
    192  return std::move(m_operationGraph);
    193  }
    194  status = cudnnBackendSetAttribute(m_operationGraph.pointer->get_backend_descriptor(),
    195  CUDNN_ATTR_OPERATIONGRAPH_HANDLE,
    196  CUDNN_TYPE_HANDLE,
    197  1,
    198  &m_operationGraph.handle);
    199  if (status != CUDNN_STATUS_SUCCESS) {
    201  &m_operationGraph,
    202  status,
    203  "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR: SetAttribute CUDNN_ATTR_OPERATIONGRAPH_HANDLE Failed");
    204  return std::move(m_operationGraph);
    205  }
    206 
    207  // Finalizing the descriptor
    208  status = cudnnBackendFinalize(m_operationGraph.pointer->get_backend_descriptor());
    209  if (status != CUDNN_STATUS_SUCCESS) {
    211  &m_operationGraph, status, "CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR: cudnnFinalize Failed");
    212  return std::move(m_operationGraph);
    213  }
    214 
    215  return std::move(m_operationGraph);
    216  }
    217 
    218  explicit OperationGraphBuilder_v8() = default;
    219  ~OperationGraphBuilder_v8() = default;
    223  operator=(OperationGraphBuilder_v8 const &) = delete;
    224 
    225  private:
    227 };
    228 }
    +
    static void set_error_and_throw_exception(BackendDescriptor const *desc, cudnnStatus_t status, const char *message)
    + +
    auto setHandle(cudnnHandle_t handle_) -> OperationGraphBuilder_v8 &
    Set cudnnHandle for the operations.
    - - -
    auto setOperationGraph(int64_t numOps_, Operation_v8 const **ops_) -> OperationGraphBuilder_v8 &
    Set numoperations and the operations.
    + + +
    auto setOperationGraph(int64_t numOps_, Operation_v8 const **ops_) -> OperationGraphBuilder_v8 &
    Set numoperations and the operations.
    ManagedOpaqueDescriptor get_desc() const
    Returns a copy of underlying managed descriptor.
    auto getEngineCount(void) const -> int64_t
    Query the total count of the engines for the Operation Set.
    - + - +
    cudnnStatus_t get_status() const
    Current status of the descriptor.
    - +
    std::string describe() const override
    Return a string describing the backend Descriptor.
    - +
    const char * get_error() const
    Diagonistic error message if any.
    - +
    OperationGraph_v8 & operator=(OperationGraph_v8 const &)=delete
    -
    std::array< ManagedOpaqueDescriptor, 10 > ops
    +
    std::array< ManagedOpaqueDescriptor, 10 > ops
    cudnnStatus_t status
    Shared pointer of the OpaqueBackendPointer.
    diff --git a/docs/db/d7e/cudnn__frontend__Errata_8h.html b/docs/db/d7e/cudnn__frontend__Errata_8h.html new file mode 100644 index 00000000..23742721 --- /dev/null +++ b/docs/db/d7e/cudnn__frontend__Errata_8h.html @@ -0,0 +1,166 @@ + + + + + + + +CUDNN Frontend API: cudnn_frontend_Errata.h File Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    cudnn_frontend_Errata.h File Reference
    +
    +
    +
    #include "contrib/nlohmann/json/json.hpp"
    +#include <cstdlib>
    +#include <fstream>
    +
    +Include dependency graph for cudnn_frontend_Errata.h:
    +
    +
    + + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + +

    +Namespaces

     cudnn_frontend
     
    + + + +

    +Typedefs

    using json = nlohmann::json
     
    + + + + + + + + + +

    +Functions

    static void cudnn_frontend::load_from_config (json &json_handle, const std::string &errata_json)
     
    template<typename T >
    static bool cudnn_frontend::check_rule (const json &json_handle, const std::string &executionPlanTag, cudnnHandle_t handle, T fn)
     
    template<typename T >
    static bool cudnn_frontend::check_errata (const json &json_handle, const std::string &executionPlanTag, cudnnHandle_t handle, T fn)
     
    +

    Typedef Documentation

    + +

    ◆ json

    + +
    +
    + + + + +
    using json = nlohmann::json
    +
    + +

    Definition at line 30 of file cudnn_frontend_Errata.h.

    + +
    +
    +
    +
    + + + + diff --git a/docs/db/d7e/cudnn__frontend__Errata_8h.js b/docs/db/d7e/cudnn__frontend__Errata_8h.js new file mode 100644 index 00000000..eccc309c --- /dev/null +++ b/docs/db/d7e/cudnn__frontend__Errata_8h.js @@ -0,0 +1,7 @@ +var cudnn__frontend__Errata_8h = +[ + [ "json", "db/d7e/cudnn__frontend__Errata_8h.html#ab701e3ac61a85b337ec5c1abaad6742d", null ], + [ "check_errata", "db/d7e/cudnn__frontend__Errata_8h.html#a8f4ddfcd38f15524ff0a35e14d21664c", null ], + [ "check_rule", "db/d7e/cudnn__frontend__Errata_8h.html#a91f2627793be5d51db9b1473275d803d", null ], + [ "load_from_config", "db/d7e/cudnn__frontend__Errata_8h.html#a069fb3355ab52d2e1914e72832cdcf46", null ] +]; \ No newline at end of file diff --git a/docs/db/d7e/cudnn__frontend__Errata_8h_source.html b/docs/db/d7e/cudnn__frontend__Errata_8h_source.html new file mode 100644 index 00000000..24be850c --- /dev/null +++ b/docs/db/d7e/cudnn__frontend__Errata_8h_source.html @@ -0,0 +1,108 @@ + + + + + + + +CUDNN Frontend API: cudnn_frontend_Errata.h Source File + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    cudnn_frontend_Errata.h
    +
    +
    +Go to the documentation of this file.
    1 
    2 /*
    3  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    4  *
    5  * Permission is hereby granted, free of charge, to any person obtaining a
    6  * copy of this software and associated documentation files (the "Software"),
    7  * to deal in the Software without restriction, including without limitation
    8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    9  * and/or sell copies of the Software, and to permit persons to whom the
    10  * Software is furnished to do so, subject to the following conditions:
    11  *
    12  * The above copyright notice and this permission notice shall be included in
    13  * all copies or substantial portions of the Software.
    14  *
    15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    18  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    19  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    20  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    21  * DEALINGS IN THE SOFTWARE.
    22  */
    23 
    25 
    26 #include <cstdlib>
    27 #include <fstream>
    28 #pragma once
    29 
    31 
    32 namespace cudnn_frontend {
    33 
    34 // Loads the json handle from the json file
    35 // json file is defined by environment variable
    36 // CUDNN_ERRATA_JSON_FILE. If the environment variable
    37 // is not set the value set in the API is considered.
    38 static void
    39 load_from_config(json &json_handle, const std::string & errata_json) {
    40  const char * err_json = std::getenv("CUDNN_ERRATA_JSON_FILE");
    41  if (err_json == NULL && errata_json == "") {return;}
    42  if (err_json == NULL) { err_json = errata_json.c_str();}
    43  std::ifstream ifs(err_json, std::ifstream::in);
    44  if (!ifs.is_open() || !ifs.good()) {return;}
    45  ifs >> json_handle;
    46  return;
    47 }
    48 
    49 template <typename T>
    50 static bool
    51 check_rule(const json &json_handle, const std::string & executionPlanTag,
    52  cudnnHandle_t handle, T fn) {
    53  std::string operation = json_handle["operation"];
    54  std::string engine = json_handle["engine"];
    55  uint64_t cudnn_start = 0;
    56  uint64_t cudnn_end = -1;
    57  if (json_handle.contains("cudnn_version_start")) {
    58  cudnn_start = json_handle["cudnn_version_start"];
    59  }
    60  if (json_handle.contains("cudnn_version_end")) {
    61  cudnn_end = json_handle["cudnn_version_end"];
    62  }
    63  std::string tag_prefix = operation + "_" + engine;
    64  bool blocked =
    65  std::equal(tag_prefix.begin(), tag_prefix.end(), executionPlanTag.begin()) &&
    66  CUDNN_VERSION >= cudnn_start &&
    67  CUDNN_VERSION < cudnn_end;
    68 
    69  if (blocked && json_handle.contains("knob")) { // Short circuit if operation and engine do not match
    70  for (auto& kv : json_handle["knob"]) {
    71  blocked = blocked &&
    72  (executionPlanTag.find(kv) != std::string::npos);
    73  }
    74  }
    75 
    76  blocked = blocked && fn();
    77  return blocked;
    78 
    79  (void) handle;
    80 }
    81 
    82 // Takes in an initialzed json handle and checks if it satisfies the
    83 // condition for running it. Returns true if the given executionPlanTag
    84 // is faulty.
    85 template <typename T>
    86 static bool
    87 check_errata(const json &json_handle, const std::string & executionPlanTag,
    88  cudnnHandle_t handle, T fn) {
    89 
    90  for (auto const &rule : json_handle["rules"]) {
    91  if (check_rule<T>(rule, executionPlanTag, handle, fn)) {
    92  return true;
    93  }
    94  }
    95 
    96  return false;
    97 }
    98 
    99 }
    bool contains(KeyT &&key) const
    check the existence of an element in a JSON object
    Definition: json.hpp:21558
    +
    a class to store JSON values
    Definition: json.hpp:3366
    + +
    static bool check_errata(const json &json_handle, const std::string &executionPlanTag, cudnnHandle_t handle, T fn)
    +
    static void load_from_config(json &json_handle, const std::string &errata_json)
    +
    static bool check_rule(const json &json_handle, const std::string &executionPlanTag, cudnnHandle_t handle, T fn)
    +
    j template void())
    Definition: json.hpp:4061
    + +
    basic_json<> json
    default JSON class
    Definition: json.hpp:3390
    +
    +
    + + + + diff --git a/docs/db/d7f/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_325e10c1578b3a63812617d3f8a8d995.html b/docs/db/d7f/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_325e10c1578b3a63812617d3f8a8d995.html new file mode 100644 index 00000000..8c8aca80 --- /dev/null +++ b/docs/db/d7f/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_325e10c1578b3a63812617d3f8a8d995.html @@ -0,0 +1,106 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > > Member List
    +
    + +
    + + + + diff --git a/docs/db/d83/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construba053eadca50083566a99e3961acdee7.html b/docs/db/d83/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construba053eadca50083566a99e3961acdee7.html new file mode 100644 index 00000000..ad5d2006 --- /dev/null +++ b/docs/db/d83/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construba053eadca50083566a99e3961acdee7.html @@ -0,0 +1,103 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + diff --git a/docs/db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html b/docs/db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html index 8a8c1c6e..5b68c887 100644 --- a/docs/db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html +++ b/docs/db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html @@ -105,10 +105,10 @@
    Collaboration graph
    - - - - + + + +
    @@ -141,7 +141,7 @@ - +
    ManagedOpaqueDescriptor get_desc () const
     Returns a copy of underlying managed descriptor. More...
     
    cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type)
    cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type)
     Initializes the underlying managed descriptor. More...
     
    @@ -160,6 +160,8 @@ + + @@ -189,7 +191,7 @@
     
    cudnnBackendDescriptorType_t mode
     
    uint64_t num_ops
     
    std::vector< ManagedOpaqueDescriptorm_engine_configs
     
    std::string opGraphTag

    Detailed Description

    -

    Definition at line 67 of file cudnn_frontend_EngineFallbackList.h.

    +

    Definition at line 77 of file cudnn_frontend_EngineFallbackList.h.

    Constructor & Destructor Documentation

    ◆ ~EngineFallbackList_v8()

    @@ -214,7 +216,7 @@

    -

    Referenced by getFallbackList().

    +

    Referenced by getFallbackList().

    @@ -242,9 +244,9 @@

    -

    Definition at line 85 of file cudnn_frontend_EngineFallbackList.h.

    +

    Definition at line 95 of file cudnn_frontend_EngineFallbackList.h.

    -

    References EngineFallbackList_v8(), m_engine_configs, and operator=().

    +

    References EngineFallbackList_v8(), m_engine_configs, and operator=().

    @@ -271,7 +273,7 @@

    -

    Referenced by EngineFallbackList_v8().

    +

    Referenced by EngineFallbackList_v8().

    @@ -329,7 +331,7 @@

    cudnn_frontend::BackendDescriptor.

    -

    Definition at line 72 of file cudnn_frontend_EngineFallbackList.h.

    +

    Definition at line 82 of file cudnn_frontend_EngineFallbackList.h.

    @@ -356,9 +358,9 @@

    -

    Definition at line 79 of file cudnn_frontend_EngineFallbackList.h.

    +

    Definition at line 89 of file cudnn_frontend_EngineFallbackList.h.

    -

    References m_engine_configs, and ~EngineFallbackList_v8().

    +

    References m_engine_configs, and ~EngineFallbackList_v8().

    @@ -386,7 +388,7 @@

    -

    Referenced by cudnn_frontend::EngineFallbackListBuilder_v8::build(), and EngineFallbackList_v8().

    +

    Referenced by cudnn_frontend::EngineFallbackListBuilder_v8::build(), and EngineFallbackList_v8().

    @@ -411,9 +413,9 @@

    -

    Definition at line 69 of file cudnn_frontend_EngineFallbackList.h.

    +

    Definition at line 79 of file cudnn_frontend_EngineFallbackList.h.

    -

    Referenced by cudnn_frontend::EngineFallbackListBuilder_v8::build().

    +

    Referenced by cudnn_frontend::EngineFallbackListBuilder_v8::build().

    @@ -438,9 +440,9 @@

    -

    Definition at line 101 of file cudnn_frontend_EngineFallbackList.h.

    +

    Definition at line 113 of file cudnn_frontend_EngineFallbackList.h.

    -

    Referenced by EngineFallbackList_v8(), and getFallbackList().

    +

    Referenced by EngineFallbackList_v8(), and getFallbackList().

    @@ -464,9 +466,33 @@

    -

    Definition at line 100 of file cudnn_frontend_EngineFallbackList.h.

    +

    Definition at line 111 of file cudnn_frontend_EngineFallbackList.h.

    + +

    Referenced by cudnn_frontend::EngineFallbackListBuilder_v8::setOperation().

    + + + + +

    ◆ num_ops

    + +
    +
    + + + + + +
    + + + + +
    uint64_t cudnn_frontend::EngineFallbackList_v8::num_ops
    +
    +private
    +
    @@ -490,7 +516,7 @@

    -

    Definition at line 99 of file cudnn_frontend_EngineFallbackList.h.

    +

    Definition at line 110 of file cudnn_frontend_EngineFallbackList.h.

    @@ -514,7 +540,7 @@

    -

    Definition at line 102 of file cudnn_frontend_EngineFallbackList.h.

    +

    Definition at line 114 of file cudnn_frontend_EngineFallbackList.h.

    diff --git a/docs/db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.js b/docs/db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.js index 5990e107..5246b75c 100644 --- a/docs/db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.js +++ b/docs/db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.js @@ -10,6 +10,7 @@ var classcudnn__frontend_1_1EngineFallbackList__v8 = [ "EngineFallbackListBuilder_v8", "db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#ae2c71646b56855f59ed1a267f06d5a7c", null ], [ "m_engine_configs", "db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a71e6146b18a0aa4de8fbc6ba457efbb9", null ], [ "mode", "db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9a557db46e3559fcaa0e800d976d6238", null ], + [ "num_ops", "db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a31046a12eb8da37897063a99efa637a4", null ], [ "opGraph", "db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#ae8995303eac50633f6320f5949a045bb", null ], [ "opGraphTag", "db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9f8070f063b1c0564297260ebe812506", null ] ]; \ No newline at end of file diff --git a/docs/db/da2/structnlohmann_1_1detail_1_1position__t-members.html b/docs/db/da2/structnlohmann_1_1detail_1_1position__t-members.html new file mode 100644 index 00000000..ce4a0889 --- /dev/null +++ b/docs/db/da2/structnlohmann_1_1detail_1_1position__t-members.html @@ -0,0 +1,105 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::position_t Member List
    +
    + +
    + + + + diff --git a/docs/db/da7/cudnn__frontend__ReductionDesc_8h.html b/docs/db/da7/cudnn__frontend__ReductionDesc_8h.html new file mode 100644 index 00000000..a6d3ffce --- /dev/null +++ b/docs/db/da7/cudnn__frontend__ReductionDesc_8h.html @@ -0,0 +1,152 @@ + + + + + + + +CUDNN Frontend API: cudnn_frontend_ReductionDesc.h File Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    cudnn_frontend_ReductionDesc.h File Reference
    +
    +
    +
    #include <algorithm>
    +#include <array>
    +#include <functional>
    +#include <memory>
    +#include <sstream>
    +#include <utility>
    +#include <cudnn.h>
    +#include <cudnn_backend.h>
    +#include "cudnn_frontend_utils.h"
    +
    +Include dependency graph for cudnn_frontend_ReductionDesc.h:
    +
    +
    + + + + +
    +
    +This graph shows which files directly or indirectly include this file:
    +
    +
    + + + + + + + + + + + + +
    +
    +

    Go to the source code of this file.

    + + + + + + +

    +Classes

    class  cudnn_frontend::ReductionDesc_v8
     
    class  cudnn_frontend::ReductionDescBuilder_v8
     
    + + + +

    +Namespaces

     cudnn_frontend
     
    +
    +
    + + + + diff --git a/docs/db/da7/cudnn__frontend__ReductionDesc_8h_source.html b/docs/db/da7/cudnn__frontend__ReductionDesc_8h_source.html new file mode 100644 index 00000000..f201db18 --- /dev/null +++ b/docs/db/da7/cudnn__frontend__ReductionDesc_8h_source.html @@ -0,0 +1,121 @@ + + + + + + + +CUDNN Frontend API: cudnn_frontend_ReductionDesc.h Source File + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    cudnn_frontend_ReductionDesc.h
    +
    +
    +Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <algorithm>
    26 #include <array>
    27 #include <functional>
    28 #include <memory>
    29 #include <sstream>
    30 #include <utility>
    31 
    32 #include <cudnn.h>
    33 #include <cudnn_backend.h>
    34 
    35 #include "cudnn_frontend_utils.h"
    36 
    37 namespace cudnn_frontend {
    49  public:
    51  std::string
    52  describe() const override {
    53  std::stringstream ss;
    54  ss << "CUDNN_BACKEND_REDUCTION_DESCRIPTOR :"
    55  << " Math precision " << (math_precision) << "Reduction operator " << (reduction_op);
    56  return ss.str();
    57  }
    58 
    60  : BackendDescriptor(from.get_desc(), from.get_status(), from.get_error()),
    62  reduction_op(from.reduction_op) {}
    63 
    64  ~ReductionDesc_v8() = default;
    65 
    66  private:
    67  ReductionDesc_v8() = default;
    68  ReductionDesc_v8(ReductionDesc_v8 const &) = delete;
    70  operator=(ReductionDesc_v8 const &) = delete;
    71 
    72  cudnnDataType_t math_precision = CUDNN_DATA_FLOAT;
    73  cudnnReduceTensorOp_t reduction_op = CUDNN_REDUCE_TENSOR_ADD;
    74 };
    75 
    80  public:
    85  auto
    87  setMathPrecision(cudnnDataType_t data_type_) -> ReductionDescBuilder_v8 & {
    88  m_reductionDesc.math_precision = data_type_;
    89  return *this;
    90  }
    92  auto
    93  setReductionOp(cudnnReduceTensorOp_t op_) -> ReductionDescBuilder_v8 & {
    94  m_reductionDesc.reduction_op = op_;
    95  return *this;
    96  }
    102  build() {
    103  // Create a descriptor. Memory allocation happens here.
    104  auto status = m_reductionDesc.initialize_managed_backend_pointer(CUDNN_BACKEND_REDUCTION_DESCRIPTOR);
    105  if (status != CUDNN_STATUS_SUCCESS) {
    107  &m_reductionDesc, status, "CUDNN_BACKEND_REDUCTION_DESCRIPTOR: cudnnCreate Failed");
    108  return std::move(m_reductionDesc);
    109  }
    110 
    111  // Once Created lets set the descriptor parameters.
    112  status = cudnnBackendSetAttribute(m_reductionDesc.pointer->get_backend_descriptor(),
    113  CUDNN_ATTR_REDUCTION_COMP_TYPE,
    114  CUDNN_TYPE_DATA_TYPE,
    115  1,
    116  &m_reductionDesc.math_precision);
    117  if (status != CUDNN_STATUS_SUCCESS) {
    119  &m_reductionDesc,
    120  status,
    121  "CUDNN_BACKEND_REDUCTION_DESCRIPTOR: SetAttribute CUDNN_ATTR_REDUCTION_COMP_TYPE Failed");
    122  return std::move(m_reductionDesc);
    123  }
    124 
    125  status = cudnnBackendSetAttribute(m_reductionDesc.pointer->get_backend_descriptor(),
    126  CUDNN_ATTR_REDUCTION_OPERATOR,
    127  CUDNN_TYPE_REDUCTION_OPERATOR_TYPE,
    128  1,
    129  &m_reductionDesc.reduction_op);
    130  if (status != CUDNN_STATUS_SUCCESS) {
    132  &m_reductionDesc,
    133  status,
    134  "CUDNN_BACKEND_REDUCTION_DESCRIPTOR: SetAttribute CUDNN_ATTR_REDUCTION_OPERATOR Failed");
    135  return std::move(m_reductionDesc);
    136  }
    137 
    138  // Finalizing the descriptor
    139  status = cudnnBackendFinalize(m_reductionDesc.pointer->get_backend_descriptor());
    140  if (status != CUDNN_STATUS_SUCCESS) {
    142  &m_reductionDesc, status, "CUDNN_BACKEND_REDUCTION_DESCRIPTOR: cudnnFinalize Failed");
    143  return std::move(m_reductionDesc);
    144  }
    145 
    146  return std::move(m_reductionDesc);
    147  }
    148 
    149  explicit ReductionDescBuilder_v8() = default;
    150  ~ReductionDescBuilder_v8() = default;
    154  operator=(ReductionDescBuilder_v8 const &) = delete;
    155 
    156  private:
    158 };
    159 }
    static void set_error_and_throw_exception(BackendDescriptor const *desc, cudnnStatus_t status, const char *message)
    + + + + +
    auto setMathPrecision(cudnnDataType_t data_type_) -> ReductionDescBuilder_v8 &
    Set Math Precision Data Type for the Reduction Operation.
    +
    ManagedOpaqueDescriptor get_desc() const
    Returns a copy of underlying managed descriptor.
    + + + + + + +
    ReductionDesc_v8 & operator=(ReductionDesc_v8 const &)=delete
    +
    cudnnStatus_t get_status() const
    Current status of the descriptor.
    + + +
    const char * get_error() const
    Diagonistic error message if any.
    +
    std::string describe() const override
    Return a string describing the backend Descriptor.
    +
    auto setReductionOp(cudnnReduceTensorOp_t op_) -> ReductionDescBuilder_v8 &
    Set redution operator for the Reduction Operation.
    + +
    cudnnStatus_t status
    Shared pointer of the OpaqueBackendPointer.
    +
    +
    + + + + diff --git a/docs/db/dab/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_e45e8d5d55b3b93ec70e21ed4cab1140.map b/docs/db/dab/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_e45e8d5d55b3b93ec70e21ed4cab1140.map new file mode 100644 index 00000000..5ccf18a1 --- /dev/null +++ b/docs/db/dab/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_e45e8d5d55b3b93ec70e21ed4cab1140.map @@ -0,0 +1,2 @@ + + diff --git a/docs/db/dab/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_e45e8d5d55b3b93ec70e21ed4cab1140.md5 b/docs/db/dab/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_e45e8d5d55b3b93ec70e21ed4cab1140.md5 new file mode 100644 index 00000000..4129a291 --- /dev/null +++ b/docs/db/dab/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_e45e8d5d55b3b93ec70e21ed4cab1140.md5 @@ -0,0 +1 @@ +c24fb97e87cf4e30cf933059254ece61 \ No newline at end of file diff --git a/docs/db/dab/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_e45e8d5d55b3b93ec70e21ed4cab1140.png b/docs/db/dab/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_e45e8d5d55b3b93ec70e21ed4cab1140.png new file mode 100644 index 00000000..8bfb2584 Binary files /dev/null and b/docs/db/dab/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_e45e8d5d55b3b93ec70e21ed4cab1140.png differ diff --git a/docs/db/db0/structnlohmann_1_1detail_1_1has__to__json__coll__graph.map b/docs/db/db0/structnlohmann_1_1detail_1_1has__to__json__coll__graph.map new file mode 100644 index 00000000..234f255f --- /dev/null +++ b/docs/db/db0/structnlohmann_1_1detail_1_1has__to__json__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/db/db0/structnlohmann_1_1detail_1_1has__to__json__coll__graph.md5 b/docs/db/db0/structnlohmann_1_1detail_1_1has__to__json__coll__graph.md5 new file mode 100644 index 00000000..2d1fee1d --- /dev/null +++ b/docs/db/db0/structnlohmann_1_1detail_1_1has__to__json__coll__graph.md5 @@ -0,0 +1 @@ +a29e08841048947581fbe57b1ed3ccb5 \ No newline at end of file diff --git a/docs/db/db0/structnlohmann_1_1detail_1_1has__to__json__coll__graph.png b/docs/db/db0/structnlohmann_1_1detail_1_1has__to__json__coll__graph.png new file mode 100644 index 00000000..5aab4083 Binary files /dev/null and b/docs/db/db0/structnlohmann_1_1detail_1_1has__to__json__coll__graph.png differ diff --git a/docs/db/db1/structnlohmann_1_1detail_1_1iterator__types__coll__graph.map b/docs/db/db1/structnlohmann_1_1detail_1_1iterator__types__coll__graph.map new file mode 100644 index 00000000..e6a7cdd8 --- /dev/null +++ b/docs/db/db1/structnlohmann_1_1detail_1_1iterator__types__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/db/db1/structnlohmann_1_1detail_1_1iterator__types__coll__graph.md5 b/docs/db/db1/structnlohmann_1_1detail_1_1iterator__types__coll__graph.md5 new file mode 100644 index 00000000..9a089c3c --- /dev/null +++ b/docs/db/db1/structnlohmann_1_1detail_1_1iterator__types__coll__graph.md5 @@ -0,0 +1 @@ +6667e7f9429a5808b3293052b16d96bc \ No newline at end of file diff --git a/docs/db/db1/structnlohmann_1_1detail_1_1iterator__types__coll__graph.png b/docs/db/db1/structnlohmann_1_1detail_1_1iterator__types__coll__graph.png new file mode 100644 index 00000000..34dcce6a Binary files /dev/null and b/docs/db/db1/structnlohmann_1_1detail_1_1iterator__types__coll__graph.png differ diff --git a/docs/db/dc4/classBinaryType__coll__graph.map b/docs/db/dc4/classBinaryType__coll__graph.map new file mode 100644 index 00000000..efa6d5a4 --- /dev/null +++ b/docs/db/dc4/classBinaryType__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/db/dc4/classBinaryType__coll__graph.md5 b/docs/db/dc4/classBinaryType__coll__graph.md5 new file mode 100644 index 00000000..fee03164 --- /dev/null +++ b/docs/db/dc4/classBinaryType__coll__graph.md5 @@ -0,0 +1 @@ +f96addeda6b460d045ebbc9e70f9cc22 \ No newline at end of file diff --git a/docs/db/dc4/classBinaryType__coll__graph.png b/docs/db/dc4/classBinaryType__coll__graph.png new file mode 100644 index 00000000..7065b184 Binary files /dev/null and b/docs/db/dc4/classBinaryType__coll__graph.png differ diff --git a/docs/db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html b/docs/db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html new file mode 100644 index 00000000..972d1fce --- /dev/null +++ b/docs/db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html @@ -0,0 +1,269 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::iteration_proxy< IteratorType > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::iteration_proxy< IteratorType > Class Template Reference
    +
    +
    + +

    proxy class for the items() function + More...

    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::iteration_proxy< IteratorType >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + + +

    +Public Member Functions

     iteration_proxy (typename IteratorType::reference cont) noexcept
     construct iteration proxy from a container More...
     
    iteration_proxy_value< IteratorType > begin () noexcept
     return iterator begin (needed for range-based for) More...
     
    iteration_proxy_value< IteratorType > end () noexcept
     return iterator end (needed for range-based for) More...
     
    + + + + +

    +Private Attributes

    IteratorType::reference container
     the container to iterate More...
     
    +

    Detailed Description

    +

    template<typename IteratorType>
    +class nlohmann::detail::iteration_proxy< IteratorType >

    + +

    proxy class for the items() function

    + +

    Definition at line 4396 of file json.hpp.

    +

    Constructor & Destructor Documentation

    + +

    ◆ iteration_proxy()

    + +
    +
    +
    +template<typename IteratorType>
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::iteration_proxy< IteratorType >::iteration_proxy (typename IteratorType::reference cont)
    +
    +inlineexplicitnoexcept
    +
    + +

    construct iteration proxy from a container

    + +

    Definition at line 4404 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ begin()

    + +
    +
    +
    +template<typename IteratorType>
    + + + + + +
    + + + + + + + +
    iteration_proxy_value<IteratorType> nlohmann::detail::iteration_proxy< IteratorType >::begin ()
    +
    +inlinenoexcept
    +
    + +

    return iterator begin (needed for range-based for)

    + +

    Definition at line 4408 of file json.hpp.

    + +
    +
    + +

    ◆ end()

    + +
    +
    +
    +template<typename IteratorType>
    + + + + + +
    + + + + + + + +
    iteration_proxy_value<IteratorType> nlohmann::detail::iteration_proxy< IteratorType >::end ()
    +
    +inlinenoexcept
    +
    + +

    return iterator end (needed for range-based for)

    + +

    Definition at line 4414 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ container

    + +
    +
    +
    +template<typename IteratorType>
    + + + + + +
    + + + + +
    IteratorType::reference nlohmann::detail::iteration_proxy< IteratorType >::container
    +
    +private
    +
    + +

    the container to iterate

    + +

    Definition at line 4400 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/db/dda/classnlohmann_1_1detail_1_1iteration__proxy.js b/docs/db/dda/classnlohmann_1_1detail_1_1iteration__proxy.js new file mode 100644 index 00000000..22662fa7 --- /dev/null +++ b/docs/db/dda/classnlohmann_1_1detail_1_1iteration__proxy.js @@ -0,0 +1,7 @@ +var classnlohmann_1_1detail_1_1iteration__proxy = +[ + [ "iteration_proxy", "db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html#afe257e972e3b4658ef2e355f7389d4a5", null ], + [ "begin", "db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html#a379f86709d340c4ab1995539b8af623d", null ], + [ "end", "db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html#a90091f8492d23576edef72c5e8b9d4cf", null ], + [ "container", "db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html#a88c0532ba4a5de1d527b18053b24fd19", null ] +]; \ No newline at end of file diff --git a/docs/db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html b/docs/db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html index 087ed072..ac94d84b 100644 --- a/docs/db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html +++ b/docs/db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html @@ -145,7 +145,7 @@ ManagedOpaqueDescriptor get_desc () const  Returns a copy of underlying managed descriptor. More...
      -cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type) +cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type)  Initializes the underlying managed descriptor. More...
      diff --git a/docs/db/de1/classnlohmann_1_1byte__container__with__subtype__inherit__graph.map b/docs/db/de1/classnlohmann_1_1byte__container__with__subtype__inherit__graph.map new file mode 100644 index 00000000..90ffbe33 --- /dev/null +++ b/docs/db/de1/classnlohmann_1_1byte__container__with__subtype__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/db/de1/classnlohmann_1_1byte__container__with__subtype__inherit__graph.md5 b/docs/db/de1/classnlohmann_1_1byte__container__with__subtype__inherit__graph.md5 new file mode 100644 index 00000000..3f173822 --- /dev/null +++ b/docs/db/de1/classnlohmann_1_1byte__container__with__subtype__inherit__graph.md5 @@ -0,0 +1 @@ +3677e9a509cabfb97e5bde7d73d389a8 \ No newline at end of file diff --git a/docs/db/de1/classnlohmann_1_1byte__container__with__subtype__inherit__graph.png b/docs/db/de1/classnlohmann_1_1byte__container__with__subtype__inherit__graph.png new file mode 100644 index 00000000..72a54dab Binary files /dev/null and b/docs/db/de1/classnlohmann_1_1byte__container__with__subtype__inherit__graph.png differ diff --git a/docs/db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html b/docs/db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html new file mode 100644 index 00000000..82cea809 --- /dev/null +++ b/docs/db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html @@ -0,0 +1,415 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::input_stream_adapter Class Reference + + + + + + + + + + + + + + +
    +
    +
    + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::input_stream_adapter Class Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::input_stream_adapter:
    +
    +
    Collaboration graph
    + + + + + + +
    + + + + +

    +Public Types

    using char_type = char
     
    + + + + + + + + + + + + + + + +

    +Public Member Functions

     ~input_stream_adapter ()
     
     input_stream_adapter (std::istream &i)
     
     input_stream_adapter (const input_stream_adapter &)=delete
     
    input_stream_adapteroperator= (input_stream_adapter &)=delete
     
    input_stream_adapteroperator= (input_stream_adapter &&)=delete
     
     input_stream_adapter (input_stream_adapter &&rhs) noexcept
     
    std::char_traits< char >::int_type get_character ()
     
    + + + + + + +

    +Private Attributes

    std::istream * is = nullptr
     the associated input stream More...
     
    std::streambuf * sb = nullptr
     
    +

    Detailed Description

    +

    Input adapter for a (caching) istream. Ignores a UFT Byte Order Mark at beginning of input. Does not support changing the underlying std::streambuf in mid-input. Maintains underlying std::istream and std::streambuf to support subsequent use of standard std::istream operations to process any input characters following those used in parsing the JSON input. Clears the std::istream flags; any input errors (e.g., EOF) will be detected by the first subsequent call for input from the std::istream.

    + +

    Definition at line 5297 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ char_type

    + +
    +
    + +

    Definition at line 5300 of file json.hpp.

    + +
    +
    +

    Constructor & Destructor Documentation

    + +

    ◆ ~input_stream_adapter()

    + +
    +
    + + + + + +
    + + + + + + + +
    nlohmann::detail::input_stream_adapter::~input_stream_adapter ()
    +
    +inline
    +
    + +

    Definition at line 5302 of file json.hpp.

    + +
    +
    + +

    ◆ input_stream_adapter() [1/3]

    + +
    +
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::input_stream_adapter::input_stream_adapter (std::istream & i)
    +
    +inlineexplicit
    +
    + +

    Definition at line 5312 of file json.hpp.

    + +
    +
    + +

    ◆ input_stream_adapter() [2/3]

    + +
    +
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::input_stream_adapter::input_stream_adapter (const input_stream_adapter)
    +
    +delete
    +
    + +
    +
    + +

    ◆ input_stream_adapter() [3/3]

    + +
    +
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::input_stream_adapter::input_stream_adapter (input_stream_adapter && rhs)
    +
    +inlinenoexcept
    +
    + +

    Definition at line 5321 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ get_character()

    + +
    +
    + + + + + +
    + + + + + + + +
    std::char_traits<char>::int_type nlohmann::detail::input_stream_adapter::get_character ()
    +
    +inline
    +
    + +

    Definition at line 5331 of file json.hpp.

    + +

    References JSON_HEDLEY_UNLIKELY.

    + +
    +
    + +

    ◆ operator=() [1/2]

    + +
    +
    + + + + + +
    + + + + + + + + +
    input_stream_adapter& nlohmann::detail::input_stream_adapter::operator= (input_stream_adapter)
    +
    +delete
    +
    + +
    +
    + +

    ◆ operator=() [2/2]

    + +
    +
    + + + + + +
    + + + + + + + + +
    input_stream_adapter& nlohmann::detail::input_stream_adapter::operator= (input_stream_adapter && )
    +
    +delete
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ is

    + +
    +
    + + + + + +
    + + + + +
    std::istream* nlohmann::detail::input_stream_adapter::is = nullptr
    +
    +private
    +
    + +

    the associated input stream

    + +

    Definition at line 5344 of file json.hpp.

    + +
    +
    + +

    ◆ sb

    + +
    +
    + + + + + +
    + + + + +
    std::streambuf* nlohmann::detail::input_stream_adapter::sb = nullptr
    +
    +private
    +
    + +

    Definition at line 5345 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.js b/docs/db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.js new file mode 100644 index 00000000..5c84a498 --- /dev/null +++ b/docs/db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.js @@ -0,0 +1,13 @@ +var classnlohmann_1_1detail_1_1input__stream__adapter = +[ + [ "char_type", "db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a72f0713587f6bb3f3fbaae7d34c0ca39", null ], + [ "~input_stream_adapter", "db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a1d29416acc75b02bfaf251d9d8ef8f36", null ], + [ "input_stream_adapter", "db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#af487152e4606d013eb4ec6a90eaf82ea", null ], + [ "input_stream_adapter", "db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a5190fe4d0c5ff2e3b348b28ee3bb2218", null ], + [ "input_stream_adapter", "db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a0be44ef098e88e8453eb4c31c9b14421", null ], + [ "get_character", "db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#ac6c760c5df3a85b5800b4271c09e8671", null ], + [ "operator=", "db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#aeac5048221929b8f7558d1698dd0fb3a", null ], + [ "operator=", "db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a3577dff99cc91968557b52959b0363e4", null ], + [ "is", "db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a55893bf84cb17d877464984942df9632", null ], + [ "sb", "db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#aa94582dc8262cf35dfcfbe7b7fcd6c6c", null ] +]; \ No newline at end of file diff --git a/docs/db/df0/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.map b/docs/db/df0/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.map new file mode 100644 index 00000000..17c116b9 --- /dev/null +++ b/docs/db/df0/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/db/df0/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.md5 b/docs/db/df0/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.md5 new file mode 100644 index 00000000..8503087f --- /dev/null +++ b/docs/db/df0/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.md5 @@ -0,0 +1 @@ +494e4cba7e7b58e6eb4fc2aa06ef1926 \ No newline at end of file diff --git a/docs/db/df0/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.png b/docs/db/df0/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.png new file mode 100644 index 00000000..8dc329a9 Binary files /dev/null and b/docs/db/df0/classnlohmann_1_1detail_1_1invalid__iterator__coll__graph.png differ diff --git a/docs/db/df9/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_3a37a11c9d459df66c6ce741ab1d969a.map b/docs/db/df9/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_3a37a11c9d459df66c6ce741ab1d969a.map new file mode 100644 index 00000000..de82dbbc --- /dev/null +++ b/docs/db/df9/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_3a37a11c9d459df66c6ce741ab1d969a.map @@ -0,0 +1,2 @@ + + diff --git a/docs/db/df9/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_3a37a11c9d459df66c6ce741ab1d969a.md5 b/docs/db/df9/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_3a37a11c9d459df66c6ce741ab1d969a.md5 new file mode 100644 index 00000000..c9061bea --- /dev/null +++ b/docs/db/df9/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_3a37a11c9d459df66c6ce741ab1d969a.md5 @@ -0,0 +1 @@ +41c2b6f0bd8ae3c14d9393371c140480 \ No newline at end of file diff --git a/docs/db/df9/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_3a37a11c9d459df66c6ce741ab1d969a.png b/docs/db/df9/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_3a37a11c9d459df66c6ce741ab1d969a.png new file mode 100644 index 00000000..8e45c659 Binary files /dev/null and b/docs/db/df9/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_3a37a11c9d459df66c6ce741ab1d969a.png differ diff --git a/docs/dc/d00/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.map b/docs/dc/d00/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.map new file mode 100644 index 00000000..34c33082 --- /dev/null +++ b/docs/dc/d00/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dc/d00/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.md5 b/docs/dc/d00/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.md5 new file mode 100644 index 00000000..9eee545e --- /dev/null +++ b/docs/dc/d00/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +4e1db7841527e1fe630b5cd0650258de \ No newline at end of file diff --git a/docs/dc/d00/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.png b/docs/dc/d00/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.png new file mode 100644 index 00000000..bb45433d Binary files /dev/null and b/docs/dc/d00/structnlohmann_1_1detail_1_1is__compatible__type__impl__inherit__graph.png differ diff --git a/docs/dc/d01/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html b/docs/dc/d01/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html new file mode 100644 index 00000000..90db5fd3 --- /dev/null +++ b/docs/dc/d01/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html @@ -0,0 +1,130 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible< std::tuple< Ts... > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_constructible< std::tuple< Ts... > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_constructible< std::tuple< Ts... > >:
    +
    +
    Inheritance graph
    + + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_constructible< std::tuple< Ts... > >:
    +
    +
    Collaboration graph
    + + + + + +
    +

    Detailed Description

    +

    template<typename... Ts>
    +struct nlohmann::detail::is_constructible< std::tuple< Ts... > >

    + + +

    Definition at line 3588 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dc/d11/cudnn__backend__base_8h.html b/docs/dc/d11/cudnn__backend__base_8h.html index 37c057da..268b4631 100644 --- a/docs/dc/d11/cudnn__backend__base_8h.html +++ b/docs/dc/d11/cudnn__backend__base_8h.html @@ -100,22 +100,23 @@
    - + - - - - - - + + + + + + - - - - - - + + + + + + +
    @@ -140,7 +141,7 @@ - +

    Functions

    static ManagedOpaqueDescriptor cudnn_frontend::make_shared_backend_pointer (cudnnBackendDescriptorType_t type)
    static ManagedOpaqueDescriptor cudnn_frontend::make_shared_backend_pointer (cudnnBackendDescriptorType_t type)
     
    diff --git a/docs/dc/d11/cudnn__backend__base_8h_source.html b/docs/dc/d11/cudnn__backend__base_8h_source.html index 9f037f49..f991fe4a 100644 --- a/docs/dc/d11/cudnn__backend__base_8h_source.html +++ b/docs/dc/d11/cudnn__backend__base_8h_source.html @@ -84,7 +84,7 @@
    cudnn_backend_base.h
    -Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <cudnn.h>
    26 
    27 namespace cudnn_frontend {
    28 
    35  cudnnBackendDescriptor_t m_desc = nullptr;
    36  cudnnStatus_t status = CUDNN_STATUS_SUCCESS;
    37 
    38  public:
    41  operator=(const OpaqueBackendPointer&) = delete;
    43 
    48  OpaqueBackendPointer(cudnnBackendDescriptorType_t type) { status = cudnnBackendCreateDescriptor(type, &m_desc); }
    53  ~OpaqueBackendPointer() { cudnnBackendDestroyDescriptor(m_desc); };
    59  cudnnBackendDescriptor_t const&
    61  return m_desc;
    62  }
    67  cudnnStatus_t
    68  get_status() const {
    69  return status;
    70  }
    75  bool
    76  is_good() const {
    77  return status == CUDNN_STATUS_SUCCESS;
    78  }
    79 };
    80 
    82 using ManagedOpaqueDescriptor = std::shared_ptr<OpaqueBackendPointer>;
    83 
    86 make_shared_backend_pointer(cudnnBackendDescriptorType_t type) {
    87  return std::make_shared<OpaqueBackendPointer>(type);
    88 }
    89 
    98  public:
    100  virtual std::string
    101  describe() const = 0;
    102 
    105  cudnnBackendDescriptor_t
    106  get_raw_desc() const {
    107  return pointer->get_backend_descriptor();
    108  }
    109 
    111  cudnnStatus_t
    112  get_status() const {
    113  return status;
    114  }
    115 
    117  void
    118  set_status(cudnnStatus_t const status_) const {
    119  status = status_;
    120  }
    121 
    123  void
    124  set_error(const char* message) const {
    125  err_msg = message;
    126  }
    127 
    129  const char*
    130  get_error() const {
    131  return err_msg.c_str();
    132  }
    133 
    136  get_desc() const {
    137  return pointer;
    138  }
    139 
    141  cudnnStatus_t
    142  initialize_managed_backend_pointer(cudnnBackendDescriptorType_t type) {
    143  pointer = make_shared_backend_pointer(type);
    144  return pointer->get_status();
    145  }
    146 
    147  protected:
    152  BackendDescriptor(ManagedOpaqueDescriptor pointer_, cudnnStatus_t status_, std::string err_msg_)
    153  : pointer(pointer_), status(status_), err_msg(err_msg_) {}
    154  BackendDescriptor() = default;
    155 
    157 
    158  mutable cudnnStatus_t status = CUDNN_STATUS_SUCCESS;
    159  mutable std::string err_msg;
    160 };
    161 }
    +Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <cudnn.h>
    26 
    27 namespace cudnn_frontend {
    28 
    35  cudnnBackendDescriptor_t m_desc = nullptr;
    36  cudnnStatus_t status = CUDNN_STATUS_SUCCESS;
    37 
    38  public:
    41  operator=(const OpaqueBackendPointer&) = delete;
    43 
    48  OpaqueBackendPointer(cudnnBackendDescriptorType_t type) { status = cudnnBackendCreateDescriptor(type, &m_desc); }
    53  ~OpaqueBackendPointer() { cudnnBackendDestroyDescriptor(m_desc); };
    59  cudnnBackendDescriptor_t const&
    61  return m_desc;
    62  }
    67  cudnnStatus_t
    68  get_status() const {
    69  return status;
    70  }
    75  bool
    76  is_good() const {
    77  return status == CUDNN_STATUS_SUCCESS;
    78  }
    79 };
    80 
    82 using ManagedOpaqueDescriptor = std::shared_ptr<OpaqueBackendPointer>;
    83 
    86 make_shared_backend_pointer(cudnnBackendDescriptorType_t type) {
    87  return std::make_shared<OpaqueBackendPointer>(type);
    88 }
    89 
    98  public:
    100  virtual std::string
    101  describe() const = 0;
    102 
    105  cudnnBackendDescriptor_t
    106  get_raw_desc() const {
    107  return pointer->get_backend_descriptor();
    108  }
    109 
    111  cudnnStatus_t
    112  get_status() const {
    113  return status;
    114  }
    115 
    117  void
    118  set_status(cudnnStatus_t const status_) const {
    119  status = status_;
    120  }
    121 
    123  void
    124  set_error(const char* message) const {
    125  err_msg = message;
    126  }
    127 
    129  const char*
    130  get_error() const {
    131  return err_msg.c_str();
    132  }
    133 
    136  get_desc() const {
    137  return pointer;
    138  }
    139 
    141  cudnnStatus_t
    142  initialize_managed_backend_pointer(cudnnBackendDescriptorType_t type) {
    143  pointer = make_shared_backend_pointer(type);
    144  return pointer->get_status();
    145  }
    146 
    147  protected:
    152  BackendDescriptor(ManagedOpaqueDescriptor pointer_, cudnnStatus_t status_, std::string err_msg_)
    153  : pointer(pointer_), status(status_), err_msg(err_msg_) {}
    154  BackendDescriptor() = default;
    155 
    157 
    158  mutable cudnnStatus_t status = CUDNN_STATUS_SUCCESS;
    159  mutable std::string err_msg;
    160 };
    161 }
    OpaqueBackendPointer(const OpaqueBackendPointer &)=delete
    Delete the copy constructor to prevent bad copies.
    void set_status(cudnnStatus_t const status_) const
    Set status of the descriptor.
    cudnnStatus_t initialize_managed_backend_pointer(cudnnBackendDescriptorType_t type)
    Initializes the underlying managed descriptor.
    @@ -104,6 +104,7 @@
    std::shared_ptr< OpaqueBackendPointer > ManagedOpaqueDescriptor
    const char * get_error() const
    Diagonistic error message if any.
    +
    void set_error(const char *message) const
    Set Diagonistic error message.
    BackendDescriptor(ManagedOpaqueDescriptor pointer_, cudnnStatus_t status_, std::string err_msg_)
    std::string err_msg
    Error message if any being set.
    diff --git a/docs/dc/d11/structnlohmann_1_1detail_1_1is__constructible__object__type.html b/docs/dc/d11/structnlohmann_1_1detail_1_1is__constructible__object__type.html new file mode 100644 index 00000000..2294b1f8 --- /dev/null +++ b/docs/dc/d11/structnlohmann_1_1detail_1_1is__constructible__object__type.html @@ -0,0 +1,128 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible_object_type< BasicJsonType, ConstructibleObjectType > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_constructible_object_type< BasicJsonType, ConstructibleObjectType > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_constructible_object_type< BasicJsonType, ConstructibleObjectType >:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_constructible_object_type< BasicJsonType, ConstructibleObjectType >:
    +
    +
    Collaboration graph
    + + + + +
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename ConstructibleObjectType>
    +struct nlohmann::detail::is_constructible_object_type< BasicJsonType, ConstructibleObjectType >

    + + +

    Definition at line 3675 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dc/d16/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.map b/docs/dc/d16/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.map new file mode 100644 index 00000000..d4e9b07b --- /dev/null +++ b/docs/dc/d16/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dc/d16/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.md5 b/docs/dc/d16/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.md5 new file mode 100644 index 00000000..58d9915b --- /dev/null +++ b/docs/dc/d16/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.md5 @@ -0,0 +1 @@ +0b267c233010dbbb5073ab9ee6349e05 \ No newline at end of file diff --git a/docs/dc/d16/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.png b/docs/dc/d16/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.png new file mode 100644 index 00000000..581dd2a8 Binary files /dev/null and b/docs/dc/d16/structnlohmann_1_1detail_1_1from__json__fn__coll__graph.png differ diff --git a/docs/dc/d34/cudnn__backend__base_8h__dep__incl.map b/docs/dc/d34/cudnn__backend__base_8h__dep__incl.map index 705cdbf1..9c32cb90 100644 --- a/docs/dc/d34/cudnn__backend__base_8h__dep__incl.map +++ b/docs/dc/d34/cudnn__backend__base_8h__dep__incl.map @@ -1,18 +1,19 @@ - + - - - - - - + + + + + + - - - - - - + + + + + + + diff --git a/docs/dc/d34/cudnn__backend__base_8h__dep__incl.md5 b/docs/dc/d34/cudnn__backend__base_8h__dep__incl.md5 index fc485f3b..ee2b9e42 100644 --- a/docs/dc/d34/cudnn__backend__base_8h__dep__incl.md5 +++ b/docs/dc/d34/cudnn__backend__base_8h__dep__incl.md5 @@ -1 +1 @@ -7ac99a3c84db9c0e7fa3218958c8eb87 \ No newline at end of file +9aa03b0b60451837efd288f390a759cb \ No newline at end of file diff --git a/docs/dc/d34/cudnn__backend__base_8h__dep__incl.png b/docs/dc/d34/cudnn__backend__base_8h__dep__incl.png index de54485f..0293d469 100644 Binary files a/docs/dc/d34/cudnn__backend__base_8h__dep__incl.png and b/docs/dc/d34/cudnn__backend__base_8h__dep__incl.png differ diff --git a/docs/dc/d3c/classcudnn__frontend_1_1Engine__v8.html b/docs/dc/d3c/classcudnn__frontend_1_1Engine__v8.html index d14200f9..64bac17b 100644 --- a/docs/dc/d3c/classcudnn__frontend_1_1Engine__v8.html +++ b/docs/dc/d3c/classcudnn__frontend_1_1Engine__v8.html @@ -155,7 +155,7 @@ ManagedOpaqueDescriptor get_desc () const  Returns a copy of underlying managed descriptor. More...
      -cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type) +cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type)  Initializes the underlying managed descriptor. More...
      diff --git a/docs/dc/d40/cudnn__frontend__Heuristics_8h__dep__incl.md5 b/docs/dc/d40/cudnn__frontend__Heuristics_8h__dep__incl.md5 index 7de5ba17..2da092b8 100644 --- a/docs/dc/d40/cudnn__frontend__Heuristics_8h__dep__incl.md5 +++ b/docs/dc/d40/cudnn__frontend__Heuristics_8h__dep__incl.md5 @@ -1 +1 @@ -e477e6181c9051de76291e22e47e2de9 \ No newline at end of file +bdcf2e9fb6924015df30f64edcd928ef \ No newline at end of file diff --git a/docs/dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html b/docs/dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html new file mode 100644 index 00000000..f06a6241 --- /dev/null +++ b/docs/dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html @@ -0,0 +1,674 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::dtoa_impl Namespace Reference + + + + + + + + + + + + + + +
    +
    +
    + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::dtoa_impl Namespace Reference
    +
    +
    + +

    implements the Grisu2 algorithm for binary to decimal floating-point conversion. +More...

    + + + + + + + + +

    +Classes

    struct  boundaries
     
    struct  cached_power
     
    struct  diyfp
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    template<typename Target , typename Source >
    Target reinterpret_bits (const Source source)
     
    template<typename FloatType >
    boundaries compute_boundaries (FloatType value)
     
    cached_power get_cached_power_for_binary_exponent (int e)
     
    int find_largest_pow10 (const std::uint32_t n, std::uint32_t &pow10)
     
    void grisu2_round (char *buf, int len, std::uint64_t dist, std::uint64_t delta, std::uint64_t rest, std::uint64_t ten_k)
     
    void grisu2_digit_gen (char *buffer, int &length, int &decimal_exponent, diyfp M_minus, diyfp w, diyfp M_plus)
     
    void grisu2 (char *buf, int &len, int &decimal_exponent, diyfp m_minus, diyfp v, diyfp m_plus)
     
    template<typename FloatType >
    void grisu2 (char *buf, int &len, int &decimal_exponent, FloatType value)
     
    JSON_HEDLEY_RETURNS_NON_NULL char * append_exponent (char *buf, int e)
     appends a decimal representation of e to buf More...
     
    JSON_HEDLEY_RETURNS_NON_NULL char * format_buffer (char *buf, int len, int decimal_exponent, int min_exp, int max_exp)
     prettify v = buf * 10^decimal_exponent More...
     
    + + + + + +

    +Variables

    constexpr int kAlpha = -60
     
    constexpr int kGamma = -32
     
    +

    Detailed Description

    +

    implements the Grisu2 algorithm for binary to decimal floating-point conversion.

    +

    This implementation is a slightly modified version of the reference implementation which may be obtained from http://florian.loitsch.com/publications (bench.tar.gz).

    +

    The code is distributed under the MIT license, Copyright (c) 2009 Florian Loitsch.

    +

    For a detailed description of the algorithm see:

    +

    [1] Loitsch, "Printing Floating-Point Numbers Quickly and Accurately with + Integers", Proceedings of the ACM SIGPLAN 2010 Conference on Programming Language Design and Implementation, PLDI 2010 [2] Burger, Dybvig, "Printing Floating-Point Numbers Quickly and Accurately", Proceedings of the ACM SIGPLAN 1996 Conference on Programming Language Design and Implementation, PLDI 1996

    +

    Function Documentation

    + +

    ◆ append_exponent()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    JSON_HEDLEY_RETURNS_NON_NULL char* nlohmann::detail::dtoa_impl::append_exponent (char * buf,
    int e 
    )
    +
    +inline
    +
    + +

    appends a decimal representation of e to buf

    +
    Returns
    a pointer to the element following the exponent.
    +
    Precondition
    -1000 < e < 1000
    + +

    Definition at line 15768 of file json.hpp.

    + +

    References JSON_ASSERT, JSON_HEDLEY_NON_NULL, and JSON_HEDLEY_RETURNS_NON_NULL.

    + +

    Referenced by format_buffer().

    + +
    +
    + +

    ◆ compute_boundaries()

    + +
    +
    +
    +template<typename FloatType >
    + + + + + + + + +
    boundaries nlohmann::detail::dtoa_impl::compute_boundaries (FloatType value)
    +
    +

    Compute the (normalized) diyfp representing the input number 'value' and its boundaries.

    +
    Precondition
    value must be finite and positive
    + +

    Definition at line 15029 of file json.hpp.

    + +

    References nlohmann::detail::dtoa_impl::diyfp::e, nlohmann::detail::dtoa_impl::diyfp::f, JSON_ASSERT, and nlohmann::detail::value.

    + +

    Referenced by grisu2().

    + +
    +
    + +

    ◆ find_largest_pow10()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    int nlohmann::detail::dtoa_impl::find_largest_pow10 (const std::uint32_t n,
    std::uint32_t & pow10 
    )
    +
    +inline
    +
    +

    For n != 0, returns k, such that pow10 := 10^(k-1) <= n < 10^k. For n == 0, returns 1 and sets pow10 := 1.

    + +

    Definition at line 15332 of file json.hpp.

    + +

    Referenced by grisu2_digit_gen().

    + +
    +
    + +

    ◆ format_buffer()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    JSON_HEDLEY_RETURNS_NON_NULL char* nlohmann::detail::dtoa_impl::format_buffer (char * buf,
    int len,
    int decimal_exponent,
    int min_exp,
    int max_exp 
    )
    +
    +inline
    +
    + +

    prettify v = buf * 10^decimal_exponent

    +

    If v is in the range [10^min_exp, 10^max_exp) it will be printed in fixed-point notation. Otherwise it will be printed in exponential notation.

    +
    Precondition
    min_exp < 0
    +
    +max_exp > 0
    + +

    Definition at line 15820 of file json.hpp.

    + +

    References append_exponent(), JSON_ASSERT, JSON_HEDLEY_NON_NULL, and JSON_HEDLEY_RETURNS_NON_NULL.

    + +

    Referenced by nlohmann::detail::to_chars().

    + +
    +
    + +

    ◆ get_cached_power_for_binary_exponent()

    + +
    +
    + + + + + +
    + + + + + + + + +
    cached_power nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent (int e)
    +
    +inline
    +
    +

    For a normalized diyfp w = f * 2^e, this function returns a (normalized) cached power-of-ten c = f_c * 2^e_c, such that the exponent of the product w * c satisfies (Definition 3.2 from [1])

     alpha <= e_c + e + q <= gamma.
    +

    Definition at line 15168 of file json.hpp.

    + +

    References JSON_ASSERT.

    + +

    Referenced by grisu2().

    + +
    +
    + +

    ◆ grisu2() [1/2]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::dtoa_impl::grisu2 (char * buf,
    int & len,
    int & decimal_exponent,
    diyfp m_minus,
    diyfp v,
    diyfp m_plus 
    )
    +
    +inline
    +
    +

    v = buf * 10^decimal_exponent len is the length of the buffer (number of decimal digits) The buffer must be large enough, i.e. >= max_digits10.

    + +

    Definition at line 15668 of file json.hpp.

    + +

    References nlohmann::detail::dtoa_impl::diyfp::e, nlohmann::detail::dtoa_impl::cached_power::e, nlohmann::detail::dtoa_impl::diyfp::f, nlohmann::detail::dtoa_impl::cached_power::f, get_cached_power_for_binary_exponent(), grisu2_digit_gen(), JSON_ASSERT, JSON_HEDLEY_NON_NULL, and nlohmann::detail::dtoa_impl::cached_power::k.

    + +

    Referenced by nlohmann::detail::to_chars().

    + +
    +
    + +

    ◆ grisu2() [2/2]

    + +
    +
    +
    +template<typename FloatType >
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::dtoa_impl::grisu2 (char * buf,
    int & len,
    int & decimal_exponent,
    FloatType value 
    )
    +
    +

    v = buf * 10^decimal_exponent len is the length of the buffer (number of decimal digits) The buffer must be large enough, i.e. >= max_digits10.

    + +

    Definition at line 15728 of file json.hpp.

    + +

    References compute_boundaries(), JSON_ASSERT, JSON_HEDLEY_NON_NULL, JSON_HEDLEY_RETURNS_NON_NULL, nlohmann::detail::dtoa_impl::boundaries::minus, nlohmann::detail::dtoa_impl::boundaries::plus, and nlohmann::detail::dtoa_impl::boundaries::w.

    + +
    +
    + +

    ◆ grisu2_digit_gen()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::dtoa_impl::grisu2_digit_gen (char * buffer,
    int & length,
    int & decimal_exponent,
    diyfp M_minus,
    diyfp w,
    diyfp M_plus 
    )
    +
    +inline
    +
    +

    Generates V = buffer * 10^decimal_exponent, such that M- <= V <= M+. M- and M+ must be normalized and share the same exponent -60 <= e <= -32.

    + +

    Definition at line 15427 of file json.hpp.

    + +

    References nlohmann::detail::dtoa_impl::diyfp::e, nlohmann::detail::dtoa_impl::diyfp::f, find_largest_pow10(), grisu2_round(), JSON_ASSERT, and JSON_HEDLEY_NON_NULL.

    + +

    Referenced by grisu2().

    + +
    +
    + +

    ◆ grisu2_round()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::dtoa_impl::grisu2_round (char * buf,
    int len,
    std::uint64_t dist,
    std::uint64_t delta,
    std::uint64_t rest,
    std::uint64_t ten_k 
    )
    +
    +inline
    +
    + +

    Definition at line 15386 of file json.hpp.

    + +

    References JSON_ASSERT.

    + +

    Referenced by grisu2_digit_gen().

    + +
    +
    + +

    ◆ reinterpret_bits()

    + +
    +
    +
    +template<typename Target , typename Source >
    + + + + + + + + +
    Target nlohmann::detail::dtoa_impl::reinterpret_bits (const Source source)
    +
    + +

    Definition at line 14888 of file json.hpp.

    + +
    +
    +

    Variable Documentation

    + +

    ◆ kAlpha

    + +
    +
    + + + + +
    constexpr int nlohmann::detail::dtoa_impl::kAlpha = -60
    +
    + +

    Definition at line 15151 of file json.hpp.

    + +
    +
    + +

    ◆ kGamma

    + +
    +
    + + + + +
    constexpr int nlohmann::detail::dtoa_impl::kGamma = -32
    +
    + +

    Definition at line 15152 of file json.hpp.

    + +
    +
    +
    +
    + + + + diff --git a/docs/dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.js b/docs/dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.js new file mode 100644 index 00000000..9298a414 --- /dev/null +++ b/docs/dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.js @@ -0,0 +1,6 @@ +var namespacenlohmann_1_1detail_1_1dtoa__impl = +[ + [ "boundaries", "df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html", "df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries" ], + [ "cached_power", "d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html", "d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power" ], + [ "diyfp", "d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html", "d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp" ] +]; \ No newline at end of file diff --git a/docs/dc/d4b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.html b/docs/dc/d4b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.html new file mode 100644 index 00000000..4dac3d38 --- /dev/null +++ b/docs/dc/d4b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.html @@ -0,0 +1,126 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, typename > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, typename > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, typename >:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, typename >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename CompatibleArrayType, typename = void>
    +struct nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, typename >

    + + +

    Definition at line 3717 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dc/d55/structnlohmann_1_1detail_1_1internal__iterator__inherit__graph.map b/docs/dc/d55/structnlohmann_1_1detail_1_1internal__iterator__inherit__graph.map new file mode 100644 index 00000000..b7131521 --- /dev/null +++ b/docs/dc/d55/structnlohmann_1_1detail_1_1internal__iterator__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/dc/d55/structnlohmann_1_1detail_1_1internal__iterator__inherit__graph.md5 b/docs/dc/d55/structnlohmann_1_1detail_1_1internal__iterator__inherit__graph.md5 new file mode 100644 index 00000000..f44cf178 --- /dev/null +++ b/docs/dc/d55/structnlohmann_1_1detail_1_1internal__iterator__inherit__graph.md5 @@ -0,0 +1 @@ +1375fea2b371df2ac43b3e8a08092456 \ No newline at end of file diff --git a/docs/dc/d55/structnlohmann_1_1detail_1_1internal__iterator__inherit__graph.png b/docs/dc/d55/structnlohmann_1_1detail_1_1internal__iterator__inherit__graph.png new file mode 100644 index 00000000..d55770f2 Binary files /dev/null and b/docs/dc/d55/structnlohmann_1_1detail_1_1internal__iterator__inherit__graph.png differ diff --git a/docs/dc/d5e/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.map b/docs/dc/d5e/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.map new file mode 100644 index 00000000..8dec9080 --- /dev/null +++ b/docs/dc/d5e/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dc/d5e/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.md5 b/docs/dc/d5e/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.md5 new file mode 100644 index 00000000..cc6b9af2 --- /dev/null +++ b/docs/dc/d5e/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +e7a7290f1c200e17a2959767e4425b96 \ No newline at end of file diff --git a/docs/dc/d5e/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.png b/docs/dc/d5e/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.png new file mode 100644 index 00000000..5d95440a Binary files /dev/null and b/docs/dc/d5e/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl__inherit__graph.png differ diff --git a/docs/dc/d5f/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.map b/docs/dc/d5f/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.map new file mode 100644 index 00000000..23bc998b --- /dev/null +++ b/docs/dc/d5f/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dc/d5f/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.md5 b/docs/dc/d5f/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.md5 new file mode 100644 index 00000000..778aa2ca --- /dev/null +++ b/docs/dc/d5f/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.md5 @@ -0,0 +1 @@ +c85b1b6233831348ac87bcfad5ad6fda \ No newline at end of file diff --git a/docs/dc/d5f/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.png b/docs/dc/d5f/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.png new file mode 100644 index 00000000..a3b958c3 Binary files /dev/null and b/docs/dc/d5f/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4__coll__graph.png differ diff --git a/docs/dc/d67/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.map b/docs/dc/d67/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.map new file mode 100644 index 00000000..27678bb3 --- /dev/null +++ b/docs/dc/d67/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dc/d67/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.md5 b/docs/dc/d67/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.md5 new file mode 100644 index 00000000..bef87ddc --- /dev/null +++ b/docs/dc/d67/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.md5 @@ -0,0 +1 @@ +b21dbcd87a72303e523d45d18a504dbd \ No newline at end of file diff --git a/docs/dc/d67/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.png b/docs/dc/d67/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.png new file mode 100644 index 00000000..8a213f59 Binary files /dev/null and b/docs/dc/d67/classnlohmann_1_1detail_1_1file__input__adapter__coll__graph.png differ diff --git a/docs/dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html b/docs/dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html new file mode 100644 index 00000000..51d640ab --- /dev/null +++ b/docs/dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html @@ -0,0 +1,1131 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::json_sax_dom_parser< BasicJsonType > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::json_sax_dom_parser< BasicJsonType > Class Template Reference
    +
    +
    + +

    SAX implementation to create a JSON value from SAX events. + More...

    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::json_sax_dom_parser< BasicJsonType >:
    +
    +
    Collaboration graph
    + + + +
    + + + + + + + + + + + + +

    +Public Types

    using number_integer_t = typename BasicJsonType::number_integer_t
     
    using number_unsigned_t = typename BasicJsonType::number_unsigned_t
     
    using number_float_t = typename BasicJsonType::number_float_t
     
    using string_t = typename BasicJsonType::string_t
     
    using binary_t = typename BasicJsonType::binary_t
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     json_sax_dom_parser (BasicJsonType &r, const bool allow_exceptions_=true)
     
     json_sax_dom_parser (const json_sax_dom_parser &)=delete
     
     json_sax_dom_parser (json_sax_dom_parser &&)=default
     
    json_sax_dom_parseroperator= (const json_sax_dom_parser &)=delete
     
    json_sax_dom_parseroperator= (json_sax_dom_parser &&)=default
     
     ~json_sax_dom_parser ()=default
     
    bool null ()
     
    bool boolean (bool val)
     
    bool number_integer (number_integer_t val)
     
    bool number_unsigned (number_unsigned_t val)
     
    bool number_float (number_float_t val, const string_t &)
     
    bool string (string_t &val)
     
    bool binary (binary_t &val)
     
    bool start_object (std::size_t len)
     
    bool key (string_t &val)
     
    bool end_object ()
     
    bool start_array (std::size_t len)
     
    bool end_array ()
     
    template<class Exception >
    bool parse_error (std::size_t, const std::string &, const Exception &ex)
     
    constexpr bool is_errored () const
     
    + + + + +

    +Private Member Functions

    template<typename Value >
    JSON_HEDLEY_RETURNS_NON_NULL BasicJsonType * handle_value (Value &&v)
     
    + + + + + + + + + + + + + + + + +

    +Private Attributes

    BasicJsonType & root
     the parsed JSON value More...
     
    std::vector< BasicJsonType * > ref_stack {}
     stack to model hierarchy of values More...
     
    BasicJsonType * object_element = nullptr
     helper to hold the reference for the next object element More...
     
    bool errored = false
     whether a syntax error occurred More...
     
    const bool allow_exceptions = true
     whether to throw exceptions in case of errors More...
     
    +

    Detailed Description

    +

    template<typename BasicJsonType>
    +class nlohmann::detail::json_sax_dom_parser< BasicJsonType >

    + +

    SAX implementation to create a JSON value from SAX events.

    +

    This class implements the json_sax interface and processes the SAX events to create a JSON value which makes it basically a DOM parser. The structure or hierarchy of the JSON value is managed by the stack ref_stack which contains a pointer to the respective array or object for each recursion depth.

    +

    After successful parsing, the value that is passed by reference to the constructor contains the parsed value.

    +
    Template Parameters
    + + +
    BasicJsonTypethe JSON type
    +
    +
    + +

    Definition at line 5861 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ binary_t

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + +
    using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::binary_t = typename BasicJsonType::binary_t
    +
    + +

    Definition at line 5868 of file json.hpp.

    + +
    +
    + +

    ◆ number_float_t

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + +
    using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t
    +
    + +

    Definition at line 5866 of file json.hpp.

    + +
    +
    + +

    ◆ number_integer_t

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + +
    using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t
    +
    + +

    Definition at line 5864 of file json.hpp.

    + +
    +
    + +

    ◆ number_unsigned_t

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + +
    using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
    +
    + +

    Definition at line 5865 of file json.hpp.

    + +
    +
    + +

    ◆ string_t

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + +
    using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::string_t = typename BasicJsonType::string_t
    +
    + +

    Definition at line 5867 of file json.hpp.

    + +
    +
    +

    Constructor & Destructor Documentation

    + +

    ◆ json_sax_dom_parser() [1/3]

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    nlohmann::detail::json_sax_dom_parser< BasicJsonType >::json_sax_dom_parser (BasicJsonType & r,
    const bool allow_exceptions_ = true 
    )
    +
    +inlineexplicit
    +
    +
    Parameters
    + + + +
    [in,out]rreference to a JSON value that is manipulated while parsing
    [in]allow_exceptions_whether parse errors yield exceptions
    +
    +
    + +

    Definition at line 5875 of file json.hpp.

    + +
    +
    + +

    ◆ json_sax_dom_parser() [2/3]

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::json_sax_dom_parser< BasicJsonType >::json_sax_dom_parser (const json_sax_dom_parser< BasicJsonType > & )
    +
    +delete
    +
    + +
    +
    + +

    ◆ json_sax_dom_parser() [3/3]

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::json_sax_dom_parser< BasicJsonType >::json_sax_dom_parser (json_sax_dom_parser< BasicJsonType > && )
    +
    +default
    +
    + +
    +
    + +

    ◆ ~json_sax_dom_parser()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + +
    nlohmann::detail::json_sax_dom_parser< BasicJsonType >::~json_sax_dom_parser ()
    +
    +default
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ binary()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::binary (binary_tval)
    +
    +inline
    +
    + +

    Definition at line 5922 of file json.hpp.

    + +
    +
    + +

    ◆ boolean()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::boolean (bool val)
    +
    +inline
    +
    + +

    Definition at line 5892 of file json.hpp.

    + +
    +
    + +

    ◆ end_array()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + +
    bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::end_array ()
    +
    +inline
    +
    + +

    Definition at line 5966 of file json.hpp.

    + +
    +
    + +

    ◆ end_object()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + +
    bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::end_object ()
    +
    +inline
    +
    + +

    Definition at line 5947 of file json.hpp.

    + +
    +
    + +

    ◆ handle_value()

    + +
    +
    +
    +template<typename BasicJsonType>
    +
    +template<typename Value >
    + + + + + +
    + + + + + + + + +
    JSON_HEDLEY_RETURNS_NON_NULL BasicJsonType* nlohmann::detail::json_sax_dom_parser< BasicJsonType >::handle_value (Value && v)
    +
    +inlineprivate
    +
    +
    Invariant
    If the ref stack is empty, then the passed value will be the new root.
    +
    +If the ref stack contains a value, then it is an array or an object to which we can add elements
    + +

    Definition at line 6000 of file json.hpp.

    + +

    References JSON_ASSERT.

    + +
    +
    + +

    ◆ is_errored()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + +
    constexpr bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::is_errored () const
    +
    +inline
    +
    + +

    Definition at line 5986 of file json.hpp.

    + +

    References JSON_HEDLEY_RETURNS_NON_NULL.

    + +

    Referenced by nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parse().

    + +
    +
    + +

    ◆ key()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::key (string_tval)
    +
    +inline
    +
    + +

    Definition at line 5940 of file json.hpp.

    + +
    +
    + +

    ◆ null()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + +
    bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::null ()
    +
    +inline
    +
    + +

    Definition at line 5886 of file json.hpp.

    + +
    +
    + +

    ◆ number_float()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_float (number_float_t val,
    const string_t 
    )
    +
    +inline
    +
    + +

    Definition at line 5910 of file json.hpp.

    + +
    +
    + +

    ◆ number_integer()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_integer (number_integer_t val)
    +
    +inline
    +
    + +

    Definition at line 5898 of file json.hpp.

    + +
    +
    + +

    ◆ number_unsigned()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_unsigned (number_unsigned_t val)
    +
    +inline
    +
    + +

    Definition at line 5904 of file json.hpp.

    + +
    +
    + +

    ◆ operator=() [1/2]

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    json_sax_dom_parser& nlohmann::detail::json_sax_dom_parser< BasicJsonType >::operator= (const json_sax_dom_parser< BasicJsonType > & )
    +
    +delete
    +
    + +
    +
    + +

    ◆ operator=() [2/2]

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    json_sax_dom_parser& nlohmann::detail::json_sax_dom_parser< BasicJsonType >::operator= (json_sax_dom_parser< BasicJsonType > && )
    +
    +default
    +
    + +
    +
    + +

    ◆ parse_error()

    + +
    +
    +
    +template<typename BasicJsonType>
    +
    +template<class Exception >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::parse_error (std::size_t ,
    const std::string,
    const Exception & ex 
    )
    +
    +inline
    +
    + +

    Definition at line 5974 of file json.hpp.

    + +

    References JSON_THROW.

    + +

    Referenced by nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parse().

    + +
    +
    + +

    ◆ start_array()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_array (std::size_t len)
    +
    +inline
    +
    +
    + +

    ◆ start_object()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_object (std::size_t len)
    +
    +inline
    +
    +
    + +

    ◆ string()

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::string (string_tval)
    +
    +inline
    +
    + +

    Definition at line 5916 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ allow_exceptions

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + +
    const bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::allow_exceptions = true
    +
    +private
    +
    + +

    whether to throw exceptions in case of errors

    + +

    Definition at line 6031 of file json.hpp.

    + +
    +
    + +

    ◆ errored

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + +
    bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::errored = false
    +
    +private
    +
    + +

    whether a syntax error occurred

    + +

    Definition at line 6029 of file json.hpp.

    + +
    +
    + +

    ◆ object_element

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + +
    BasicJsonType* nlohmann::detail::json_sax_dom_parser< BasicJsonType >::object_element = nullptr
    +
    +private
    +
    + +

    helper to hold the reference for the next object element

    + +

    Definition at line 6027 of file json.hpp.

    + +
    +
    + +

    ◆ ref_stack

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + +
    std::vector<BasicJsonType*> nlohmann::detail::json_sax_dom_parser< BasicJsonType >::ref_stack {}
    +
    +private
    +
    + +

    stack to model hierarchy of values

    + +

    Definition at line 6025 of file json.hpp.

    + +
    +
    + +

    ◆ root

    + +
    +
    +
    +template<typename BasicJsonType>
    + + + + + +
    + + + + +
    BasicJsonType& nlohmann::detail::json_sax_dom_parser< BasicJsonType >::root
    +
    +private
    +
    + +

    the parsed JSON value

    + +

    Definition at line 6023 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.js b/docs/dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.js new file mode 100644 index 00000000..5ef31c19 --- /dev/null +++ b/docs/dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.js @@ -0,0 +1,34 @@ +var classnlohmann_1_1detail_1_1json__sax__dom__parser = +[ + [ "binary_t", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a188c267325965fdbe487ce68ab5496aa", null ], + [ "number_float_t", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad8da3aad0147b18b3cb76868480300fe", null ], + [ "number_integer_t", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a3d5cd67d179aa7422ce90e54984a441e", null ], + [ "number_unsigned_t", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a90f19b272530a479db81db11be2ea15c", null ], + [ "string_t", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#afd4d961ab2a6b01cbe6e840f7fb90cdc", null ], + [ "json_sax_dom_parser", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#afc50fee0a92ce84afb84041ebbdfba80", null ], + [ "json_sax_dom_parser", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a0a00cd158d678e294f6e974cd9373c4b", null ], + [ "json_sax_dom_parser", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad6e588652d5a9cb647a3c32a6221f13e", null ], + [ "~json_sax_dom_parser", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a4b93deb5c1d716dcfb33b3ed8a00ac4d", null ], + [ "binary", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#acc05c450d515f0f95c37401bf23c8db3", null ], + [ "boolean", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a476c4634b93546a1a555725e551c2b33", null ], + [ "end_array", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#af7cb5e5fe06ea908b0ce4ed762919759", null ], + [ "end_object", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a88de4907ad5668d0358af2135236101f", null ], + [ "handle_value", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aa1a5e21be350727cf61a101aa5c6796e", null ], + [ "is_errored", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad1b9f3681fadbbb2e0127f5c8a99c662", null ], + [ "key", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad427febda4997cbd8345a2596af66649", null ], + [ "null", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#abb06babaa861f123d8d0cb443b887d8a", null ], + [ "number_float", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aef4652c0e81d6c052acb5d36afe09499", null ], + [ "number_integer", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aff77f861ba336df48c9786a993941397", null ], + [ "number_unsigned", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a2b4ff5146ed46993527e4a67d99c1355", null ], + [ "operator=", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a98448bf2cbc15d15e2eddc5a09a40a42", null ], + [ "operator=", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aff928a07e40e4efb16b3ff9384f4401c", null ], + [ "parse_error", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a7bc7d26e6a6f30185310de42cb2e820d", null ], + [ "start_array", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a056b895d011efaf48ea096c024aca0d4", null ], + [ "start_object", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a9929b4cc92d471c49bd0a92802629f90", null ], + [ "string", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a851d965082d20a726138f5d0330dc7d8", null ], + [ "allow_exceptions", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad0953e8d888339421d909d9016bc6e2c", null ], + [ "errored", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a31ccb472ed855e2f2370fd091d91aad7", null ], + [ "object_element", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a9c03c76d3a8e89c8928097ba0b92c2db", null ], + [ "ref_stack", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aa7526e7ae7be7f63803a23fd8cf36e5d", null ], + [ "root", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aef0477277389e399d7128898841b71c0", null ] +]; \ No newline at end of file diff --git a/docs/dc/d69/json_8hpp__dep__incl.map b/docs/dc/d69/json_8hpp__dep__incl.map new file mode 100644 index 00000000..4c62a798 --- /dev/null +++ b/docs/dc/d69/json_8hpp__dep__incl.map @@ -0,0 +1,7 @@ + + + + + + + diff --git a/docs/dc/d69/json_8hpp__dep__incl.md5 b/docs/dc/d69/json_8hpp__dep__incl.md5 new file mode 100644 index 00000000..ed4d45fb --- /dev/null +++ b/docs/dc/d69/json_8hpp__dep__incl.md5 @@ -0,0 +1 @@ +8ca33267c963a776cd4785030f4c8fd8 \ No newline at end of file diff --git a/docs/dc/d69/json_8hpp__dep__incl.png b/docs/dc/d69/json_8hpp__dep__incl.png new file mode 100644 index 00000000..5507e3ea Binary files /dev/null and b/docs/dc/d69/json_8hpp__dep__incl.png differ diff --git a/docs/dc/d6a/classnlohmann_1_1detail_1_1exception__coll__graph.map b/docs/dc/d6a/classnlohmann_1_1detail_1_1exception__coll__graph.map new file mode 100644 index 00000000..1f5a6daf --- /dev/null +++ b/docs/dc/d6a/classnlohmann_1_1detail_1_1exception__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dc/d6a/classnlohmann_1_1detail_1_1exception__coll__graph.md5 b/docs/dc/d6a/classnlohmann_1_1detail_1_1exception__coll__graph.md5 new file mode 100644 index 00000000..56f056fe --- /dev/null +++ b/docs/dc/d6a/classnlohmann_1_1detail_1_1exception__coll__graph.md5 @@ -0,0 +1 @@ +87500d6a32894a0ed802610aa3824bae \ No newline at end of file diff --git a/docs/dc/d6a/classnlohmann_1_1detail_1_1exception__coll__graph.png b/docs/dc/d6a/classnlohmann_1_1detail_1_1exception__coll__graph.png new file mode 100644 index 00000000..1e1174ff Binary files /dev/null and b/docs/dc/d6a/classnlohmann_1_1detail_1_1exception__coll__graph.png differ diff --git a/docs/dc/d70/structstd_1_1hash_3_01nlohmann_1_1json_01_4-members.html b/docs/dc/d70/structstd_1_1hash_3_01nlohmann_1_1json_01_4-members.html new file mode 100644 index 00000000..b57b8bd3 --- /dev/null +++ b/docs/dc/d70/structstd_1_1hash_3_01nlohmann_1_1json_01_4-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    std::hash< nlohmann::json > Member List
    +
    +
    + +

    This is the complete list of members for std::hash< nlohmann::json >, including all inherited members.

    + + +
    operator()(const nlohmann::json &j) conststd::hash< nlohmann::json >inline
    +
    + + + + diff --git a/docs/dc/d7d/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4__coll__graph.map b/docs/dc/d7d/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4__coll__graph.map new file mode 100644 index 00000000..a1b3e717 --- /dev/null +++ b/docs/dc/d7d/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dc/d7d/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4__coll__graph.md5 b/docs/dc/d7d/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4__coll__graph.md5 new file mode 100644 index 00000000..c88d9ca5 --- /dev/null +++ b/docs/dc/d7d/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4__coll__graph.md5 @@ -0,0 +1 @@ +7055031e980ba3023267463d4d29e2f1 \ No newline at end of file diff --git a/docs/dc/d7d/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4__coll__graph.png b/docs/dc/d7d/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4__coll__graph.png new file mode 100644 index 00000000..1c6a7053 Binary files /dev/null and b/docs/dc/d7d/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4__coll__graph.png differ diff --git a/docs/dc/d7e/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.map b/docs/dc/d7e/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.map new file mode 100644 index 00000000..bed4367e --- /dev/null +++ b/docs/dc/d7e/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dc/d7e/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.md5 b/docs/dc/d7e/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.md5 new file mode 100644 index 00000000..ec549e45 --- /dev/null +++ b/docs/dc/d7e/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +16e584e605ba9d580c84fecfc5587c37 \ No newline at end of file diff --git a/docs/dc/d7e/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.png b/docs/dc/d7e/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.png new file mode 100644 index 00000000..05dea9b2 Binary files /dev/null and b/docs/dc/d7e/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__coll__graph.png differ diff --git a/docs/dc/d7f/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.map b/docs/dc/d7f/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.map new file mode 100644 index 00000000..31471ff2 --- /dev/null +++ b/docs/dc/d7f/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dc/d7f/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.md5 b/docs/dc/d7f/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.md5 new file mode 100644 index 00000000..e8a95719 --- /dev/null +++ b/docs/dc/d7f/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +83f80464ef06cc5822df6d2c85de89e2 \ No newline at end of file diff --git a/docs/dc/d7f/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.png b/docs/dc/d7f/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.png new file mode 100644 index 00000000..ee19735e Binary files /dev/null and b/docs/dc/d7f/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__inherit__graph.png differ diff --git a/docs/dc/d86/structnlohmann_1_1detail_1_1nonesuch__coll__graph.map b/docs/dc/d86/structnlohmann_1_1detail_1_1nonesuch__coll__graph.map new file mode 100644 index 00000000..9ce17572 --- /dev/null +++ b/docs/dc/d86/structnlohmann_1_1detail_1_1nonesuch__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dc/d86/structnlohmann_1_1detail_1_1nonesuch__coll__graph.md5 b/docs/dc/d86/structnlohmann_1_1detail_1_1nonesuch__coll__graph.md5 new file mode 100644 index 00000000..5c4a2c57 --- /dev/null +++ b/docs/dc/d86/structnlohmann_1_1detail_1_1nonesuch__coll__graph.md5 @@ -0,0 +1 @@ +e06bf79b1bd0894a3ff85116d01bcf5c \ No newline at end of file diff --git a/docs/dc/d86/structnlohmann_1_1detail_1_1nonesuch__coll__graph.png b/docs/dc/d86/structnlohmann_1_1detail_1_1nonesuch__coll__graph.png new file mode 100644 index 00000000..4fd45275 Binary files /dev/null and b/docs/dc/d86/structnlohmann_1_1detail_1_1nonesuch__coll__graph.png differ diff --git a/docs/dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html b/docs/dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html new file mode 100644 index 00000000..0e2d16b7 --- /dev/null +++ b/docs/dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html @@ -0,0 +1,392 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::output_adapter_protocol< CharType > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::output_adapter_protocol< CharType > Struct Template Referenceabstract
    +
    +
    + +

    abstract output adapter interface + More...

    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::output_adapter_protocol< CharType >:
    +
    +
    Inheritance graph
    + + + + + +
    +
    +Collaboration diagram for nlohmann::detail::output_adapter_protocol< CharType >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    virtual void write_character (CharType c)=0
     
    virtual void write_characters (const CharType *s, std::size_t length)=0
     
    virtual ~output_adapter_protocol ()=default
     
     output_adapter_protocol ()=default
     
     output_adapter_protocol (const output_adapter_protocol &)=default
     
     output_adapter_protocol (output_adapter_protocol &&) noexcept=default
     
    output_adapter_protocoloperator= (const output_adapter_protocol &)=default
     
    output_adapter_protocoloperator= (output_adapter_protocol &&) noexcept=default
     
    +

    Detailed Description

    +

    template<typename CharType>
    +struct nlohmann::detail::output_adapter_protocol< CharType >

    + +

    abstract output adapter interface

    + +

    Definition at line 13136 of file json.hpp.

    +

    Constructor & Destructor Documentation

    + +

    ◆ ~output_adapter_protocol()

    + +
    +
    +
    +template<typename CharType >
    + + + + + +
    + + + + + + + +
    virtual nlohmann::detail::output_adapter_protocol< CharType >::~output_adapter_protocol ()
    +
    +virtualdefault
    +
    + +
    +
    + +

    ◆ output_adapter_protocol() [1/3]

    + +
    +
    +
    +template<typename CharType >
    + + + + + +
    + + + + + + + +
    nlohmann::detail::output_adapter_protocol< CharType >::output_adapter_protocol ()
    +
    +default
    +
    + +
    +
    + +

    ◆ output_adapter_protocol() [2/3]

    + +
    +
    +
    +template<typename CharType >
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::output_adapter_protocol< CharType >::output_adapter_protocol (const output_adapter_protocol< CharType > & )
    +
    +default
    +
    + +
    +
    + +

    ◆ output_adapter_protocol() [3/3]

    + +
    +
    +
    +template<typename CharType >
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::output_adapter_protocol< CharType >::output_adapter_protocol (output_adapter_protocol< CharType > && )
    +
    +defaultnoexcept
    +
    + +
    +
    +

    Member Function Documentation

    + +

    ◆ operator=() [1/2]

    + +
    +
    +
    +template<typename CharType >
    + + + + + +
    + + + + + + + + +
    output_adapter_protocol& nlohmann::detail::output_adapter_protocol< CharType >::operator= (const output_adapter_protocol< CharType > & )
    +
    +default
    +
    + +
    +
    + +

    ◆ operator=() [2/2]

    + +
    +
    +
    +template<typename CharType >
    + + + + + +
    + + + + + + + + +
    output_adapter_protocol& nlohmann::detail::output_adapter_protocol< CharType >::operator= (output_adapter_protocol< CharType > && )
    +
    +defaultnoexcept
    +
    + +
    +
    + +

    ◆ write_character()

    + +
    +
    +
    +template<typename CharType >
    + + + + + +
    + + + + + + + + +
    virtual void nlohmann::detail::output_adapter_protocol< CharType >::write_character (CharType c)
    +
    +pure virtual
    +
    +
    + +

    ◆ write_characters()

    + +
    +
    +
    +template<typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    virtual void nlohmann::detail::output_adapter_protocol< CharType >::write_characters (const CharType * s,
    std::size_t length 
    )
    +
    +pure virtual
    +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.js b/docs/dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.js new file mode 100644 index 00000000..cb3bc6bb --- /dev/null +++ b/docs/dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.js @@ -0,0 +1,11 @@ +var structnlohmann_1_1detail_1_1output__adapter__protocol = +[ + [ "~output_adapter_protocol", "dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#ad71cdc057030f8a775a191face25061a", null ], + [ "output_adapter_protocol", "dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#afd96245615e3b648e59e4a27bdfa67e0", null ], + [ "output_adapter_protocol", "dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#adf6ef7a244c32162fe98d9773f31fa8a", null ], + [ "output_adapter_protocol", "dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#a9527a27ddd468e4360a3530cbd9c35a6", null ], + [ "operator=", "dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#ab2a6b7a5b86c612df2d99d2970380456", null ], + [ "operator=", "dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#a2235c8f3da8dfe5b26cb030f6886811a", null ], + [ "write_character", "dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#a3381896fe1be557f591de2e917cdc7d5", null ], + [ "write_characters", "dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#a2f410a164e0eda17cf6561114b0eee4a", null ] +]; \ No newline at end of file diff --git a/docs/dc/da5/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html b/docs/dc/da5/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html new file mode 100644 index 00000000..dcc3cc86 --- /dev/null +++ b/docs/dc/da5/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html @@ -0,0 +1,126 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, typename > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, typename > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, typename >:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, typename >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename CompatibleObjectType, typename = void>
    +struct nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, typename >

    + + +

    Definition at line 3624 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html b/docs/dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html new file mode 100644 index 00000000..1631e5f2 --- /dev/null +++ b/docs/dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html @@ -0,0 +1,145 @@ + + + + + + + +CUDNN Frontend API: std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > > Class Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Public Types

    using type = decltype(get< N >(std::declval< ::nlohmann::detail::iteration_proxy_value< IteratorType > >()))
     
    +

    Detailed Description

    +

    template<std::size_t N, typename IteratorType>
    +class std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >

    + + +

    Definition at line 4454 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ type

    + +
    +
    +
    +template<std::size_t N, typename IteratorType >
    + + + + +
    using std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >::type = decltype( get<N>(std::declval < ::nlohmann::detail::iteration_proxy_value<IteratorType > > ()))
    +
    + +

    Definition at line 4459 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.js b/docs/dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.js new file mode 100644 index 00000000..239f651d --- /dev/null +++ b/docs/dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.js @@ -0,0 +1,4 @@ +var classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4 = +[ + [ "type", "dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html#ace1dfdb74841c2f58c064a50598188fd", null ] +]; \ No newline at end of file diff --git a/docs/dc/dac/structnlohmann_1_1detail_1_1has__from__json.html b/docs/dc/dac/structnlohmann_1_1detail_1_1has__from__json.html new file mode 100644 index 00000000..53aa78e8 --- /dev/null +++ b/docs/dc/dac/structnlohmann_1_1detail_1_1has__from__json.html @@ -0,0 +1,124 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::has_from_json< BasicJsonType, T, typename > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::has_from_json< BasicJsonType, T, typename > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::has_from_json< BasicJsonType, T, typename >:
    +
    +
    Inheritance graph
    + + +
    +
    +Collaboration diagram for nlohmann::detail::has_from_json< BasicJsonType, T, typename >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename T, typename = void>
    +struct nlohmann::detail::has_from_json< BasicJsonType, T, typename >

    + + +

    Definition at line 3491 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dc/db0/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Constru1838e6fa13bf2fef45867aecca06d730.map b/docs/dc/db0/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Constru1838e6fa13bf2fef45867aecca06d730.map new file mode 100644 index 00000000..b7c30261 --- /dev/null +++ b/docs/dc/db0/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Constru1838e6fa13bf2fef45867aecca06d730.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dc/db0/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Constru1838e6fa13bf2fef45867aecca06d730.md5 b/docs/dc/db0/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Constru1838e6fa13bf2fef45867aecca06d730.md5 new file mode 100644 index 00000000..2535ef96 --- /dev/null +++ b/docs/dc/db0/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Constru1838e6fa13bf2fef45867aecca06d730.md5 @@ -0,0 +1 @@ +c6cf1bf50ea5b41184a84ed7627c61ac \ No newline at end of file diff --git a/docs/dc/db0/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Constru1838e6fa13bf2fef45867aecca06d730.png b/docs/dc/db0/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Constru1838e6fa13bf2fef45867aecca06d730.png new file mode 100644 index 00000000..8a84b974 Binary files /dev/null and b/docs/dc/db0/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Constru1838e6fa13bf2fef45867aecca06d730.png differ diff --git a/docs/dc/db6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte0b8daab934864a4f3645f2479aee32fb.html b/docs/dc/db6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte0b8daab934864a4f3645f2479aee32fb.html new file mode 100644 index 00000000..8fad6f68 --- /dev/null +++ b/docs/dc/db6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte0b8daab934864a4f3645f2479aee32fb.html @@ -0,0 +1,103 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + + + + + + diff --git a/docs/dc/dc3/structnlohmann_1_1detail_1_1is__sax.html b/docs/dc/dc3/structnlohmann_1_1detail_1_1is__sax.html new file mode 100644 index 00000000..691dc048 --- /dev/null +++ b/docs/dc/dc3/structnlohmann_1_1detail_1_1is__sax.html @@ -0,0 +1,326 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_sax< SAX, BasicJsonType > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::is_sax< SAX, BasicJsonType > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::is_sax< SAX, BasicJsonType >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Static Public Attributes

    static constexpr bool value
     
    + + + + + + + + + + + + + +

    +Private Types

    using number_integer_t = typename BasicJsonType::number_integer_t
     
    using number_unsigned_t = typename BasicJsonType::number_unsigned_t
     
    using number_float_t = typename BasicJsonType::number_float_t
     
    using string_t = typename BasicJsonType::string_t
     
    using binary_t = typename BasicJsonType::binary_t
     
    using exception_t = typename BasicJsonType::exception
     
    +

    Detailed Description

    +

    template<typename SAX, typename BasicJsonType>
    +struct nlohmann::detail::is_sax< SAX, BasicJsonType >

    + + +

    Definition at line 8117 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ binary_t

    + +
    +
    +
    +template<typename SAX , typename BasicJsonType >
    + + + + + +
    + + + + +
    using nlohmann::detail::is_sax< SAX, BasicJsonType >::binary_t = typename BasicJsonType::binary_t
    +
    +private
    +
    + +

    Definition at line 8127 of file json.hpp.

    + +
    +
    + +

    ◆ exception_t

    + +
    +
    +
    +template<typename SAX , typename BasicJsonType >
    + + + + + +
    + + + + +
    using nlohmann::detail::is_sax< SAX, BasicJsonType >::exception_t = typename BasicJsonType::exception
    +
    +private
    +
    + +

    Definition at line 8128 of file json.hpp.

    + +
    +
    + +

    ◆ number_float_t

    + +
    +
    +
    +template<typename SAX , typename BasicJsonType >
    + + + + + +
    + + + + +
    using nlohmann::detail::is_sax< SAX, BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t
    +
    +private
    +
    + +

    Definition at line 8125 of file json.hpp.

    + +
    +
    + +

    ◆ number_integer_t

    + +
    +
    +
    +template<typename SAX , typename BasicJsonType >
    + + + + + +
    + + + + +
    using nlohmann::detail::is_sax< SAX, BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t
    +
    +private
    +
    + +

    Definition at line 8123 of file json.hpp.

    + +
    +
    + +

    ◆ number_unsigned_t

    + +
    +
    +
    +template<typename SAX , typename BasicJsonType >
    + + + + + +
    + + + + +
    using nlohmann::detail::is_sax< SAX, BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
    +
    +private
    +
    + +

    Definition at line 8124 of file json.hpp.

    + +
    +
    + +

    ◆ string_t

    + +
    +
    +
    +template<typename SAX , typename BasicJsonType >
    + + + + + +
    + + + + +
    using nlohmann::detail::is_sax< SAX, BasicJsonType >::string_t = typename BasicJsonType::string_t
    +
    +private
    +
    + +

    Definition at line 8126 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ value

    + + +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dc/dc3/structnlohmann_1_1detail_1_1is__sax.js b/docs/dc/dc3/structnlohmann_1_1detail_1_1is__sax.js new file mode 100644 index 00000000..43581369 --- /dev/null +++ b/docs/dc/dc3/structnlohmann_1_1detail_1_1is__sax.js @@ -0,0 +1,10 @@ +var structnlohmann_1_1detail_1_1is__sax = +[ + [ "binary_t", "dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#ae6abc30644e683c20f8c2c4d63834fb8", null ], + [ "exception_t", "dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#a6efa516f35d544cc8ce9a954f849fed1", null ], + [ "number_float_t", "dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#a58d3205c8d3c7a01cc330374fa7976c5", null ], + [ "number_integer_t", "dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#aa9a29390ca9810cee149510f586f5573", null ], + [ "number_unsigned_t", "dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#a655c9b8038e51e5b9211e2419118644d", null ], + [ "string_t", "dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#ad8e2e1427ff43536370b6db6ab83ae50", null ], + [ "value", "dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#a8ab7e51087000e948b4a2492257484dc", null ] +]; \ No newline at end of file diff --git a/docs/dc/dc7/structnlohmann_1_1adl__serializer.html b/docs/dc/dc7/structnlohmann_1_1adl__serializer.html new file mode 100644 index 00000000..8d1dd9e9 --- /dev/null +++ b/docs/dc/dc7/structnlohmann_1_1adl__serializer.html @@ -0,0 +1,298 @@ + + + + + + + +CUDNN Frontend API: nlohmann::adl_serializer< ValueType, typename > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::adl_serializer< ValueType, typename > Struct Template Reference
    +
    +
    + +

    default JSONSerializer template argument + More...

    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::adl_serializer< ValueType, typename >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType , typename TargetType = ValueType>
    static auto from_json (BasicJsonType &&j, TargetType &val) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), val))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), val), void())
     convert a JSON value to any value type More...
     
    template<typename BasicJsonType , typename TargetType = ValueType>
    static auto from_json (BasicJsonType &&j) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), detail::identity_tag< TargetType > {}))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), detail::identity_tag< TargetType >
     convert a JSON value to any value type More...
     
    template<typename BasicJsonType , typename TargetType = ValueType>
    static auto to_json (BasicJsonType &j, TargetType &&val) noexcept(noexcept(::nlohmann::to_json(j, std::forward< TargetType >(val)))) -> decltype(::nlohmann::to_json(j, std::forward< TargetType >(val)), void())
     convert any value type to a JSON value More...
     
    +

    Detailed Description

    +

    template<typename ValueType, typename>
    +struct nlohmann::adl_serializer< ValueType, typename >

    + +

    default JSONSerializer template argument

    +

    This serializer ignores the template arguments and uses ADL (argument-dependent lookup) for serialization.

    + +

    Definition at line 3353 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ from_json() [1/2]

    + +
    +
    +
    +template<typename ValueType , typename >
    +
    +template<typename BasicJsonType , typename TargetType = ValueType>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static auto nlohmann::adl_serializer< ValueType, typename >::from_json (BasicJsonType && j,
    TargetType & val 
    ) -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j), val), void()) +
    +
    +inlinestaticnoexcept
    +
    + +

    convert a JSON value to any value type

    +

    This function is usually called by the get() function of the basic_json class (either explicit or via conversion operators).

    +
    Note
    This function is chosen for default-constructible value types.
    +
    Parameters
    + + + +
    [in]jJSON value to read from
    [in,out]valvalue to write to
    +
    +
    + +

    Definition at line 4863 of file json.hpp.

    + +

    References nlohmann::detail::from_json().

    + +
    +
    + +

    ◆ from_json() [2/2]

    + +
    +
    +
    +template<typename ValueType , typename >
    +
    +template<typename BasicJsonType , typename TargetType = ValueType>
    + + + + + +
    + + + + + + + + +
    static auto nlohmann::adl_serializer< ValueType, typename >::from_json (BasicJsonType && j) -> decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j), detail::identity_tag<TargetType>
    +
    +inlinestaticnoexcept
    +
    + +

    convert a JSON value to any value type

    +

    This function is usually called by the get() function of the basic_json class (either explicit or via conversion operators).

    +
    Note
    This function is chosen for value types which are not default-constructible.
    +
    Parameters
    + + +
    [in]jJSON value to read from
    +
    +
    +
    Returns
    copy of the JSON value, converted to ValueType
    + +

    Definition at line 4883 of file json.hpp.

    + +

    References nlohmann::detail::from_json().

    + +
    +
    + +

    ◆ to_json()

    + +
    +
    +
    +template<typename ValueType , typename >
    +
    +template<typename BasicJsonType , typename TargetType = ValueType>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static auto nlohmann::adl_serializer< ValueType, typename >::to_json (BasicJsonType & j,
    TargetType && val 
    ) -> decltype(::nlohmann::to_json(j, std::forward<TargetType>(val)), void()) +
    +
    +inlinestaticnoexcept
    +
    + +

    convert any value type to a JSON value

    +

    This function is usually called by the constructors of the basic_json class.

    +
    Parameters
    + + + +
    [in,out]jJSON value to write to
    [in]valvalue to read from
    +
    +
    + +

    Definition at line 4900 of file json.hpp.

    + +

    References nlohmann::detail::to_json().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dc/dc7/structnlohmann_1_1adl__serializer.js b/docs/dc/dc7/structnlohmann_1_1adl__serializer.js new file mode 100644 index 00000000..b7a543d4 --- /dev/null +++ b/docs/dc/dc7/structnlohmann_1_1adl__serializer.js @@ -0,0 +1,6 @@ +var structnlohmann_1_1adl__serializer = +[ + [ "from_json", "dc/dc7/structnlohmann_1_1adl__serializer.html#a8180f52bf21fc610705bc521f22116ae", null ], + [ "from_json", "dc/dc7/structnlohmann_1_1adl__serializer.html#a95eddeff6ff0dd0b6b11c4c7a526716d", null ], + [ "to_json", "dc/dc7/structnlohmann_1_1adl__serializer.html#afdcc8f0204ce8ac7d28a5403f6e1f0e7", null ] +]; \ No newline at end of file diff --git a/docs/dc/dc7/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible08f2b97ced9133b6c9efddf038a31cca.html b/docs/dc/dc7/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible08f2b97ced9133b6c9efddf038a31cca.html new file mode 100644 index 00000000..4a4c06ca --- /dev/null +++ b/docs/dc/dc7/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible08f2b97ced9133b6c9efddf038a31cca.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > > Member List
    +
    + +
    + + + + diff --git a/docs/dc/dce/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.map b/docs/dc/dce/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.map new file mode 100644 index 00000000..d8827954 --- /dev/null +++ b/docs/dc/dce/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dc/dce/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.md5 b/docs/dc/dce/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.md5 new file mode 100644 index 00000000..3919ee88 --- /dev/null +++ b/docs/dc/dce/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.md5 @@ -0,0 +1 @@ +c29b1e920bbbfef24a5d10544f39cc58 \ No newline at end of file diff --git a/docs/dc/dce/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.png b/docs/dc/dce/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.png new file mode 100644 index 00000000..02d89ada Binary files /dev/null and b/docs/dc/dce/classnlohmann_1_1detail_1_1json__reverse__iterator__coll__graph.png differ diff --git a/docs/dc/dce/structnlohmann_1_1detail_1_1is__sax__static__asserts__coll__graph.map b/docs/dc/dce/structnlohmann_1_1detail_1_1is__sax__static__asserts__coll__graph.map new file mode 100644 index 00000000..490fbcd6 --- /dev/null +++ b/docs/dc/dce/structnlohmann_1_1detail_1_1is__sax__static__asserts__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dc/dce/structnlohmann_1_1detail_1_1is__sax__static__asserts__coll__graph.md5 b/docs/dc/dce/structnlohmann_1_1detail_1_1is__sax__static__asserts__coll__graph.md5 new file mode 100644 index 00000000..a933ba7e --- /dev/null +++ b/docs/dc/dce/structnlohmann_1_1detail_1_1is__sax__static__asserts__coll__graph.md5 @@ -0,0 +1 @@ +dc8d019956866d5cc2d775e1aeedcede \ No newline at end of file diff --git a/docs/dc/dce/structnlohmann_1_1detail_1_1is__sax__static__asserts__coll__graph.png b/docs/dc/dce/structnlohmann_1_1detail_1_1is__sax__static__asserts__coll__graph.png new file mode 100644 index 00000000..7cf00121 Binary files /dev/null and b/docs/dc/dce/structnlohmann_1_1detail_1_1is__sax__static__asserts__coll__graph.png differ diff --git a/docs/dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html b/docs/dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html new file mode 100644 index 00000000..1b5f6826 --- /dev/null +++ b/docs/dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html @@ -0,0 +1,170 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::external_constructor< value_t::number_integer > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::external_constructor< value_t::number_integer > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::external_constructor< value_t::number_integer >:
    +
    +
    Collaboration graph
    + + +
    + + + + + +

    +Static Public Member Functions

    template<typename BasicJsonType >
    static void construct (BasicJsonType &j, typename BasicJsonType::number_integer_t val) noexcept
     
    +

    Detailed Description

    +

    template<>
    +struct nlohmann::detail::external_constructor< value_t::number_integer >

    + + +

    Definition at line 4570 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ construct()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::external_constructor< value_t::number_integer >::construct (BasicJsonType & j,
    typename BasicJsonType::number_integer_t val 
    )
    +
    +inlinestaticnoexcept
    +
    + +

    Definition at line 4573 of file json.hpp.

    + +

    References nlohmann::detail::number_integer.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.js b/docs/dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.js new file mode 100644 index 00000000..b385857e --- /dev/null +++ b/docs/dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4 = +[ + [ "construct", "dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html#a7c3949672ddb45095cc2527635feef0b", null ] +]; \ No newline at end of file diff --git a/docs/dc/dd7/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html b/docs/dc/dd7/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html new file mode 100644 index 00000000..782bbe4f --- /dev/null +++ b/docs/dc/dd7/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html @@ -0,0 +1,129 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_default_constructible< const std::tuple< Ts... > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_default_constructible< const std::tuple< Ts... > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_default_constructible< const std::tuple< Ts... > >:
    +
    +
    Inheritance graph
    + + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_default_constructible< const std::tuple< Ts... > >:
    +
    +
    Collaboration graph
    + + + + +
    +

    Detailed Description

    +

    template<typename... Ts>
    +struct nlohmann::detail::is_default_constructible< const std::tuple< Ts... > >

    + + +

    Definition at line 3574 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dc/dd8/structnlohmann_1_1detail_1_1internal__iterator-members.html b/docs/dc/dd8/structnlohmann_1_1detail_1_1internal__iterator-members.html new file mode 100644 index 00000000..501cefda --- /dev/null +++ b/docs/dc/dd8/structnlohmann_1_1detail_1_1internal__iterator-members.html @@ -0,0 +1,104 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::internal_iterator< BasicJsonType > Member List
    +
    + +
    + + + + diff --git a/docs/dc/df0/namespacenlohmann_1_1detail.html b/docs/dc/df0/namespacenlohmann_1_1detail.html new file mode 100644 index 00000000..e628f8ce --- /dev/null +++ b/docs/dc/df0/namespacenlohmann_1_1detail.html @@ -0,0 +1,4050 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail Namespace Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail Namespace Reference
    +
    +
    + +

    detail namespace with internal helper functions +More...

    + + + + + + + + + +

    +Namespaces

     container_input_adapter_factory_impl
     
     dtoa_impl
     implements the Grisu2 algorithm for binary to decimal floating-point conversion.
     
     utility_internal
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Classes

    class  binary_reader
     deserialization of CBOR, MessagePack, and UBJSON values More...
     
    class  binary_writer
     serialization to CBOR and MessagePack values More...
     
    struct  conjunction
     
    struct  conjunction< B1 >
     
    struct  conjunction< B1, Bn... >
     
    struct  detector
     
    struct  detector< Default, void_t< Op< Args... > >, Op, Args... >
     
    class  exception
     general exception of the basic_json class More...
     
    struct  external_constructor
     
    struct  external_constructor< value_t::array >
     
    struct  external_constructor< value_t::binary >
     
    struct  external_constructor< value_t::boolean >
     
    struct  external_constructor< value_t::number_float >
     
    struct  external_constructor< value_t::number_integer >
     
    struct  external_constructor< value_t::number_unsigned >
     
    struct  external_constructor< value_t::object >
     
    struct  external_constructor< value_t::string >
     
    class  file_input_adapter
     
    struct  from_json_fn
     
    struct  has_from_json
     
    struct  has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
     
    struct  has_non_default_from_json
     
    struct  has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
     
    struct  has_to_json
     
    struct  has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
     
    struct  identity_tag
     
    class  input_stream_adapter
     
    struct  integer_sequence
     
    struct  internal_iterator
     an iterator value More...
     
    class  invalid_iterator
     exception indicating errors with iterators More...
     
    struct  is_basic_json
     
    struct  is_basic_json< NLOHMANN_BASIC_JSON_TPL >
     
    struct  is_compatible_array_type
     
    struct  is_compatible_array_type_impl
     
    struct  is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >
     
    struct  is_compatible_integer_type
     
    struct  is_compatible_integer_type_impl
     
    struct  is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >
     
    struct  is_compatible_object_type
     
    struct  is_compatible_object_type_impl
     
    struct  is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >
     
    struct  is_compatible_string_type
     
    struct  is_compatible_string_type_impl
     
    struct  is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >
     
    struct  is_compatible_type
     
    struct  is_compatible_type_impl
     
    struct  is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >
     
    struct  is_complete_type
     
    struct  is_complete_type< T, decltype(void(sizeof(T)))>
     
    struct  is_constructible
     
    struct  is_constructible< const std::pair< T1, T2 > >
     
    struct  is_constructible< const std::tuple< Ts... > >
     
    struct  is_constructible< std::pair< T1, T2 > >
     
    struct  is_constructible< std::tuple< Ts... > >
     
    struct  is_constructible_array_type
     
    struct  is_constructible_array_type_impl
     
    struct  is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >
     
    struct  is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >
     
    struct  is_constructible_object_type
     
    struct  is_constructible_object_type_impl
     
    struct  is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >
     
    struct  is_constructible_string_type
     
    struct  is_constructible_string_type_impl
     
    struct  is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >
     
    struct  is_constructible_tuple
     
    struct  is_constructible_tuple< T1, std::tuple< Args... > >
     
    struct  is_default_constructible
     
    struct  is_default_constructible< const std::pair< T1, T2 > >
     
    struct  is_default_constructible< const std::tuple< Ts... > >
     
    struct  is_default_constructible< std::pair< T1, T2 > >
     
    struct  is_default_constructible< std::tuple< Ts... > >
     
    struct  is_getable
     
    struct  is_iterator_of_multibyte
     
    struct  is_iterator_traits
     
    struct  is_iterator_traits< iterator_traits< T > >
     
    struct  is_json_ref
     
    struct  is_json_ref< json_ref< T > >
     
    struct  is_sax
     
    struct  is_sax_static_asserts
     
    class  iter_impl
     a template for a bidirectional iterator for the basic_json class This class implements a both iterators (iterator and const_iterator) for the basic_json class. More...
     
    class  iteration_proxy
     proxy class for the items() function More...
     
    class  iteration_proxy_value
     
    class  iterator_input_adapter
     
    struct  iterator_input_adapter_factory
     
    struct  iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >
     
    struct  iterator_traits
     
    struct  iterator_traits< T *, enable_if_t< std::is_object< T >::value > >
     
    struct  iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >
     
    struct  iterator_types
     
    struct  iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
     
    class  json_ref
     
    class  json_reverse_iterator
     a template for a reverse iterator class More...
     
    class  json_sax_acceptor
     
    class  json_sax_dom_callback_parser
     
    class  json_sax_dom_parser
     SAX implementation to create a JSON value from SAX events. More...
     
    class  lexer
     lexical analysis More...
     
    class  lexer_base
     
    struct  make_void
     
    struct  nonesuch
     
    class  other_error
     exception indicating other library errors More...
     
    class  out_of_range
     exception indicating access out of the defined range More...
     
    class  output_adapter
     
    struct  output_adapter_protocol
     abstract output adapter interface More...
     
    class  output_stream_adapter
     output adapter for output streams More...
     
    class  output_string_adapter
     output adapter for basic_string More...
     
    class  output_vector_adapter
     output adapter for byte vectors More...
     
    class  parse_error
     exception indicating a parse error More...
     
    class  parser
     syntax analysis More...
     
    struct  position_t
     struct to capture the start position of the current token More...
     
    class  primitive_iterator_t
     
    struct  priority_tag
     
    struct  priority_tag< 0 >
     
    class  serializer
     
    class  span_input_adapter
     
    struct  static_const
     
    struct  to_json_fn
     
    class  type_error
     exception indicating executing a member function with a wrong type More...
     
    class  wide_string_input_adapter
     
    struct  wide_string_input_helper
     
    struct  wide_string_input_helper< BaseInputAdapter, 2 >
     
    struct  wide_string_input_helper< BaseInputAdapter, 4 >
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Typedefs

    template<typename T >
    using uncvref_t = typename std::remove_cv< typename std::remove_reference< T >::type >::type
     
    template<bool B, typename T = void>
    using enable_if_t = typename std::enable_if< B, T >::type
     
    template<size_t... Ints>
    using index_sequence = integer_sequence< size_t, Ints... >
     
    template<typename T , T N>
    using make_integer_sequence = typename utility_internal::Gen< T, N >::type
     
    template<size_t N>
    using make_index_sequence = make_integer_sequence< size_t, N >
     
    template<typename... Ts>
    using index_sequence_for = make_index_sequence< sizeof...(Ts)>
     
    template<typename ... Ts>
    using void_t = typename make_void< Ts... >::type
     
    template<template< class... > class Op, class... Args>
    using is_detected = typename detector< nonesuch, void, Op, Args... >::value_t
     
    template<template< class... > class Op, class... Args>
    using detected_t = typename detector< nonesuch, void, Op, Args... >::type
     
    template<class Default , template< class... > class Op, class... Args>
    using detected_or = detector< Default, void, Op, Args... >
     
    template<class Default , template< class... > class Op, class... Args>
    using detected_or_t = typename detected_or< Default, Op, Args... >::type
     
    template<class Expected , template< class... > class Op, class... Args>
    using is_detected_exact = std::is_same< Expected, detected_t< Op, Args... > >
     
    template<class To , template< class... > class Op, class... Args>
    using is_detected_convertible = std::is_convertible< detected_t< Op, Args... >, To >
     
    template<typename T >
    using mapped_type_t = typename T::mapped_type
     
    template<typename T >
    using key_type_t = typename T::key_type
     
    template<typename T >
    using value_type_t = typename T::value_type
     
    template<typename T >
    using difference_type_t = typename T::difference_type
     
    template<typename T >
    using pointer_t = typename T::pointer
     
    template<typename T >
    using reference_t = typename T::reference
     
    template<typename T >
    using iterator_category_t = typename T::iterator_category
     
    template<typename T >
    using iterator_t = typename T::iterator
     
    template<typename T , typename... Args>
    using to_json_function = decltype(T::to_json(std::declval< Args >()...))
     
    template<typename T , typename... Args>
    using from_json_function = decltype(T::from_json(std::declval< Args >()...))
     
    template<typename T , typename U >
    using get_template_function = decltype(std::declval< T >().template get< U >())
     
    using contiguous_bytes_input_adapter = decltype(input_adapter(std::declval< const char * >(), std::declval< const char * >()))
     
    template<typename T >
    using null_function_t = decltype(std::declval< T & >().null())
     
    template<typename T >
    using boolean_function_t = decltype(std::declval< T & >().boolean(std::declval< bool >()))
     
    template<typename T , typename Integer >
    using number_integer_function_t = decltype(std::declval< T & >().number_integer(std::declval< Integer >()))
     
    template<typename T , typename Unsigned >
    using number_unsigned_function_t = decltype(std::declval< T & >().number_unsigned(std::declval< Unsigned >()))
     
    template<typename T , typename Float , typename String >
    using number_float_function_t = decltype(std::declval< T & >().number_float(std::declval< Float >(), std::declval< const String & >()))
     
    template<typename T , typename String >
    using string_function_t = decltype(std::declval< T & >().string(std::declval< String & >()))
     
    template<typename T , typename Binary >
    using binary_function_t = decltype(std::declval< T & >().binary(std::declval< Binary & >()))
     
    template<typename T >
    using start_object_function_t = decltype(std::declval< T & >().start_object(std::declval< std::size_t >()))
     
    template<typename T , typename String >
    using key_function_t = decltype(std::declval< T & >().key(std::declval< String & >()))
     
    template<typename T >
    using end_object_function_t = decltype(std::declval< T & >().end_object())
     
    template<typename T >
    using start_array_function_t = decltype(std::declval< T & >().start_array(std::declval< std::size_t >()))
     
    template<typename T >
    using end_array_function_t = decltype(std::declval< T & >().end_array())
     
    template<typename T , typename Exception >
    using parse_error_function_t = decltype(std::declval< T & >().parse_error(std::declval< std::size_t >(), std::declval< const std::string & >(), std::declval< const Exception & >()))
     
    template<typename BasicJsonType >
    using parser_callback_t = std::function< bool(int, parse_event_t, BasicJsonType &)>
     
    template<typename CharType >
    using output_adapter_t = std::shared_ptr< output_adapter_protocol< CharType > >
     a type to simplify interfaces More...
     
    + + + + + + + + + + + + + + + +

    +Enumerations

    enum  value_t : std::uint8_t {
    +  value_t::null, +
    +  value_t::object, +
    +  value_t::array, +
    +  value_t::string, +
    +  value_t::boolean, +
    +  value_t::number_integer, +
    +  value_t::number_unsigned, +
    +  value_t::number_float, +
    +  value_t::binary, +
    +  value_t::discarded +
    + }
     the JSON type enumeration More...
     
    enum  input_format_t {
    +  input_format_t::json, +
    +  input_format_t::cbor, +
    +  input_format_t::msgpack, +
    +  input_format_t::ubjson, +
    +  input_format_t::bson +
    + }
     the supported input formats More...
     
    enum  cbor_tag_handler_t {
    +  cbor_tag_handler_t::error, +
    +  cbor_tag_handler_t::ignore +
    + }
     how to treat CBOR tags More...
     
    enum  parse_event_t : uint8_t {
    +  parse_event_t::object_start, +
    +  parse_event_t::object_end, +
    +  parse_event_t::array_start, +
    +  parse_event_t::array_end, +
    +  parse_event_t::key, +
    +  parse_event_t::value +
    + }
     
    enum  error_handler_t {
    +  error_handler_t::strict, +
    +  error_handler_t::replace, +
    +  error_handler_t::ignore +
    + }
     how to treat decoding errors More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    bool operator< (const value_t lhs, const value_t rhs) noexcept
     comparison operator for JSON types More...
     
    void replace_substring (std::string &s, const std::string &f, const std::string &t)
     replace all occurrences of a substring by another string More...
     
    std::string escape (std::string s)
     string escaping as described in RFC 6901 (Sect. 4) More...
     
    static void unescape (std::string &s)
     string unescaping as described in RFC 6901 (Sect. 4) More...
     
    template<typename BasicJsonType >
    void from_json (const BasicJsonType &j, typename std::nullptr_t &n)
     
    template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
    void get_arithmetic_value (const BasicJsonType &j, ArithmeticType &val)
     
    template<typename BasicJsonType >
    void from_json (const BasicJsonType &j, typename BasicJsonType::boolean_t &b)
     
    template<typename BasicJsonType >
    void from_json (const BasicJsonType &j, typename BasicJsonType::string_t &s)
     
    template<typename BasicJsonType , typename ConstructibleStringType , enable_if_t< is_constructible_string_type< BasicJsonType, ConstructibleStringType >::value &&!std::is_same< typename BasicJsonType::string_t, ConstructibleStringType >::value, int > = 0>
    void from_json (const BasicJsonType &j, ConstructibleStringType &s)
     
    template<typename BasicJsonType >
    void from_json (const BasicJsonType &j, typename BasicJsonType::number_float_t &val)
     
    template<typename BasicJsonType >
    void from_json (const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val)
     
    template<typename BasicJsonType >
    void from_json (const BasicJsonType &j, typename BasicJsonType::number_integer_t &val)
     
    template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
    void from_json (const BasicJsonType &j, EnumType &e)
     
    template<typename BasicJsonType , typename T , typename Allocator , enable_if_t< is_getable< BasicJsonType, T >::value, int > = 0>
    void from_json (const BasicJsonType &j, std::forward_list< T, Allocator > &l)
     
    template<typename BasicJsonType , typename T , enable_if_t< is_getable< BasicJsonType, T >::value, int > = 0>
    void from_json (const BasicJsonType &j, std::valarray< T > &l)
     
    template<typename BasicJsonType , typename T , std::size_t N>
    auto from_json (const BasicJsonType &j, T(&arr)[N]) -> decltype(j.template get< T >(), void())
     
    template<typename BasicJsonType >
    void from_json_array_impl (const BasicJsonType &j, typename BasicJsonType::array_t &arr, priority_tag< 3 >)
     
    template<typename BasicJsonType , typename T , std::size_t N>
    auto from_json_array_impl (const BasicJsonType &j, std::array< T, N > &arr, priority_tag< 2 >) -> decltype(j.template get< T >(), void())
     
    template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< std::is_assignable< ConstructibleArrayType &, ConstructibleArrayType >::value, int > = 0>
    auto from_json_array_impl (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename ConstructibleArrayType::size_type >()), j.template get< typename ConstructibleArrayType::value_type >(), void())
     
    template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< std::is_assignable< ConstructibleArrayType &, ConstructibleArrayType >::value, int > = 0>
    void from_json_array_impl (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 0 >)
     
    template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< is_constructible_array_type< BasicJsonType, ConstructibleArrayType >::value &&!is_constructible_object_type< BasicJsonType, ConstructibleArrayType >::value &&!is_constructible_string_type< BasicJsonType, ConstructibleArrayType >::value &&!std::is_same< ConstructibleArrayType, typename BasicJsonType::binary_t >::value &&!is_basic_json< ConstructibleArrayType >::value, int > = 0>
    auto from_json (const BasicJsonType &j, ConstructibleArrayType &arr) -> decltype(from_json_array_impl(j, arr, priority_tag< 3 >
     
    j template get< typename ConstructibleArrayType::value_type > ()
     
    j template void ())
     
    template<typename BasicJsonType , typename T , std::size_t... Idx>
    std::array< T, sizeof...(Idx)> from_json_inplace_array_impl (BasicJsonType &&j, identity_tag< std::array< T, sizeof...(Idx)>>, index_sequence< Idx... >)
     
    template<typename BasicJsonType , typename T , std::size_t N>
    auto from_json (BasicJsonType &&j, identity_tag< std::array< T, N >> tag) -> decltype(from_json_inplace_array_impl(std::forward< BasicJsonType >(j), tag, make_index_sequence< N >
     
    template<typename BasicJsonType >
    void from_json (const BasicJsonType &j, typename BasicJsonType::binary_t &bin)
     
    template<typename BasicJsonType , typename ConstructibleObjectType , enable_if_t< is_constructible_object_type< BasicJsonType, ConstructibleObjectType >::value, int > = 0>
    void from_json (const BasicJsonType &j, ConstructibleObjectType &obj)
     
    template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_unsigned_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_integer_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_float_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
    void from_json (const BasicJsonType &j, ArithmeticType &val)
     
    template<typename BasicJsonType , typename... Args, std::size_t... Idx>
    std::tuple< Args... > from_json_tuple_impl_base (BasicJsonType &&j, index_sequence< Idx... >)
     
    template<typename BasicJsonType , class A1 , class A2 >
    std::pair< A1, A2 > from_json_tuple_impl (BasicJsonType &&j, identity_tag< std::pair< A1, A2 >>, priority_tag< 0 >)
     
    template<typename BasicJsonType , typename A1 , typename A2 >
    void from_json_tuple_impl (BasicJsonType &&j, std::pair< A1, A2 > &p, priority_tag< 1 >)
     
    template<typename BasicJsonType , typename... Args>
    std::tuple< Args... > from_json_tuple_impl (BasicJsonType &&j, identity_tag< std::tuple< Args... >>, priority_tag< 2 >)
     
    template<typename BasicJsonType , typename... Args>
    void from_json_tuple_impl (BasicJsonType &&j, std::tuple< Args... > &t, priority_tag< 3 >)
     
    template<typename BasicJsonType , typename TupleRelated >
    auto from_json (BasicJsonType &&j, TupleRelated &&t) -> decltype(from_json_tuple_impl(std::forward< BasicJsonType >(j), std::forward< TupleRelated >(t), priority_tag< 3 >
     
    template<typename BasicJsonType , typename Key , typename Value , typename Compare , typename Allocator , typename = enable_if_t < !std::is_constructible < typename BasicJsonType::string_t, Key >::value >>
    void from_json (const BasicJsonType &j, std::map< Key, Value, Compare, Allocator > &m)
     
    template<typename BasicJsonType , typename Key , typename Value , typename Hash , typename KeyEqual , typename Allocator , typename = enable_if_t < !std::is_constructible < typename BasicJsonType::string_t, Key >::value >>
    void from_json (const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m)
     
    template<typename string_type >
    void int_to_string (string_type &target, std::size_t value)
     
    template<std::size_t N, typename IteratorType , enable_if_t< N==0, int > = 0>
    auto get (const nlohmann::detail::iteration_proxy_value< IteratorType > &i) -> decltype(i.key())
     
    template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, typename BasicJsonType::boolean_t >::value, int > = 0>
    void to_json (BasicJsonType &j, T b) noexcept
     
    template<typename BasicJsonType , typename CompatibleString , enable_if_t< std::is_constructible< typename BasicJsonType::string_t, CompatibleString >::value, int > = 0>
    void to_json (BasicJsonType &j, const CompatibleString &s)
     
    template<typename BasicJsonType >
    void to_json (BasicJsonType &j, typename BasicJsonType::string_t &&s)
     
    template<typename BasicJsonType , typename FloatType , enable_if_t< std::is_floating_point< FloatType >::value, int > = 0>
    void to_json (BasicJsonType &j, FloatType val) noexcept
     
    template<typename BasicJsonType , typename CompatibleNumberUnsignedType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType >::value, int > = 0>
    void to_json (BasicJsonType &j, CompatibleNumberUnsignedType val) noexcept
     
    template<typename BasicJsonType , typename CompatibleNumberIntegerType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType >::value, int > = 0>
    void to_json (BasicJsonType &j, CompatibleNumberIntegerType val) noexcept
     
    template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
    void to_json (BasicJsonType &j, EnumType e) noexcept
     
    template<typename BasicJsonType >
    void to_json (BasicJsonType &j, const std::vector< bool > &e)
     
    template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value &&!is_compatible_object_type< BasicJsonType, CompatibleArrayType >::value &&!is_compatible_string_type< BasicJsonType, CompatibleArrayType >::value &&!std::is_same< typename BasicJsonType::binary_t, CompatibleArrayType >::value &&!is_basic_json< CompatibleArrayType >::value, int > = 0>
    void to_json (BasicJsonType &j, const CompatibleArrayType &arr)
     
    template<typename BasicJsonType >
    void to_json (BasicJsonType &j, const typename BasicJsonType::binary_t &bin)
     
    template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0>
    void to_json (BasicJsonType &j, const std::valarray< T > &arr)
     
    template<typename BasicJsonType >
    void to_json (BasicJsonType &j, typename BasicJsonType::array_t &&arr)
     
    template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value &&!is_basic_json< CompatibleObjectType >::value, int > = 0>
    void to_json (BasicJsonType &j, const CompatibleObjectType &obj)
     
    template<typename BasicJsonType >
    void to_json (BasicJsonType &j, typename BasicJsonType::object_t &&obj)
     
    template<typename BasicJsonType , typename T , std::size_t N, enable_if_t< !std::is_constructible< typename BasicJsonType::string_t, const T(&)[N]>::value, int > = 0>
    void to_json (BasicJsonType &j, const T(&arr)[N])
     
    template<typename BasicJsonType , typename T1 , typename T2 , enable_if_t< std::is_constructible< BasicJsonType, T1 >::value &&std::is_constructible< BasicJsonType, T2 >::value, int > = 0>
    void to_json (BasicJsonType &j, const std::pair< T1, T2 > &p)
     
    template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, iteration_proxy_value< typename BasicJsonType::iterator >>::value, int > = 0>
    void to_json (BasicJsonType &j, const T &b)
     
    template<typename BasicJsonType , typename Tuple , std::size_t... Idx>
    void to_json_tuple_impl (BasicJsonType &j, const Tuple &t, index_sequence< Idx... >)
     
    std::size_t combine (std::size_t seed, std::size_t h) noexcept
     
    template<typename BasicJsonType >
    std::size_t hash (const BasicJsonType &j)
     hash a JSON value More...
     
    template<typename IteratorType >
    iterator_input_adapter_factory< IteratorType >::adapter_type input_adapter (IteratorType first, IteratorType last)
     
    template<typename ContainerType >
    container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType >::adapter_type input_adapter (const ContainerType &container)
     
    file_input_adapter input_adapter (std::FILE *file)
     
    input_stream_adapter input_adapter (std::istream &stream)
     
    input_stream_adapter input_adapter (std::istream &&stream)
     
    template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value &&!std::is_array< CharT >::value &&std::is_integral< typename std::remove_pointer< CharT >::type >::value &&sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
    contiguous_bytes_input_adapter input_adapter (CharT b)
     
    template<typename T , std::size_t N>
    auto input_adapter (T(&array)[N]) -> decltype(input_adapter(array, array+N))
     
    static bool little_endianess (int num=1) noexcept
     determine system byte order More...
     
    template<typename FloatType >
    JSON_HEDLEY_RETURNS_NON_NULL char * to_chars (char *first, const char *last, FloatType value)
     generates a decimal representation of the floating-point number value in [first, last). More...
     
    +

    Detailed Description

    +

    detail namespace with internal helper functions

    +

    This namespace collects functions that should not be exposed, implementations of some basic_json methods, and meta-programming helpers.

    +
    Since
    version 2.1.0
    +

    Typedef Documentation

    + +

    ◆ binary_function_t

    + +
    +
    +
    +template<typename T , typename Binary >
    + + + + +
    using nlohmann::detail::binary_function_t = typedef decltype(std::declval<T&>().binary(std::declval<Binary&>()))
    +
    + +

    Definition at line 8091 of file json.hpp.

    + +
    +
    + +

    ◆ boolean_function_t

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::boolean_function_t = typedef decltype(std::declval<T&>().boolean(std::declval<bool>()))
    +
    + +

    Definition at line 8071 of file json.hpp.

    + +
    +
    + +

    ◆ contiguous_bytes_input_adapter

    + +
    +
    + + + + +
    using nlohmann::detail::contiguous_bytes_input_adapter = typedef decltype(input_adapter(std::declval<const char*>(), std::declval<const char*>()))
    +
    + +

    Definition at line 5649 of file json.hpp.

    + +
    +
    + +

    ◆ detected_or

    + +
    +
    +
    +template<class Default , template< class... > class Op, class... Args>
    + + + + +
    using nlohmann::detail::detected_or = typedef detector<Default, void, Op, Args...>
    +
    + +

    Definition at line 3314 of file json.hpp.

    + +
    +
    + +

    ◆ detected_or_t

    + +
    +
    +
    +template<class Default , template< class... > class Op, class... Args>
    + + + + +
    using nlohmann::detail::detected_or_t = typedef typename detected_or<Default, Op, Args...>::type
    +
    + +

    Definition at line 3317 of file json.hpp.

    + +
    +
    + +

    ◆ detected_t

    + +
    +
    +
    +template<template< class... > class Op, class... Args>
    + + + + +
    using nlohmann::detail::detected_t = typedef typename detector<nonesuch, void, Op, Args...>::type
    +
    + +

    Definition at line 3311 of file json.hpp.

    + +
    +
    + +

    ◆ difference_type_t

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::difference_type_t = typedef typename T::difference_type
    +
    + +

    Definition at line 3466 of file json.hpp.

    + +
    +
    + +

    ◆ enable_if_t

    + +
    +
    +
    +template<bool B, typename T = void>
    + + + + +
    using nlohmann::detail::enable_if_t = typedef typename std::enable_if<B, T>::type
    +
    + +

    Definition at line 3048 of file json.hpp.

    + +
    +
    + +

    ◆ end_array_function_t

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::end_array_function_t = typedef decltype(std::declval<T&>().end_array())
    +
    + +

    Definition at line 8109 of file json.hpp.

    + +
    +
    + +

    ◆ end_object_function_t

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::end_object_function_t = typedef decltype(std::declval<T&>().end_object())
    +
    + +

    Definition at line 8102 of file json.hpp.

    + +
    +
    + +

    ◆ from_json_function

    + +
    +
    +
    +template<typename T , typename... Args>
    + + + + +
    using nlohmann::detail::from_json_function = typedef decltype(T::from_json(std::declval<Args>()...))
    +
    + +

    Definition at line 3484 of file json.hpp.

    + +
    +
    + +

    ◆ get_template_function

    + +
    +
    +
    +template<typename T , typename U >
    + + + + +
    using nlohmann::detail::get_template_function = typedef decltype(std::declval<T>().template get<U>())
    +
    + +

    Definition at line 3487 of file json.hpp.

    + +
    +
    + +

    ◆ index_sequence

    + +
    +
    +
    +template<size_t... Ints>
    + + + + +
    using nlohmann::detail::index_sequence = typedef integer_sequence<size_t, Ints...>
    +
    + +

    Definition at line 3090 of file json.hpp.

    + +
    +
    + +

    ◆ index_sequence_for

    + +
    +
    +
    +template<typename... Ts>
    + + + + +
    using nlohmann::detail::index_sequence_for = typedef make_index_sequence<sizeof...(Ts)>
    +
    + +

    Definition at line 3152 of file json.hpp.

    + +
    +
    + +

    ◆ is_detected

    + +
    +
    +
    +template<template< class... > class Op, class... Args>
    + + + + +
    using nlohmann::detail::is_detected = typedef typename detector<nonesuch, void, Op, Args...>::value_t
    +
    + +

    Definition at line 3308 of file json.hpp.

    + +
    +
    + +

    ◆ is_detected_convertible

    + +
    +
    +
    +template<class To , template< class... > class Op, class... Args>
    + + + + +
    using nlohmann::detail::is_detected_convertible = typedef std::is_convertible<detected_t<Op, Args...>, To>
    +
    + +

    Definition at line 3324 of file json.hpp.

    + +
    +
    + +

    ◆ is_detected_exact

    + +
    +
    +
    +template<class Expected , template< class... > class Op, class... Args>
    + + + + +
    using nlohmann::detail::is_detected_exact = typedef std::is_same<Expected, detected_t<Op, Args...> >
    +
    + +

    Definition at line 3320 of file json.hpp.

    + +
    +
    + +

    ◆ iterator_category_t

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::iterator_category_t = typedef typename T::iterator_category
    +
    + +

    Definition at line 3475 of file json.hpp.

    + +
    +
    + +

    ◆ iterator_t

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::iterator_t = typedef typename T::iterator
    +
    + +

    Definition at line 3478 of file json.hpp.

    + +
    +
    + +

    ◆ key_function_t

    + +
    +
    +
    +template<typename T , typename String >
    + + + + +
    using nlohmann::detail::key_function_t = typedef decltype(std::declval<T&>().key(std::declval<String&>()))
    +
    + +

    Definition at line 8099 of file json.hpp.

    + +
    +
    + +

    ◆ key_type_t

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::key_type_t = typedef typename T::key_type
    +
    + +

    Definition at line 3460 of file json.hpp.

    + +
    +
    + +

    ◆ make_index_sequence

    + +
    +
    +
    +template<size_t N>
    + + + + +
    using nlohmann::detail::make_index_sequence = typedef make_integer_sequence<size_t, N>
    +
    + +

    Definition at line 3144 of file json.hpp.

    + +
    +
    + +

    ◆ make_integer_sequence

    + +
    +
    +
    +template<typename T , T N>
    + + + + +
    using nlohmann::detail::make_integer_sequence = typedef typename utility_internal::Gen<T, N>::type
    +
    + +

    Definition at line 3136 of file json.hpp.

    + +
    +
    + +

    ◆ mapped_type_t

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::mapped_type_t = typedef typename T::mapped_type
    +
    + +

    Definition at line 3457 of file json.hpp.

    + +
    +
    + +

    ◆ null_function_t

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::null_function_t = typedef decltype(std::declval<T&>().null())
    +
    + +

    Definition at line 8067 of file json.hpp.

    + +
    +
    + +

    ◆ number_float_function_t

    + +
    +
    +
    +template<typename T , typename Float , typename String >
    + + + + +
    using nlohmann::detail::number_float_function_t = typedef decltype(std::declval<T&>().number_float( std::declval<Float>(), std::declval<const String&>()))
    +
    + +

    Definition at line 8083 of file json.hpp.

    + +
    +
    + +

    ◆ number_integer_function_t

    + +
    +
    +
    +template<typename T , typename Integer >
    + + + + +
    using nlohmann::detail::number_integer_function_t = typedef decltype(std::declval<T&>().number_integer(std::declval<Integer>()))
    +
    + +

    Definition at line 8075 of file json.hpp.

    + +
    +
    + +

    ◆ number_unsigned_function_t

    + +
    +
    +
    +template<typename T , typename Unsigned >
    + + + + +
    using nlohmann::detail::number_unsigned_function_t = typedef decltype(std::declval<T&>().number_unsigned(std::declval<Unsigned>()))
    +
    + +

    Definition at line 8079 of file json.hpp.

    + +
    +
    + +

    ◆ output_adapter_t

    + +
    +
    +
    +template<typename CharType >
    + + + + +
    using nlohmann::detail::output_adapter_t = typedef std::shared_ptr<output_adapter_protocol<CharType> >
    +
    + +

    a type to simplify interfaces

    + +

    Definition at line 13151 of file json.hpp.

    + +
    +
    + +

    ◆ parse_error_function_t

    + +
    +
    +
    +template<typename T , typename Exception >
    + + + + +
    using nlohmann::detail::parse_error_function_t = typedef decltype(std::declval<T&>().parse_error( std::declval<std::size_t>(), std::declval<const std::string&>(), std::declval<const Exception&>()))
    +
    + +

    Definition at line 8114 of file json.hpp.

    + +
    +
    + +

    ◆ parser_callback_t

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + +
    using nlohmann::detail::parser_callback_t = typedef std::function<bool(int , parse_event_t , BasicJsonType& )>
    +
    + +

    Definition at line 10700 of file json.hpp.

    + +
    +
    + +

    ◆ pointer_t

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::pointer_t = typedef typename T::pointer
    +
    + +

    Definition at line 3469 of file json.hpp.

    + +
    +
    + +

    ◆ reference_t

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::reference_t = typedef typename T::reference
    +
    + +

    Definition at line 3472 of file json.hpp.

    + +
    +
    + +

    ◆ start_array_function_t

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::start_array_function_t = typedef decltype(std::declval<T&>().start_array(std::declval<std::size_t>()))
    +
    + +

    Definition at line 8106 of file json.hpp.

    + +
    +
    + +

    ◆ start_object_function_t

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::start_object_function_t = typedef decltype(std::declval<T&>().start_object(std::declval<std::size_t>()))
    +
    + +

    Definition at line 8095 of file json.hpp.

    + +
    +
    + +

    ◆ string_function_t

    + +
    +
    +
    +template<typename T , typename String >
    + + + + +
    using nlohmann::detail::string_function_t = typedef decltype(std::declval<T&>().string(std::declval<String&>()))
    +
    + +

    Definition at line 8087 of file json.hpp.

    + +
    +
    + +

    ◆ to_json_function

    + +
    +
    +
    +template<typename T , typename... Args>
    + + + + +
    using nlohmann::detail::to_json_function = typedef decltype(T::to_json(std::declval<Args>()...))
    +
    + +

    Definition at line 3481 of file json.hpp.

    + +
    +
    + +

    ◆ uncvref_t

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::uncvref_t = typedef typename std::remove_cv<typename std::remove_reference<T>::type>::type
    +
    + +

    Definition at line 3034 of file json.hpp.

    + +
    +
    + +

    ◆ value_type_t

    + +
    +
    +
    +template<typename T >
    + + + + +
    using nlohmann::detail::value_type_t = typedef typename T::value_type
    +
    + +

    Definition at line 3463 of file json.hpp.

    + +
    +
    + +

    ◆ void_t

    + +
    +
    +
    +template<typename ... Ts>
    + + + + +
    using nlohmann::detail::void_t = typedef typename make_void<Ts...>::type
    +
    + +

    Definition at line 3211 of file json.hpp.

    + +
    +
    +

    Enumeration Type Documentation

    + +

    ◆ cbor_tag_handler_t

    + +
    +
    + + + + + +
    + + + + +
    enum nlohmann::detail::cbor_tag_handler_t
    +
    +strong
    +
    + +

    how to treat CBOR tags

    + + + +
    Enumerator
    error 

    throw a parse_error exception in case of a tag

    +
    ignore 

    ignore tags

    +
    + +

    Definition at line 8212 of file json.hpp.

    + +
    +
    + +

    ◆ error_handler_t

    + +
    +
    + + + + + +
    + + + + +
    enum nlohmann::detail::error_handler_t
    +
    +strong
    +
    + +

    how to treat decoding errors

    + + + + +
    Enumerator
    strict 

    throw a type_error exception in case of invalid UTF-8

    +
    replace 

    replace invalid UTF-8 sequences with U+FFFD

    +
    ignore 

    ignore invalid UTF-8 sequences

    +
    + +

    Definition at line 15975 of file json.hpp.

    + +
    +
    + +

    ◆ input_format_t

    + +
    +
    + + + + + +
    + + + + +
    enum nlohmann::detail::input_format_t
    +
    +strong
    +
    + +

    the supported input formats

    + + + + + + +
    Enumerator
    json 
    cbor 
    msgpack 
    ubjson 
    bson 
    + +

    Definition at line 5250 of file json.hpp.

    + +
    +
    + +

    ◆ parse_event_t

    + +
    +
    + + + + + +
    + + + + +
    enum nlohmann::detail::parse_event_t : uint8_t
    +
    +strong
    +
    + + + + + + + +
    Enumerator
    object_start 

    the parser read { and started to process a JSON object

    +
    object_end 

    the parser read } and finished processing a JSON object

    +
    array_start 

    the parser read [ and started to process a JSON array

    +
    array_end 

    the parser read ] and finished processing a JSON array

    +
    key 

    the parser read a key of a value in an object

    +
    value 

    the parser finished reading a JSON value

    +
    + +

    Definition at line 10682 of file json.hpp.

    + +
    +
    + +

    ◆ value_t

    + +
    +
    + + + + + +
    + + + + +
    enum nlohmann::detail::value_t : std::uint8_t
    +
    +strong
    +
    + +

    the JSON type enumeration

    +

    This enumeration collects the different JSON types. It is internally used to distinguish the stored values, and the functions basic_json::is_null(), basic_json::is_object(), basic_json::is_array(), basic_json::is_string(), basic_json::is_boolean(), basic_json::is_number() (with basic_json::is_number_integer(), basic_json::is_number_unsigned(), and basic_json::is_number_float()), basic_json::is_discarded(), basic_json::is_primitive(), and basic_json::is_structured() rely on it.

    +
    Note
    There are three enumeration entries (number_integer, number_unsigned, and number_float), because the library distinguishes these three types for numbers: basic_json::number_unsigned_t is used for unsigned integers, basic_json::number_integer_t is used for signed integers, and basic_json::number_float_t is used for floating-point numbers or to approximate integers which do not fit in the limits of their respective type.
    +
    See also
    see basic_json::basic_json(const value_t value_type) – create a JSON value with the default value for a given type
    +
    Since
    version 1.0.0
    + + + + + + + + + + + +
    Enumerator
    null 

    null value

    +
    object 

    object (unordered set of name/value pairs)

    +
    array 

    array (ordered collection of values)

    +
    string 

    string value

    +
    boolean 

    boolean value

    +
    number_integer 

    number value (signed integer)

    +
    number_unsigned 

    number value (unsigned integer)

    +
    number_float 

    number value (floating-point)

    +
    binary 

    binary array (ordered collection of bytes)

    +
    discarded 

    discarded by the parser callback function

    +
    + +

    Definition at line 118 of file json.hpp.

    + +
    +
    +

    Function Documentation

    + +

    ◆ combine()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    std::size_t nlohmann::detail::combine (std::size_t seed,
    std::size_t h 
    )
    +
    +inlinenoexcept
    +
    + +

    Definition at line 5099 of file json.hpp.

    + +

    Referenced by hash().

    + +
    +
    + +

    ◆ escape()

    + +
    +
    + + + + + +
    + + + + + + + + +
    std::string nlohmann::detail::escape (std::string s)
    +
    +inline
    +
    + +

    string escaping as described in RFC 6901 (Sect. 4)

    +
    Parameters
    + + +
    [in]sstring to escape
    +
    +
    +
    Returns
    escaped string
    +

    Note the order of escaping "~" to "~0" and "/" to "~1" is important.

    + +

    Definition at line 2551 of file json.hpp.

    + +

    References replace_substring().

    + +

    Referenced by nlohmann::detail::exception::diagnostics(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff(), nlohmann::json_pointer< BasicJsonType >::flatten(), and nlohmann::json_pointer< BasicJsonType >::to_string().

    + +
    +
    + +

    ◆ from_json() [1/19]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    typename std::nullptr_t & n 
    )
    +
    +
    + +

    ◆ from_json() [2/19]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    typename BasicJsonType::boolean_t & b 
    )
    +
    + +

    Definition at line 3881 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, and string.

    + +
    +
    + +

    ◆ from_json() [3/19]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    typename BasicJsonType::string_t & s 
    )
    +
    + +

    Definition at line 3891 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, string, and value.

    + +
    +
    + +

    ◆ from_json() [4/19]

    + +
    +
    +
    +template<typename BasicJsonType , typename ConstructibleStringType , enable_if_t< is_constructible_string_type< BasicJsonType, ConstructibleStringType >::value &&!std::is_same< typename BasicJsonType::string_t, ConstructibleStringType >::value, int > = 0>
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    ConstructibleStringType & s 
    )
    +
    + +

    Definition at line 3907 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, and string.

    + +
    +
    + +

    ◆ from_json() [5/19]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    typename BasicJsonType::number_float_t & val 
    )
    +
    + +

    Definition at line 3918 of file json.hpp.

    + +

    References get_arithmetic_value().

    + +
    +
    + +

    ◆ from_json() [6/19]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    typename BasicJsonType::number_unsigned_t & val 
    )
    +
    + +

    Definition at line 3924 of file json.hpp.

    + +

    References get_arithmetic_value().

    + +
    +
    + +

    ◆ from_json() [7/19]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    typename BasicJsonType::number_integer_t & val 
    )
    +
    + +

    Definition at line 3930 of file json.hpp.

    + +

    References get_arithmetic_value().

    + +
    +
    + +

    ◆ from_json() [8/19]

    + +
    +
    +
    +template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    EnumType & e 
    )
    +
    + +

    Definition at line 3937 of file json.hpp.

    + +

    References get_arithmetic_value().

    + +
    +
    + +

    ◆ from_json() [9/19]

    + +
    +
    +
    +template<typename BasicJsonType , typename T , typename Allocator , enable_if_t< is_getable< BasicJsonType, T >::value, int > = 0>
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    std::forward_list< T, Allocator > & l 
    )
    +
    + +

    Definition at line 3947 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, and string.

    + +
    +
    + +

    ◆ from_json() [10/19]

    + +
    +
    +
    +template<typename BasicJsonType , typename T , enable_if_t< is_getable< BasicJsonType, T >::value, int > = 0>
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    std::valarray< T > & l 
    )
    +
    + +

    Definition at line 3964 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, and string.

    + +
    +
    + +

    ◆ from_json() [11/19]

    + +
    +
    +
    +template<typename BasicJsonType , typename T , std::size_t N>
    + + + + + + + + + + + + + + + + + + +
    auto nlohmann::detail::from_json (const BasicJsonType & j,
    T(&) arr[N] 
    ) -> decltype(j.template get<T>(), void()) +
    +
    + +

    Definition at line 3979 of file json.hpp.

    + +
    +
    + +

    ◆ from_json() [12/19]

    + +
    +
    +
    +template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< is_constructible_array_type< BasicJsonType, ConstructibleArrayType >::value &&!is_constructible_object_type< BasicJsonType, ConstructibleArrayType >::value &&!is_constructible_string_type< BasicJsonType, ConstructibleArrayType >::value &&!std::is_same< ConstructibleArrayType, typename BasicJsonType::binary_t >::value &&!is_basic_json< ConstructibleArrayType >::value, int > = 0>
    + + + + + + + + + + + + + + + + + + +
    auto nlohmann::detail::from_json (const BasicJsonType & j,
    ConstructibleArrayType & arr 
    ) -> decltype(from_json_array_impl(j, arr, priority_tag<3>
    +
    + +

    Definition at line 4058 of file json.hpp.

    + +
    +
    + +

    ◆ from_json() [13/19]

    + +
    +
    +
    +template<typename BasicJsonType , typename T , std::size_t N>
    + + + + + + + + + + + + + + + + + + +
    auto nlohmann::detail::from_json (BasicJsonType && j,
    identity_tag< std::array< T, N >> tag 
    ) -> decltype(from_json_inplace_array_impl(std::forward<BasicJsonType>(j), tag, make_index_sequence<N>
    +
    +
    + +

    ◆ from_json() [14/19]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    typename BasicJsonType::binary_t & bin 
    )
    +
    + +

    Definition at line 4091 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, and string.

    + +
    +
    + +

    ◆ from_json() [15/19]

    + +
    +
    +
    +template<typename BasicJsonType , typename ConstructibleObjectType , enable_if_t< is_constructible_object_type< BasicJsonType, ConstructibleObjectType >::value, int > = 0>
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    ConstructibleObjectType & obj 
    )
    +
    + +

    Definition at line 4103 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, and string.

    + +
    +
    + +

    ◆ from_json() [16/19]

    + +
    +
    +
    +template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_unsigned_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_integer_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_float_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    ArithmeticType & val 
    )
    +
    +
    + +

    ◆ from_json() [17/19]

    + +
    +
    +
    +template<typename BasicJsonType , typename TupleRelated >
    + + + + + + + + + + + + + + + + + + +
    auto nlohmann::detail::from_json (BasicJsonType && j,
    TupleRelated && t 
    ) -> decltype(from_json_tuple_impl(std::forward<BasicJsonType>(j), std::forward<TupleRelated>(t), priority_tag<3>
    +
    +
    + +

    ◆ from_json() [18/19]

    + +
    +
    +
    +template<typename BasicJsonType , typename Key , typename Value , typename Compare , typename Allocator , typename = enable_if_t < !std::is_constructible < typename BasicJsonType::string_t, Key >::value >>
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    std::map< Key, Value, Compare, Allocator > & m 
    )
    +
    + +

    Definition at line 4211 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, and string.

    + +
    +
    + +

    ◆ from_json() [19/19]

    + +
    +
    +
    +template<typename BasicJsonType , typename Key , typename Value , typename Hash , typename KeyEqual , typename Allocator , typename = enable_if_t < !std::is_constructible < typename BasicJsonType::string_t, Key >::value >>
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json (const BasicJsonType & j,
    std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > & m 
    )
    +
    +
    + +

    ◆ from_json_array_impl() [1/4]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json_array_impl (const BasicJsonType & j,
    typename BasicJsonType::array_t & arr,
    priority_tag< 3 >  
    )
    +
    + +

    Definition at line 3989 of file json.hpp.

    + +

    Referenced by void().

    + +
    +
    + +

    ◆ from_json_array_impl() [2/4]

    + +
    +
    +
    +template<typename BasicJsonType , typename T , std::size_t N>
    + + + + + + + + + + + + + + + + + + + + + + + + +
    auto nlohmann::detail::from_json_array_impl (const BasicJsonType & j,
    std::array< T, N > & arr,
    priority_tag< 2 >  
    ) -> decltype(j.template get<T>(), void()) +
    +
    + +

    Definition at line 3995 of file json.hpp.

    + +
    +
    + +

    ◆ from_json_array_impl() [3/4]

    + +
    +
    +
    +template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< std::is_assignable< ConstructibleArrayType &, ConstructibleArrayType >::value, int > = 0>
    + + + + + + + + + + + + + + + + + + + + + + + + +
    auto nlohmann::detail::from_json_array_impl (const BasicJsonType & j,
    ConstructibleArrayType & arr,
    priority_tag< 1 >  
    ) -> decltype( + arr.reserve(std::declval<typename ConstructibleArrayType::size_type>()), + j.template get<typename ConstructibleArrayType::value_type>(), + void()) +
    +
    + +

    Definition at line 4009 of file json.hpp.

    + +
    +
    + +

    ◆ from_json_array_impl() [4/4]

    + +
    +
    +
    +template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< std::is_assignable< ConstructibleArrayType &, ConstructibleArrayType >::value, int > = 0>
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json_array_impl (const BasicJsonType & j,
    ConstructibleArrayType & arr,
    priority_tag< 0 >  
    )
    +
    + +

    Definition at line 4033 of file json.hpp.

    + +
    +
    + +

    ◆ from_json_inplace_array_impl()

    + +
    +
    +
    +template<typename BasicJsonType , typename T , std::size_t... Idx>
    + + + + + + + + + + + + + + + + + + + + + + + + +
    std::array<T, sizeof...(Idx)> nlohmann::detail::from_json_inplace_array_impl (BasicJsonType && j,
    identity_tag< std::array< T, sizeof...(Idx)>> ,
    index_sequence< Idx... >  
    )
    +
    + +

    Definition at line 4072 of file json.hpp.

    + +

    Referenced by from_json().

    + +
    +
    + +

    ◆ from_json_tuple_impl() [1/4]

    + +
    +
    +
    +template<typename BasicJsonType , class A1 , class A2 >
    + + + + + + + + + + + + + + + + + + + + + + + + +
    std::pair<A1, A2> nlohmann::detail::from_json_tuple_impl (BasicJsonType && j,
    identity_tag< std::pair< A1, A2 >> ,
    priority_tag< 0 >  
    )
    +
    + +

    Definition at line 4172 of file json.hpp.

    + +

    Referenced by from_json(), and from_json_tuple_impl().

    + +
    +
    + +

    ◆ from_json_tuple_impl() [2/4]

    + +
    +
    +
    +template<typename BasicJsonType , typename A1 , typename A2 >
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json_tuple_impl (BasicJsonType && j,
    std::pair< A1, A2 > & p,
    priority_tag< 1 >  
    )
    +
    + +

    Definition at line 4179 of file json.hpp.

    + +

    References from_json_tuple_impl().

    + +
    +
    + +

    ◆ from_json_tuple_impl() [3/4]

    + +
    +
    +
    +template<typename BasicJsonType , typename... Args>
    + + + + + + + + + + + + + + + + + + + + + + + + +
    std::tuple<Args...> nlohmann::detail::from_json_tuple_impl (BasicJsonType && j,
    identity_tag< std::tuple< Args... >> ,
    priority_tag< 2 >  
    )
    +
    + +

    Definition at line 4185 of file json.hpp.

    + +

    References from_json_tuple_impl_base().

    + +
    +
    + +

    ◆ from_json_tuple_impl() [4/4]

    + +
    +
    +
    +template<typename BasicJsonType , typename... Args>
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::from_json_tuple_impl (BasicJsonType && j,
    std::tuple< Args... > & t,
    priority_tag< 3 >  
    )
    +
    + +

    Definition at line 4191 of file json.hpp.

    + +

    References from_json_tuple_impl_base().

    + +
    +
    + +

    ◆ from_json_tuple_impl_base()

    + +
    +
    +
    +template<typename BasicJsonType , typename... Args, std::size_t... Idx>
    + + + + + + + + + + + + + + + + + + +
    std::tuple<Args...> nlohmann::detail::from_json_tuple_impl_base (BasicJsonType && j,
    index_sequence< Idx... >  
    )
    +
    + +

    Definition at line 4166 of file json.hpp.

    + +

    Referenced by from_json_tuple_impl().

    + +
    +
    + +

    ◆ get()

    + +
    +
    +
    +template<std::size_t N, typename IteratorType , enable_if_t< N==0, int > = 0>
    + + + + + + + + +
    auto nlohmann::detail::get (const nlohmann::detail::iteration_proxy_value< IteratorType > & i) -> decltype(i.key()) +
    +
    + +

    Definition at line 4423 of file json.hpp.

    + +

    References nlohmann::detail::iteration_proxy_value< IteratorType >::key().

    + +
    +
    + +

    ◆ get< typename ConstructibleArrayType::value_type >()

    + +
    +
    + + + + + + + +
    j template nlohmann::detail::get< typename ConstructibleArrayType::value_type > ()
    +
    + +
    +
    + +

    ◆ get_arithmetic_value()

    + +
    +
    +
    +template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0>
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::get_arithmetic_value (const BasicJsonType & j,
    ArithmeticType & val 
    )
    +
    + +

    Definition at line 3855 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_THROW, number_float, number_integer, number_unsigned, and string.

    + +

    Referenced by from_json().

    + +
    +
    + +

    ◆ hash()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + + + + +
    std::size_t nlohmann::detail::hash (const BasicJsonType & j)
    +
    + +

    hash a JSON value

    +

    The hash function tries to rely on std::hash where possible. Furthermore, the type of the JSON value is taken into account to have different hash values for null, 0, 0U, and false, etc.

    +
    Template Parameters
    + + +
    BasicJsonTypebasic_json specialization
    +
    +
    +
    Parameters
    + + +
    jJSON value to hash
    +
    +
    +
    Returns
    hash value of j
    + +

    Definition at line 5117 of file json.hpp.

    + +

    References combine(), and JSON_ASSERT.

    + +

    Referenced by std::hash< nlohmann::json >::operator()().

    + +
    +
    + +

    ◆ input_adapter() [1/7]

    + +
    +
    +
    +template<typename IteratorType >
    + + + + + + + + + + + + + + + + + + +
    iterator_input_adapter_factory<IteratorType>::adapter_type nlohmann::detail::input_adapter (IteratorType first,
    IteratorType last 
    )
    +
    + +

    Definition at line 5594 of file json.hpp.

    + +

    Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::accept(), nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >::create(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_bson(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_cbor(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_msgpack(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_ubjson(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_high_precision_number(), input_adapter(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::sax_parse().

    + +
    +
    + +

    ◆ input_adapter() [2/7]

    + +
    +
    +
    +template<typename ContainerType >
    + + + + + + + + +
    container_input_adapter_factory_impl::container_input_adapter_factory<ContainerType>::adapter_type nlohmann::detail::input_adapter (const ContainerType & container)
    +
    + +

    Definition at line 5628 of file json.hpp.

    + +
    +
    + +

    ◆ input_adapter() [3/7]

    + +
    +
    + + + + + +
    + + + + + + + + +
    file_input_adapter nlohmann::detail::input_adapter (std::FILE * file)
    +
    +inline
    +
    + +

    Definition at line 5634 of file json.hpp.

    + +
    +
    + +

    ◆ input_adapter() [4/7]

    + +
    +
    + + + + + +
    + + + + + + + + +
    input_stream_adapter nlohmann::detail::input_adapter (std::istream & stream)
    +
    +inline
    +
    + +

    Definition at line 5639 of file json.hpp.

    + +
    +
    + +

    ◆ input_adapter() [5/7]

    + +
    +
    + + + + + +
    + + + + + + + + +
    input_stream_adapter nlohmann::detail::input_adapter (std::istream && stream)
    +
    +inline
    +
    + +

    Definition at line 5644 of file json.hpp.

    + +
    +
    + +

    ◆ input_adapter() [6/7]

    + +
    +
    +
    +template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value &&!std::is_array< CharT >::value &&std::is_integral< typename std::remove_pointer< CharT >::type >::value &&sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0>
    + + + + + + + + +
    contiguous_bytes_input_adapter nlohmann::detail::input_adapter (CharT b)
    +
    + +

    Definition at line 5659 of file json.hpp.

    + +

    References input_adapter().

    + +
    +
    + +

    ◆ input_adapter() [7/7]

    + +
    +
    +
    +template<typename T , std::size_t N>
    + + + + + + + + +
    auto nlohmann::detail::input_adapter (T(&) array[N]) -> decltype(input_adapter(array, array + N)) +
    +
    + +

    Definition at line 5667 of file json.hpp.

    + +

    References array, and input_adapter().

    + +
    +
    + +

    ◆ int_to_string()

    + +
    +
    +
    +template<typename string_type >
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::int_to_string (string_type & target,
    std::size_t value 
    )
    +
    + +

    Definition at line 4300 of file json.hpp.

    + +

    References nlohmann::to_string().

    + +

    Referenced by nlohmann::detail::iteration_proxy_value< IteratorType >::key().

    + +
    +
    + +

    ◆ little_endianess()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static bool nlohmann::detail::little_endianess (int num = 1)
    +
    +inlinestaticnoexcept
    +
    + +

    determine system byte order

    +
    Returns
    true if and only if system's byte order is little endian
    +
    Note
    from https://stackoverflow.com/a/1001328/266378
    + +

    Definition at line 8225 of file json.hpp.

    + +
    +
    + +

    ◆ operator<()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::operator< (const value_t lhs,
    const value_t rhs 
    )
    +
    +inlinenoexcept
    +
    + +

    comparison operator for JSON types

    +

    Returns an ordering that is similar to Python:

      +
    • order: null < boolean < number < object < array < string < binary
    • +
    • furthermore, each type is not smaller than itself
    • +
    • discarded values are not comparable
    • +
    • binary is represented as a b"" string in python and directly comparable to a string; however, making a binary array directly comparable with a string would be surprising behavior in a JSON file.
    • +
    +
    Since
    version 1.0.0
    + +

    Definition at line 145 of file json.hpp.

    + +

    Referenced by std::less<::nlohmann::detail::value_t >::operator()(), and nlohmann::detail::iter_impl< BasicJsonType >::operator>=().

    + +
    +
    + +

    ◆ replace_substring()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::replace_substring (std::strings,
    const std::stringf,
    const std::stringt 
    )
    +
    +inline
    +
    + +

    replace all occurrences of a substring by another string

    +
    Parameters
    + + + + +
    [in,out]sthe string to manipulate; changed so that all occurrences of f are replaced with t
    [in]fthe substring to replace with t
    [in]tthe string to replace f
    +
    +
    +
    Precondition
    The search string f must not be empty. This precondition is enforced with an assertion.
    +
    Since
    version 2.0.0
    + +

    Definition at line 2533 of file json.hpp.

    + +

    References JSON_ASSERT.

    + +

    Referenced by escape(), and unescape().

    + +
    +
    + +

    ◆ to_chars()

    + +
    +
    +
    +template<typename FloatType >
    + + + + + + + + + + + + + + + + + + + + + + + + +
    JSON_HEDLEY_RETURNS_NON_NULL char* nlohmann::detail::to_chars (char * first,
    const char * last,
    FloatType value 
    )
    +
    + +

    generates a decimal representation of the floating-point number value in [first, last).

    +

    The format of the resulting decimal representation is similar to printf's g format. Returns an iterator pointing past-the-end of the decimal representation.

    +
    Note
    The input number must be finite, i.e. NaN's and Inf's are not supported.
    +
    +The buffer must be large enough.
    +
    +The result is NOT null-terminated.
    + +

    Definition at line 15905 of file json.hpp.

    + +

    References nlohmann::detail::dtoa_impl::format_buffer(), nlohmann::detail::dtoa_impl::grisu2(), JSON_ASSERT, and value.

    + +
    +
    + +

    ◆ to_json() [1/17]

    + +
    +
    +
    +template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, typename BasicJsonType::boolean_t >::value, int > = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    b 
    )
    +
    +noexcept
    +
    + +

    Definition at line 4686 of file json.hpp.

    + +

    Referenced by nlohmann::detail::to_json_fn::operator()(), and to_json_tuple_impl().

    + +
    +
    + +

    ◆ to_json() [2/17]

    + +
    +
    +
    +template<typename BasicJsonType , typename CompatibleString , enable_if_t< std::is_constructible< typename BasicJsonType::string_t, CompatibleString >::value, int > = 0>
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    const CompatibleString & s 
    )
    +
    + +

    Definition at line 4693 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [3/17]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    typename BasicJsonType::string_t && s 
    )
    +
    + +

    Definition at line 4699 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [4/17]

    + +
    +
    +
    +template<typename BasicJsonType , typename FloatType , enable_if_t< std::is_floating_point< FloatType >::value, int > = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    FloatType val 
    )
    +
    +noexcept
    +
    + +

    Definition at line 4706 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [5/17]

    + +
    +
    +
    +template<typename BasicJsonType , typename CompatibleNumberUnsignedType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType >::value, int > = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    CompatibleNumberUnsignedType val 
    )
    +
    +noexcept
    +
    + +

    Definition at line 4713 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [6/17]

    + +
    +
    +
    +template<typename BasicJsonType , typename CompatibleNumberIntegerType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType >::value, int > = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    CompatibleNumberIntegerType val 
    )
    +
    +noexcept
    +
    + +

    Definition at line 4720 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [7/17]

    + +
    +
    +
    +template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    EnumType e 
    )
    +
    +noexcept
    +
    + +

    Definition at line 4727 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [8/17]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    const std::vector< bool > & e 
    )
    +
    + +

    Definition at line 4734 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [9/17]

    + +
    +
    +
    +template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value &&!is_compatible_object_type< BasicJsonType, CompatibleArrayType >::value &&!is_compatible_string_type< BasicJsonType, CompatibleArrayType >::value &&!std::is_same< typename BasicJsonType::binary_t, CompatibleArrayType >::value &&!is_basic_json< CompatibleArrayType >::value, int > = 0>
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    const CompatibleArrayType & arr 
    )
    +
    + +

    Definition at line 4747 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [10/17]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    const typename BasicJsonType::binary_t & bin 
    )
    +
    + +

    Definition at line 4753 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [11/17]

    + +
    +
    +
    +template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0>
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    const std::valarray< T > & arr 
    )
    +
    + +

    Definition at line 4760 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [12/17]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    typename BasicJsonType::array_t && arr 
    )
    +
    + +

    Definition at line 4766 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [13/17]

    + +
    +
    +
    +template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value &&!is_basic_json< CompatibleObjectType >::value, int > = 0>
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    const CompatibleObjectType & obj 
    )
    +
    + +

    Definition at line 4773 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [14/17]

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    typename BasicJsonType::object_t && obj 
    )
    +
    + +

    Definition at line 4779 of file json.hpp.

    + +

    References value.

    + +
    +
    + +

    ◆ to_json() [15/17]

    + +
    +
    +
    +template<typename BasicJsonType , typename T , std::size_t N, enable_if_t< !std::is_constructible< typename BasicJsonType::string_t, const T(&)[N]>::value, int > = 0>
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    const T(&) arr[N] 
    )
    +
    + +

    Definition at line 4789 of file json.hpp.

    + +
    +
    + +

    ◆ to_json() [16/17]

    + +
    +
    +
    +template<typename BasicJsonType , typename T1 , typename T2 , enable_if_t< std::is_constructible< BasicJsonType, T1 >::value &&std::is_constructible< BasicJsonType, T2 >::value, int > = 0>
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    const std::pair< T1, T2 > & p 
    )
    +
    + +

    Definition at line 4795 of file json.hpp.

    + +

    References value.

    + +
    +
    + +

    ◆ to_json() [17/17]

    + +
    +
    +
    +template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, iteration_proxy_value< typename BasicJsonType::iterator >>::value, int > = 0>
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json (BasicJsonType & j,
    const T & b 
    )
    +
    +
    + +

    ◆ to_json_tuple_impl()

    + +
    +
    +
    +template<typename BasicJsonType , typename Tuple , std::size_t... Idx>
    + + + + + + + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::to_json_tuple_impl (BasicJsonType & j,
    const Tuple & t,
    index_sequence< Idx... >  
    )
    +
    + +

    Definition at line 4809 of file json.hpp.

    + +

    References to_json(), and value.

    + +
    +
    + +

    ◆ unescape()

    + +
    +
    + + + + + +
    + + + + + + + + +
    static void nlohmann::detail::unescape (std::strings)
    +
    +static
    +
    + +

    string unescaping as described in RFC 6901 (Sect. 4)

    +
    Parameters
    + + +
    [in]sstring to unescape
    +
    +
    +
    Returns
    unescaped string
    +

    Note the order of escaping "~1" to "/" and "~0" to "~" is important.

    + +

    Definition at line 2565 of file json.hpp.

    + +

    References replace_substring().

    + +

    Referenced by nlohmann::json_pointer< BasicJsonType >::split().

    + +
    +
    + +

    ◆ void()

    + + +
    +
    + + + + diff --git a/docs/dc/df0/namespacenlohmann_1_1detail.js b/docs/dc/df0/namespacenlohmann_1_1detail.js new file mode 100644 index 00000000..b47cbcde --- /dev/null +++ b/docs/dc/df0/namespacenlohmann_1_1detail.js @@ -0,0 +1,127 @@ +var namespacenlohmann_1_1detail = +[ + [ "container_input_adapter_factory_impl", "d9/d10/namespacenlohmann_1_1detail_1_1container__input__adapter__factory__impl.html", "d9/d10/namespacenlohmann_1_1detail_1_1container__input__adapter__factory__impl" ], + [ "dtoa_impl", "dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html", "dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl" ], + [ "utility_internal", "df/d92/namespacenlohmann_1_1detail_1_1utility__internal.html", "df/d92/namespacenlohmann_1_1detail_1_1utility__internal" ], + [ "binary_reader", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html", "d6/d30/classnlohmann_1_1detail_1_1binary__reader" ], + [ "binary_writer", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html", "df/d1a/classnlohmann_1_1detail_1_1binary__writer" ], + [ "conjunction", "dd/dde/structnlohmann_1_1detail_1_1conjunction.html", null ], + [ "conjunction< B1 >", "d1/d96/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4.html", null ], + [ "conjunction< B1, Bn... >", "d5/db0/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4.html", null ], + [ "detector", "dd/d10/structnlohmann_1_1detail_1_1detector.html", "dd/d10/structnlohmann_1_1detail_1_1detector" ], + [ "detector< Default, void_t< Op< Args... > >, Op, Args... >", "d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html", "d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4" ], + [ "exception", "de/df2/classnlohmann_1_1detail_1_1exception.html", "de/df2/classnlohmann_1_1detail_1_1exception" ], + [ "external_constructor", "d2/df4/structnlohmann_1_1detail_1_1external__constructor.html", null ], + [ "external_constructor< value_t::array >", "d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html", "d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4" ], + [ "external_constructor< value_t::binary >", "d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html", "d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4" ], + [ "external_constructor< value_t::boolean >", "d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html", "d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4" ], + [ "external_constructor< value_t::number_float >", "d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html", "d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4" ], + [ "external_constructor< value_t::number_integer >", "dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html", "dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4" ], + [ "external_constructor< value_t::number_unsigned >", "d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html", "d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4" ], + [ "external_constructor< value_t::object >", "d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html", "d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4" ], + [ "external_constructor< value_t::string >", "da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html", "da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4" ], + [ "file_input_adapter", "da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html", "da/d14/classnlohmann_1_1detail_1_1file__input__adapter" ], + [ "from_json_fn", "d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.html", "d5/d4d/structnlohmann_1_1detail_1_1from__json__fn" ], + [ "has_from_json", "dc/dac/structnlohmann_1_1detail_1_1has__from__json.html", null ], + [ "has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >", "d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html", "d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5" ], + [ "has_non_default_from_json", "d7/d08/structnlohmann_1_1detail_1_1has__non__default__from__json.html", null ], + [ "has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >", "df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html", "df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111" ], + [ "has_to_json", "d9/d6c/structnlohmann_1_1detail_1_1has__to__json.html", null ], + [ "has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >", "d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html", "d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c" ], + [ "identity_tag", "d0/db1/structnlohmann_1_1detail_1_1identity__tag.html", null ], + [ "input_stream_adapter", "db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html", "db/df0/classnlohmann_1_1detail_1_1input__stream__adapter" ], + [ "integer_sequence", "d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html", "d9/d1c/structnlohmann_1_1detail_1_1integer__sequence" ], + [ "internal_iterator", "d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html", "d7/d10/structnlohmann_1_1detail_1_1internal__iterator" ], + [ "invalid_iterator", "d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html", "d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator" ], + [ "is_basic_json", "d4/df6/structnlohmann_1_1detail_1_1is__basic__json.html", null ], + [ "is_basic_json< NLOHMANN_BASIC_JSON_TPL >", "d8/d25/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4.html", null ], + [ "is_compatible_array_type", "d8/d94/structnlohmann_1_1detail_1_1is__compatible__array__type.html", null ], + [ "is_compatible_array_type_impl", "dc/d4b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.html", null ], + [ "is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >", "dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html", "dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d" ], + [ "is_compatible_integer_type", "d1/d21/structnlohmann_1_1detail_1_1is__compatible__integer__type.html", null ], + [ "is_compatible_integer_type_impl", "dd/d13/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html", null ], + [ "is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >", "d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html", "d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796" ], + [ "is_compatible_object_type", "d5/dda/structnlohmann_1_1detail_1_1is__compatible__object__type.html", null ], + [ "is_compatible_object_type_impl", "dc/da5/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html", null ], + [ "is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >", "d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html", "d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9" ], + [ "is_compatible_string_type", "db/d4e/structnlohmann_1_1detail_1_1is__compatible__string__type.html", null ], + [ "is_compatible_string_type_impl", "d2/d3a/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.html", null ], + [ "is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >", "d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html", "d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6" ], + [ "is_compatible_type", "d3/d71/structnlohmann_1_1detail_1_1is__compatible__type.html", null ], + [ "is_compatible_type_impl", "d9/d66/structnlohmann_1_1detail_1_1is__compatible__type__impl.html", null ], + [ "is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >", "d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html", "d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703" ], + [ "is_complete_type", "d2/db3/structnlohmann_1_1detail_1_1is__complete__type.html", null ], + [ "is_complete_type< T, decltype(void(sizeof(T)))>", "dd/dcd/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4.html", null ], + [ "is_constructible", "d7/d10/structnlohmann_1_1detail_1_1is__constructible.html", null ], + [ "is_constructible< const std::pair< T1, T2 > >", "d8/da8/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html", null ], + [ "is_constructible< const std::tuple< Ts... > >", "d1/d8d/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html", null ], + [ "is_constructible< std::pair< T1, T2 > >", "d4/df4/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html", null ], + [ "is_constructible< std::tuple< Ts... > >", "dc/d01/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html", null ], + [ "is_constructible_array_type", "d3/d52/structnlohmann_1_1detail_1_1is__constructible__array__type.html", null ], + [ "is_constructible_array_type_impl", "d8/d8b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl.html", null ], + [ "is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >", "db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.html", "db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52" ], + [ "is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >", "dd/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construce6fa33688da703b95649da4749cdeb98.html", null ], + [ "is_constructible_object_type", "dc/d11/structnlohmann_1_1detail_1_1is__constructible__object__type.html", null ], + [ "is_constructible_object_type_impl", "dd/da4/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.html", null ], + [ "is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >", "d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html", "d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c" ], + [ "is_constructible_string_type", "d3/d84/structnlohmann_1_1detail_1_1is__constructible__string__type.html", null ], + [ "is_constructible_string_type_impl", "de/df0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.html", null ], + [ "is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >", "df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html", "df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387" ], + [ "is_constructible_tuple", "df/d17/structnlohmann_1_1detail_1_1is__constructible__tuple.html", null ], + [ "is_constructible_tuple< T1, std::tuple< Args... > >", "d3/d6a/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html", null ], + [ "is_default_constructible", "d2/d91/structnlohmann_1_1detail_1_1is__default__constructible.html", null ], + [ "is_default_constructible< const std::pair< T1, T2 > >", "d7/d7b/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html", null ], + [ "is_default_constructible< const std::tuple< Ts... > >", "dc/dd7/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html", null ], + [ "is_default_constructible< std::pair< T1, T2 > >", "da/dbd/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html", null ], + [ "is_default_constructible< std::tuple< Ts... > >", "d5/dc8/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html", null ], + [ "is_getable", "de/dbc/structnlohmann_1_1detail_1_1is__getable.html", "de/dbc/structnlohmann_1_1detail_1_1is__getable" ], + [ "is_iterator_of_multibyte", "d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html", "d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte" ], + [ "is_iterator_traits", "d3/d30/structnlohmann_1_1detail_1_1is__iterator__traits.html", null ], + [ "is_iterator_traits< iterator_traits< T > >", "d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html", "d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4" ], + [ "is_json_ref", "d3/d0b/structnlohmann_1_1detail_1_1is__json__ref.html", null ], + [ "is_json_ref< json_ref< T > >", "d0/d8d/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4.html", null ], + [ "is_sax", "dc/dc3/structnlohmann_1_1detail_1_1is__sax.html", "dc/dc3/structnlohmann_1_1detail_1_1is__sax" ], + [ "is_sax_static_asserts", "d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html", "d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts" ], + [ "iter_impl", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl" ], + [ "iteration_proxy", "db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html", "db/dda/classnlohmann_1_1detail_1_1iteration__proxy" ], + [ "iteration_proxy_value", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value" ], + [ "iterator_input_adapter", "d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html", "d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter" ], + [ "iterator_input_adapter_factory", "d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html", "d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory" ], + [ "iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >", "da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html", "da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902" ], + [ "iterator_traits", "d8/db6/structnlohmann_1_1detail_1_1iterator__traits.html", null ], + [ "iterator_traits< T *, enable_if_t< std::is_object< T >::value > >", "da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html", "da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4" ], + [ "iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >", "d5/da3/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_3_01T_01_4_1_1value_01_4_01_4.html", null ], + [ "iterator_types", "d5/d3c/structnlohmann_1_1detail_1_1iterator__types.html", null ], + [ "iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >", "d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html", "d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b" ], + [ "json_ref", "da/d10/classnlohmann_1_1detail_1_1json__ref.html", "da/d10/classnlohmann_1_1detail_1_1json__ref" ], + [ "json_reverse_iterator", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator" ], + [ "json_sax_acceptor", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor" ], + [ "json_sax_dom_callback_parser", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser" ], + [ "json_sax_dom_parser", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser" ], + [ "lexer", "d8/d22/classnlohmann_1_1detail_1_1lexer.html", "d8/d22/classnlohmann_1_1detail_1_1lexer" ], + [ "lexer_base", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html", "de/d77/classnlohmann_1_1detail_1_1lexer__base" ], + [ "make_void", "d3/d72/structnlohmann_1_1detail_1_1make__void.html", "d3/d72/structnlohmann_1_1detail_1_1make__void" ], + [ "nonesuch", "da/d31/structnlohmann_1_1detail_1_1nonesuch.html", "da/d31/structnlohmann_1_1detail_1_1nonesuch" ], + [ "other_error", "d5/d1b/classnlohmann_1_1detail_1_1other__error.html", "d5/d1b/classnlohmann_1_1detail_1_1other__error" ], + [ "out_of_range", "d2/d67/classnlohmann_1_1detail_1_1out__of__range.html", "d2/d67/classnlohmann_1_1detail_1_1out__of__range" ], + [ "output_adapter", "df/d13/classnlohmann_1_1detail_1_1output__adapter.html", "df/d13/classnlohmann_1_1detail_1_1output__adapter" ], + [ "output_adapter_protocol", "dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html", "dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol" ], + [ "output_stream_adapter", "d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html", "d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter" ], + [ "output_string_adapter", "d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html", "d2/d39/classnlohmann_1_1detail_1_1output__string__adapter" ], + [ "output_vector_adapter", "d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html", "d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter" ], + [ "parse_error", "d5/d1a/classnlohmann_1_1detail_1_1parse__error.html", "d5/d1a/classnlohmann_1_1detail_1_1parse__error" ], + [ "parser", "df/d6b/classnlohmann_1_1detail_1_1parser.html", "df/d6b/classnlohmann_1_1detail_1_1parser" ], + [ "position_t", "d6/d02/structnlohmann_1_1detail_1_1position__t.html", "d6/d02/structnlohmann_1_1detail_1_1position__t" ], + [ "primitive_iterator_t", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t" ], + [ "priority_tag", "d7/d78/structnlohmann_1_1detail_1_1priority__tag.html", null ], + [ "priority_tag< 0 >", "d2/ddd/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html", null ], + [ "serializer", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html", "d4/d0a/classnlohmann_1_1detail_1_1serializer" ], + [ "span_input_adapter", "da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html", "da/d7e/classnlohmann_1_1detail_1_1span__input__adapter" ], + [ "static_const", "d1/d9b/structnlohmann_1_1detail_1_1static__const.html", "d1/d9b/structnlohmann_1_1detail_1_1static__const" ], + [ "to_json_fn", "d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.html", "d2/d7e/structnlohmann_1_1detail_1_1to__json__fn" ], + [ "type_error", "da/d1c/classnlohmann_1_1detail_1_1type__error.html", "da/d1c/classnlohmann_1_1detail_1_1type__error" ], + [ "wide_string_input_adapter", "d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html", "d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter" ], + [ "wide_string_input_helper", "d2/d2c/structnlohmann_1_1detail_1_1wide__string__input__helper.html", null ], + [ "wide_string_input_helper< BaseInputAdapter, 2 >", "df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html", "df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4" ], + [ "wide_string_input_helper< BaseInputAdapter, 4 >", "d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html", "d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4" ] +]; \ No newline at end of file diff --git a/docs/dc/df5/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe1847e4756f276dca6ac832a1b3cf4bf.html b/docs/dc/df5/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe1847e4756f276dca6ac832a1b3cf4bf.html new file mode 100644 index 00000000..5068f395 --- /dev/null +++ b/docs/dc/df5/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe1847e4756f276dca6ac832a1b3cf4bf.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > > Member List
    +
    + +
    + + + + diff --git a/docs/dc/df6/classnlohmann_1_1detail_1_1serializer-members.html b/docs/dc/df6/classnlohmann_1_1detail_1_1serializer-members.html new file mode 100644 index 00000000..beeb7c0b --- /dev/null +++ b/docs/dc/df6/classnlohmann_1_1detail_1_1serializer-members.html @@ -0,0 +1,132 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::serializer< BasicJsonType > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::serializer< BasicJsonType >, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    __pad0__nlohmann::detail::serializer< BasicJsonType >
    binary_char_t typedefnlohmann::detail::serializer< BasicJsonType >private
    bytesnlohmann::detail::serializer< BasicJsonType >
    bytes_after_last_acceptnlohmann::detail::serializer< BasicJsonType >
    decimal_pointnlohmann::detail::serializer< BasicJsonType >
    dump(const BasicJsonType &val, const bool pretty_print, const bool ensure_ascii, const unsigned int indent_step, const unsigned int current_indent=0)nlohmann::detail::serializer< BasicJsonType >inline
    elsenlohmann::detail::serializer< BasicJsonType >
    ensure_asciinlohmann::detail::serializer< BasicJsonType >
    error_handlernlohmann::detail::serializer< BasicJsonType >
    for(std::size_t i=0;i< s.size();++i)nlohmann::detail::serializer< BasicJsonType >inline
    if(JSON_HEDLEY_LIKELY(state==UTF8_ACCEPT))nlohmann::detail::serializer< BasicJsonType >inline
    indent_charnlohmann::detail::serializer< BasicJsonType >
    indent_stringnlohmann::detail::serializer< BasicJsonType >
    locnlohmann::detail::serializer< BasicJsonType >
    number_buffernlohmann::detail::serializer< BasicJsonType >
    number_float_t typedefnlohmann::detail::serializer< BasicJsonType >private
    number_integer_t typedefnlohmann::detail::serializer< BasicJsonType >private
    number_unsigned_t typedefnlohmann::detail::serializer< BasicJsonType >private
    operator=(const serializer &)=deletenlohmann::detail::serializer< BasicJsonType >
    operator=(serializer &&)=deletenlohmann::detail::serializer< BasicJsonType >
    serializer(output_adapter_t< char > s, const char ichar, error_handler_t error_handler_=error_handler_t::strict)nlohmann::detail::serializer< BasicJsonType >inline
    serializer(const serializer &)=deletenlohmann::detail::serializer< BasicJsonType >
    serializer(serializer &&)=deletenlohmann::detail::serializer< BasicJsonType >
    statenlohmann::detail::serializer< BasicJsonType >
    string_buffernlohmann::detail::serializer< BasicJsonType >
    string_t typedefnlohmann::detail::serializer< BasicJsonType >private
    thousands_sepnlohmann::detail::serializer< BasicJsonType >
    undumped_charsnlohmann::detail::serializer< BasicJsonType >
    UTF8_ACCEPTnlohmann::detail::serializer< BasicJsonType >privatestatic
    UTF8_REJECTnlohmann::detail::serializer< BasicJsonType >privatestatic
    ~serializer()=defaultnlohmann::detail::serializer< BasicJsonType >
    +
    + + + + diff --git a/docs/dc/df9/classnlohmann_1_1detail_1_1binary__writer-members.html b/docs/dc/df9/classnlohmann_1_1detail_1_1binary__writer-members.html new file mode 100644 index 00000000..0c65e221 --- /dev/null +++ b/docs/dc/df9/classnlohmann_1_1detail_1_1binary__writer-members.html @@ -0,0 +1,147 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::binary_writer< BasicJsonType, CharType > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::binary_writer< BasicJsonType, CharType >, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    binary_t typedefnlohmann::detail::binary_writer< BasicJsonType, CharType >private
    binary_writer(output_adapter_t< CharType > adapter)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineexplicit
    calc_bson_array_size(const typename BasicJsonType::array_t &value)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivatestatic
    calc_bson_binary_size(const typename BasicJsonType::binary_t &value)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivatestatic
    calc_bson_element_size(const string_t &name, const BasicJsonType &j)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivatestatic
    calc_bson_entry_header_size(const string_t &name, const BasicJsonType &j)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivatestatic
    calc_bson_integer_size(const std::int64_t value)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivatestatic
    calc_bson_object_size(const typename BasicJsonType::object_t &value)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivatestatic
    calc_bson_string_size(const string_t &value)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivatestatic
    calc_bson_unsigned_size(const std::uint64_t value) noexceptnlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivatestatic
    get_cbor_float_prefix(float)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivatestatic
    get_cbor_float_prefix(double)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivatestatic
    get_msgpack_float_prefix(float)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivatestatic
    get_msgpack_float_prefix(double)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivatestatic
    get_ubjson_float_prefix(float)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivatestatic
    get_ubjson_float_prefix(double)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivatestatic
    is_little_endiannlohmann::detail::binary_writer< BasicJsonType, CharType >private
    number_float_t typedefnlohmann::detail::binary_writer< BasicJsonType, CharType >private
    oanlohmann::detail::binary_writer< BasicJsonType, CharType >private
    string_t typedefnlohmann::detail::binary_writer< BasicJsonType, CharType >private
    to_char_type(std::uint8_t x) noexceptnlohmann::detail::binary_writer< BasicJsonType, CharType >inlinestatic
    to_char_type(std::uint8_t x) noexceptnlohmann::detail::binary_writer< BasicJsonType, CharType >inlinestatic
    to_char_type(std::uint8_t x) noexceptnlohmann::detail::binary_writer< BasicJsonType, CharType >inlinestatic
    to_char_type(InputCharType x) noexceptnlohmann::detail::binary_writer< BasicJsonType, CharType >inlinestatic
    ubjson_prefix(const BasicJsonType &j) const noexceptnlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_bson(const BasicJsonType &j)nlohmann::detail::binary_writer< BasicJsonType, CharType >inline
    write_bson_array(const string_t &name, const typename BasicJsonType::array_t &value)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_bson_binary(const string_t &name, const binary_t &value)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_bson_boolean(const string_t &name, const bool value)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_bson_double(const string_t &name, const double value)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_bson_element(const string_t &name, const BasicJsonType &j)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_bson_entry_header(const string_t &name, const std::uint8_t element_type)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_bson_integer(const string_t &name, const std::int64_t value)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_bson_null(const string_t &name)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_bson_object(const typename BasicJsonType::object_t &value)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_bson_object_entry(const string_t &name, const typename BasicJsonType::object_t &value)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_bson_string(const string_t &name, const string_t &value)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_bson_unsigned(const string_t &name, const BasicJsonType &j)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_cbor(const BasicJsonType &j)nlohmann::detail::binary_writer< BasicJsonType, CharType >inline
    write_compact_float(const number_float_t n, detail::input_format_t format)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_msgpack(const BasicJsonType &j)nlohmann::detail::binary_writer< BasicJsonType, CharType >inline
    write_number(const NumberType n)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_number_with_ubjson_prefix(const NumberType n, const bool add_prefix)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_number_with_ubjson_prefix(const NumberType n, const bool add_prefix)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_number_with_ubjson_prefix(const NumberType n, const bool add_prefix)nlohmann::detail::binary_writer< BasicJsonType, CharType >inlineprivate
    write_ubjson(const BasicJsonType &j, const bool use_count, const bool use_type, const bool add_prefix=true)nlohmann::detail::binary_writer< BasicJsonType, CharType >inline
    +
    + + + + diff --git a/docs/dd/d0d/classnlohmann_1_1byte__container__with__subtype.html b/docs/dd/d0d/classnlohmann_1_1byte__container__with__subtype.html new file mode 100644 index 00000000..77f991cd --- /dev/null +++ b/docs/dd/d0d/classnlohmann_1_1byte__container__with__subtype.html @@ -0,0 +1,659 @@ + + + + + + + +CUDNN Frontend API: nlohmann::byte_container_with_subtype< BinaryType > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::byte_container_with_subtype< BinaryType > Class Template Reference
    +
    +
    + +

    an internal type for a backed binary type + More...

    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::byte_container_with_subtype< BinaryType >:
    +
    +
    Inheritance graph
    + + + +
    +
    +Collaboration diagram for nlohmann::byte_container_with_subtype< BinaryType >:
    +
    +
    Collaboration graph
    + + + +
    + + + + + +

    +Public Types

    using container_type = BinaryType
     the type of the underlying container More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     byte_container_with_subtype () noexcept(noexcept(container_type()))
     
     byte_container_with_subtype (const container_type &b) noexcept(noexcept(container_type(b)))
     
     byte_container_with_subtype (container_type &&b) noexcept(noexcept(container_type(std::move(b))))
     
     byte_container_with_subtype (const container_type &b, std::uint8_t subtype_) noexcept(noexcept(container_type(b)))
     
     byte_container_with_subtype (container_type &&b, std::uint8_t subtype_) noexcept(noexcept(container_type(std::move(b))))
     
    bool operator== (const byte_container_with_subtype &rhs) const
     
    bool operator!= (const byte_container_with_subtype &rhs) const
     
    void set_subtype (std::uint8_t subtype_) noexcept
     sets the binary subtype More...
     
    constexpr std::uint8_t subtype () const noexcept
     return the binary subtype More...
     
    constexpr bool has_subtype () const noexcept
     return whether the value has a subtype More...
     
    void clear_subtype () noexcept
     clears the binary subtype More...
     
    + + + + + +

    +Private Attributes

    std::uint8_t m_subtype = 0
     
    bool m_has_subtype = false
     
    +

    Detailed Description

    +

    template<typename BinaryType>
    +class nlohmann::byte_container_with_subtype< BinaryType >

    + +

    an internal type for a backed binary type

    +

    This type extends the template parameter BinaryType provided to basic_json with a subtype used by BSON and MessagePack. This type exists so that the user does not have to specify a type themselves with a specific naming scheme in order to override the binary type.

    +
    Template Parameters
    + + +
    BinaryTypecontainer to store bytes (std::vector<std::uint8_t> by default)
    +
    +
    +
    Since
    version 3.8.0
    + +

    Definition at line 4933 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ container_type

    + +
    +
    +
    +template<typename BinaryType >
    + + + + +
    using nlohmann::byte_container_with_subtype< BinaryType >::container_type = BinaryType
    +
    + +

    the type of the underlying container

    + +

    Definition at line 4937 of file json.hpp.

    + +
    +
    +

    Constructor & Destructor Documentation

    + +

    ◆ byte_container_with_subtype() [1/5]

    + +
    +
    +
    +template<typename BinaryType >
    + + + + + +
    + + + + + + + +
    nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype ()
    +
    +inlinenoexcept
    +
    + +

    Definition at line 4939 of file json.hpp.

    + +
    +
    + +

    ◆ byte_container_with_subtype() [2/5]

    + +
    +
    +
    +template<typename BinaryType >
    + + + + + +
    + + + + + + + + +
    nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype (const container_typeb)
    +
    +inlinenoexcept
    +
    + +

    Definition at line 4943 of file json.hpp.

    + +
    +
    + +

    ◆ byte_container_with_subtype() [3/5]

    + +
    +
    +
    +template<typename BinaryType >
    + + + + + +
    + + + + + + + + +
    nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype (container_type && b)
    +
    +inlinenoexcept
    +
    + +

    Definition at line 4947 of file json.hpp.

    + +
    +
    + +

    ◆ byte_container_with_subtype() [4/5]

    + +
    +
    +
    +template<typename BinaryType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype (const container_typeb,
    std::uint8_t subtype_ 
    )
    +
    +inlinenoexcept
    +
    + +

    Definition at line 4951 of file json.hpp.

    + +
    +
    + +

    ◆ byte_container_with_subtype() [5/5]

    + +
    +
    +
    +template<typename BinaryType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype (container_type && b,
    std::uint8_t subtype_ 
    )
    +
    +inlinenoexcept
    +
    + +

    Definition at line 4957 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ clear_subtype()

    + +
    +
    +
    +template<typename BinaryType >
    + + + + + +
    + + + + + + + +
    void nlohmann::byte_container_with_subtype< BinaryType >::clear_subtype ()
    +
    +inlinenoexcept
    +
    + +

    clears the binary subtype

    +

    Clears the binary subtype and flags the value as not having a subtype, which has implications for serialization; for instance MessagePack will prefer the bin family over the ext family.

    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +
    See also
    see subtype() – return the binary subtype
    +
    +see set_subtype() – sets the binary subtype
    +
    +see has_subtype() – returns whether or not the binary value has a subtype
    +
    Since
    version 3.8.0
    + +

    Definition at line 5064 of file json.hpp.

    + +
    +
    + +

    ◆ has_subtype()

    + +
    +
    +
    +template<typename BinaryType >
    + + + + + +
    + + + + + + + +
    constexpr bool nlohmann::byte_container_with_subtype< BinaryType >::has_subtype () const
    +
    +inlinenoexcept
    +
    + +

    return whether the value has a subtype

    +
    Returns
    whether the value has a subtype
    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +
    See also
    see subtype() – return the binary subtype
    +
    +see set_subtype() – sets the binary subtype
    +
    +see clear_subtype() – clears the binary subtype
    +
    Since
    version 3.8.0
    + +

    Definition at line 5040 of file json.hpp.

    + +
    +
    + +

    ◆ operator!=()

    + +
    +
    +
    +template<typename BinaryType >
    + + + + + +
    + + + + + + + + +
    bool nlohmann::byte_container_with_subtype< BinaryType >::operator!= (const byte_container_with_subtype< BinaryType > & rhs) const
    +
    +inline
    +
    + +

    Definition at line 4969 of file json.hpp.

    + +
    +
    + +

    ◆ operator==()

    + +
    +
    +
    +template<typename BinaryType >
    + + + + + +
    + + + + + + + + +
    bool nlohmann::byte_container_with_subtype< BinaryType >::operator== (const byte_container_with_subtype< BinaryType > & rhs) const
    +
    +inline
    +
    +
    + +

    ◆ set_subtype()

    + +
    +
    +
    +template<typename BinaryType >
    + + + + + +
    + + + + + + + + +
    void nlohmann::byte_container_with_subtype< BinaryType >::set_subtype (std::uint8_t subtype_)
    +
    +inlinenoexcept
    +
    + +

    sets the binary subtype

    +

    Sets the binary subtype of the value, also flags a binary JSON value as having a subtype, which has implications for serialization.

    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +
    See also
    see subtype() – return the binary subtype
    +
    +see clear_subtype() – clears the binary subtype
    +
    +see has_subtype() – returns whether or not the binary value has a subtype
    +
    Since
    version 3.8.0
    + +

    Definition at line 4992 of file json.hpp.

    + +
    +
    + +

    ◆ subtype()

    + +
    +
    +
    +template<typename BinaryType >
    + + + + + +
    + + + + + + + +
    constexpr std::uint8_t nlohmann::byte_container_with_subtype< BinaryType >::subtype () const
    +
    +inlinenoexcept
    +
    + +

    return the binary subtype

    +

    Returns the numerical subtype of the value if it has a subtype. If it does not have a subtype, this function will return size_t(-1) as a sentinel value.

    +
    Returns
    the numerical subtype of the binary value
    +

    Constant.

    +

    No-throw guarantee: this member function never throws exceptions.

    +
    See also
    see set_subtype() – sets the binary subtype
    +
    +see clear_subtype() – clears the binary subtype
    +
    +see has_subtype() – returns whether or not the binary value has a subtype
    +
    Since
    version 3.8.0
    + +

    Definition at line 5019 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ m_has_subtype

    + +
    +
    +
    +template<typename BinaryType >
    + + + + + +
    + + + + +
    bool nlohmann::byte_container_with_subtype< BinaryType >::m_has_subtype = false
    +
    +private
    +
    + +

    Definition at line 5072 of file json.hpp.

    + +

    Referenced by nlohmann::byte_container_with_subtype< BinaryType >::operator==().

    + +
    +
    + +

    ◆ m_subtype

    + +
    +
    +
    +template<typename BinaryType >
    + + + + + +
    + + + + +
    std::uint8_t nlohmann::byte_container_with_subtype< BinaryType >::m_subtype = 0
    +
    +private
    +
    + +

    Definition at line 5071 of file json.hpp.

    + +

    Referenced by nlohmann::byte_container_with_subtype< BinaryType >::operator==().

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/dd/d0d/classnlohmann_1_1byte__container__with__subtype.js b/docs/dd/d0d/classnlohmann_1_1byte__container__with__subtype.js new file mode 100644 index 00000000..d8406704 --- /dev/null +++ b/docs/dd/d0d/classnlohmann_1_1byte__container__with__subtype.js @@ -0,0 +1,17 @@ +var classnlohmann_1_1byte__container__with__subtype = +[ + [ "container_type", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a4d27e8633c5a5e3b49dd4ccb06515713", null ], + [ "byte_container_with_subtype", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a89c78caf8c7b54dc1bcfa4b0b23d2fc8", null ], + [ "byte_container_with_subtype", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a640b6dd55847e86dbb936f97b946170e", null ], + [ "byte_container_with_subtype", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a73dcae1798eab1b496936bfae7b4b9c0", null ], + [ "byte_container_with_subtype", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a9bd3e08ec6d3ed9014ad7d83eca5e3b3", null ], + [ "byte_container_with_subtype", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#aa9e66c61f46afdd9a9c3617967c4c797", null ], + [ "clear_subtype", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a7b122b28ff2b8680557ca44ac9748e49", null ], + [ "has_subtype", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a9fc42fb07003bf7048c2f1fc79478e02", null ], + [ "operator!=", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a760bf39cc5477bc663d8bb3c44aabf6a", null ], + [ "operator==", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#aee67fde9d3d571a07d5bb35df21c0555", null ], + [ "set_subtype", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a63227e70c8b976fd6f65bb2d2d7dd021", null ], + [ "subtype", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#ac3ca9d09e55342f9588404e1dc2222f0", null ], + [ "m_has_subtype", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a69aa7a914a7a31b61d3a9567d74ddf7b", null ], + [ "m_subtype", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#ae36c8f29f4f50a00962b0e9110ba2756", null ] +]; \ No newline at end of file diff --git a/docs/dd/d10/structnlohmann_1_1detail_1_1detector.html b/docs/dd/d10/structnlohmann_1_1detail_1_1detector.html new file mode 100644 index 00000000..e540f213 --- /dev/null +++ b/docs/dd/d10/structnlohmann_1_1detail_1_1detector.html @@ -0,0 +1,165 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::detector< Default, AlwaysVoid, Op, Args > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::detector< Default, AlwaysVoid, Op, Args > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::detector< Default, AlwaysVoid, Op, Args >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + +

    +Public Types

    using value_t = std::false_type
     
    using type = Default
     
    +

    Detailed Description

    +

    template<class Default, class AlwaysVoid, template< class... > class Op, class... Args>
    +struct nlohmann::detail::detector< Default, AlwaysVoid, Op, Args >

    + + +

    Definition at line 3294 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ type

    + +
    +
    +
    +template<class Default , class AlwaysVoid , template< class... > class Op, class... Args>
    + + + + +
    using nlohmann::detail::detector< Default, AlwaysVoid, Op, Args >::type = Default
    +
    + +

    Definition at line 3297 of file json.hpp.

    + +
    +
    + +

    ◆ value_t

    + +
    +
    +
    +template<class Default , class AlwaysVoid , template< class... > class Op, class... Args>
    + + + + +
    using nlohmann::detail::detector< Default, AlwaysVoid, Op, Args >::value_t = std::false_type
    +
    + +

    Definition at line 3296 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dd/d10/structnlohmann_1_1detail_1_1detector.js b/docs/dd/d10/structnlohmann_1_1detail_1_1detector.js new file mode 100644 index 00000000..171889c4 --- /dev/null +++ b/docs/dd/d10/structnlohmann_1_1detail_1_1detector.js @@ -0,0 +1,5 @@ +var structnlohmann_1_1detail_1_1detector = +[ + [ "type", "dd/d10/structnlohmann_1_1detail_1_1detector.html#a0cd69423587748bf3d3d702cc7b7c2ce", null ], + [ "value_t", "dd/d10/structnlohmann_1_1detail_1_1detector.html#a5a132aab543d1706e2439268faf8d487", null ] +]; \ No newline at end of file diff --git a/docs/dd/d13/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html b/docs/dd/d13/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html new file mode 100644 index 00000000..5a848497 --- /dev/null +++ b/docs/dd/d13/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html @@ -0,0 +1,126 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, typename > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, typename > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, typename >:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, typename >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename RealIntegerType, typename CompatibleNumberIntegerType, typename = void>
    +struct nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, typename >

    + + +

    Definition at line 3784 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dd/d17/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.map b/docs/dd/d17/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.map new file mode 100644 index 00000000..3f5fbd6e --- /dev/null +++ b/docs/dd/d17/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/dd/d17/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.md5 b/docs/dd/d17/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.md5 new file mode 100644 index 00000000..a309e9de --- /dev/null +++ b/docs/dd/d17/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +99db7ebc6307d9b95f2fc19e68e7b066 \ No newline at end of file diff --git a/docs/dd/d17/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.png b/docs/dd/d17/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.png new file mode 100644 index 00000000..b1256e28 Binary files /dev/null and b/docs/dd/d17/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__inherit__graph.png differ diff --git a/docs/dd/d1a/structnlohmann_1_1detail_1_1detector__coll__graph.map b/docs/dd/d1a/structnlohmann_1_1detail_1_1detector__coll__graph.map new file mode 100644 index 00000000..64a2dc15 --- /dev/null +++ b/docs/dd/d1a/structnlohmann_1_1detail_1_1detector__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dd/d1a/structnlohmann_1_1detail_1_1detector__coll__graph.md5 b/docs/dd/d1a/structnlohmann_1_1detail_1_1detector__coll__graph.md5 new file mode 100644 index 00000000..ffde26ea --- /dev/null +++ b/docs/dd/d1a/structnlohmann_1_1detail_1_1detector__coll__graph.md5 @@ -0,0 +1 @@ +924f8e1478e9212c4141b4c8f6fbf2a7 \ No newline at end of file diff --git a/docs/dd/d1a/structnlohmann_1_1detail_1_1detector__coll__graph.png b/docs/dd/d1a/structnlohmann_1_1detail_1_1detector__coll__graph.png new file mode 100644 index 00000000..22c2c27b Binary files /dev/null and b/docs/dd/d1a/structnlohmann_1_1detail_1_1detector__coll__graph.png differ diff --git a/docs/dd/d23/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4-members.html b/docs/dd/d23/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4-members.html new file mode 100644 index 00000000..0a1c4bd5 --- /dev/null +++ b/docs/dd/d23/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4-members.html @@ -0,0 +1,103 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_iterator_traits< iterator_traits< T > > Member List
    +
    + +
    + + + + diff --git a/docs/dd/d2f/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.map b/docs/dd/d2f/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.map new file mode 100644 index 00000000..c864b6cd --- /dev/null +++ b/docs/dd/d2f/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dd/d2f/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.md5 b/docs/dd/d2f/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.md5 new file mode 100644 index 00000000..537587a5 --- /dev/null +++ b/docs/dd/d2f/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.md5 @@ -0,0 +1 @@ +65acd4fa9b4ff75f74f81ddf53b4d639 \ No newline at end of file diff --git a/docs/dd/d2f/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.png b/docs/dd/d2f/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.png new file mode 100644 index 00000000..75574dc0 Binary files /dev/null and b/docs/dd/d2f/structnlohmann_1_1detail_1_1is__constructible__tuple__inherit__graph.png differ diff --git a/docs/dd/d3d/classstd_1_1conditional_1_1type__coll__graph.map b/docs/dd/d3d/classstd_1_1conditional_1_1type__coll__graph.map new file mode 100644 index 00000000..c45114c2 --- /dev/null +++ b/docs/dd/d3d/classstd_1_1conditional_1_1type__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dd/d3d/classstd_1_1conditional_1_1type__coll__graph.md5 b/docs/dd/d3d/classstd_1_1conditional_1_1type__coll__graph.md5 new file mode 100644 index 00000000..8a4c11a8 --- /dev/null +++ b/docs/dd/d3d/classstd_1_1conditional_1_1type__coll__graph.md5 @@ -0,0 +1 @@ +ae69c1861bd70f38a5eef879c52022d3 \ No newline at end of file diff --git a/docs/dd/d3d/classstd_1_1conditional_1_1type__coll__graph.png b/docs/dd/d3d/classstd_1_1conditional_1_1type__coll__graph.png new file mode 100644 index 00000000..bf4bd899 Binary files /dev/null and b/docs/dd/d3d/classstd_1_1conditional_1_1type__coll__graph.png differ diff --git a/docs/dd/d44/structnlohmann_1_1detail_1_1conjunction__coll__graph.map b/docs/dd/d44/structnlohmann_1_1detail_1_1conjunction__coll__graph.map new file mode 100644 index 00000000..9bd16566 --- /dev/null +++ b/docs/dd/d44/structnlohmann_1_1detail_1_1conjunction__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dd/d44/structnlohmann_1_1detail_1_1conjunction__coll__graph.md5 b/docs/dd/d44/structnlohmann_1_1detail_1_1conjunction__coll__graph.md5 new file mode 100644 index 00000000..0dac8f36 --- /dev/null +++ b/docs/dd/d44/structnlohmann_1_1detail_1_1conjunction__coll__graph.md5 @@ -0,0 +1 @@ +6e8bfbc0c526b2c5230babaed3579f0b \ No newline at end of file diff --git a/docs/dd/d44/structnlohmann_1_1detail_1_1conjunction__coll__graph.png b/docs/dd/d44/structnlohmann_1_1detail_1_1conjunction__coll__graph.png new file mode 100644 index 00000000..0a6d07f5 Binary files /dev/null and b/docs/dd/d44/structnlohmann_1_1detail_1_1conjunction__coll__graph.png differ diff --git a/docs/dd/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construce6fa33688da703b95649da4749cdeb98.html b/docs/dd/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construce6fa33688da703b95649da4749cdeb98.html new file mode 100644 index 00000000..9ae42c36 --- /dev/null +++ b/docs/dd/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construce6fa33688da703b95649da4749cdeb98.html @@ -0,0 +1,124 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >:
    +
    +
    Inheritance graph
    + + +
    +
    +Collaboration diagram for nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename ConstructibleArrayType>
    +struct nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >

    + + +

    Definition at line 3743 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dd/d4a/cudnn__frontend__ExecutionPlan_8h__dep__incl.md5 b/docs/dd/d4a/cudnn__frontend__ExecutionPlan_8h__dep__incl.md5 index 1c8dde18..7b0c9ba3 100644 --- a/docs/dd/d4a/cudnn__frontend__ExecutionPlan_8h__dep__incl.md5 +++ b/docs/dd/d4a/cudnn__frontend__ExecutionPlan_8h__dep__incl.md5 @@ -1 +1 @@ -599221920f58a5ca03c19a20300f1bc4 \ No newline at end of file +b689fda487b266bb2e0cb3e3d09ae13d \ No newline at end of file diff --git a/docs/dd/d53/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.map b/docs/dd/d53/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.map new file mode 100644 index 00000000..0666b4ef --- /dev/null +++ b/docs/dd/d53/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dd/d53/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.md5 b/docs/dd/d53/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.md5 new file mode 100644 index 00000000..08f5be0d --- /dev/null +++ b/docs/dd/d53/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.md5 @@ -0,0 +1 @@ +d5099e7c437b868b42ff183f11dac446 \ No newline at end of file diff --git a/docs/dd/d53/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.png b/docs/dd/d53/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.png new file mode 100644 index 00000000..7b3c693f Binary files /dev/null and b/docs/dd/d53/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__coll__graph.png differ diff --git a/docs/dd/d59/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.map b/docs/dd/d59/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.map new file mode 100644 index 00000000..986cecdc --- /dev/null +++ b/docs/dd/d59/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/dd/d59/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.md5 b/docs/dd/d59/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.md5 new file mode 100644 index 00000000..98e9bff2 --- /dev/null +++ b/docs/dd/d59/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.md5 @@ -0,0 +1 @@ +1be835686777576975dc4374583f7a25 \ No newline at end of file diff --git a/docs/dd/d59/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.png b/docs/dd/d59/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.png new file mode 100644 index 00000000..f9150824 Binary files /dev/null and b/docs/dd/d59/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4__inherit__graph.png differ diff --git a/docs/dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html b/docs/dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html new file mode 100644 index 00000000..9abacae9 --- /dev/null +++ b/docs/dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html @@ -0,0 +1,165 @@ + + + + + + + +CUDNN Frontend API: std::hash< nlohmann::json > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    std::hash< nlohmann::json > Struct Template Reference
    +
    +
    + +

    hash value for JSON objects + More...

    + +

    #include <json.hpp>

    +
    +Collaboration diagram for std::hash< nlohmann::json >:
    +
    +
    Collaboration graph
    + + +
    + + + + + +

    +Public Member Functions

    std::size_t operator() (const nlohmann::json &j) const
     return a hash value for a JSON object More...
     
    +

    Detailed Description

    +

    template<>
    +struct std::hash< nlohmann::json >

    + +

    hash value for JSON objects

    + +

    Definition at line 25871 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ operator()()

    + +
    +
    + + + + + +
    + + + + + + + + +
    std::size_t std::hash< nlohmann::json >::operator() (const nlohmann::jsonj) const
    +
    +inline
    +
    + +

    return a hash value for a JSON object

    +
    Since
    version 1.0.0
    + +

    Definition at line 25878 of file json.hpp.

    + +

    References nlohmann::detail::hash().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.js b/docs/dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.js new file mode 100644 index 00000000..b1128a96 --- /dev/null +++ b/docs/dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.js @@ -0,0 +1,4 @@ +var structstd_1_1hash_3_01nlohmann_1_1json_01_4 = +[ + [ "operator()", "dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html#aec1567d1fa47dbe5b77954dce3a55b64", null ] +]; \ No newline at end of file diff --git a/docs/dd/d6d/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.map b/docs/dd/d6d/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.map new file mode 100644 index 00000000..9476d447 --- /dev/null +++ b/docs/dd/d6d/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dd/d6d/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.md5 b/docs/dd/d6d/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.md5 new file mode 100644 index 00000000..90737dbf --- /dev/null +++ b/docs/dd/d6d/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.md5 @@ -0,0 +1 @@ +d2e1b2b991e5ea5776df7699fa97a387 \ No newline at end of file diff --git a/docs/dd/d6d/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.png b/docs/dd/d6d/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.png new file mode 100644 index 00000000..96844eae Binary files /dev/null and b/docs/dd/d6d/structnlohmann_1_1detail_1_1to__json__fn__coll__graph.png differ diff --git a/docs/dd/d8d/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA46dfba074ccbbc29093b7c90ac0749ea.map b/docs/dd/d8d/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA46dfba074ccbbc29093b7c90ac0749ea.map new file mode 100644 index 00000000..195b2647 --- /dev/null +++ b/docs/dd/d8d/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA46dfba074ccbbc29093b7c90ac0749ea.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dd/d8d/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA46dfba074ccbbc29093b7c90ac0749ea.md5 b/docs/dd/d8d/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA46dfba074ccbbc29093b7c90ac0749ea.md5 new file mode 100644 index 00000000..b91a6f7e --- /dev/null +++ b/docs/dd/d8d/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA46dfba074ccbbc29093b7c90ac0749ea.md5 @@ -0,0 +1 @@ +b2446043b097c41ce02a27c67c2faf64 \ No newline at end of file diff --git a/docs/dd/d8d/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA46dfba074ccbbc29093b7c90ac0749ea.png b/docs/dd/d8d/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA46dfba074ccbbc29093b7c90ac0749ea.png new file mode 100644 index 00000000..de6ebcb8 Binary files /dev/null and b/docs/dd/d8d/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleA46dfba074ccbbc29093b7c90ac0749ea.png differ diff --git a/docs/dd/d8e/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4-members.html b/docs/dd/d8e/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4-members.html new file mode 100644 index 00000000..b904bd7e --- /dev/null +++ b/docs/dd/d8e/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4-members.html @@ -0,0 +1,104 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::external_constructor< value_t::string > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::external_constructor< value_t::string >, including all inherited members.

    + + + + +
    construct(BasicJsonType &j, const typename BasicJsonType::string_t &s)nlohmann::detail::external_constructor< value_t::string >inlinestatic
    construct(BasicJsonType &j, typename BasicJsonType::string_t &&s)nlohmann::detail::external_constructor< value_t::string >inlinestatic
    construct(BasicJsonType &j, const CompatibleStringType &str)nlohmann::detail::external_constructor< value_t::string >inlinestatic
    +
    + + + + diff --git a/docs/dd/d91/structnlohmann_1_1detail_1_1make__void__coll__graph.map b/docs/dd/d91/structnlohmann_1_1detail_1_1make__void__coll__graph.map new file mode 100644 index 00000000..39197b1a --- /dev/null +++ b/docs/dd/d91/structnlohmann_1_1detail_1_1make__void__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dd/d91/structnlohmann_1_1detail_1_1make__void__coll__graph.md5 b/docs/dd/d91/structnlohmann_1_1detail_1_1make__void__coll__graph.md5 new file mode 100644 index 00000000..1b2a2989 --- /dev/null +++ b/docs/dd/d91/structnlohmann_1_1detail_1_1make__void__coll__graph.md5 @@ -0,0 +1 @@ +c1eb2a03baf345be96a7e22e6995402f \ No newline at end of file diff --git a/docs/dd/d91/structnlohmann_1_1detail_1_1make__void__coll__graph.png b/docs/dd/d91/structnlohmann_1_1detail_1_1make__void__coll__graph.png new file mode 100644 index 00000000..917954ba Binary files /dev/null and b/docs/dd/d91/structnlohmann_1_1detail_1_1make__void__coll__graph.png differ diff --git a/docs/dd/d93/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4-members.html b/docs/dd/d93/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4-members.html new file mode 100644 index 00000000..2bb98458 --- /dev/null +++ b/docs/dd/d93/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >, including all inherited members.

    + + +
    fill_buffer(BaseInputAdapter &input, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >inlinestatic
    +
    + + + + diff --git a/docs/dd/d98/classnlohmann_1_1detail_1_1binary__writer__coll__graph.map b/docs/dd/d98/classnlohmann_1_1detail_1_1binary__writer__coll__graph.map new file mode 100644 index 00000000..7be080be --- /dev/null +++ b/docs/dd/d98/classnlohmann_1_1detail_1_1binary__writer__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dd/d98/classnlohmann_1_1detail_1_1binary__writer__coll__graph.md5 b/docs/dd/d98/classnlohmann_1_1detail_1_1binary__writer__coll__graph.md5 new file mode 100644 index 00000000..1db7fb0e --- /dev/null +++ b/docs/dd/d98/classnlohmann_1_1detail_1_1binary__writer__coll__graph.md5 @@ -0,0 +1 @@ +7582f4e3fa438cf82f1b9a744b4af9d4 \ No newline at end of file diff --git a/docs/dd/d98/classnlohmann_1_1detail_1_1binary__writer__coll__graph.png b/docs/dd/d98/classnlohmann_1_1detail_1_1binary__writer__coll__graph.png new file mode 100644 index 00000000..92945c5f Binary files /dev/null and b/docs/dd/d98/classnlohmann_1_1detail_1_1binary__writer__coll__graph.png differ diff --git a/docs/dd/da4/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.html b/docs/dd/da4/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.html new file mode 100644 index 00000000..33113914 --- /dev/null +++ b/docs/dd/da4/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.html @@ -0,0 +1,126 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, typename > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, typename > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, typename >:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, typename >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename ConstructibleObjectType, typename = void>
    +struct nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, typename >

    + + +

    Definition at line 3648 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html b/docs/dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html new file mode 100644 index 00000000..54362b88 --- /dev/null +++ b/docs/dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html @@ -0,0 +1,153 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Static Public Attributes

    static constexpr bool value
     
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename CompatibleArrayType>
    +struct nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >

    + + +

    Definition at line 3720 of file json.hpp.

    +

    Member Data Documentation

    + +

    ◆ value

    + +
    +
    +
    +template<typename BasicJsonType , typename CompatibleArrayType >
    + + + + + +
    + + + + +
    constexpr bool nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >::value
    +
    +static
    +
    +Initial value:
    =
    is_constructible<BasicJsonType,
    typename CompatibleArrayType::value_type>::value
    +

    Definition at line 3730 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.js b/docs/dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.js new file mode 100644 index 00000000..24b443ab --- /dev/null +++ b/docs/dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d = +[ + [ "value", "dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html#ab4a4e921f0676b2e25d1031ca486ddee", null ] +]; \ No newline at end of file diff --git a/docs/dd/da6/cudnn__frontend__Errata_8h__dep__incl.map b/docs/dd/da6/cudnn__frontend__Errata_8h__dep__incl.map new file mode 100644 index 00000000..94d8341a --- /dev/null +++ b/docs/dd/da6/cudnn__frontend__Errata_8h__dep__incl.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/dd/da6/cudnn__frontend__Errata_8h__dep__incl.md5 b/docs/dd/da6/cudnn__frontend__Errata_8h__dep__incl.md5 new file mode 100644 index 00000000..a4aae537 --- /dev/null +++ b/docs/dd/da6/cudnn__frontend__Errata_8h__dep__incl.md5 @@ -0,0 +1 @@ +6ef0731550de84e045539b35ec9f8815 \ No newline at end of file diff --git a/docs/dd/da6/cudnn__frontend__Errata_8h__dep__incl.png b/docs/dd/da6/cudnn__frontend__Errata_8h__dep__incl.png new file mode 100644 index 00000000..4e6e1f7d Binary files /dev/null and b/docs/dd/da6/cudnn__frontend__Errata_8h__dep__incl.png differ diff --git a/docs/dd/dab/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.map b/docs/dd/dab/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.map new file mode 100644 index 00000000..86c36016 --- /dev/null +++ b/docs/dd/dab/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/dd/dab/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.md5 b/docs/dd/dab/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.md5 new file mode 100644 index 00000000..525d2f05 --- /dev/null +++ b/docs/dd/dab/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.md5 @@ -0,0 +1 @@ +fbe29411853cb233de53050922fdd22f \ No newline at end of file diff --git a/docs/dd/dab/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.png b/docs/dd/dab/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.png new file mode 100644 index 00000000..6477b28c Binary files /dev/null and b/docs/dd/dab/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4__coll__graph.png differ diff --git a/docs/dd/db3/classcudnn__frontend_1_1OperationGraph__v8__inherit__graph.md5 b/docs/dd/db3/classcudnn__frontend_1_1OperationGraph__v8__inherit__graph.md5 index d34b2e2a..43ad64be 100644 --- a/docs/dd/db3/classcudnn__frontend_1_1OperationGraph__v8__inherit__graph.md5 +++ b/docs/dd/db3/classcudnn__frontend_1_1OperationGraph__v8__inherit__graph.md5 @@ -1 +1 @@ -0ed616f5290835af8df71a9100194c19 \ No newline at end of file +3abada4699eb33ccb77e5b433956c9f2 \ No newline at end of file diff --git a/docs/dd/db3/classcudnn__frontend_1_1OperationGraph__v8__inherit__graph.png b/docs/dd/db3/classcudnn__frontend_1_1OperationGraph__v8__inherit__graph.png index 6550cf12..bfae0a32 100644 Binary files a/docs/dd/db3/classcudnn__frontend_1_1OperationGraph__v8__inherit__graph.png and b/docs/dd/db3/classcudnn__frontend_1_1OperationGraph__v8__inherit__graph.png differ diff --git a/docs/dd/dc0/classnlohmann_1_1detail_1_1parser__coll__graph.map b/docs/dd/dc0/classnlohmann_1_1detail_1_1parser__coll__graph.map new file mode 100644 index 00000000..2e9bd0d3 --- /dev/null +++ b/docs/dd/dc0/classnlohmann_1_1detail_1_1parser__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dd/dc0/classnlohmann_1_1detail_1_1parser__coll__graph.md5 b/docs/dd/dc0/classnlohmann_1_1detail_1_1parser__coll__graph.md5 new file mode 100644 index 00000000..5f54319a --- /dev/null +++ b/docs/dd/dc0/classnlohmann_1_1detail_1_1parser__coll__graph.md5 @@ -0,0 +1 @@ +0dbe2cc1aca941342d47b6541ff2e35f \ No newline at end of file diff --git a/docs/dd/dc0/classnlohmann_1_1detail_1_1parser__coll__graph.png b/docs/dd/dc0/classnlohmann_1_1detail_1_1parser__coll__graph.png new file mode 100644 index 00000000..bd56ab0b Binary files /dev/null and b/docs/dd/dc0/classnlohmann_1_1detail_1_1parser__coll__graph.png differ diff --git a/docs/dd/dc5/classnlohmann_1_1detail_1_1exception-members.html b/docs/dd/dc5/classnlohmann_1_1detail_1_1exception-members.html new file mode 100644 index 00000000..1fb42384 --- /dev/null +++ b/docs/dd/dc5/classnlohmann_1_1detail_1_1exception-members.html @@ -0,0 +1,107 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::exception Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::exception, including all inherited members.

    + + + + + + + +
    diagnostics(const BasicJsonType &leaf_element)nlohmann::detail::exceptioninlineprotectedstatic
    exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
    idnlohmann::detail::exception
    mnlohmann::detail::exceptionprivate
    name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
    what() const noexcept overridenlohmann::detail::exceptioninline
    +
    + + + + diff --git a/docs/dd/dcd/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4.html b/docs/dd/dcd/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4.html new file mode 100644 index 00000000..d7722c19 --- /dev/null +++ b/docs/dd/dcd/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4.html @@ -0,0 +1,124 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))> Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))> Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))>:
    +
    +
    Inheritance graph
    + + +
    +
    +Collaboration diagram for nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))>:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename T>
    +struct nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))>

    + + +

    Definition at line 3620 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dd/dde/structnlohmann_1_1detail_1_1conjunction.html b/docs/dd/dde/structnlohmann_1_1detail_1_1conjunction.html new file mode 100644 index 00000000..1a0d196a --- /dev/null +++ b/docs/dd/dde/structnlohmann_1_1detail_1_1conjunction.html @@ -0,0 +1,136 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::conjunction<... > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::conjunction<... > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::conjunction<... >:
    +
    +
    Inheritance graph
    + + + + + + + + + + + + + + +
    +
    +Collaboration diagram for nlohmann::detail::conjunction<... >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<class...>
    +struct nlohmann::detail::conjunction<... >

    + + +

    Definition at line 3549 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/dd/de3/classnlohmann_1_1detail_1_1span__input__adapter__coll__graph.map b/docs/dd/de3/classnlohmann_1_1detail_1_1span__input__adapter__coll__graph.map new file mode 100644 index 00000000..ea192798 --- /dev/null +++ b/docs/dd/de3/classnlohmann_1_1detail_1_1span__input__adapter__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/dd/de3/classnlohmann_1_1detail_1_1span__input__adapter__coll__graph.md5 b/docs/dd/de3/classnlohmann_1_1detail_1_1span__input__adapter__coll__graph.md5 new file mode 100644 index 00000000..baef9524 --- /dev/null +++ b/docs/dd/de3/classnlohmann_1_1detail_1_1span__input__adapter__coll__graph.md5 @@ -0,0 +1 @@ +f55ebcdc0db365f68b6561bf9e3263e5 \ No newline at end of file diff --git a/docs/dd/de3/classnlohmann_1_1detail_1_1span__input__adapter__coll__graph.png b/docs/dd/de3/classnlohmann_1_1detail_1_1span__input__adapter__coll__graph.png new file mode 100644 index 00000000..cc6c4218 Binary files /dev/null and b/docs/dd/de3/classnlohmann_1_1detail_1_1span__input__adapter__coll__graph.png differ diff --git a/docs/dd/de7/cudnn__frontend__EngineConfig_8h__dep__incl.md5 b/docs/dd/de7/cudnn__frontend__EngineConfig_8h__dep__incl.md5 index 2ee91a61..a9229ea3 100644 --- a/docs/dd/de7/cudnn__frontend__EngineConfig_8h__dep__incl.md5 +++ b/docs/dd/de7/cudnn__frontend__EngineConfig_8h__dep__incl.md5 @@ -1 +1 @@ -0f02437f2ef5b69768e3cd114d6d2415 \ No newline at end of file +22a95880db6c9bf701a0d12757b5f375 \ No newline at end of file diff --git a/docs/dd/df5/structnlohmann_1_1detail_1_1conjunction__inherit__graph.map b/docs/dd/df5/structnlohmann_1_1detail_1_1conjunction__inherit__graph.map new file mode 100644 index 00000000..6cf15f82 --- /dev/null +++ b/docs/dd/df5/structnlohmann_1_1detail_1_1conjunction__inherit__graph.map @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/docs/dd/df5/structnlohmann_1_1detail_1_1conjunction__inherit__graph.md5 b/docs/dd/df5/structnlohmann_1_1detail_1_1conjunction__inherit__graph.md5 new file mode 100644 index 00000000..308af787 --- /dev/null +++ b/docs/dd/df5/structnlohmann_1_1detail_1_1conjunction__inherit__graph.md5 @@ -0,0 +1 @@ +0c4447f3a77c65b35202cfd16bc21abf \ No newline at end of file diff --git a/docs/dd/df5/structnlohmann_1_1detail_1_1conjunction__inherit__graph.png b/docs/dd/df5/structnlohmann_1_1detail_1_1conjunction__inherit__graph.png new file mode 100644 index 00000000..d1477d1a Binary files /dev/null and b/docs/dd/df5/structnlohmann_1_1detail_1_1conjunction__inherit__graph.png differ diff --git a/docs/de/d01/structnlohmann_1_1detail_1_1utility__internal_1_1Gen-members.html b/docs/de/d01/structnlohmann_1_1detail_1_1utility__internal_1_1Gen-members.html new file mode 100644 index 00000000..f2866ddb --- /dev/null +++ b/docs/de/d01/structnlohmann_1_1detail_1_1utility__internal_1_1Gen-members.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::utility_internal::Gen< T, N > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::utility_internal::Gen< T, N >, including all inherited members.

    + + +
    type typedefnlohmann::detail::utility_internal::Gen< T, N >
    +
    + + + + diff --git a/docs/de/d0c/classnlohmann_1_1detail_1_1parse__error__inherit__graph.map b/docs/de/d0c/classnlohmann_1_1detail_1_1parse__error__inherit__graph.map new file mode 100644 index 00000000..ed3c24bd --- /dev/null +++ b/docs/de/d0c/classnlohmann_1_1detail_1_1parse__error__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/de/d0c/classnlohmann_1_1detail_1_1parse__error__inherit__graph.md5 b/docs/de/d0c/classnlohmann_1_1detail_1_1parse__error__inherit__graph.md5 new file mode 100644 index 00000000..760ea9ce --- /dev/null +++ b/docs/de/d0c/classnlohmann_1_1detail_1_1parse__error__inherit__graph.md5 @@ -0,0 +1 @@ +1bd6a7f67d486f6c0f7f2e3e351463df \ No newline at end of file diff --git a/docs/de/d0c/classnlohmann_1_1detail_1_1parse__error__inherit__graph.png b/docs/de/d0c/classnlohmann_1_1detail_1_1parse__error__inherit__graph.png new file mode 100644 index 00000000..55e0d9dc Binary files /dev/null and b/docs/de/d0c/classnlohmann_1_1detail_1_1parse__error__inherit__graph.png differ diff --git a/docs/de/d0c/cudnn__frontend_8h.html b/docs/de/d0c/cudnn__frontend_8h.html index 37b9c4e7..a579e89c 100644 --- a/docs/de/d0c/cudnn__frontend_8h.html +++ b/docs/de/d0c/cudnn__frontend_8h.html @@ -92,6 +92,7 @@ #include "cudnn_frontend_Engine.h"
    #include "cudnn_frontend_EngineConfig.h"
    #include "cudnn_frontend_EngineFallbackList.h"
    +#include "cudnn_frontend_Errata.h"
    #include "cudnn_frontend_ExecutionPlan.h"
    #include "cudnn_frontend_Filters.h"
    #include "cudnn_frontend_Operation.h"
    @@ -105,21 +106,24 @@
    - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + +
    @@ -158,6 +162,10 @@   using cudnn_frontend::MatMulDescBuilder = MatMulDescBuilder_v8   +using cudnn_frontend::ReductionDesc = ReductionDesc_v8 +  +using cudnn_frontend::ReductionDescBuilder = ReductionDescBuilder_v8 +  using cudnn_frontend::Operation = Operation_v8   using cudnn_frontend::OperationBuilder = OperationBuilder_v8 diff --git a/docs/de/d0c/cudnn__frontend_8h.js b/docs/de/d0c/cudnn__frontend_8h.js index e1b6e9bc..5359dcda 100644 --- a/docs/de/d0c/cudnn__frontend_8h.js +++ b/docs/de/d0c/cudnn__frontend_8h.js @@ -20,6 +20,8 @@ var cudnn__frontend_8h = [ "OperationGraphBuilder", "de/d0c/cudnn__frontend_8h.html#a0b7ba1175801c56d07d26785bcd8fb70", null ], [ "PointWiseDesc", "de/d0c/cudnn__frontend_8h.html#ada5353494ce649fc915154ced52dcceb", null ], [ "PointWiseDescBuilder", "de/d0c/cudnn__frontend_8h.html#a7f878662c40c287736343affc43f25dc", null ], + [ "ReductionDesc", "de/d0c/cudnn__frontend_8h.html#a4b09ba4625f988c32edfc305b5397f48", null ], + [ "ReductionDescBuilder", "de/d0c/cudnn__frontend_8h.html#aa5a388535aed6e36ef90002af0b80a80", null ], [ "Tensor", "de/d0c/cudnn__frontend_8h.html#aa20fd945a531e0a3a5007e65fe917770", null ], [ "TensorBuilder", "de/d0c/cudnn__frontend_8h.html#a9fea2e22198aaf2ea11a0df46abd0749", null ], [ "VariantPack", "de/d0c/cudnn__frontend_8h.html#ad6ac8113b406ee2b6f20eff4dd2b4e01", null ], diff --git a/docs/de/d0c/cudnn__frontend_8h_source.html b/docs/de/d0c/cudnn__frontend_8h_source.html index e8543510..d32537dd 100644 --- a/docs/de/d0c/cudnn__frontend_8h_source.html +++ b/docs/de/d0c/cudnn__frontend_8h_source.html @@ -84,20 +84,22 @@
    cudnn_frontend.h
    -Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    100 #include "cudnn_frontend_Engine.h"
    104 #include "cudnn_frontend_Filters.h"
    107 #include "cudnn_frontend_Tensor.h"
    111 
    112 namespace cudnn_frontend {
    137 }
    +Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    100 #include "cudnn_frontend_ConvDesc.h"
    102 #include "cudnn_frontend_Engine.h"
    105 #include "cudnn_frontend_Errata.h"
    107 #include "cudnn_frontend_Filters.h"
    110 #include "cudnn_frontend_Tensor.h"
    114 
    115 namespace cudnn_frontend {
    142 }
    - + - + - + + + @@ -105,12 +107,13 @@ + - + @@ -119,7 +122,7 @@ - +
    diff --git a/docs/de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html b/docs/de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html index 8d005ba1..b7e3a665 100644 --- a/docs/de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html +++ b/docs/de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html @@ -96,22 +96,25 @@
    - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +
    diff --git a/docs/de/d2e/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00a1ff4451cf3ca073f21ac070f0175cb4.map b/docs/de/d2e/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00a1ff4451cf3ca073f21ac070f0175cb4.map new file mode 100644 index 00000000..fe5bb15d --- /dev/null +++ b/docs/de/d2e/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00a1ff4451cf3ca073f21ac070f0175cb4.map @@ -0,0 +1,2 @@ + + diff --git a/docs/de/d2e/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00a1ff4451cf3ca073f21ac070f0175cb4.md5 b/docs/de/d2e/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00a1ff4451cf3ca073f21ac070f0175cb4.md5 new file mode 100644 index 00000000..59825e45 --- /dev/null +++ b/docs/de/d2e/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00a1ff4451cf3ca073f21ac070f0175cb4.md5 @@ -0,0 +1 @@ +a1cb59d0c4916413bb13df458b904ff9 \ No newline at end of file diff --git a/docs/de/d2e/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00a1ff4451cf3ca073f21ac070f0175cb4.png b/docs/de/d2e/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00a1ff4451cf3ca073f21ac070f0175cb4.png new file mode 100644 index 00000000..e1dfed39 Binary files /dev/null and b/docs/de/d2e/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00a1ff4451cf3ca073f21ac070f0175cb4.png differ diff --git a/docs/de/d57/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.map b/docs/de/d57/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.map new file mode 100644 index 00000000..55049c59 --- /dev/null +++ b/docs/de/d57/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/de/d57/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.md5 b/docs/de/d57/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.md5 new file mode 100644 index 00000000..a550bd90 --- /dev/null +++ b/docs/de/d57/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.md5 @@ -0,0 +1 @@ +d42a2c7245f2120709bde9802d708802 \ No newline at end of file diff --git a/docs/de/d57/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.png b/docs/de/d57/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.png new file mode 100644 index 00000000..dfebe4de Binary files /dev/null and b/docs/de/d57/structnlohmann_1_1detail_1_1is__compatible__string__type__impl__inherit__graph.png differ diff --git a/docs/de/d5b/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp__coll__graph.map b/docs/de/d5b/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp__coll__graph.map new file mode 100644 index 00000000..8cf151d2 --- /dev/null +++ b/docs/de/d5b/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/de/d5b/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp__coll__graph.md5 b/docs/de/d5b/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp__coll__graph.md5 new file mode 100644 index 00000000..23d29847 --- /dev/null +++ b/docs/de/d5b/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp__coll__graph.md5 @@ -0,0 +1 @@ +9eb5c485380d33d469e0fe2dabf6d6a5 \ No newline at end of file diff --git a/docs/de/d5b/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp__coll__graph.png b/docs/de/d5b/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp__coll__graph.png new file mode 100644 index 00000000..6b041c1b Binary files /dev/null and b/docs/de/d5b/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp__coll__graph.png differ diff --git a/docs/de/d5d/classnlohmann_1_1detail_1_1parse__error__coll__graph.map b/docs/de/d5d/classnlohmann_1_1detail_1_1parse__error__coll__graph.map new file mode 100644 index 00000000..48c54420 --- /dev/null +++ b/docs/de/d5d/classnlohmann_1_1detail_1_1parse__error__coll__graph.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/de/d5d/classnlohmann_1_1detail_1_1parse__error__coll__graph.md5 b/docs/de/d5d/classnlohmann_1_1detail_1_1parse__error__coll__graph.md5 new file mode 100644 index 00000000..1ad7295d --- /dev/null +++ b/docs/de/d5d/classnlohmann_1_1detail_1_1parse__error__coll__graph.md5 @@ -0,0 +1 @@ +957d613826bb5f85544745fa88e51f93 \ No newline at end of file diff --git a/docs/de/d5d/classnlohmann_1_1detail_1_1parse__error__coll__graph.png b/docs/de/d5d/classnlohmann_1_1detail_1_1parse__error__coll__graph.png new file mode 100644 index 00000000..dd691439 Binary files /dev/null and b/docs/de/d5d/classnlohmann_1_1detail_1_1parse__error__coll__graph.png differ diff --git a/docs/de/d6d/cudnn__frontend__Engine_8h.html b/docs/de/d6d/cudnn__frontend__Engine_8h.html index 426af0cd..711052a9 100644 --- a/docs/de/d6d/cudnn__frontend__Engine_8h.html +++ b/docs/de/d6d/cudnn__frontend__Engine_8h.html @@ -103,14 +103,15 @@
    - - - - - - - - + + + + + + + + +
    diff --git a/docs/de/d6d/cudnn__frontend__Engine_8h_source.html b/docs/de/d6d/cudnn__frontend__Engine_8h_source.html index 2bcf9cc5..a581e199 100644 --- a/docs/de/d6d/cudnn__frontend__Engine_8h_source.html +++ b/docs/de/d6d/cudnn__frontend__Engine_8h_source.html @@ -84,7 +84,7 @@
    cudnn_frontend_Engine.h
    -Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <algorithm>
    26 #include <array>
    27 #include <functional>
    28 #include <memory>
    29 #include <sstream>
    30 #include <utility>
    31 #include <vector>
    32 
    33 #include <cudnn.h>
    34 #include <cudnn_backend.h>
    35 
    37 #include "cudnn_frontend_utils.h"
    38 
    39 namespace cudnn_frontend {
    40 
    52 class Engine_v8 : public BackendDescriptor {
    53  private:
    54  Engine_v8() = default;
    55  Engine_v8(Engine_v8 const &) = delete;
    56  Engine_v8 &
    57  operator=(Engine_v8 const &) = delete;
    58 
    62  class Knob {
    63  public:
    64  Knob(cudnnBackendKnobType_t type_, int64_t max, int64_t min, int64_t stride_)
    65  : knobType(type_), maxValue(max), minValue(min), stride(stride_) {}
    66 
    67  std::string
    68  describe() const {
    69  std::stringstream ss;
    70  ss << "Knob:" << knobType;
    71  ss << " Min: " << minValue;
    72  ss << " Max: " << maxValue;
    73  ss << " Stride: " << stride;
    74  return ss.str();
    75  }
    76 
    77  void
    78  setChoice(uint64_t val_) {
    79  choice = val_;
    80  }
    81 
    82  int64_t
    83  getChoice() const {
    84  return choice;
    85  }
    86 
    87  cudnnBackendKnobType_t
    88  getKnobType() const {
    89  return knobType;
    90  }
    91 
    92  int64_t
    93  getMinValue() const {
    94  return minValue;
    95  }
    96 
    97  int64_t
    98  getMaxValue() const {
    99  return minValue;
    100  }
    101 
    102  int64_t
    103  getStride() const {
    104  return stride;
    105  }
    106 
    107  private:
    108  cudnnBackendKnobType_t knobType = CUDNN_KNOB_TYPE_COUNTS;
    109  int64_t maxValue = 0, minValue = 0, stride = 0;
    110  int64_t choice = 0;
    111  };
    112 
    114  int64_t idx = -1;
    115  int64_t numKnobs = 0;
    116  std::array<ManagedOpaqueDescriptor, CUDNN_KNOB_TYPE_COUNTS> bKnobs = {};
    117  std::vector<Knob> knobs;
    118  std::string opGraphTag;
    119 
    121  void
    123  cudnnStatus_t status;
    124  for (auto i = 0; i < numKnobs; i++) {
    125  auto bKnob = bKnobs[i]->get_backend_descriptor();
    126  cudnnBackendKnobType_t type;
    127  int64_t maxValue, minValue, stride, elemCount;
    128  status =
    129  cudnnBackendGetAttribute(bKnob, CUDNN_ATTR_KNOB_INFO_TYPE, CUDNN_TYPE_KNOB_TYPE, 1, &elemCount, &type);
    130  if (status != CUDNN_STATUS_SUCCESS) {
    132  status,
    133  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR "
    134  "GetAttribute CUDNN_ATTR_KNOB_INFO_TYPE failed");
    135  }
    136  status = cudnnBackendGetAttribute(
    137  bKnob, CUDNN_ATTR_KNOB_INFO_MAXIMUM_VALUE, CUDNN_TYPE_INT64, 1, &elemCount, &maxValue);
    138  if (status != CUDNN_STATUS_SUCCESS) {
    140  status,
    141  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR "
    142  "GetAttribute CUDNN_ATTR_KNOB_INFO_MAXIMUM_VALUE Failed");
    143  }
    144  status = cudnnBackendGetAttribute(
    145  bKnob, CUDNN_ATTR_KNOB_INFO_MINIMUM_VALUE, CUDNN_TYPE_INT64, 1, &elemCount, &minValue);
    146  if (status != CUDNN_STATUS_SUCCESS) {
    148  status,
    149  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR "
    150  "GetAttribute CUDNN_ATTR_KNOB_INFO_MINIMUM_VALUE Failed");
    151  }
    152  status =
    153  cudnnBackendGetAttribute(bKnob, CUDNN_ATTR_KNOB_INFO_STRIDE, CUDNN_TYPE_INT64, 1, &elemCount, &stride);
    154  if (status != CUDNN_STATUS_SUCCESS) {
    156  status,
    157  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR "
    158  "GetAttribute CUDNN_ATTR_KNOB_INFO_STRIDE Failed");
    159  }
    160  knobs.emplace_back(Knob(type, maxValue, minValue, stride));
    161  }
    162  }
    163 
    164  public:
    165  friend class EngineBuilder_v8;
    166  std::string
    167  describe() const override {
    168  std::stringstream ss;
    169  ss << "CUDNN_BACKEND_ENGINE_DESCRIPTOR :";
    170  ss << " ID: " << idx;
    171  ss << " Has " << numKnobs << " knobs";
    172  return ss.str();
    173  }
    175  : BackendDescriptor(from.get_desc(), from.get_status(), from.get_error()),
    176  opGraph(from.opGraph),
    177  idx(from.idx),
    178  opGraphTag(from.opGraphTag) {
    179  cudnnStatus_t status;
    180  for (uint64_t i = 0; i < bKnobs.size(); i++) {
    181  bKnobs[i] = make_shared_backend_pointer(CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR);
    182  if (bKnobs[i]->is_good() == false) {
    183  status = bKnobs[i]->get_status();
    185  this,
    186  status,
    187  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR cudnnCreate Failed");
    188  }
    189  }
    190 
    191  std::array<cudnnBackendDescriptor_t, CUDNN_KNOB_TYPE_COUNTS> bKnobs_ =
    192  {};
    193  for (std::uint32_t i = 0; i < bKnobs.size(); i++) {
    194  bKnobs_[i] = bKnobs[i]->get_backend_descriptor();
    195  }
    196  status = cudnnBackendGetAttribute(pointer->get_backend_descriptor(),
    197  CUDNN_ATTR_ENGINE_KNOB_INFO,
    198  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    199  CUDNN_KNOB_TYPE_COUNTS,
    200  &numKnobs,
    201  bKnobs_.data());
    202  if (status != CUDNN_STATUS_SUCCESS) {
    204  this, status, "CUDNN_BACKEND_ENGINE_DESCRIPTOR: GetAttribute CUDNN_ATTR_ENGINE_KNOB_INFO Query Failed");
    205  }
    206  buildKnobs();
    207  }
    208  ~Engine_v8() = default;
    209 
    210  std::string const &
    211  getTag() const {
    212  return opGraphTag;
    213  }
    214 
    216  std::vector<Knob> &
    218  return knobs;
    219  }
    220 
    222  std::vector<Knob> const &
    224  return knobs;
    225  }
    226 };
    227 
    232  public:
    237  auto
    240  m_engine.opGraph = opGraph_.get_desc();
    241  m_engine.opGraphTag = opGraph_.getTag();
    242  return *this;
    243  }
    244 
    246  auto
    248  m_engine.opGraph = desc_;
    249  return *this;
    250  }
    252  auto
    254  m_engine.idx = idx_;
    255  return *this;
    256  }
    259  Engine_v8 &&
    262  build() {
    263  if (m_engine.idx < 0) {
    265  &m_engine,
    266  CUDNN_STATUS_BAD_PARAM,
    267  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: Check and Set the CUDNN_ATTR_ENGINE_GLOBAL_INDEX to valid value");
    268  return std::move(m_engine);
    269  }
    270  if (m_engine.opGraph == nullptr) {
    272  &m_engine,
    273  CUDNN_STATUS_BAD_PARAM,
    274  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: Check and Set CUDNN_ATTR_ENGINE_OPERATION_GRAPH to valid value");
    275  return std::move(m_engine);
    276  }
    277 
    278  // Create a descriptor. Memory allocation happens here.
    279  auto status = m_engine.initialize_managed_backend_pointer(CUDNN_BACKEND_ENGINE_DESCRIPTOR);
    280  if (status != CUDNN_STATUS_SUCCESS) {
    282  &m_engine, status, "CUDNN_BACKEND_ENGINE_DESCRIPTOR: cudnnCreate Descriptor Failed");
    283  return std::move(m_engine);
    284  }
    285 
    286  status = cudnnBackendSetAttribute(m_engine.pointer->get_backend_descriptor(),
    287  CUDNN_ATTR_ENGINE_OPERATION_GRAPH,
    288  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    289  1,
    290  &(m_engine.opGraph->get_backend_descriptor()));
    291  if (status != CUDNN_STATUS_SUCCESS) {
    293  &m_engine,
    294  status,
    295  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: SetAttribute CUDNN_ATTR_ENGINE_OPERATION_GRAPH Failed");
    296  return std::move(m_engine);
    297  }
    298 
    299  status = cudnnBackendSetAttribute(m_engine.pointer->get_backend_descriptor(),
    300  CUDNN_ATTR_ENGINE_GLOBAL_INDEX,
    301  CUDNN_TYPE_INT64,
    302  1,
    303  &m_engine.idx);
    304  if (status != CUDNN_STATUS_SUCCESS) {
    306  &m_engine,
    307  status,
    308  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: SetAttribute CUDNN_ATTR_ENGINE_GLOBAL_INDEX Failed");
    309  return std::move(m_engine);
    310  }
    311 
    312  // Finalizing the descriptor
    313  status = cudnnBackendFinalize(m_engine.pointer->get_backend_descriptor());
    314  if (status != CUDNN_STATUS_SUCCESS) {
    315  set_error_and_throw_exception(&m_engine, status, "CUDNN_BACKEND_ENGINE_DESCRIPTOR: cudnnFinalize Failed");
    316  return std::move(m_engine);
    317  }
    318 
    319  return std::move(m_engine);
    320  }
    321 
    322  explicit EngineBuilder_v8() = default;
    323  ~EngineBuilder_v8() = default;
    324  EngineBuilder_v8(EngineBuilder_v8 &&) = delete;
    325  EngineBuilder_v8(EngineBuilder_v8 const &) = delete;
    327  operator=(EngineBuilder_v8 const &) = delete;
    328 
    329  private:
    331 };
    332 }
    int64_t choice
    Choice set by the user.
    +Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <algorithm>
    26 #include <array>
    27 #include <functional>
    28 #include <memory>
    29 #include <sstream>
    30 #include <utility>
    31 #include <vector>
    32 
    33 #include <cudnn.h>
    34 #include <cudnn_backend.h>
    35 
    37 #include "cudnn_frontend_utils.h"
    38 
    39 namespace cudnn_frontend {
    40 
    52 class Engine_v8 : public BackendDescriptor {
    53  private:
    54  Engine_v8() = default;
    55  Engine_v8(Engine_v8 const &) = delete;
    56  Engine_v8 &
    57  operator=(Engine_v8 const &) = delete;
    58 
    62  class Knob {
    63  public:
    64  Knob(cudnnBackendKnobType_t type_, int64_t max, int64_t min, int64_t stride_)
    65  : knobType(type_), maxValue(max), minValue(min), stride(stride_) {}
    66 
    67  std::string
    68  describe() const {
    69  std::stringstream ss;
    70  ss << "Knob:" << knobType;
    71  ss << " Min: " << minValue;
    72  ss << " Max: " << maxValue;
    73  ss << " Stride: " << stride;
    74  return ss.str();
    75  }
    76 
    77  void
    78  setChoice(uint64_t val_) {
    79  choice = val_;
    80  }
    81 
    82  int64_t
    83  getChoice() const {
    84  return choice;
    85  }
    86 
    87  cudnnBackendKnobType_t
    88  getKnobType() const {
    89  return knobType;
    90  }
    91 
    92  int64_t
    93  getMinValue() const {
    94  return minValue;
    95  }
    96 
    97  int64_t
    98  getMaxValue() const {
    99  return minValue;
    100  }
    101 
    102  int64_t
    103  getStride() const {
    104  return stride;
    105  }
    106 
    107  private:
    108  cudnnBackendKnobType_t knobType = CUDNN_KNOB_TYPE_COUNTS;
    109  int64_t maxValue = 0, minValue = 0, stride = 0;
    110  int64_t choice = 0;
    111  };
    112 
    114  int64_t idx = -1;
    115  int64_t numKnobs = 0;
    116  std::array<ManagedOpaqueDescriptor, CUDNN_KNOB_TYPE_COUNTS> bKnobs = {};
    117  std::vector<Knob> knobs;
    118  std::string opGraphTag;
    119 
    121  void
    123  cudnnStatus_t status;
    124  for (auto i = 0; i < numKnobs; i++) {
    125  auto bKnob = bKnobs[i]->get_backend_descriptor();
    126  cudnnBackendKnobType_t type;
    127  int64_t maxValue, minValue, stride, elemCount;
    128  status =
    129  cudnnBackendGetAttribute(bKnob, CUDNN_ATTR_KNOB_INFO_TYPE, CUDNN_TYPE_KNOB_TYPE, 1, &elemCount, &type);
    130  if (status != CUDNN_STATUS_SUCCESS) {
    132  status,
    133  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR "
    134  "GetAttribute CUDNN_ATTR_KNOB_INFO_TYPE failed");
    135  }
    136  status = cudnnBackendGetAttribute(
    137  bKnob, CUDNN_ATTR_KNOB_INFO_MAXIMUM_VALUE, CUDNN_TYPE_INT64, 1, &elemCount, &maxValue);
    138  if (status != CUDNN_STATUS_SUCCESS) {
    140  status,
    141  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR "
    142  "GetAttribute CUDNN_ATTR_KNOB_INFO_MAXIMUM_VALUE Failed");
    143  }
    144  status = cudnnBackendGetAttribute(
    145  bKnob, CUDNN_ATTR_KNOB_INFO_MINIMUM_VALUE, CUDNN_TYPE_INT64, 1, &elemCount, &minValue);
    146  if (status != CUDNN_STATUS_SUCCESS) {
    148  status,
    149  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR "
    150  "GetAttribute CUDNN_ATTR_KNOB_INFO_MINIMUM_VALUE Failed");
    151  }
    152  status =
    153  cudnnBackendGetAttribute(bKnob, CUDNN_ATTR_KNOB_INFO_STRIDE, CUDNN_TYPE_INT64, 1, &elemCount, &stride);
    154  if (status != CUDNN_STATUS_SUCCESS) {
    156  status,
    157  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR "
    158  "GetAttribute CUDNN_ATTR_KNOB_INFO_STRIDE Failed");
    159  }
    160  knobs.emplace_back(Knob(type, maxValue, minValue, stride));
    161  }
    162  }
    163 
    164  public:
    165  friend class EngineBuilder_v8;
    166  std::string
    167  describe() const override {
    168  std::stringstream ss;
    169  ss << "CUDNN_BACKEND_ENGINE_DESCRIPTOR :";
    170  ss << " ID: " << idx;
    171  ss << " Has " << numKnobs << " knobs";
    172  return ss.str();
    173  }
    175  : BackendDescriptor(from.get_desc(), from.get_status(), from.get_error()),
    176  opGraph(from.opGraph),
    177  idx(from.idx),
    178  opGraphTag(from.opGraphTag) {
    179  cudnnStatus_t status;
    180  for (uint64_t i = 0; i < bKnobs.size(); i++) {
    181  bKnobs[i] = make_shared_backend_pointer(CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR);
    182  if (bKnobs[i]->is_good() == false) {
    183  status = bKnobs[i]->get_status();
    185  this,
    186  status,
    187  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: CUDNN_BACKEND_KNOB_INFO_DESCRIPTOR cudnnCreate Failed");
    188  }
    189  }
    190 
    191  std::array<cudnnBackendDescriptor_t, CUDNN_KNOB_TYPE_COUNTS> bKnobs_ =
    192  {};
    193  for (std::uint32_t i = 0; i < bKnobs.size(); i++) {
    194  bKnobs_[i] = bKnobs[i]->get_backend_descriptor();
    195  }
    196  status = cudnnBackendGetAttribute(pointer->get_backend_descriptor(),
    197  CUDNN_ATTR_ENGINE_KNOB_INFO,
    198  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    199  CUDNN_KNOB_TYPE_COUNTS,
    200  &numKnobs,
    201  bKnobs_.data());
    202  if (status != CUDNN_STATUS_SUCCESS) {
    204  this, status, "CUDNN_BACKEND_ENGINE_DESCRIPTOR: GetAttribute CUDNN_ATTR_ENGINE_KNOB_INFO Query Failed");
    205  }
    206  buildKnobs();
    207  }
    208  ~Engine_v8() = default;
    209 
    210  std::string const &
    211  getTag() const {
    212  return opGraphTag;
    213  }
    214 
    216  std::vector<Knob> &
    218  return knobs;
    219  }
    220 
    222  std::vector<Knob> const &
    224  return knobs;
    225  }
    226 };
    227 
    232  public:
    237  auto
    240  m_engine.opGraph = opGraph_.get_desc();
    241  m_engine.opGraphTag = opGraph_.getTag();
    242  return *this;
    243  }
    244 
    246  auto
    248  m_engine.opGraph = desc_;
    249  return *this;
    250  }
    252  auto
    254  m_engine.idx = idx_;
    255  return *this;
    256  }
    259  Engine_v8 &&
    262  build() {
    263  if (m_engine.idx < 0) {
    265  &m_engine,
    266  CUDNN_STATUS_BAD_PARAM,
    267  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: Check and Set the CUDNN_ATTR_ENGINE_GLOBAL_INDEX to valid value");
    268  return std::move(m_engine);
    269  }
    270  if (m_engine.opGraph == nullptr) {
    272  &m_engine,
    273  CUDNN_STATUS_BAD_PARAM,
    274  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: Check and Set CUDNN_ATTR_ENGINE_OPERATION_GRAPH to valid value");
    275  return std::move(m_engine);
    276  }
    277 
    278  // Create a descriptor. Memory allocation happens here.
    279  auto status = m_engine.initialize_managed_backend_pointer(CUDNN_BACKEND_ENGINE_DESCRIPTOR);
    280  if (status != CUDNN_STATUS_SUCCESS) {
    282  &m_engine, status, "CUDNN_BACKEND_ENGINE_DESCRIPTOR: cudnnCreate Descriptor Failed");
    283  return std::move(m_engine);
    284  }
    285 
    286  status = cudnnBackendSetAttribute(m_engine.pointer->get_backend_descriptor(),
    287  CUDNN_ATTR_ENGINE_OPERATION_GRAPH,
    288  CUDNN_TYPE_BACKEND_DESCRIPTOR,
    289  1,
    290  &(m_engine.opGraph->get_backend_descriptor()));
    291  if (status != CUDNN_STATUS_SUCCESS) {
    293  &m_engine,
    294  status,
    295  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: SetAttribute CUDNN_ATTR_ENGINE_OPERATION_GRAPH Failed");
    296  return std::move(m_engine);
    297  }
    298 
    299  status = cudnnBackendSetAttribute(m_engine.pointer->get_backend_descriptor(),
    300  CUDNN_ATTR_ENGINE_GLOBAL_INDEX,
    301  CUDNN_TYPE_INT64,
    302  1,
    303  &m_engine.idx);
    304  if (status != CUDNN_STATUS_SUCCESS) {
    306  &m_engine,
    307  status,
    308  "CUDNN_BACKEND_ENGINE_DESCRIPTOR: SetAttribute CUDNN_ATTR_ENGINE_GLOBAL_INDEX Failed");
    309  return std::move(m_engine);
    310  }
    311 
    312  // Finalizing the descriptor
    313  status = cudnnBackendFinalize(m_engine.pointer->get_backend_descriptor());
    314  if (status != CUDNN_STATUS_SUCCESS) {
    315  set_error_and_throw_exception(&m_engine, status, "CUDNN_BACKEND_ENGINE_DESCRIPTOR: cudnnFinalize Failed");
    316  return std::move(m_engine);
    317  }
    318 
    319  return std::move(m_engine);
    320  }
    321 
    322  explicit EngineBuilder_v8() = default;
    323  ~EngineBuilder_v8() = default;
    324  EngineBuilder_v8(EngineBuilder_v8 &&) = delete;
    325  EngineBuilder_v8(EngineBuilder_v8 const &) = delete;
    327  operator=(EngineBuilder_v8 const &) = delete;
    328 
    329  private:
    331 };
    332 }
    int64_t choice
    Choice set by the user.
    Engine_v8 & operator=(Engine_v8 const &)=delete
    auto setOperationGraph(ManagedOpaqueDescriptor desc_) -> EngineBuilder_v8 &
    Set operationGraph for the engine.
    @@ -124,6 +124,7 @@
    std::string describe() const override
    Return a string describing the backend Descriptor.
    const char * get_error() const
    Diagonistic error message if any.
    + diff --git a/docs/de/d6f/classcudnn__frontend_1_1EngineFallbackList__v8__inherit__graph.md5 b/docs/de/d6f/classcudnn__frontend_1_1EngineFallbackList__v8__inherit__graph.md5 index 04caa4dd..69e13730 100644 --- a/docs/de/d6f/classcudnn__frontend_1_1EngineFallbackList__v8__inherit__graph.md5 +++ b/docs/de/d6f/classcudnn__frontend_1_1EngineFallbackList__v8__inherit__graph.md5 @@ -1 +1 @@ -d8ddbe712b82e02261fde1ee3250607f \ No newline at end of file +95f21e565400b9613a90685f49b3c5dd \ No newline at end of file diff --git a/docs/de/d6f/classcudnn__frontend_1_1EngineFallbackList__v8__inherit__graph.png b/docs/de/d6f/classcudnn__frontend_1_1EngineFallbackList__v8__inherit__graph.png index a60d92aa..c82b8a68 100644 Binary files a/docs/de/d6f/classcudnn__frontend_1_1EngineFallbackList__v8__inherit__graph.png and b/docs/de/d6f/classcudnn__frontend_1_1EngineFallbackList__v8__inherit__graph.png differ diff --git a/docs/de/d6f/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.map b/docs/de/d6f/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.map new file mode 100644 index 00000000..5c01ddbb --- /dev/null +++ b/docs/de/d6f/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/de/d6f/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.md5 b/docs/de/d6f/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.md5 new file mode 100644 index 00000000..fc690ecb --- /dev/null +++ b/docs/de/d6f/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.md5 @@ -0,0 +1 @@ +39264503906c07aa8fcb6bf6396a85ee \ No newline at end of file diff --git a/docs/de/d6f/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.png b/docs/de/d6f/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.png new file mode 100644 index 00000000..fc7b67c2 Binary files /dev/null and b/docs/de/d6f/structnlohmann_1_1detail_1_1is__compatible__type__inherit__graph.png differ diff --git a/docs/de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html b/docs/de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html new file mode 100644 index 00000000..3ac7c561 --- /dev/null +++ b/docs/de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html @@ -0,0 +1,673 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::json_reverse_iterator< Base > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::json_reverse_iterator< Base > Class Template Reference
    +
    +
    + +

    a template for a reverse iterator class + More...

    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::json_reverse_iterator< Base >:
    +
    +
    Inheritance graph
    + + +
    +
    +Collaboration diagram for nlohmann::detail::json_reverse_iterator< Base >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + +

    +Public Types

    using difference_type = std::ptrdiff_t
     
    using base_iterator = std::reverse_iterator< Base >
     shortcut to the reverse iterator adapter More...
     
    using reference = typename Base::reference
     the reference type for the pointed-to element More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

     json_reverse_iterator (const typename base_iterator::iterator_type &it) noexcept
     create reverse iterator from iterator More...
     
     json_reverse_iterator (const base_iterator &it) noexcept
     create reverse iterator from base class More...
     
    json_reverse_iterator const operator++ (int)
     post-increment (it++) More...
     
    json_reverse_iteratoroperator++ ()
     pre-increment (++it) More...
     
    json_reverse_iterator const operator-- (int)
     post-decrement (it–) More...
     
    json_reverse_iteratoroperator-- ()
     pre-decrement (–it) More...
     
    json_reverse_iteratoroperator+= (difference_type i)
     add to iterator More...
     
    json_reverse_iterator operator+ (difference_type i) const
     add to iterator More...
     
    json_reverse_iterator operator- (difference_type i) const
     subtract from iterator More...
     
    difference_type operator- (const json_reverse_iterator &other) const
     return difference More...
     
    reference operator[] (difference_type n) const
     access to successor More...
     
    auto key () const -> decltype(std::declval< Base >().key())
     return the key of an object iterator More...
     
    reference value () const
     return the value of an iterator More...
     
    +

    Detailed Description

    +

    template<typename Base>
    +class nlohmann::detail::json_reverse_iterator< Base >

    + +

    a template for a reverse iterator class

    +
    Template Parameters
    + + +
    Basethe base iterator type to reverse. Valid types are iterator (to create reverse_iterator) and const_iterator (to create const_reverse_iterator).
    +
    +
    +

    The class satisfies the following concept requirements:

      +
    • BidirectionalIterator: The iterator that can be moved can be moved in both directions (i.e. incremented and decremented).
    • +
    • OutputIterator: It is possible to write to the pointed-to element (only if Base is iterator).
    • +
    +
    Since
    version 1.0.0
    + +

    Definition at line 11993 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ base_iterator

    + +
    +
    +
    +template<typename Base >
    + + + + +
    using nlohmann::detail::json_reverse_iterator< Base >::base_iterator = std::reverse_iterator<Base>
    +
    + +

    shortcut to the reverse iterator adapter

    + +

    Definition at line 11998 of file json.hpp.

    + +
    +
    + +

    ◆ difference_type

    + +
    +
    +
    +template<typename Base >
    + + + + +
    using nlohmann::detail::json_reverse_iterator< Base >::difference_type = std::ptrdiff_t
    +
    + +

    Definition at line 11996 of file json.hpp.

    + +
    +
    + +

    ◆ reference

    + +
    +
    +
    +template<typename Base >
    + + + + +
    using nlohmann::detail::json_reverse_iterator< Base >::reference = typename Base::reference
    +
    + +

    the reference type for the pointed-to element

    + +

    Definition at line 12000 of file json.hpp.

    + +
    +
    +

    Constructor & Destructor Documentation

    + +

    ◆ json_reverse_iterator() [1/2]

    + +
    +
    +
    +template<typename Base >
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::json_reverse_iterator< Base >::json_reverse_iterator (const typename base_iterator::iterator_type & it)
    +
    +inlineexplicitnoexcept
    +
    + +

    create reverse iterator from iterator

    + +

    Definition at line 12003 of file json.hpp.

    + +
    +
    + +

    ◆ json_reverse_iterator() [2/2]

    + +
    +
    +
    +template<typename Base >
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::json_reverse_iterator< Base >::json_reverse_iterator (const base_iteratorit)
    +
    +inlineexplicitnoexcept
    +
    + +

    create reverse iterator from base class

    + +

    Definition at line 12007 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ key()

    + +
    +
    +
    +template<typename Base >
    + + + + + +
    + + + + + + + +
    auto nlohmann::detail::json_reverse_iterator< Base >::key () const -> decltype(std::declval<Base>().key()) +
    +
    +inline
    +
    + +

    return the key of an object iterator

    + +

    Definition at line 12064 of file json.hpp.

    + +
    +
    + +

    ◆ operator+()

    + +
    +
    +
    +template<typename Base >
    + + + + + +
    + + + + + + + + +
    json_reverse_iterator nlohmann::detail::json_reverse_iterator< Base >::operator+ (difference_type i) const
    +
    +inline
    +
    + +

    add to iterator

    + +

    Definition at line 12040 of file json.hpp.

    + +
    +
    + +

    ◆ operator++() [1/2]

    + +
    +
    +
    +template<typename Base >
    + + + + + +
    + + + + + + + + +
    json_reverse_iterator const nlohmann::detail::json_reverse_iterator< Base >::operator++ (int )
    +
    +inline
    +
    + +

    post-increment (it++)

    + +

    Definition at line 12010 of file json.hpp.

    + +
    +
    + +

    ◆ operator++() [2/2]

    + +
    +
    +
    +template<typename Base >
    + + + + + +
    + + + + + + + +
    json_reverse_iterator& nlohmann::detail::json_reverse_iterator< Base >::operator++ ()
    +
    +inline
    +
    + +

    pre-increment (++it)

    + +

    Definition at line 12016 of file json.hpp.

    + +
    +
    + +

    ◆ operator+=()

    + +
    +
    +
    +template<typename Base >
    + + + + + +
    + + + + + + + + +
    json_reverse_iterator& nlohmann::detail::json_reverse_iterator< Base >::operator+= (difference_type i)
    +
    +inline
    +
    + +

    add to iterator

    + +

    Definition at line 12034 of file json.hpp.

    + +
    +
    + +

    ◆ operator-() [1/2]

    + +
    +
    +
    +template<typename Base >
    + + + + + +
    + + + + + + + + +
    json_reverse_iterator nlohmann::detail::json_reverse_iterator< Base >::operator- (difference_type i) const
    +
    +inline
    +
    + +

    subtract from iterator

    + +

    Definition at line 12046 of file json.hpp.

    + +
    +
    + +

    ◆ operator-() [2/2]

    + +
    +
    +
    +template<typename Base >
    + + + + + +
    + + + + + + + + +
    difference_type nlohmann::detail::json_reverse_iterator< Base >::operator- (const json_reverse_iterator< Base > & other) const
    +
    +inline
    +
    + +

    return difference

    + +

    Definition at line 12052 of file json.hpp.

    + +
    +
    + +

    ◆ operator--() [1/2]

    + +
    +
    +
    +template<typename Base >
    + + + + + +
    + + + + + + + + +
    json_reverse_iterator const nlohmann::detail::json_reverse_iterator< Base >::operator-- (int )
    +
    +inline
    +
    + +

    post-decrement (it–)

    + +

    Definition at line 12022 of file json.hpp.

    + +
    +
    + +

    ◆ operator--() [2/2]

    + +
    +
    +
    +template<typename Base >
    + + + + + +
    + + + + + + + +
    json_reverse_iterator& nlohmann::detail::json_reverse_iterator< Base >::operator-- ()
    +
    +inline
    +
    + +

    pre-decrement (–it)

    + +

    Definition at line 12028 of file json.hpp.

    + +
    +
    + +

    ◆ operator[]()

    + +
    +
    +
    +template<typename Base >
    + + + + + +
    + + + + + + + + +
    reference nlohmann::detail::json_reverse_iterator< Base >::operator[] (difference_type n) const
    +
    +inline
    +
    + +

    access to successor

    + +

    Definition at line 12058 of file json.hpp.

    + +
    +
    + +

    ◆ value()

    + +
    +
    +
    +template<typename Base >
    + + + + + +
    + + + + + + + +
    reference nlohmann::detail::json_reverse_iterator< Base >::value () const
    +
    +inline
    +
    + +

    return the value of an iterator

    + +

    Definition at line 12071 of file json.hpp.

    + +

    References NLOHMANN_BASIC_JSON_TPL_DECLARATION.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.js b/docs/de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.js new file mode 100644 index 00000000..06331595 --- /dev/null +++ b/docs/de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.js @@ -0,0 +1,19 @@ +var classnlohmann_1_1detail_1_1json__reverse__iterator = +[ + [ "base_iterator", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a6b2ef1d632fe49bfcc22fbd1abd62395", null ], + [ "difference_type", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a9ab55987c05ec6427ad36082e351cc45", null ], + [ "reference", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a42f51a69bac7b2aebb613b2164e457f1", null ], + [ "json_reverse_iterator", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a0246de16ece16293f2917dfa5d96e278", null ], + [ "json_reverse_iterator", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a6c2d025530114ed989188e8adfc8467e", null ], + [ "key", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#adc648a641e8e9a1072c5abd56ad06401", null ], + [ "operator+", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#aabf172b436988e2edde22f13f27caaed", null ], + [ "operator++", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#aada9d2b320002ef870c5283cda2c1e9d", null ], + [ "operator++", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a26caf0069a50ce4ecb010a1453e883fc", null ], + [ "operator+=", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a4e5d0a3bee433104ef87366e00536e01", null ], + [ "operator-", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a549c6eb10b6434eaf772f71d129a6d79", null ], + [ "operator-", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#aaaa6c0b1d74e74e35e5f7b56dfd6c5d1", null ], + [ "operator--", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a2c170f51371538da2c8f4094305da3d3", null ], + [ "operator--", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a2488d6a902103610943920ac49d12a04", null ], + [ "operator[]", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a8ed9e445e03c49c46612eb7f7d55bb61", null ], + [ "value", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#ae22803d442d483041d17239615f83b58", null ] +]; \ No newline at end of file diff --git a/docs/de/d77/classnlohmann_1_1detail_1_1lexer__base.html b/docs/de/d77/classnlohmann_1_1detail_1_1lexer__base.html new file mode 100644 index 00000000..46c47d4c --- /dev/null +++ b/docs/de/d77/classnlohmann_1_1detail_1_1lexer__base.html @@ -0,0 +1,275 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::lexer_base< BasicJsonType > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::lexer_base< BasicJsonType > Class Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::lexer_base< BasicJsonType >:
    +
    +
    Inheritance graph
    + + + +
    +
    +Collaboration diagram for nlohmann::detail::lexer_base< BasicJsonType >:
    +
    +
    Collaboration graph
    + + +
    + + + + + +

    +Public Types

    enum  token_type {
    +  token_type::uninitialized, +
    +  token_type::literal_true, +
    +  token_type::literal_false, +
    +  token_type::literal_null, +
    +  token_type::value_string, +
    +  token_type::value_unsigned, +
    +  token_type::value_integer, +
    +  token_type::value_float, +
    +  token_type::begin_array, +
    +  token_type::begin_object, +
    +  token_type::end_array, +
    +  token_type::end_object, +
    +  token_type::name_separator, +
    +  token_type::value_separator, +
    +  token_type::parse_error, +
    +  token_type::end_of_input, +
    +  token_type::literal_or_value +
    + }
     token types for the parser More...
     
    + + + + +

    +Static Public Member Functions

    JSON_HEDLEY_RETURNS_NON_NULL static JSON_HEDLEY_CONST const char * token_type_name (const token_type t) noexcept
     return name of values of type token_type (only used for errors) More...
     
    +

    Detailed Description

    +

    template<typename BasicJsonType>
    +class nlohmann::detail::lexer_base< BasicJsonType >

    + + +

    Definition at line 6449 of file json.hpp.

    +

    Member Enumeration Documentation

    + +

    ◆ token_type

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + +
    enum nlohmann::detail::lexer_base::token_type
    +
    +strong
    +
    + +

    token types for the parser

    + + + + + + + + + + + + + + + + + + +
    Enumerator
    uninitialized 

    indicating the scanner is uninitialized

    +
    literal_true 

    the true literal

    +
    literal_false 

    the false literal

    +
    literal_null 

    the null literal

    +
    value_string 

    a string – use get_string() for actual value

    +
    value_unsigned 

    an unsigned integer – use get_number_unsigned() for actual value

    +
    value_integer 

    a signed integer – use get_number_integer() for actual value

    +
    value_float 

    an floating point number – use get_number_float() for actual value

    +
    begin_array 

    the character for array begin [

    +
    begin_object 

    the character for object begin {

    +
    end_array 

    the character for array end ]

    +
    end_object 

    the character for object end }

    +
    name_separator 

    the name separator :

    +
    value_separator 

    the value separator ,

    +
    parse_error 

    indicating a parse error

    +
    end_of_input 

    indicating the end of the input buffer

    +
    literal_or_value 

    a literal or the begin of a value (only for diagnostics)

    +
    + +

    Definition at line 6453 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ token_type_name()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    JSON_HEDLEY_RETURNS_NON_NULL static JSON_HEDLEY_CONST const char* nlohmann::detail::lexer_base< BasicJsonType >::token_type_name (const token_type t)
    +
    +inlinestaticnoexcept
    +
    + +

    return name of values of type token_type (only used for errors)

    + +

    Definition at line 6477 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/de/d77/classnlohmann_1_1detail_1_1lexer__base.js b/docs/de/d77/classnlohmann_1_1detail_1_1lexer__base.js new file mode 100644 index 00000000..af61f7a8 --- /dev/null +++ b/docs/de/d77/classnlohmann_1_1detail_1_1lexer__base.js @@ -0,0 +1,23 @@ +var classnlohmann_1_1detail_1_1lexer__base = +[ + [ "token_type", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454", [ + [ "uninitialized", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a42dd1a73d072bb6bf3f494f22b15db8e", null ], + [ "literal_true", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a85cc1a37b0aaa52de40e72f0ed4e0c0d", null ], + [ "literal_false", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454afab1694b1b3937a079f4625fe0b6108b", null ], + [ "literal_null", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454ab7ae4c0e46d86f884677768160b26e9e", null ], + [ "value_string", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a2b490e8bf366b4cbe3ebd99b26ce15ce", null ], + [ "value_unsigned", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454aaf1f040fcd2f674d2e5893d7a731078f", null ], + [ "value_integer", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a5064b6655d88a50ae16665cf7751c0ee", null ], + [ "value_float", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a0d2671a6f81efb91e77f6ac3bdb11443", null ], + [ "begin_array", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a16c226b4425b68560fea322b46dabe01", null ], + [ "begin_object", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a9a9ffd53b6869d4eca271b1ed5b57fe8", null ], + [ "end_array", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a2f3e68e7f111a1e5c7728742b3ca2b7f", null ], + [ "end_object", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a7d5b4427866814de4d8f132721d59c87", null ], + [ "name_separator", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454acc3c64f8ae08c00de1b33f19a4d2913a", null ], + [ "value_separator", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a745373036100d7392ad62c617cab59af", null ], + [ "parse_error", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a456e19aeafa334241c7ff3f589547f9d", null ], + [ "end_of_input", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454aca11f56dd477c09e06583dbdcda0985f", null ], + [ "literal_or_value", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454ad2a8e6f6721cccec0b466301dd9495a5", null ] + ] ], + [ "token_type_name", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html#ad214d59300605f9d3a4a32c8917aa608", null ] +]; \ No newline at end of file diff --git a/docs/de/d7b/structnlohmann_1_1json__sax-members.html b/docs/de/d7b/structnlohmann_1_1json__sax-members.html new file mode 100644 index 00000000..c593d7cd --- /dev/null +++ b/docs/de/d7b/structnlohmann_1_1json__sax-members.html @@ -0,0 +1,125 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::json_sax< BasicJsonType > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::json_sax< BasicJsonType >, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    binary(binary_t &val)=0nlohmann::json_sax< BasicJsonType >pure virtual
    binary_t typedefnlohmann::json_sax< BasicJsonType >
    boolean(bool val)=0nlohmann::json_sax< BasicJsonType >pure virtual
    end_array()=0nlohmann::json_sax< BasicJsonType >pure virtual
    end_object()=0nlohmann::json_sax< BasicJsonType >pure virtual
    json_sax()=defaultnlohmann::json_sax< BasicJsonType >
    json_sax(const json_sax &)=defaultnlohmann::json_sax< BasicJsonType >
    json_sax(json_sax &&) noexcept=defaultnlohmann::json_sax< BasicJsonType >
    key(string_t &val)=0nlohmann::json_sax< BasicJsonType >pure virtual
    null()=0nlohmann::json_sax< BasicJsonType >pure virtual
    number_float(number_float_t val, const string_t &s)=0nlohmann::json_sax< BasicJsonType >pure virtual
    number_float_t typedefnlohmann::json_sax< BasicJsonType >
    number_integer(number_integer_t val)=0nlohmann::json_sax< BasicJsonType >pure virtual
    number_integer_t typedefnlohmann::json_sax< BasicJsonType >
    number_unsigned(number_unsigned_t val)=0nlohmann::json_sax< BasicJsonType >pure virtual
    number_unsigned_t typedefnlohmann::json_sax< BasicJsonType >
    operator=(const json_sax &)=defaultnlohmann::json_sax< BasicJsonType >
    operator=(json_sax &&) noexcept=defaultnlohmann::json_sax< BasicJsonType >
    parse_error(std::size_t position, const std::string &last_token, const detail::exception &ex)=0nlohmann::json_sax< BasicJsonType >pure virtual
    start_array(std::size_t elements)=0nlohmann::json_sax< BasicJsonType >pure virtual
    start_object(std::size_t elements)=0nlohmann::json_sax< BasicJsonType >pure virtual
    string(string_t &val)=0nlohmann::json_sax< BasicJsonType >pure virtual
    string_t typedefnlohmann::json_sax< BasicJsonType >
    ~json_sax()=defaultnlohmann::json_sax< BasicJsonType >virtual
    +
    + + + + diff --git a/docs/de/d7d/classB1__coll__graph.map b/docs/de/d7d/classB1__coll__graph.map new file mode 100644 index 00000000..c55cd2bd --- /dev/null +++ b/docs/de/d7d/classB1__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/de/d7d/classB1__coll__graph.md5 b/docs/de/d7d/classB1__coll__graph.md5 new file mode 100644 index 00000000..28c70d34 --- /dev/null +++ b/docs/de/d7d/classB1__coll__graph.md5 @@ -0,0 +1 @@ +82045af8a659ebdebb035bb20a0e9c29 \ No newline at end of file diff --git a/docs/de/d7d/classB1__coll__graph.png b/docs/de/d7d/classB1__coll__graph.png new file mode 100644 index 00000000..3d57053b Binary files /dev/null and b/docs/de/d7d/classB1__coll__graph.png differ diff --git a/docs/de/d8c/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.map b/docs/de/d8c/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.map new file mode 100644 index 00000000..d84a7a2a --- /dev/null +++ b/docs/de/d8c/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/de/d8c/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.md5 b/docs/de/d8c/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.md5 new file mode 100644 index 00000000..bbacca06 --- /dev/null +++ b/docs/de/d8c/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.md5 @@ -0,0 +1 @@ +bdd3c7ca113ecee71e53139ce8d8692f \ No newline at end of file diff --git a/docs/de/d8c/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.png b/docs/de/d8c/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.png new file mode 100644 index 00000000..db478553 Binary files /dev/null and b/docs/de/d8c/structnlohmann_1_1detail_1_1is__compatible__array__type__impl__coll__graph.png differ diff --git a/docs/de/d90/classnlohmann_1_1basic__json__coll__graph.map b/docs/de/d90/classnlohmann_1_1basic__json__coll__graph.map new file mode 100644 index 00000000..9dbde1fb --- /dev/null +++ b/docs/de/d90/classnlohmann_1_1basic__json__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/de/d90/classnlohmann_1_1basic__json__coll__graph.md5 b/docs/de/d90/classnlohmann_1_1basic__json__coll__graph.md5 new file mode 100644 index 00000000..457cff79 --- /dev/null +++ b/docs/de/d90/classnlohmann_1_1basic__json__coll__graph.md5 @@ -0,0 +1 @@ +66b6c9a0820bd41ec34c0169af5fea36 \ No newline at end of file diff --git a/docs/de/d90/classnlohmann_1_1basic__json__coll__graph.png b/docs/de/d90/classnlohmann_1_1basic__json__coll__graph.png new file mode 100644 index 00000000..ee4e5312 Binary files /dev/null and b/docs/de/d90/classnlohmann_1_1basic__json__coll__graph.png differ diff --git a/docs/de/daa/classnlohmann_1_1detail_1_1iteration__proxy__value-members.html b/docs/de/daa/classnlohmann_1_1detail_1_1iteration__proxy__value-members.html new file mode 100644 index 00000000..b78d9bb3 --- /dev/null +++ b/docs/de/daa/classnlohmann_1_1detail_1_1iteration__proxy__value-members.html @@ -0,0 +1,119 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::iteration_proxy_value< IteratorType > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::iteration_proxy_value< IteratorType >, including all inherited members.

    + + + + + + + + + + + + + + + + + + + +
    anchornlohmann::detail::iteration_proxy_value< IteratorType >private
    array_indexnlohmann::detail::iteration_proxy_value< IteratorType >private
    array_index_lastnlohmann::detail::iteration_proxy_value< IteratorType >mutableprivate
    array_index_strnlohmann::detail::iteration_proxy_value< IteratorType >mutableprivate
    difference_type typedefnlohmann::detail::iteration_proxy_value< IteratorType >
    empty_strnlohmann::detail::iteration_proxy_value< IteratorType >private
    iteration_proxy_value(IteratorType it) noexceptnlohmann::detail::iteration_proxy_value< IteratorType >inlineexplicit
    iterator_category typedefnlohmann::detail::iteration_proxy_value< IteratorType >
    key() constnlohmann::detail::iteration_proxy_value< IteratorType >inline
    operator!=(const iteration_proxy_value &o) constnlohmann::detail::iteration_proxy_value< IteratorType >inline
    operator*()nlohmann::detail::iteration_proxy_value< IteratorType >inline
    operator++()nlohmann::detail::iteration_proxy_value< IteratorType >inline
    operator==(const iteration_proxy_value &o) constnlohmann::detail::iteration_proxy_value< IteratorType >inline
    pointer typedefnlohmann::detail::iteration_proxy_value< IteratorType >
    reference typedefnlohmann::detail::iteration_proxy_value< IteratorType >
    string_type typedefnlohmann::detail::iteration_proxy_value< IteratorType >
    value() constnlohmann::detail::iteration_proxy_value< IteratorType >inline
    value_type typedefnlohmann::detail::iteration_proxy_value< IteratorType >
    +
    + + + + diff --git a/docs/de/dab/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.map b/docs/de/dab/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.map new file mode 100644 index 00000000..eb72b56e --- /dev/null +++ b/docs/de/dab/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/de/dab/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.md5 b/docs/de/dab/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.md5 new file mode 100644 index 00000000..6dcccef3 --- /dev/null +++ b/docs/de/dab/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.md5 @@ -0,0 +1 @@ +726219b2c0c8a5903368006f39e00351 \ No newline at end of file diff --git a/docs/de/dab/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.png b/docs/de/dab/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.png new file mode 100644 index 00000000..6b0b6a8b Binary files /dev/null and b/docs/de/dab/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_31bae2175447e35a79f8ff22df87ddb2a.png differ diff --git a/docs/de/db8/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati9e1648edfab196390907b5831efed54c.map b/docs/de/db8/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati9e1648edfab196390907b5831efed54c.map new file mode 100644 index 00000000..7309d7cb --- /dev/null +++ b/docs/de/db8/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati9e1648edfab196390907b5831efed54c.map @@ -0,0 +1,2 @@ + + diff --git a/docs/de/db8/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati9e1648edfab196390907b5831efed54c.md5 b/docs/de/db8/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati9e1648edfab196390907b5831efed54c.md5 new file mode 100644 index 00000000..5691b6a0 --- /dev/null +++ b/docs/de/db8/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati9e1648edfab196390907b5831efed54c.md5 @@ -0,0 +1 @@ +e3dcc6e65227eeaf92d2b87fdd705e81 \ No newline at end of file diff --git a/docs/de/db8/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati9e1648edfab196390907b5831efed54c.png b/docs/de/db8/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati9e1648edfab196390907b5831efed54c.png new file mode 100644 index 00000000..691fb081 Binary files /dev/null and b/docs/de/db8/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compati9e1648edfab196390907b5831efed54c.png differ diff --git a/docs/de/dbc/structnlohmann_1_1detail_1_1is__getable.html b/docs/de/dbc/structnlohmann_1_1detail_1_1is__getable.html new file mode 100644 index 00000000..06911c52 --- /dev/null +++ b/docs/de/dbc/structnlohmann_1_1detail_1_1is__getable.html @@ -0,0 +1,153 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_getable< BasicJsonType, T > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::is_getable< BasicJsonType, T > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::is_getable< BasicJsonType, T >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Static Public Attributes

    static constexpr bool value = is_detected<get_template_function, const BasicJsonType&, T>::value
     
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename T>
    +struct nlohmann::detail::is_getable< BasicJsonType, T >

    + + +

    Definition at line 3498 of file json.hpp.

    +

    Member Data Documentation

    + +

    ◆ value

    + +
    +
    +
    +template<typename BasicJsonType , typename T >
    + + + + + +
    + + + + +
    constexpr bool nlohmann::detail::is_getable< BasicJsonType, T >::value = is_detected<get_template_function, const BasicJsonType&, T>::value
    +
    +static
    +
    + +

    Definition at line 3500 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/de/dbc/structnlohmann_1_1detail_1_1is__getable.js b/docs/de/dbc/structnlohmann_1_1detail_1_1is__getable.js new file mode 100644 index 00000000..393faa7e --- /dev/null +++ b/docs/de/dbc/structnlohmann_1_1detail_1_1is__getable.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1is__getable = +[ + [ "value", "de/dbc/structnlohmann_1_1detail_1_1is__getable.html#a2150b5b5398683147928a61c99cd0070", null ] +]; \ No newline at end of file diff --git a/docs/de/dbd/classnlohmann_1_1detail_1_1output__string__adapter-members.html b/docs/de/dbd/classnlohmann_1_1detail_1_1output__string__adapter-members.html new file mode 100644 index 00000000..34fc7a9c --- /dev/null +++ b/docs/de/dbd/classnlohmann_1_1detail_1_1output__string__adapter-members.html @@ -0,0 +1,111 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::output_string_adapter< CharType, StringType > Member List
    +
    + +
    + + + + diff --git a/docs/de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.html b/docs/de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.html new file mode 100644 index 00000000..5d162466 --- /dev/null +++ b/docs/de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.html @@ -0,0 +1,145 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Public Types

    using type = integer_sequence< T, Ints...,(Ints+SeqSize)... >
     
    +

    Detailed Description

    +

    template<typename T, T... Ints, size_t SeqSize>
    +struct nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 >

    + + +

    Definition at line 3100 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ type

    + +
    +
    +
    +template<typename T , T... Ints, size_t SeqSize>
    + + + + +
    using nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 >::type = integer_sequence < T, Ints..., (Ints + SeqSize)... >
    +
    + +

    Definition at line 3102 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.js b/docs/de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.js new file mode 100644 index 00000000..fddf6cf1 --- /dev/null +++ b/docs/de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842 = +[ + [ "type", "de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.html#a75d2738748868859f358e87d3b89f6fc", null ] +]; \ No newline at end of file diff --git a/docs/de/dc5/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power-members.html b/docs/de/dc5/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power-members.html new file mode 100644 index 00000000..421fbc4f --- /dev/null +++ b/docs/de/dc5/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power-members.html @@ -0,0 +1,104 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::dtoa_impl::cached_power Member List
    +
    + +
    + + + + diff --git a/docs/de/dca/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4-members.html b/docs/de/dca/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4-members.html new file mode 100644 index 00000000..3e642646 --- /dev/null +++ b/docs/de/dca/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4-members.html @@ -0,0 +1,103 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::external_constructor< value_t::binary > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::external_constructor< value_t::binary >, including all inherited members.

    + + + +
    construct(BasicJsonType &j, const typename BasicJsonType::binary_t &b)nlohmann::detail::external_constructor< value_t::binary >inlinestatic
    construct(BasicJsonType &j, typename BasicJsonType::binary_t &&b)nlohmann::detail::external_constructor< value_t::binary >inlinestatic
    +
    + + + + diff --git a/docs/de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html b/docs/de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html index 3298fe40..404c1388 100644 --- a/docs/de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html +++ b/docs/de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html @@ -124,6 +124,8 @@ auto getEngineCount (void) const -> int64_t  Query the total count of the engines for the Operation Set. More...
      +uint64_t getOpCount () const +  std::string const & getTag () const   - Public Member Functions inherited from cudnn_frontend::BackendDescriptor @@ -144,7 +146,7 @@ ManagedOpaqueDescriptor get_desc () const  Returns a copy of underlying managed descriptor. More...
      -cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type) +cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type)  Initializes the underlying managed descriptor. More...
      @@ -279,7 +281,7 @@

    -

    Referenced by getTag().

    +

    Referenced by getTag().

    @@ -339,6 +341,35 @@

    Definition at line 55 of file cudnn_frontend_OperationGraph.h.

    + + + +

    ◆ getOpCount()

    + +
    +
    +

    + + + + +
    + + + + + + + +
    uint64_t cudnn_frontend::OperationGraph_v8::getOpCount () const
    +
    +inline
    +
    + +

    Definition at line 95 of file cudnn_frontend_OperationGraph.h.

    + +

    References numOps.

    +
    @@ -364,9 +395,9 @@

    -

    Definition at line 95 of file cudnn_frontend_OperationGraph.h.

    +

    Definition at line 100 of file cudnn_frontend_OperationGraph.h.

    -

    References OperationGraph_v8(), operator=(), and opGraphTag.

    +

    References OperationGraph_v8(), operator=(), and opGraphTag.

    @@ -394,7 +425,7 @@

    -

    Referenced by cudnn_frontend::OperationGraphBuilder_v8::build(), and getTag().

    +

    Referenced by cudnn_frontend::OperationGraphBuilder_v8::build(), and getTag().

    @@ -421,7 +452,7 @@

    Definition at line 53 of file cudnn_frontend_OperationGraph.h.

    -

    Referenced by cudnn_frontend::OperationGraphBuilder_v8::build().

    +

    Referenced by cudnn_frontend::OperationGraphBuilder_v8::build().

    @@ -446,7 +477,7 @@

    -

    Definition at line 105 of file cudnn_frontend_OperationGraph.h.

    +

    Definition at line 110 of file cudnn_frontend_OperationGraph.h.

    @@ -470,7 +501,9 @@

    -

    Definition at line 107 of file cudnn_frontend_OperationGraph.h.

    +

    Definition at line 112 of file cudnn_frontend_OperationGraph.h.

    + +

    Referenced by getOpCount().

    @@ -494,9 +527,9 @@

    -

    Definition at line 108 of file cudnn_frontend_OperationGraph.h.

    +

    Definition at line 113 of file cudnn_frontend_OperationGraph.h.

    -

    Referenced by getTag().

    +

    Referenced by getTag().

    @@ -520,7 +553,7 @@

    -

    Definition at line 106 of file cudnn_frontend_OperationGraph.h.

    +

    Definition at line 111 of file cudnn_frontend_OperationGraph.h.

    diff --git a/docs/de/dd9/classcudnn__frontend_1_1OperationGraph__v8.js b/docs/de/dd9/classcudnn__frontend_1_1OperationGraph__v8.js index 0ef57c3a..db578cb9 100644 --- a/docs/de/dd9/classcudnn__frontend_1_1OperationGraph__v8.js +++ b/docs/de/dd9/classcudnn__frontend_1_1OperationGraph__v8.js @@ -6,6 +6,7 @@ var classcudnn__frontend_1_1OperationGraph__v8 = [ "OperationGraph_v8", "de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a0b3b76a619160671c45c733eb1a13455", null ], [ "describe", "de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#acd0b5f47407184b0b26bf4d4b5d0ce32", null ], [ "getEngineCount", "d1/df7/group__OperationGraphQuery.html#ga7a7a8d03f5a3aa54f14b83be4abe2a26", null ], + [ "getOpCount", "de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#aa344863fca30448e6f3e139d69f62080", null ], [ "getTag", "de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a19fd5ed99ab4053c8a178bd33843460a", null ], [ "operator=", "de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a87704bb46bb12bba977a21ed579a4ef3", null ], [ "OperationGraphBuilder_v8", "de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a5af59a099cc90eda429563e285b2907f", null ], diff --git a/docs/de/de7/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Constru4ae72fb0e97c72f558a648b01baadc64.map b/docs/de/de7/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Constru4ae72fb0e97c72f558a648b01baadc64.map new file mode 100644 index 00000000..c5cb6f19 --- /dev/null +++ b/docs/de/de7/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Constru4ae72fb0e97c72f558a648b01baadc64.map @@ -0,0 +1,2 @@ + + diff --git a/docs/de/de7/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Constru4ae72fb0e97c72f558a648b01baadc64.md5 b/docs/de/de7/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Constru4ae72fb0e97c72f558a648b01baadc64.md5 new file mode 100644 index 00000000..d68bdf9e --- /dev/null +++ b/docs/de/de7/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Constru4ae72fb0e97c72f558a648b01baadc64.md5 @@ -0,0 +1 @@ +9427d97b765ca3c15693fe73c764074e \ No newline at end of file diff --git a/docs/de/de7/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Constru4ae72fb0e97c72f558a648b01baadc64.png b/docs/de/de7/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Constru4ae72fb0e97c72f558a648b01baadc64.png new file mode 100644 index 00000000..147c4f87 Binary files /dev/null and b/docs/de/de7/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Constru4ae72fb0e97c72f558a648b01baadc64.png differ diff --git a/docs/de/dec/cudnn__frontend__OperationGraph_8h__dep__incl.md5 b/docs/de/dec/cudnn__frontend__OperationGraph_8h__dep__incl.md5 index 7e8eebc6..da31cc01 100644 --- a/docs/de/dec/cudnn__frontend__OperationGraph_8h__dep__incl.md5 +++ b/docs/de/dec/cudnn__frontend__OperationGraph_8h__dep__incl.md5 @@ -1 +1 @@ -815692d134641c7cd63bc5ee01f2c9d8 \ No newline at end of file +ff6864a5b9c47c7058990cfe83eb3518 \ No newline at end of file diff --git a/docs/de/df0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.html b/docs/de/df0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.html new file mode 100644 index 00000000..ec61c731 --- /dev/null +++ b/docs/de/df0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.html @@ -0,0 +1,126 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, typename > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, typename > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, typename >:
    +
    +
    Inheritance graph
    + + + + +
    +
    +Collaboration diagram for nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, typename >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename ConstructibleStringType, typename = void>
    +struct nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, typename >

    + + +

    Definition at line 3699 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/de/df2/classnlohmann_1_1detail_1_1exception.html b/docs/de/df2/classnlohmann_1_1detail_1_1exception.html new file mode 100644 index 00000000..a35b3cca --- /dev/null +++ b/docs/de/df2/classnlohmann_1_1detail_1_1exception.html @@ -0,0 +1,372 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::exception Class Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + + +
    + +

    general exception of the basic_json class + More...

    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::exception:
    +
    +
    Inheritance graph
    + + + + + + + + +
    +
    +Collaboration diagram for nlohmann::detail::exception:
    +
    +
    Collaboration graph
    + + + + +
    + + + + + +

    +Public Member Functions

    const char * what () const noexcept override
     returns the explanatory string More...
     
    + + + + +

    +Public Attributes

    const int id
     the id of the exception More...
     
    + + + +

    +Protected Member Functions

     exception (int id_, const char *what_arg)
     
    + + + + + + +

    +Static Protected Member Functions

    static std::string name (const std::string &ename, int id_)
     
    template<typename BasicJsonType >
    static std::string diagnostics (const BasicJsonType &leaf_element)
     
    + + + + +

    +Private Attributes

    std::runtime_error m
     an exception object as storage for error messages More...
     
    +

    Detailed Description

    +

    general exception of the basic_json class

    +

    This class is an extension of std::exception objects with a member id for exception ids. It is used as the base class for all exceptions thrown by the basic_json class. This class can hence be used as "wildcard" to catch exceptions.

    +

    Subclasses:

      +
    • parse_error for exceptions indicating a parse error
    • +
    • invalid_iterator for exceptions indicating errors with iterators
    • +
    • type_error for exceptions indicating executing a member function with a wrong type
    • +
    • out_of_range for exceptions indicating access out of the defined range
    • +
    • other_error for exceptions indicating other library errors
    • +
    +

    {The following code shows how arbitrary library exceptions can be caught.,exception}

    +
    Since
    version 3.0.0
    + +

    Definition at line 2642 of file json.hpp.

    +

    Constructor & Destructor Documentation

    + +

    ◆ exception()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    nlohmann::detail::exception::exception (int id_,
    const char * what_arg 
    )
    +
    +inlineprotected
    +
    + +

    Definition at line 2656 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ diagnostics()

    + +
    +
    +
    +template<typename BasicJsonType >
    + + + + + +
    + + + + + + + + +
    static std::string nlohmann::detail::exception::diagnostics (const BasicJsonType & leaf_element)
    +
    +inlinestaticprotected
    +
    +
    + +

    ◆ name()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static std::string nlohmann::detail::exception::name (const std::stringename,
    int id_ 
    )
    +
    +inlinestaticprotected
    +
    +
    + +

    ◆ what()

    + +
    +
    + + + + + +
    + + + + + + + +
    const char* nlohmann::detail::exception::what () const
    +
    +inlineoverridenoexcept
    +
    + +

    returns the explanatory string

    + +

    Definition at line 2646 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ id

    + +
    +
    + + + + +
    const int nlohmann::detail::exception::id
    +
    + +

    the id of the exception

    + +

    Definition at line 2652 of file json.hpp.

    + +
    +
    + +

    ◆ m

    + +
    +
    + + + + + +
    + + + + +
    std::runtime_error nlohmann::detail::exception::m
    +
    +private
    +
    + +

    an exception object as storage for error messages

    + +

    Definition at line 2721 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/de/df2/classnlohmann_1_1detail_1_1exception.js b/docs/de/df2/classnlohmann_1_1detail_1_1exception.js new file mode 100644 index 00000000..f9a8adf9 --- /dev/null +++ b/docs/de/df2/classnlohmann_1_1detail_1_1exception.js @@ -0,0 +1,9 @@ +var classnlohmann_1_1detail_1_1exception = +[ + [ "exception", "de/df2/classnlohmann_1_1detail_1_1exception.html#ae323ad0d53bc724414c2233164e65657", null ], + [ "diagnostics", "de/df2/classnlohmann_1_1detail_1_1exception.html#aa353a7dba4fd179f7224b8a2a238a264", null ], + [ "name", "de/df2/classnlohmann_1_1detail_1_1exception.html#abf41a7e9178356314082284e6cfea278", null ], + [ "what", "de/df2/classnlohmann_1_1detail_1_1exception.html#a0672c25ecdf14d1a071d4d6478a65af0", null ], + [ "id", "de/df2/classnlohmann_1_1detail_1_1exception.html#a0d4589a3fb54e81646d986c05efa3b9a", null ], + [ "m", "de/df2/classnlohmann_1_1detail_1_1exception.html#ad54778dc4f125488cbce8ec276dfdde2", null ] +]; \ No newline at end of file diff --git a/docs/df/d13/classnlohmann_1_1detail_1_1output__adapter.html b/docs/df/d13/classnlohmann_1_1detail_1_1output__adapter.html new file mode 100644 index 00000000..7266066a --- /dev/null +++ b/docs/df/d13/classnlohmann_1_1detail_1_1output__adapter.html @@ -0,0 +1,286 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::output_adapter< CharType, StringType > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::output_adapter< CharType, StringType > Class Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::output_adapter< CharType, StringType >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + +

    +Public Member Functions

     output_adapter (std::vector< CharType > &vec)
     
     output_adapter (std::basic_ostream< CharType > &s)
     
     output_adapter (StringType &s)
     
     operator output_adapter_t< CharType > ()
     
    + + + +

    +Private Attributes

    output_adapter_t< CharType > oa = nullptr
     
    +

    Detailed Description

    +

    template<typename CharType, typename StringType = std::basic_string<CharType>>
    +class nlohmann::detail::output_adapter< CharType, StringType >

    + + +

    Definition at line 13226 of file json.hpp.

    +

    Constructor & Destructor Documentation

    + +

    ◆ output_adapter() [1/3]

    + +
    +
    +
    +template<typename CharType, typename StringType = std::basic_string<CharType>>
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::output_adapter< CharType, StringType >::output_adapter (std::vector< CharType > & vec)
    +
    +inline
    +
    + +

    Definition at line 13229 of file json.hpp.

    + +
    +
    + +

    ◆ output_adapter() [2/3]

    + +
    +
    +
    +template<typename CharType, typename StringType = std::basic_string<CharType>>
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::output_adapter< CharType, StringType >::output_adapter (std::basic_ostream< CharType > & s)
    +
    +inline
    +
    + +

    Definition at line 13232 of file json.hpp.

    + +
    +
    + +

    ◆ output_adapter() [3/3]

    + +
    +
    +
    +template<typename CharType, typename StringType = std::basic_string<CharType>>
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::output_adapter< CharType, StringType >::output_adapter (StringType & s)
    +
    +inline
    +
    + +

    Definition at line 13235 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ operator output_adapter_t< CharType >()

    + +
    +
    +
    +template<typename CharType, typename StringType = std::basic_string<CharType>>
    + + + + + +
    + + + + + + + +
    nlohmann::detail::output_adapter< CharType, StringType >::operator output_adapter_t< CharType > ()
    +
    +inline
    +
    + +

    Definition at line 13238 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ oa

    + +
    +
    +
    +template<typename CharType, typename StringType = std::basic_string<CharType>>
    + + + + + +
    + + + + +
    output_adapter_t<CharType> nlohmann::detail::output_adapter< CharType, StringType >::oa = nullptr
    +
    +private
    +
    + +

    Definition at line 13244 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/df/d13/classnlohmann_1_1detail_1_1output__adapter.js b/docs/df/d13/classnlohmann_1_1detail_1_1output__adapter.js new file mode 100644 index 00000000..597c181f --- /dev/null +++ b/docs/df/d13/classnlohmann_1_1detail_1_1output__adapter.js @@ -0,0 +1,8 @@ +var classnlohmann_1_1detail_1_1output__adapter = +[ + [ "output_adapter", "df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a05a30a77b568fd84676078d938cbd484", null ], + [ "output_adapter", "df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a43b3ba852e6a2c3f4d312543bb04c00d", null ], + [ "output_adapter", "df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a6ad59d1ec534383b430cd7ef8a518539", null ], + [ "operator output_adapter_t< CharType >", "df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a5fdac7aec8ade2f4bb0b5df30550d90c", null ], + [ "oa", "df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a323c18d74d6680faafec6dc3ace825e2", null ] +]; \ No newline at end of file diff --git a/docs/df/d17/cudnn__frontend__utils_8h.html b/docs/df/d17/cudnn__frontend__utils_8h.html index fd17b5fb..852eb63f 100644 --- a/docs/df/d17/cudnn__frontend__utils_8h.html +++ b/docs/df/d17/cudnn__frontend__utils_8h.html @@ -105,20 +105,21 @@
    - - - - - - + + + + + + - - - - - - + + + + + + + diff --git a/docs/df/d17/cudnn__frontend__utils_8h_source.html b/docs/df/d17/cudnn__frontend__utils_8h_source.html index 66514f52..cdfcb9c3 100644 --- a/docs/df/d17/cudnn__frontend__utils_8h_source.html +++ b/docs/df/d17/cudnn__frontend__utils_8h_source.html @@ -84,9 +84,10 @@
    cudnn_frontend_utils.h
    -Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 #include <exception>
    25 #include <string>
    26 
    27 #include "cudnn_backend_base.h"
    28 
    29 namespace cudnn_frontend {
    30 
    31 #ifndef NV_CUDNN_DISABLE_EXCEPTION
    32 class cudnnException : public std::runtime_error {
    33  public:
    34  cudnnException(const char *message) throw() : std::runtime_error(message) {}
    35  virtual const char *
    36  what() const throw() {
    37  return std::runtime_error::what();
    38  }
    39 };
    40 #endif
    41 
    42 static inline void
    43 throw_if(std::function<bool()> expr, const char *message) {
    44  if (expr()) {
    45 #ifndef NV_CUDNN_DISABLE_EXCEPTION
    46  throw cudnnException(message);
    47 #endif
    48  }
    49 }
    50 static inline void
    51 throw_if(bool expr, const char *message) {
    52  if (expr) {
    53 #ifndef NV_CUDNN_DISABLE_EXCEPTION
    54  throw cudnnException(message);
    55 #endif
    56  }
    57 }
    58 
    59 static inline void
    60 set_error_and_throw_exception(BackendDescriptor const *desc, cudnnStatus_t status, const char *message) {
    61  if (desc != nullptr) {
    62  desc->set_status(status);
    63  desc->set_error(message);
    64  }
    65 #ifndef NV_CUDNN_DISABLE_EXCEPTION
    66  throw cudnnException(
    67  std::string(std::string(message) + std::string(" cudnn_status: ") + std::to_string(status)).c_str());
    68 #endif
    69 }
    70 }
    +Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 #include <exception>
    25 #include <string>
    26 
    27 #include "cudnn_backend_base.h"
    28 
    29 namespace cudnn_frontend {
    30 
    31 #ifndef NV_CUDNN_DISABLE_EXCEPTION
    32 class cudnnException : public std::runtime_error {
    33  public:
    34  cudnnException(const char *message) throw() : std::runtime_error(message) {}
    35  virtual const char *
    36  what() const throw() {
    37  return std::runtime_error::what();
    38  }
    39 };
    40 #endif
    41 
    42 static inline void
    43 throw_if(std::function<bool()> expr, const char *message) {
    44  if (expr()) {
    45 #ifndef NV_CUDNN_DISABLE_EXCEPTION
    46  throw cudnnException(message);
    47 #endif
    48  }
    49 }
    50 static inline void
    51 throw_if(bool expr, const char *message) {
    52  if (expr) {
    53 #ifndef NV_CUDNN_DISABLE_EXCEPTION
    54  throw cudnnException(message);
    55 #endif
    56  }
    57 }
    58 
    59 static inline void
    60 set_error_and_throw_exception(BackendDescriptor const *desc, cudnnStatus_t status, const char *message) {
    61  if (desc != nullptr) {
    62  desc->set_status(status);
    63  desc->set_error(message);
    64  }
    65 #ifndef NV_CUDNN_DISABLE_EXCEPTION
    66  throw cudnnException(
    67  std::string(std::string(message) + std::string(" cudnn_status: ") + std::to_string(status)).c_str());
    68 #endif
    69 }
    70 }
    void set_status(cudnnStatus_t const status_) const
    Set status of the descriptor.
    static void set_error_and_throw_exception(BackendDescriptor const *desc, cudnnStatus_t status, const char *message)
    +
    NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string to_string(const NLOHMANN_BASIC_JSON_TPL &j)
    user-defined to_string function for JSON values
    Definition: json.hpp:25855
    virtual const char * what() const
    static void throw_if(std::function< bool()> expr, const char *message)
    diff --git a/docs/df/d17/structnlohmann_1_1detail_1_1is__constructible__tuple.html b/docs/df/d17/structnlohmann_1_1detail_1_1is__constructible__tuple.html new file mode 100644 index 00000000..40c4fa70 --- /dev/null +++ b/docs/df/d17/structnlohmann_1_1detail_1_1is__constructible__tuple.html @@ -0,0 +1,124 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible_tuple< T1, T2 > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::is_constructible_tuple< T1, T2 > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Inheritance diagram for nlohmann::detail::is_constructible_tuple< T1, T2 >:
    +
    +
    Inheritance graph
    + + +
    +
    +Collaboration diagram for nlohmann::detail::is_constructible_tuple< T1, T2 >:
    +
    +
    Collaboration graph
    + + +
    +

    Detailed Description

    +

    template<typename T1, typename T2>
    +struct nlohmann::detail::is_constructible_tuple< T1, T2 >

    + + +

    Definition at line 3826 of file json.hpp.

    +

    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/df/d1a/classnlohmann_1_1detail_1_1binary__writer.html b/docs/df/d1a/classnlohmann_1_1detail_1_1binary__writer.html new file mode 100644 index 00000000..c898998d --- /dev/null +++ b/docs/df/d1a/classnlohmann_1_1detail_1_1binary__writer.html @@ -0,0 +1,1956 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::binary_writer< BasicJsonType, CharType > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::binary_writer< BasicJsonType, CharType > Class Template Reference
    +
    +
    + +

    serialization to CBOR and MessagePack values + More...

    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::binary_writer< BasicJsonType, CharType >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + + + + +

    +Public Member Functions

     binary_writer (output_adapter_t< CharType > adapter)
     create a binary writer More...
     
    void write_bson (const BasicJsonType &j)
     
    void write_cbor (const BasicJsonType &j)
     
    void write_msgpack (const BasicJsonType &j)
     
    void write_ubjson (const BasicJsonType &j, const bool use_count, const bool use_type, const bool add_prefix=true)
     
    + + + + + + + + + + + + + +

    +Static Public Member Functions

    template<typename C = CharType, enable_if_t< std::is_signed< C >::value &&std::is_signed< char >::value > * = nullptr>
    static constexpr CharType to_char_type (std::uint8_t x) noexcept
     
    template<typename C = CharType, enable_if_t< std::is_signed< C >::value &&std::is_unsigned< char >::value > * = nullptr>
    static CharType to_char_type (std::uint8_t x) noexcept
     
    template<typename C = CharType, enable_if_t< std::is_unsigned< C >::value > * = nullptr>
    static constexpr CharType to_char_type (std::uint8_t x) noexcept
     
    template<typename InputCharType , typename C = CharType, enable_if_t< std::is_signed< C >::value &&std::is_signed< char >::value &&std::is_same< char, typename std::remove_cv< InputCharType >::type >::value > * = nullptr>
    static constexpr CharType to_char_type (InputCharType x) noexcept
     
    + + + + + + + +

    +Private Types

    using string_t = typename BasicJsonType::string_t
     
    using binary_t = typename BasicJsonType::binary_t
     
    using number_float_t = typename BasicJsonType::number_float_t
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Private Member Functions

    void write_bson_entry_header (const string_t &name, const std::uint8_t element_type)
     Writes the given element_type and name to the output adapter. More...
     
    void write_bson_boolean (const string_t &name, const bool value)
     Writes a BSON element with key name and boolean value value. More...
     
    void write_bson_double (const string_t &name, const double value)
     Writes a BSON element with key name and double value value. More...
     
    void write_bson_string (const string_t &name, const string_t &value)
     Writes a BSON element with key name and string value value. More...
     
    void write_bson_null (const string_t &name)
     Writes a BSON element with key name and null value. More...
     
    void write_bson_integer (const string_t &name, const std::int64_t value)
     Writes a BSON element with key name and integer value. More...
     
    void write_bson_unsigned (const string_t &name, const BasicJsonType &j)
     Writes a BSON element with key name and unsigned value. More...
     
    void write_bson_object_entry (const string_t &name, const typename BasicJsonType::object_t &value)
     Writes a BSON element with key name and object value. More...
     
    void write_bson_array (const string_t &name, const typename BasicJsonType::array_t &value)
     Writes a BSON element with key name and array value. More...
     
    void write_bson_binary (const string_t &name, const binary_t &value)
     Writes a BSON element with key name and binary value value. More...
     
    void write_bson_element (const string_t &name, const BasicJsonType &j)
     Serializes the JSON value j to BSON and associates it with the key name. More...
     
    void write_bson_object (const typename BasicJsonType::object_t &value)
     
    template<typename NumberType , typename std::enable_if< std::is_floating_point< NumberType >::value, int >::type = 0>
    void write_number_with_ubjson_prefix (const NumberType n, const bool add_prefix)
     
    template<typename NumberType , typename std::enable_if< std::is_unsigned< NumberType >::value, int >::type = 0>
    void write_number_with_ubjson_prefix (const NumberType n, const bool add_prefix)
     
    template<typename NumberType , typename std::enable_if< std::is_signed< NumberType >::value &&!std::is_floating_point< NumberType >::value, int >::type = 0>
    void write_number_with_ubjson_prefix (const NumberType n, const bool add_prefix)
     
    CharType ubjson_prefix (const BasicJsonType &j) const noexcept
     determine the type prefix of container values More...
     
    template<typename NumberType , bool OutputIsLittleEndian = false>
    void write_number (const NumberType n)
     
    void write_compact_float (const number_float_t n, detail::input_format_t format)
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Static Private Member Functions

    static std::size_t calc_bson_entry_header_size (const string_t &name, const BasicJsonType &j)
     
    static std::size_t calc_bson_string_size (const string_t &value)
     
    static std::size_t calc_bson_integer_size (const std::int64_t value)
     
    static constexpr std::size_t calc_bson_unsigned_size (const std::uint64_t value) noexcept
     
    static std::size_t calc_bson_array_size (const typename BasicJsonType::array_t &value)
     
    static std::size_t calc_bson_binary_size (const typename BasicJsonType::binary_t &value)
     
    static std::size_t calc_bson_element_size (const string_t &name, const BasicJsonType &j)
     Calculates the size necessary to serialize the JSON value j with its name. More...
     
    static std::size_t calc_bson_object_size (const typename BasicJsonType::object_t &value)
     Calculates the size of the BSON serialization of the given JSON-object j. More...
     
    static constexpr CharType get_cbor_float_prefix (float)
     
    static constexpr CharType get_cbor_float_prefix (double)
     
    static constexpr CharType get_msgpack_float_prefix (float)
     
    static constexpr CharType get_msgpack_float_prefix (double)
     
    static constexpr CharType get_ubjson_float_prefix (float)
     
    static constexpr CharType get_ubjson_float_prefix (double)
     
    + + + + + + + +

    +Private Attributes

    const bool is_little_endian = little_endianess()
     whether we can assume little endianess More...
     
    output_adapter_t< CharType > oa = nullptr
     the output More...
     
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename CharType>
    +class nlohmann::detail::binary_writer< BasicJsonType, CharType >

    + +

    serialization to CBOR and MessagePack values

    + +

    Definition at line 13262 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ binary_t

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + +
    using nlohmann::detail::binary_writer< BasicJsonType, CharType >::binary_t = typename BasicJsonType::binary_t
    +
    +private
    +
    + +

    Definition at line 13265 of file json.hpp.

    + +
    +
    + +

    ◆ number_float_t

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + +
    using nlohmann::detail::binary_writer< BasicJsonType, CharType >::number_float_t = typename BasicJsonType::number_float_t
    +
    +private
    +
    + +

    Definition at line 13266 of file json.hpp.

    + +
    +
    + +

    ◆ string_t

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + +
    using nlohmann::detail::binary_writer< BasicJsonType, CharType >::string_t = typename BasicJsonType::string_t
    +
    +private
    +
    + +

    Definition at line 13264 of file json.hpp.

    + +
    +
    +

    Constructor & Destructor Documentation

    + +

    ◆ binary_writer()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    nlohmann::detail::binary_writer< BasicJsonType, CharType >::binary_writer (output_adapter_t< CharType > adapter)
    +
    +inlineexplicit
    +
    + +

    create a binary writer

    +
    Parameters
    + + +
    [in]adapteroutput adapter to write to
    +
    +
    + +

    Definition at line 13274 of file json.hpp.

    + +

    References JSON_ASSERT.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ calc_bson_array_size()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    static std::size_t nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_array_size (const typename BasicJsonType::array_t & value)
    +
    +inlinestaticprivate
    +
    +
    Returns
    The size of the BSON-encoded array value
    + +

    Definition at line 14285 of file json.hpp.

    + +

    References nlohmann::to_string().

    + +
    +
    + +

    ◆ calc_bson_binary_size()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    static std::size_t nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_binary_size (const typename BasicJsonType::binary_t & value)
    +
    +inlinestaticprivate
    +
    +
    Returns
    The size of the BSON-encoded binary array value
    + +

    Definition at line 14300 of file json.hpp.

    + +
    +
    + +

    ◆ calc_bson_element_size()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static std::size_t nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_element_size (const string_tname,
    const BasicJsonType & j 
    )
    +
    +inlinestaticprivate
    +
    + +

    Calculates the size necessary to serialize the JSON value j with its name.

    +
    Returns
    The calculated size for the BSON document entry for j with the given name.
    + +

    Definition at line 14342 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::binary, nlohmann::detail::boolean, JSON_ASSERT, nlohmann::detail::null, nlohmann::detail::number_float, nlohmann::detail::number_integer, nlohmann::detail::number_unsigned, nlohmann::detail::object, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ calc_bson_entry_header_size()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static std::size_t nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_entry_header_size (const string_tname,
    const BasicJsonType & j 
    )
    +
    +inlinestaticprivate
    +
    +
    Returns
    The size of a BSON document entry header, including the id marker and the entry name size (and its null-terminator).
    + +

    Definition at line 14139 of file json.hpp.

    + +

    References nlohmann::detail::out_of_range::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, and nlohmann::to_string().

    + +
    +
    + +

    ◆ calc_bson_integer_size()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    static std::size_t nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_integer_size (const std::int64_t value)
    +
    +inlinestaticprivate
    +
    +
    Returns
    The size of the BSON-encoded integer value
    + +

    Definition at line 14215 of file json.hpp.

    + +
    +
    + +

    ◆ calc_bson_object_size()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    static std::size_t nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_object_size (const typename BasicJsonType::object_t & value)
    +
    +inlinestaticprivate
    +
    + +

    Calculates the size of the BSON serialization of the given JSON-object j.

    +
    Parameters
    + + +
    [in]valueJSON value to serialize
    +
    +
    +
    Precondition
    value.type() == value_t::object
    + +

    Definition at line 14435 of file json.hpp.

    + +
    +
    + +

    ◆ calc_bson_string_size()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    static std::size_t nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_string_size (const string_tvalue)
    +
    +inlinestaticprivate
    +
    +
    Returns
    The size of the BSON-encoded string in value
    + +

    Definition at line 14185 of file json.hpp.

    + +
    +
    + +

    ◆ calc_bson_unsigned_size()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    static constexpr std::size_t nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_unsigned_size (const std::uint64_t value)
    +
    +inlinestaticprivatenoexcept
    +
    +
    Returns
    The size of the BSON-encoded unsigned integer in j
    + +

    Definition at line 14243 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ get_cbor_float_prefix() [1/2]

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::get_cbor_float_prefix (float )
    +
    +inlinestaticprivate
    +
    + +

    Definition at line 14466 of file json.hpp.

    + +
    +
    + +

    ◆ get_cbor_float_prefix() [2/2]

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::get_cbor_float_prefix (double )
    +
    +inlinestaticprivate
    +
    + +

    Definition at line 14471 of file json.hpp.

    + +
    +
    + +

    ◆ get_msgpack_float_prefix() [1/2]

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::get_msgpack_float_prefix (float )
    +
    +inlinestaticprivate
    +
    + +

    Definition at line 14480 of file json.hpp.

    + +
    +
    + +

    ◆ get_msgpack_float_prefix() [2/2]

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::get_msgpack_float_prefix (double )
    +
    +inlinestaticprivate
    +
    + +

    Definition at line 14485 of file json.hpp.

    + +
    +
    + +

    ◆ get_ubjson_float_prefix() [1/2]

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::get_ubjson_float_prefix (float )
    +
    +inlinestaticprivate
    +
    + +

    Definition at line 14717 of file json.hpp.

    + +
    +
    + +

    ◆ get_ubjson_float_prefix() [2/2]

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::get_ubjson_float_prefix (double )
    +
    +inlinestaticprivate
    +
    + +

    Definition at line 14722 of file json.hpp.

    + +
    +
    + +

    ◆ to_char_type() [1/4]

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    +
    +template<typename C = CharType, enable_if_t< std::is_signed< C >::value &&std::is_signed< char >::value > * = nullptr>
    + + + + + +
    + + + + + + + + +
    static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type (std::uint8_t x)
    +
    +inlinestaticnoexcept
    +
    + +

    Definition at line 14786 of file json.hpp.

    + +

    Referenced by nlohmann::detail::serializer< BasicJsonType >::for().

    + +
    +
    + +

    ◆ to_char_type() [2/4]

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    +
    +template<typename C = CharType, enable_if_t< std::is_signed< C >::value &&std::is_unsigned< char >::value > * = nullptr>
    + + + + + +
    + + + + + + + + +
    static CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type (std::uint8_t x)
    +
    +inlinestaticnoexcept
    +
    + +

    Definition at line 14793 of file json.hpp.

    + +
    +
    + +

    ◆ to_char_type() [3/4]

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    +
    +template<typename C = CharType, enable_if_t< std::is_unsigned< C >::value > * = nullptr>
    + + + + + +
    + + + + + + + + +
    static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type (std::uint8_t x)
    +
    +inlinestaticnoexcept
    +
    + +

    Definition at line 14804 of file json.hpp.

    + +
    +
    + +

    ◆ to_char_type() [4/4]

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    +
    +template<typename InputCharType , typename C = CharType, enable_if_t< std::is_signed< C >::value &&std::is_signed< char >::value &&std::is_same< char, typename std::remove_cv< InputCharType >::type >::value > * = nullptr>
    + + + + + +
    + + + + + + + + +
    static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type (InputCharType x)
    +
    +inlinestaticnoexcept
    +
    + +

    Definition at line 14815 of file json.hpp.

    + +
    +
    + +

    ◆ ubjson_prefix()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::ubjson_prefix (const BasicJsonType & j) const
    +
    +inlineprivatenoexcept
    +
    +
    + +

    ◆ write_bson()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson (const BasicJsonType & j)
    +
    +inline
    +
    +
    Parameters
    + + +
    [in]jJSON value to serialize
    +
    +
    +
    Precondition
    j.type() == value_t::object
    + +

    Definition at line 13283 of file json.hpp.

    + +

    References nlohmann::detail::type_error::create(), JSON_THROW, nlohmann::detail::object, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ write_bson_array()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_array (const string_tname,
    const typename BasicJsonType::array_t & value 
    )
    +
    +inlineprivate
    +
    + +

    Writes a BSON element with key name and array value.

    + +

    Definition at line 14308 of file json.hpp.

    + +

    References nlohmann::to_string().

    + +
    +
    + +

    ◆ write_bson_binary()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_binary (const string_tname,
    const binary_tvalue 
    )
    +
    +inlineprivate
    +
    + +

    Writes a BSON element with key name and binary value value.

    + +

    Definition at line 14327 of file json.hpp.

    + +
    +
    + +

    ◆ write_bson_boolean()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_boolean (const string_tname,
    const bool value 
    )
    +
    +inlineprivate
    +
    + +

    Writes a BSON element with key name and boolean value value.

    + +

    Definition at line 14165 of file json.hpp.

    + +
    +
    + +

    ◆ write_bson_double()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_double (const string_tname,
    const double value 
    )
    +
    +inlineprivate
    +
    + +

    Writes a BSON element with key name and double value value.

    + +

    Definition at line 14175 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ write_bson_element()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_element (const string_tname,
    const BasicJsonType & j 
    )
    +
    +inlineprivate
    +
    + +

    Serializes the JSON value j to BSON and associates it with the key name.

    +
    Parameters
    + + +
    nameThe name to associate with the JSON entity j within the current BSON document
    +
    +
    + +

    Definition at line 14389 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::binary, nlohmann::detail::boolean, JSON_ASSERT, nlohmann::detail::null, nlohmann::detail::number_float, nlohmann::detail::number_integer, nlohmann::detail::number_unsigned, nlohmann::detail::object, and nlohmann::detail::string.

    + +
    +
    + +

    ◆ write_bson_entry_header()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_entry_header (const string_tname,
    const std::uint8_t element_type 
    )
    +
    +inlineprivate
    +
    + +

    Writes the given element_type and name to the output adapter.

    + +

    Definition at line 14153 of file json.hpp.

    + +
    +
    + +

    ◆ write_bson_integer()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_integer (const string_tname,
    const std::int64_t value 
    )
    +
    +inlineprivate
    +
    + +

    Writes a BSON element with key name and integer value.

    + +

    Definition at line 14225 of file json.hpp.

    + +

    References nlohmann::detail::value.

    + +
    +
    + +

    ◆ write_bson_null()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_null (const string_tname)
    +
    +inlineprivate
    +
    + +

    Writes a BSON element with key name and null value.

    + +

    Definition at line 14207 of file json.hpp.

    + +
    +
    + +

    ◆ write_bson_object()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_object (const typename BasicJsonType::object_t & value)
    +
    +inlineprivate
    +
    +
    Parameters
    + + +
    [in]valueJSON value to serialize
    +
    +
    +
    Precondition
    value.type() == value_t::object
    + +

    Definition at line 14450 of file json.hpp.

    + +
    +
    + +

    ◆ write_bson_object_entry()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_object_entry (const string_tname,
    const typename BasicJsonType::object_t & value 
    )
    +
    +inlineprivate
    +
    + +

    Writes a BSON element with key name and object value.

    + +

    Definition at line 14275 of file json.hpp.

    + +
    +
    + +

    ◆ write_bson_string()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_string (const string_tname,
    const string_tvalue 
    )
    +
    +inlineprivate
    +
    + +

    Writes a BSON element with key name and string value value.

    + +

    Definition at line 14193 of file json.hpp.

    + +
    +
    + +

    ◆ write_bson_unsigned()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_unsigned (const string_tname,
    const BasicJsonType & j 
    )
    +
    +inlineprivate
    +
    + +

    Writes a BSON element with key name and unsigned value.

    + +

    Definition at line 14253 of file json.hpp.

    + +

    References nlohmann::detail::out_of_range::create(), JSON_THROW, and nlohmann::to_string().

    + +
    +
    + +

    ◆ write_cbor()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_cbor (const BasicJsonType & j)
    +
    +inline
    +
    +
    + +

    ◆ write_compact_float()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_compact_float (const number_float_t n,
    detail::input_format_t format 
    )
    +
    +inlineprivate
    +
    + +

    Definition at line 14759 of file json.hpp.

    + +

    References nlohmann::detail::cbor.

    + +
    +
    + +

    ◆ write_msgpack()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_msgpack (const BasicJsonType & j)
    +
    +inline
    +
    +
    + +

    ◆ write_number()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    +
    +template<typename NumberType , bool OutputIsLittleEndian = false>
    + + + + + +
    + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_number (const NumberType n)
    +
    +inlineprivate
    +
    + +

    Definition at line 14743 of file json.hpp.

    + +
    +
    + +

    ◆ write_number_with_ubjson_prefix() [1/3]

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    +
    +template<typename NumberType , typename std::enable_if< std::is_floating_point< NumberType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_number_with_ubjson_prefix (const NumberType n,
    const bool add_prefix 
    )
    +
    +inlineprivate
    +
    + +

    Definition at line 14497 of file json.hpp.

    + +
    +
    + +

    ◆ write_number_with_ubjson_prefix() [2/3]

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    +
    +template<typename NumberType , typename std::enable_if< std::is_unsigned< NumberType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_number_with_ubjson_prefix (const NumberType n,
    const bool add_prefix 
    )
    +
    +inlineprivate
    +
    + +

    Definition at line 14510 of file json.hpp.

    + +
    +
    + +

    ◆ write_number_with_ubjson_prefix() [3/3]

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    +
    +template<typename NumberType , typename std::enable_if< std::is_signed< NumberType >::value &&!std::is_floating_point< NumberType >::value, int >::type = 0>
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_number_with_ubjson_prefix (const NumberType n,
    const bool add_prefix 
    )
    +
    +inlineprivate
    +
    + +

    Definition at line 14573 of file json.hpp.

    + +
    +
    + +

    ◆ write_ubjson()

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_ubjson (const BasicJsonType & j,
    const bool use_count,
    const bool use_type,
    const bool add_prefix = true 
    )
    +
    +inline
    +
    +
    Parameters
    + + + + + +
    [in]jJSON value to serialize
    [in]use_countwhether to use '#' prefixes (optimized format)
    [in]use_typewhether to use '$' prefixes (optimized format)
    [in]add_prefixwhether prefixes need to be used for this value
    +
    +
    + +

    Definition at line 13932 of file json.hpp.

    + +

    References nlohmann::detail::array, nlohmann::detail::binary, nlohmann::detail::boolean, JSON_ASSERT, nlohmann::detail::null, nlohmann::detail::number_float, nlohmann::detail::number_integer, nlohmann::detail::number_unsigned, nlohmann::detail::object, and nlohmann::detail::string.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ is_little_endian

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + +
    const bool nlohmann::detail::binary_writer< BasicJsonType, CharType >::is_little_endian = little_endianess()
    +
    +private
    +
    + +

    whether we can assume little endianess

    + +

    Definition at line 14822 of file json.hpp.

    + +
    +
    + +

    ◆ oa

    + +
    +
    +
    +template<typename BasicJsonType , typename CharType >
    + + + + + +
    + + + + +
    output_adapter_t<CharType> nlohmann::detail::binary_writer< BasicJsonType, CharType >::oa = nullptr
    +
    +private
    +
    + +

    the output

    + +

    Definition at line 14825 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/df/d1a/classnlohmann_1_1detail_1_1binary__writer.js b/docs/df/d1a/classnlohmann_1_1detail_1_1binary__writer.js new file mode 100644 index 00000000..228a80bd --- /dev/null +++ b/docs/df/d1a/classnlohmann_1_1detail_1_1binary__writer.js @@ -0,0 +1,49 @@ +var classnlohmann_1_1detail_1_1binary__writer = +[ + [ "binary_t", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a3169b4f7abb773ea30348770629c53e8", null ], + [ "number_float_t", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#abb4b7c621d0cb7633b5806c603f3c51a", null ], + [ "string_t", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a29f2ae7a5c4a8c1dae47b3b2310de8a8", null ], + [ "binary_writer", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a373289af95a946c19bb4a58a5df71a78", null ], + [ "calc_bson_array_size", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#af08f9302a02516ff8cf358a99aaa1ddf", null ], + [ "calc_bson_binary_size", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a9dd6062fd249a695e0f93d558dba4685", null ], + [ "calc_bson_element_size", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a1e4372c5984184eb5bcc09af1fcc2ee0", null ], + [ "calc_bson_entry_header_size", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a11637a023d22e57a7e7aff3f98b10f84", null ], + [ "calc_bson_integer_size", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#aeab70c895931b96ea598306b37eca271", null ], + [ "calc_bson_object_size", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#acc6f1cc1fd370ee84ebc8cf7b8712840", null ], + [ "calc_bson_string_size", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#aea44fd97a5cb9b4f175e66e3e4fdf158", null ], + [ "calc_bson_unsigned_size", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#aa1d6bb9f3af16f07ce2440c354b5787b", null ], + [ "get_cbor_float_prefix", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a2b5cb010077da6241a18bb334736464c", null ], + [ "get_cbor_float_prefix", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#afe5ac43e05973ba09ee79227bb589b59", null ], + [ "get_msgpack_float_prefix", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ad452d114696407b98abc69b6001c270e", null ], + [ "get_msgpack_float_prefix", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a47234a6e7ac9206d43553985f4cacbf2", null ], + [ "get_ubjson_float_prefix", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a6837b20574152f7f645d0f6cd9fafdeb", null ], + [ "get_ubjson_float_prefix", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a19eb47a53dbbe28f319532bef25d84e6", null ], + [ "to_char_type", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ab77aa48692bd4e64e4f051ce6aeb6d2d", null ], + [ "to_char_type", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a5e46f0dd3550901b15cf85265808d1ec", null ], + [ "to_char_type", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ab77aa48692bd4e64e4f051ce6aeb6d2d", null ], + [ "to_char_type", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a2c2b2132ce56b3b45593374b622baa67", null ], + [ "ubjson_prefix", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a4c129249a5aee8e4ec8add6c6184e4f7", null ], + [ "write_bson", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a9ffc566db5219b473762462234b47db9", null ], + [ "write_bson_array", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a025212bd170253638b9f05b3b6aa5bf9", null ], + [ "write_bson_binary", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a97d34d9a70ddc06ae782c55454df42bc", null ], + [ "write_bson_boolean", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ae099435e1df3096e0fc78333282f8f67", null ], + [ "write_bson_double", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a263ec18815467bb9919021ef126919ca", null ], + [ "write_bson_element", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a7ff58bf1a80018148bed860667ffca07", null ], + [ "write_bson_entry_header", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a1b5b7f5c03b1f8b1f59ea61db9634108", null ], + [ "write_bson_integer", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a553ad4dbdf27238eef90867e4bf2f3e5", null ], + [ "write_bson_null", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a9927c1110b18661e0224a76156e5a7a9", null ], + [ "write_bson_object", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a29b3e0f83a8e5f2307804023109ba2c9", null ], + [ "write_bson_object_entry", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a6231302930265eccb3f56c378f7b0661", null ], + [ "write_bson_string", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a5e6574416915208fc035b57338ae3252", null ], + [ "write_bson_unsigned", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ac274e3d7a803e7223bb1a4fcb7cd594c", null ], + [ "write_cbor", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#aa0ab8d27fd88a33a2f801413ac4c7fbc", null ], + [ "write_compact_float", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ae69dc3c5b2e8c1c8e461779cddb87436", null ], + [ "write_msgpack", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ae4e0852b64102ce4b07d99f08f828b7c", null ], + [ "write_number", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a6e11b7227fcecc25a548ed45507b7d1c", null ], + [ "write_number_with_ubjson_prefix", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a0ea6745f944c0c61672146886b4ee90f", null ], + [ "write_number_with_ubjson_prefix", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a0ea6745f944c0c61672146886b4ee90f", null ], + [ "write_number_with_ubjson_prefix", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a0ea6745f944c0c61672146886b4ee90f", null ], + [ "write_ubjson", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a0f6c65053d859269f88eb4ebb0cd7060", null ], + [ "is_little_endian", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a048887c907afe39759b777e8c888414c", null ], + [ "oa", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a6f15b782a7900f50ef37d123008e601b", null ] +]; \ No newline at end of file diff --git a/docs/df/d32/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.map b/docs/df/d32/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.map new file mode 100644 index 00000000..ba31d696 --- /dev/null +++ b/docs/df/d32/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/df/d32/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.md5 b/docs/df/d32/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.md5 new file mode 100644 index 00000000..79a41c78 --- /dev/null +++ b/docs/df/d32/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.md5 @@ -0,0 +1 @@ +13fea737a7fb55494038a13e35e4b46e \ No newline at end of file diff --git a/docs/df/d32/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.png b/docs/df/d32/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.png new file mode 100644 index 00000000..65232dc3 Binary files /dev/null and b/docs/df/d32/classnlohmann_1_1detail_1_1output__string__adapter__inherit__graph.png differ diff --git a/docs/df/d32/cudnn__frontend__Operation_8h__incl.map b/docs/df/d32/cudnn__frontend__Operation_8h__incl.map index eeeb603c..2c0acec3 100644 --- a/docs/df/d32/cudnn__frontend__Operation_8h__incl.map +++ b/docs/df/d32/cudnn__frontend__Operation_8h__incl.map @@ -1,8 +1,9 @@ - - - - - - + + + + + + + diff --git a/docs/df/d32/cudnn__frontend__Operation_8h__incl.md5 b/docs/df/d32/cudnn__frontend__Operation_8h__incl.md5 index c0a8852d..4d11a048 100644 --- a/docs/df/d32/cudnn__frontend__Operation_8h__incl.md5 +++ b/docs/df/d32/cudnn__frontend__Operation_8h__incl.md5 @@ -1 +1 @@ -0ea6dce512ff33052843e4be3f74655d \ No newline at end of file +885c961f55fa5e34395f0ba29f91d09f \ No newline at end of file diff --git a/docs/df/d32/cudnn__frontend__Operation_8h__incl.png b/docs/df/d32/cudnn__frontend__Operation_8h__incl.png index 59918737..ea0d24ae 100644 Binary files a/docs/df/d32/cudnn__frontend__Operation_8h__incl.png and b/docs/df/d32/cudnn__frontend__Operation_8h__incl.png differ diff --git a/docs/df/d3d/classnlohmann_1_1json__pointer-members.html b/docs/df/d3d/classnlohmann_1_1json__pointer-members.html new file mode 100644 index 00000000..8b522f15 --- /dev/null +++ b/docs/df/d3d/classnlohmann_1_1json__pointer-members.html @@ -0,0 +1,136 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::json_pointer< BasicJsonType > Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::json_pointer< BasicJsonType >, including all inherited members.

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    __pad0__nlohmann::json_pointer< BasicJsonType >private
    array_index(const std::string &s)nlohmann::json_pointer< BasicJsonType >inlineprivatestatic
    back() constnlohmann::json_pointer< BasicJsonType >inline
    basic_json classnlohmann::json_pointer< BasicJsonType >friend
    BasicJsonType()))nlohmann::json_pointer< BasicJsonType >private
    contains(const BasicJsonType *ptr) constnlohmann::json_pointer< BasicJsonType >inlineprivate
    empty() const noexceptnlohmann::json_pointer< BasicJsonType >inline
    flatten(const std::string &reference_string, const BasicJsonType &value, BasicJsonType &result)nlohmann::json_pointer< BasicJsonType >inlineprivatestatic
    get_and_create(BasicJsonType &j) constnlohmann::json_pointer< BasicJsonType >inlineprivate
    get_checked(BasicJsonType *ptr) constnlohmann::json_pointer< BasicJsonType >inlineprivate
    get_checked(const BasicJsonType *ptr) constnlohmann::json_pointer< BasicJsonType >inlineprivate
    get_unchecked(BasicJsonType *ptr) constnlohmann::json_pointer< BasicJsonType >inlineprivate
    get_unchecked(const BasicJsonType *ptr) constnlohmann::json_pointer< BasicJsonType >inlineprivate
    json_pointer(const std::string &s="")nlohmann::json_pointer< BasicJsonType >inlineexplicit
    operator std::string() constnlohmann::json_pointer< BasicJsonType >inline
    operator!=(json_pointer const &lhs, json_pointer const &rhs) noexceptnlohmann::json_pointer< BasicJsonType >friend
    operator/(const json_pointer &lhs, const json_pointer &rhs)nlohmann::json_pointer< BasicJsonType >friend
    operator/(const json_pointer &ptr, std::string token)nlohmann::json_pointer< BasicJsonType >friend
    operator/(const json_pointer &ptr, std::size_t array_idx)nlohmann::json_pointer< BasicJsonType >friend
    operator/=(const json_pointer &ptr)nlohmann::json_pointer< BasicJsonType >inline
    operator/=(std::string token)nlohmann::json_pointer< BasicJsonType >inline
    operator/=(std::size_t array_idx)nlohmann::json_pointer< BasicJsonType >inline
    operator==(json_pointer const &lhs, json_pointer const &rhs) noexceptnlohmann::json_pointer< BasicJsonType >friend
    parentnlohmann::json_pointer< BasicJsonType >private
    parent_pointer() constnlohmann::json_pointer< BasicJsonType >inline
    pop_back()nlohmann::json_pointer< BasicJsonType >inline
    push_back(const std::string &token)nlohmann::json_pointer< BasicJsonType >inline
    push_back(std::string &&token)nlohmann::json_pointer< BasicJsonType >inline
    reference_tokensnlohmann::json_pointer< BasicJsonType >private
    reference_tokensnlohmann::json_pointer< BasicJsonType >private
    resultnlohmann::json_pointer< BasicJsonType >private
    resultnlohmann::json_pointer< BasicJsonType >private
    split(const std::string &reference_string)nlohmann::json_pointer< BasicJsonType >inlineprivatestatic
    to_string() constnlohmann::json_pointer< BasicJsonType >inline
    unflatten(const BasicJsonType &value)nlohmann::json_pointer< BasicJsonType >inlineprivatestatic
    +
    + + + + diff --git a/docs/df/d3e/cudnn__frontend__EngineFallbackList_8h.html b/docs/df/d3e/cudnn__frontend__EngineFallbackList_8h.html index 0095a4a9..f1d216fa 100644 --- a/docs/df/d3e/cudnn__frontend__EngineFallbackList_8h.html +++ b/docs/df/d3e/cudnn__frontend__EngineFallbackList_8h.html @@ -123,8 +123,8 @@ - - + +

    Functions

    static auto cudnn_frontend::get_fallback_engine_list (cudnnBackendDescriptorType_t mode) -> std::vector< int >
     
    static auto cudnn_frontend::get_fallback_engine_list (cudnnBackendDescriptorType_t mode, const std::string &opGraphTag) -> std::vector< int >
     
    diff --git a/docs/df/d3e/cudnn__frontend__EngineFallbackList_8h.js b/docs/df/d3e/cudnn__frontend__EngineFallbackList_8h.js index 28ac0ddd..525507c8 100644 --- a/docs/df/d3e/cudnn__frontend__EngineFallbackList_8h.js +++ b/docs/df/d3e/cudnn__frontend__EngineFallbackList_8h.js @@ -2,5 +2,5 @@ var cudnn__frontend__EngineFallbackList_8h = [ [ "EngineFallbackList_v8", "db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html", "db/d99/classcudnn__frontend_1_1EngineFallbackList__v8" ], [ "EngineFallbackListBuilder_v8", "d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html", "d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8" ], - [ "get_fallback_engine_list", "df/d3e/cudnn__frontend__EngineFallbackList_8h.html#ad365eee23138df472d716d9dbf119f0e", null ] + [ "get_fallback_engine_list", "df/d3e/cudnn__frontend__EngineFallbackList_8h.html#af057a1fb628c89d02eb47c7cfa9ce0af", null ] ]; \ No newline at end of file diff --git a/docs/df/d3e/cudnn__frontend__EngineFallbackList_8h_source.html b/docs/df/d3e/cudnn__frontend__EngineFallbackList_8h_source.html index eaedc71b..0ce915cc 100644 --- a/docs/df/d3e/cudnn__frontend__EngineFallbackList_8h_source.html +++ b/docs/df/d3e/cudnn__frontend__EngineFallbackList_8h_source.html @@ -84,37 +84,38 @@
    cudnn_frontend_EngineFallbackList.h
    -Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <cudnn.h>
    26 #include <numeric>
    27 
    28 namespace cudnn_frontend {
    29 
    30 auto static get_fallback_engine_list(cudnnBackendDescriptorType_t mode) -> std::vector<int> {
    31  auto major_version = cudnnGetVersion() / 1000;
    32  ;
    33  auto minor_version = (cudnnGetVersion() / 100) % 10;
    34  if (major_version >= 8) {
    35  if (minor_version == 0) {
    36  if (mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR) {
    37  return {0, 1, 28};
    38  } else if (mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR) {
    39  return {0, 1, 25};
    40  } else if (mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR) {
    41  return {0, 1, 20};
    42  } else {
    43  return {};
    44  }
    45  } else if (minor_version <= 2) {
    46  if (mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR) {
    47  std::vector<int> engine_list(50);
    48  std::iota(engine_list.begin(), engine_list.end(), 0);
    49  return engine_list;
    50  } else if (mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR) {
    51  std::vector<int> engine_list(61);
    52  std::iota(engine_list.begin(), engine_list.end(), 0);
    53  return engine_list;
    54  } else if (mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR) {
    55  return {0, 1, 20};
    56  } else {
    57  return {};
    58  }
    59  } else {
    60  return {};
    61  }
    62  } else {
    63  return {};
    64  }
    65 }
    66 
    68  public:
    70 
    71  std::string
    72  describe() const override {
    73  std::stringstream ss;
    74  ss << "CUDNN_BACKEND_FALLBACK ENGINES :";
    75  return ss.str();
    76  }
    77 
    78  auto
    79  getFallbackList() -> std::vector<ManagedOpaqueDescriptor> & {
    80  return m_engine_configs;
    81  }
    82 
    83  ~EngineFallbackList_v8() = default;
    84 
    86  : BackendDescriptor(from.get_desc(), from.get_status(), from.get_error()),
    87  opGraph(from.opGraph),
    88  mode(from.mode),
    89  opGraphTag(from.opGraphTag) {
    90  m_engine_configs.swap(from.m_engine_configs);
    91  }
    92 
    93  private:
    94  EngineFallbackList_v8() = default;
    97  operator=(EngineFallbackList_v8 const &) = delete;
    98 
    100  cudnnBackendDescriptorType_t mode;
    101  std::vector<ManagedOpaqueDescriptor> m_engine_configs;
    102  std::string opGraphTag;
    103 };
    104 
    109  public:
    114  auto
    117  m_fallback_list.opGraph = opGraph_.get_desc();
    118  m_fallback_list.opGraphTag = opGraph_.getTag();
    119  return *this;
    120  }
    121  auto
    122  setOperation(cudnnBackendDescriptorType_t mode) -> EngineFallbackListBuilder_v8 & {
    123  m_fallback_list.mode = mode;
    124  return *this;
    125  }
    131  build() {
    132  if (m_fallback_list.opGraph == nullptr) {
    133  set_error_and_throw_exception(&m_fallback_list,
    134  CUDNN_STATUS_BAD_PARAM,
    135  "CUDNN_BACKEND_ENGINEHEUR_DESCRIPTOR: Check and Set the "
    136  "CUDNN_ATTR_ENGINEHEUR_OPERATION_GRAPH field for heuristic");
    137  return std::move(m_fallback_list);
    138  };
    139  auto fallback_engine_list = get_fallback_engine_list(m_fallback_list.mode);
    140  for (std::uint32_t i = 0; i < fallback_engine_list.size(); i++) {
    141 #ifndef NV_CUDNN_DISABLE_EXCEPTION
    142  try {
    143 #endif
    144  auto engine = cudnn_frontend::EngineBuilder_v8()
    145  .setGlobalEngineIdx(fallback_engine_list[i])
    146  .setOperationGraph(m_fallback_list.opGraph)
    147  .build();
    148  auto engine_config = cudnn_frontend::EngineConfigBuilder_v8().setEngine(engine).build();
    149  m_fallback_list.m_engine_configs.emplace_back(engine_config.get_desc());
    150 #ifndef NV_CUDNN_DISABLE_EXCEPTION
    152  continue;
    153  }
    154 #endif
    155  }
    156  return std::move(m_fallback_list);
    157  }
    158 
    159  explicit EngineFallbackListBuilder_v8() = default;
    160  ~EngineFallbackListBuilder_v8() = default;
    164  operator=(EngineFallbackListBuilder_v8 const &) = delete;
    165 
    166  private:
    168 };
    169 }
    static void set_error_and_throw_exception(BackendDescriptor const *desc, cudnnStatus_t status, const char *message)
    +Go to the documentation of this file.
    1 /*
    2  * Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
    3  *
    4  * Permission is hereby granted, free of charge, to any person obtaining a
    5  * copy of this software and associated documentation files (the "Software"),
    6  * to deal in the Software without restriction, including without limitation
    7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
    8  * and/or sell copies of the Software, and to permit persons to whom the
    9  * Software is furnished to do so, subject to the following conditions:
    10  *
    11  * The above copyright notice and this permission notice shall be included in
    12  * all copies or substantial portions of the Software.
    13  *
    14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
    17  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    19  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    20  * DEALINGS IN THE SOFTWARE.
    21  */
    22 
    23 #pragma once
    24 
    25 #include <cudnn.h>
    26 #include <numeric>
    27 
    28 namespace cudnn_frontend {
    29 
    30 auto static get_fallback_engine_list(cudnnBackendDescriptorType_t mode, const std::string &opGraphTag) -> std::vector<int> {
    31  auto major_version = cudnnGetVersion() / 1000;
    32 
    33  auto minor_version = (cudnnGetVersion() / 100) % 10;
    34  if (major_version >= 8) {
    35  if (minor_version <= 2) {
    40  if (mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR) {
    41  if (opGraphTag.find("bias") == std::string::npos) {
    42  std::vector<int> engine_list(50);
    43  std::iota(engine_list.begin(), engine_list.end(), 0);
    44  return engine_list;
    45  } else {
    46  return {11,0};
    47  }
    48  } else if (mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR) {
    49  std::vector<int> engine_list(61);
    50  std::iota(engine_list.begin(), engine_list.end(), 0);
    51  return engine_list;
    52  } else if (mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR) {
    53  return {0, 1, 20};
    54  } else {
    55  return {};
    56  }
    57  } else {
    58  if (mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR) {
    59  if (opGraphTag.find("bias") == std::string::npos) {
    60  return {0, 1, 28};
    61  } else {
    62  return {};
    63  }
    64  } else if (mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR) {
    65  return {0, 1, 25};
    66  } else if (mode == CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR) {
    67  return {0, 1, 20};
    68  } else {
    69  return {};
    70  }
    71  }
    72  } else {
    73  return {};
    74  }
    75 }
    76 
    78  public:
    80 
    81  std::string
    82  describe() const override {
    83  std::stringstream ss;
    84  ss << "CUDNN_BACKEND_FALLBACK ENGINES :";
    85  return ss.str();
    86  }
    87 
    88  auto
    89  getFallbackList() -> std::vector<ManagedOpaqueDescriptor> & {
    90  return m_engine_configs;
    91  }
    92 
    93  ~EngineFallbackList_v8() = default;
    94 
    96  : BackendDescriptor(from.get_desc(), from.get_status(), from.get_error()),
    97  opGraph(from.opGraph),
    98  mode(from.mode),
    99  num_ops(from.num_ops),
    100  opGraphTag(from.opGraphTag) {
    101  m_engine_configs.swap(from.m_engine_configs);
    102  }
    103 
    104  private:
    105  EngineFallbackList_v8() = default;
    108  operator=(EngineFallbackList_v8 const &) = delete;
    109 
    111  cudnnBackendDescriptorType_t mode;
    112  uint64_t num_ops;
    113  std::vector<ManagedOpaqueDescriptor> m_engine_configs;
    114  std::string opGraphTag;
    115 };
    116 
    121  public:
    126  auto
    129  m_fallback_list.opGraph = opGraph_.get_desc();
    130  m_fallback_list.opGraphTag = opGraph_.getTag();
    131  m_fallback_list.num_ops = opGraph_.getOpCount();
    132  return *this;
    133  }
    134  auto
    135  setOperation(cudnnBackendDescriptorType_t mode) -> EngineFallbackListBuilder_v8 & {
    136  m_fallback_list.mode = mode;
    137  return *this;
    138  }
    144  build() {
    145  if (m_fallback_list.opGraph == nullptr) {
    146  set_error_and_throw_exception(&m_fallback_list,
    147  CUDNN_STATUS_BAD_PARAM,
    148  "CUDNN_BACKEND_ENGINEHEUR_DESCRIPTOR: Check and Set the "
    149  "CUDNN_ATTR_ENGINEHEUR_OPERATION_GRAPH field for heuristic");
    150  return std::move(m_fallback_list);
    151  };
    152  auto fallback_engine_list = get_fallback_engine_list(m_fallback_list.mode, m_fallback_list.opGraphTag);
    153  for (std::uint32_t i = 0; i < fallback_engine_list.size(); i++) {
    154 #ifndef NV_CUDNN_DISABLE_EXCEPTION
    155  try {
    156 #endif
    157  auto engine = cudnn_frontend::EngineBuilder_v8()
    158  .setGlobalEngineIdx(fallback_engine_list[i])
    159  .setOperationGraph(m_fallback_list.opGraph)
    160  .build();
    161  auto engine_config = cudnn_frontend::EngineConfigBuilder_v8().setEngine(engine).build();
    162  m_fallback_list.m_engine_configs.emplace_back(engine_config.get_desc());
    163 #ifndef NV_CUDNN_DISABLE_EXCEPTION
    164  } catch (cudnn_frontend::cudnnException &e) {
    165  continue;
    166  }
    167 #endif
    168  }
    169  return std::move(m_fallback_list);
    170  }
    171 
    172  explicit EngineFallbackListBuilder_v8() = default;
    173  ~EngineFallbackListBuilder_v8() = default;
    177  operator=(EngineFallbackListBuilder_v8 const &) = delete;
    178 
    179  private:
    181 };
    182 }
    static auto get_fallback_engine_list(cudnnBackendDescriptorType_t mode, const std::string &opGraphTag) -> std::vector< int >
    +
    static void set_error_and_throw_exception(BackendDescriptor const *desc, cudnnStatus_t status, const char *message)
    auto setGlobalEngineIdx(int64_t idx_) -> EngineBuilder_v8 &
    Set engine index for the engine.
    -
    std::string describe() const override
    Return a string describing the backend Descriptor.
    +
    std::string describe() const override
    Return a string describing the backend Descriptor.
    - - + +
    ManagedOpaqueDescriptor get_desc() const
    Returns a copy of underlying managed descriptor.
    - +
    auto setEngine(Engine_v8 const &engine_) -> EngineConfigBuilder_v8 &
    Set engine for the EngineConfig_v8.
    -
    auto setOperation(cudnnBackendDescriptorType_t mode) -> EngineFallbackListBuilder_v8 &
    +
    auto setOperation(cudnnBackendDescriptorType_t mode) -> EngineFallbackListBuilder_v8 &
    cudnnStatus_t get_status() const
    Current status of the descriptor.
    - + +
    std::shared_ptr< OpaqueBackendPointer > ManagedOpaqueDescriptor
    const char * get_error() const
    Diagonistic error message if any.
    -
    auto setOperationGraph(OperationGraph_v8 &opGraph_) -> EngineFallbackListBuilder_v8 &
    Set operationGraph for the engine (opGraph is not destroyed)
    - - -
    static auto get_fallback_engine_list(cudnnBackendDescriptorType_t mode) -> std::vector< int >
    +
    auto setOperationGraph(OperationGraph_v8 &opGraph_) -> EngineFallbackListBuilder_v8 &
    Set operationGraph for the engine (opGraph is not destroyed)
    + + - - - + + +
    EngineFallbackList_v8 & operator=(EngineFallbackList_v8 const &)=delete
    -
    auto getFallbackList() -> std::vector< ManagedOpaqueDescriptor > &
    -
    std::vector< ManagedOpaqueDescriptor > m_engine_configs
    +
    auto getFallbackList() -> std::vector< ManagedOpaqueDescriptor > &
    +
    std::vector< ManagedOpaqueDescriptor > m_engine_configs
    diff --git a/docs/df/d4e/classcudnn__frontend_1_1BackendDescriptor__coll__graph.md5 b/docs/df/d4e/classcudnn__frontend_1_1BackendDescriptor__coll__graph.md5 index 5b5df34e..6445c9c9 100644 --- a/docs/df/d4e/classcudnn__frontend_1_1BackendDescriptor__coll__graph.md5 +++ b/docs/df/d4e/classcudnn__frontend_1_1BackendDescriptor__coll__graph.md5 @@ -1 +1 @@ -59bdf73092a1351c65cc1606ca33f7e8 \ No newline at end of file +f1c2d33ac223c63cce24ac64422ab77f \ No newline at end of file diff --git a/docs/df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html b/docs/df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html new file mode 100644 index 00000000..a2a19faf --- /dev/null +++ b/docs/df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html @@ -0,0 +1,172 @@ + + + + + + + +CUDNN Frontend API: std::less<::nlohmann::detail::value_t > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    std::less<::nlohmann::detail::value_t > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for std::less<::nlohmann::detail::value_t >:
    +
    +
    Collaboration graph
    + + +
    + + + + + +

    +Public Member Functions

    bool operator() (nlohmann::detail::value_t lhs, nlohmann::detail::value_t rhs) const noexcept
     compare two value_t enum values More...
     
    +

    Detailed Description

    +

    template<>
    +struct std::less<::nlohmann::detail::value_t >

    + +

    specialization for std::less<value_t>

    Note
    : do not remove the space after '<', see https://github.com/nlohmann/json/pull/679
    + +

    Definition at line 25888 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ operator()()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool std::less<::nlohmann::detail::value_t >::operator() (nlohmann::detail::value_t lhs,
    nlohmann::detail::value_t rhs 
    ) const
    +
    +inlinenoexcept
    +
    + +

    compare two value_t enum values

    +
    Since
    version 3.0.0
    + +

    Definition at line 25894 of file json.hpp.

    + +

    References nlohmann::detail::operator<().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.js b/docs/df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.js new file mode 100644 index 00000000..620af436 --- /dev/null +++ b/docs/df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.js @@ -0,0 +1,4 @@ +var structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4 = +[ + [ "operator()", "df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html#a10d3fea50edf7b15ead8f4ceeb006000", null ] +]; \ No newline at end of file diff --git a/docs/df/d69/classnlohmann_1_1detail_1_1parse__error-members.html b/docs/df/d69/classnlohmann_1_1detail_1_1parse__error-members.html new file mode 100644 index 00000000..0f7d5da0 --- /dev/null +++ b/docs/df/d69/classnlohmann_1_1detail_1_1parse__error-members.html @@ -0,0 +1,111 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann::detail::parse_error Member List
    +
    +
    + +

    This is the complete list of members for nlohmann::detail::parse_error, including all inherited members.

    + + + + + + + + + + + +
    bytenlohmann::detail::parse_error
    create(int id_, const position_t &pos, const std::string &what_arg, const BasicJsonType &context)nlohmann::detail::parse_errorinlinestatic
    create(int id_, std::size_t byte_, const std::string &what_arg, const BasicJsonType &context)nlohmann::detail::parse_errorinlinestatic
    diagnostics(const BasicJsonType &leaf_element)nlohmann::detail::exceptioninlineprotectedstatic
    exception(int id_, const char *what_arg)nlohmann::detail::exceptioninlineprotected
    idnlohmann::detail::exception
    name(const std::string &ename, int id_)nlohmann::detail::exceptioninlineprotectedstatic
    parse_error(int id_, std::size_t byte_, const char *what_arg)nlohmann::detail::parse_errorinlineprivate
    position_string(const position_t &pos)nlohmann::detail::parse_errorinlineprivatestatic
    what() const noexcept overridenlohmann::detail::exceptioninline
    +
    + + + + diff --git a/docs/df/d6b/classnlohmann_1_1detail_1_1parser.html b/docs/df/d6b/classnlohmann_1_1detail_1_1parser.html new file mode 100644 index 00000000..d47270e6 --- /dev/null +++ b/docs/df/d6b/classnlohmann_1_1detail_1_1parser.html @@ -0,0 +1,762 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::parser< BasicJsonType, InputAdapterType > Class Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::parser< BasicJsonType, InputAdapterType > Class Template Reference
    +
    +
    + +

    syntax analysis + More...

    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::parser< BasicJsonType, InputAdapterType >:
    +
    +
    Collaboration graph
    + + +
    + + + + + + + + + + + + + + +

    +Public Member Functions

     parser (InputAdapterType &&adapter, const parser_callback_t< BasicJsonType > cb=nullptr, const bool allow_exceptions_=true, const bool skip_comments=false)
     a parser reading from an input adapter More...
     
    void parse (const bool strict, BasicJsonType &result)
     public parser interface More...
     
    bool accept (const bool strict=true)
     public accept interface More...
     
    template<typename SAX >
    bool sax_parse (SAX *sax, const bool strict=true)
     
    + + + + + + + + + + + + + +

    +Private Types

    using number_integer_t = typename BasicJsonType::number_integer_t
     
    using number_unsigned_t = typename BasicJsonType::number_unsigned_t
     
    using number_float_t = typename BasicJsonType::number_float_t
     
    using string_t = typename BasicJsonType::string_t
     
    using lexer_t = lexer< BasicJsonType, InputAdapterType >
     
    using token_type = typename lexer_t::token_type
     
    + + + + + + + + + +

    +Private Member Functions

    template<typename SAX >
    bool sax_parse_internal (SAX *sax)
     
    token_type get_token ()
     get next token from lexer More...
     
    std::string exception_message (const token_type expected, const std::string &context)
     
    + + + + + + + + + + + + + +

    +Private Attributes

    const parser_callback_t< BasicJsonType > callback = nullptr
     callback function More...
     
    token_type last_token = token_type::uninitialized
     the type of the last read token More...
     
    lexer_t m_lexer
     the lexer More...
     
    const bool allow_exceptions = true
     whether to throw exceptions in case of errors More...
     
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename InputAdapterType>
    +class nlohmann::detail::parser< BasicJsonType, InputAdapterType >

    + +

    syntax analysis

    +

    This class implements a recursive descent parser.

    + +

    Definition at line 10708 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ lexer_t

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    + + + + + +
    + + + + +
    using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::lexer_t = lexer<BasicJsonType, InputAdapterType>
    +
    +private
    +
    + +

    Definition at line 10714 of file json.hpp.

    + +
    +
    + +

    ◆ number_float_t

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    + + + + + +
    + + + + +
    using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::number_float_t = typename BasicJsonType::number_float_t
    +
    +private
    +
    + +

    Definition at line 10712 of file json.hpp.

    + +
    +
    + +

    ◆ number_integer_t

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    + + + + + +
    + + + + +
    using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::number_integer_t = typename BasicJsonType::number_integer_t
    +
    +private
    +
    + +

    Definition at line 10710 of file json.hpp.

    + +
    +
    + +

    ◆ number_unsigned_t

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    + + + + + +
    + + + + +
    using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t
    +
    +private
    +
    + +

    Definition at line 10711 of file json.hpp.

    + +
    +
    + +

    ◆ string_t

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    + + + + + +
    + + + + +
    using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::string_t = typename BasicJsonType::string_t
    +
    +private
    +
    + +

    Definition at line 10713 of file json.hpp.

    + +
    +
    + +

    ◆ token_type

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    + + + + + +
    + + + + +
    using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::token_type = typename lexer_t::token_type
    +
    +private
    +
    + +

    Definition at line 10715 of file json.hpp.

    + +
    +
    +

    Constructor & Destructor Documentation

    + +

    ◆ parser()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parser (InputAdapterType && adapter,
    const parser_callback_t< BasicJsonType > cb = nullptr,
    const bool allow_exceptions_ = true,
    const bool skip_comments = false 
    )
    +
    +inlineexplicit
    +
    + +

    a parser reading from an input adapter

    + +

    Definition at line 10719 of file json.hpp.

    + +
    +
    +

    Member Function Documentation

    + +

    ◆ accept()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::parser< BasicJsonType, InputAdapterType >::accept (const bool strict = true)
    +
    +inline
    +
    + +

    public accept interface

    +
    Parameters
    + + +
    [in]strictwhether to expect the last token to be EOF
    +
    +
    +
    Returns
    whether the input is a proper JSON text
    + +

    Definition at line 10801 of file json.hpp.

    + +

    References JSON_HEDLEY_NON_NULL, and nlohmann::detail::strict.

    + +
    +
    + +

    ◆ exception_message()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    std::string nlohmann::detail::parser< BasicJsonType, InputAdapterType >::exception_message (const token_type expected,
    const std::stringcontext 
    )
    +
    +inlineprivate
    +
    + +

    Definition at line 11107 of file json.hpp.

    + +

    References nlohmann::detail::string.

    + +
    +
    + +

    ◆ get_token()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    + + + + + +
    + + + + + + + +
    token_type nlohmann::detail::parser< BasicJsonType, InputAdapterType >::get_token ()
    +
    +inlineprivate
    +
    + +

    get next token from lexer

    + +

    Definition at line 11102 of file json.hpp.

    + +
    +
    + +

    ◆ parse()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    void nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parse (const bool strict,
    BasicJsonType & result 
    )
    +
    +inline
    +
    + +

    public parser interface

    +
    Parameters
    + + + +
    [in]strictwhether to expect the last token to be EOF
    [in,out]resultparsed JSON value
    +
    +
    +
    Exceptions
    + + + + +
    parse_error.101in case of an unexpected token
    parse_error.102if to_unicode fails or surrogate error
    parse_error.103if to_unicode fails
    +
    +
    + +

    Definition at line 10741 of file json.hpp.

    + +

    References nlohmann::detail::parse_error::create(), nlohmann::detail::discarded, nlohmann::detail::json_sax_dom_parser< BasicJsonType >::is_errored(), nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::is_errored(), nlohmann::detail::json_sax_dom_parser< BasicJsonType >::parse_error(), and nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parse_error().

    + +
    +
    + +

    ◆ sax_parse()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    +
    +template<typename SAX >
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    bool nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse (SAX * sax,
    const bool strict = true 
    )
    +
    +inline
    +
    +
    + +

    ◆ sax_parse_internal()

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    +
    +template<typename SAX >
    + + + + + +
    + + + + + + + + +
    bool nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal (SAX * sax)
    +
    +inlineprivate
    +
    +
    +

    Member Data Documentation

    + +

    ◆ allow_exceptions

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    + + + + + +
    + + + + +
    const bool nlohmann::detail::parser< BasicJsonType, InputAdapterType >::allow_exceptions = true
    +
    +private
    +
    + +

    whether to throw exceptions in case of errors

    + +

    Definition at line 11144 of file json.hpp.

    + +
    +
    + +

    ◆ callback

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    + + + + + +
    + + + + +
    const parser_callback_t<BasicJsonType> nlohmann::detail::parser< BasicJsonType, InputAdapterType >::callback = nullptr
    +
    +private
    +
    + +

    callback function

    + +

    Definition at line 11138 of file json.hpp.

    + +
    +
    + +

    ◆ last_token

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    + + + + + +
    + + + + +
    token_type nlohmann::detail::parser< BasicJsonType, InputAdapterType >::last_token = token_type::uninitialized
    +
    +private
    +
    + +

    the type of the last read token

    + +

    Definition at line 11140 of file json.hpp.

    + +
    +
    + +

    ◆ m_lexer

    + +
    +
    +
    +template<typename BasicJsonType , typename InputAdapterType >
    + + + + + +
    + + + + +
    lexer_t nlohmann::detail::parser< BasicJsonType, InputAdapterType >::m_lexer
    +
    +private
    +
    + +

    the lexer

    + +

    Definition at line 11142 of file json.hpp.

    + +
    +
    +
    The documentation for this class was generated from the following file: +
    +
    + + + + diff --git a/docs/df/d6b/classnlohmann_1_1detail_1_1parser.js b/docs/df/d6b/classnlohmann_1_1detail_1_1parser.js new file mode 100644 index 00000000..2880d22e --- /dev/null +++ b/docs/df/d6b/classnlohmann_1_1detail_1_1parser.js @@ -0,0 +1,20 @@ +var classnlohmann_1_1detail_1_1parser = +[ + [ "lexer_t", "df/d6b/classnlohmann_1_1detail_1_1parser.html#a5fbd320c5b713fda15d467e8455e4298", null ], + [ "number_float_t", "df/d6b/classnlohmann_1_1detail_1_1parser.html#aaf0c8640d0360fca5334314f0a7e9bad", null ], + [ "number_integer_t", "df/d6b/classnlohmann_1_1detail_1_1parser.html#ab70e418cdc4271afd487a7d7704766c5", null ], + [ "number_unsigned_t", "df/d6b/classnlohmann_1_1detail_1_1parser.html#a5590596704edc4a1a983e26f6f3211ff", null ], + [ "string_t", "df/d6b/classnlohmann_1_1detail_1_1parser.html#a4c46f613c87af09f56679253dce768e4", null ], + [ "token_type", "df/d6b/classnlohmann_1_1detail_1_1parser.html#a5cb5ea47f09f116e71a908c556325710", null ], + [ "parser", "df/d6b/classnlohmann_1_1detail_1_1parser.html#a33b852bf63cba58310d9c0d1242cfb12", null ], + [ "accept", "df/d6b/classnlohmann_1_1detail_1_1parser.html#a39784a586867c05388cb0adca0fd72b5", null ], + [ "exception_message", "df/d6b/classnlohmann_1_1detail_1_1parser.html#a94e7f8a0f880c20c8a48f591f56cbd85", null ], + [ "get_token", "df/d6b/classnlohmann_1_1detail_1_1parser.html#a1212088ee1e23633a76b2ed80514de79", null ], + [ "parse", "df/d6b/classnlohmann_1_1detail_1_1parser.html#a75fb9145ea85f1ad9cc14f61981e1111", null ], + [ "sax_parse", "df/d6b/classnlohmann_1_1detail_1_1parser.html#a073b8313a5194aac3a7d5da0d935788c", null ], + [ "sax_parse_internal", "df/d6b/classnlohmann_1_1detail_1_1parser.html#a678fdebccc8ddd3242c67b6bce2f8f1a", null ], + [ "allow_exceptions", "df/d6b/classnlohmann_1_1detail_1_1parser.html#ab0dbaeaa6df00631072f902068c57750", null ], + [ "callback", "df/d6b/classnlohmann_1_1detail_1_1parser.html#a6bf70a72a1632ef55c0068557b1be37a", null ], + [ "last_token", "df/d6b/classnlohmann_1_1detail_1_1parser.html#a307ed42d5f31a9c5bec991ceee87b0e7", null ], + [ "m_lexer", "df/d6b/classnlohmann_1_1detail_1_1parser.html#a01a73810f794c239aaf123aa2af7371d", null ] +]; \ No newline at end of file diff --git a/docs/df/d6c/classcudnn__frontend_1_1EngineFallbackList__v8__coll__graph.map b/docs/df/d6c/classcudnn__frontend_1_1EngineFallbackList__v8__coll__graph.map index 5608c07c..9605d060 100644 --- a/docs/df/d6c/classcudnn__frontend_1_1EngineFallbackList__v8__coll__graph.map +++ b/docs/df/d6c/classcudnn__frontend_1_1EngineFallbackList__v8__coll__graph.map @@ -1,6 +1,6 @@ - - - - + + + + diff --git a/docs/df/d6c/classcudnn__frontend_1_1EngineFallbackList__v8__coll__graph.md5 b/docs/df/d6c/classcudnn__frontend_1_1EngineFallbackList__v8__coll__graph.md5 index 2a0cb8b5..8029013d 100644 --- a/docs/df/d6c/classcudnn__frontend_1_1EngineFallbackList__v8__coll__graph.md5 +++ b/docs/df/d6c/classcudnn__frontend_1_1EngineFallbackList__v8__coll__graph.md5 @@ -1 +1 @@ -29e670e5f4d3c3bc97a7e83f415e43a0 \ No newline at end of file +a0ca36437b24310e15ad059c7db38daf \ No newline at end of file diff --git a/docs/df/d6c/classcudnn__frontend_1_1EngineFallbackList__v8__coll__graph.png b/docs/df/d6c/classcudnn__frontend_1_1EngineFallbackList__v8__coll__graph.png index b397c0bc..4d66e5c1 100644 Binary files a/docs/df/d6c/classcudnn__frontend_1_1EngineFallbackList__v8__coll__graph.png and b/docs/df/d6c/classcudnn__frontend_1_1EngineFallbackList__v8__coll__graph.png differ diff --git a/docs/df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html b/docs/df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html new file mode 100644 index 00000000..5b7b0bac --- /dev/null +++ b/docs/df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html @@ -0,0 +1,178 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Public Types

    using serializer = typename BasicJsonType::template json_serializer< T, void >
     
    + + + +

    +Static Public Attributes

    static constexpr bool value
     
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename T>
    +struct nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >

    + + +

    Definition at line 3519 of file json.hpp.

    +

    Member Typedef Documentation

    + +

    ◆ serializer

    + +
    +
    +
    +template<typename BasicJsonType , typename T >
    + + + + +
    using nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer = typename BasicJsonType::template json_serializer<T, void>
    +
    + +

    Definition at line 3521 of file json.hpp.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ value

    + +
    +
    +
    +template<typename BasicJsonType , typename T >
    + + + + + +
    + + + + +
    constexpr bool nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value
    +
    +static
    +
    +Initial value: +

    Definition at line 3523 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.js b/docs/df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.js new file mode 100644 index 00000000..4e9d6a2f --- /dev/null +++ b/docs/df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.js @@ -0,0 +1,5 @@ +var structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111 = +[ + [ "serializer", "df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html#a4bcee5e52902d3011df08cf0233e5e10", null ], + [ "value", "df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html#a5d5bc2b9f1c107696d64d92cf6b5d0d7", null ] +]; \ No newline at end of file diff --git a/docs/df/d72/classcudnn__frontend_1_1OperationBuilder__v8-members.html b/docs/df/d72/classcudnn__frontend_1_1OperationBuilder__v8-members.html index 23431871..e9467ddf 100644 --- a/docs/df/d72/classcudnn__frontend_1_1OperationBuilder__v8-members.html +++ b/docs/df/d72/classcudnn__frontend_1_1OperationBuilder__v8-members.html @@ -91,25 +91,27 @@ is_convolution_opcudnn_frontend::OperationBuilder_v8private is_matmul_opcudnn_frontend::OperationBuilder_v8private is_pointwise_opcudnn_frontend::OperationBuilder_v8private - m_operationcudnn_frontend::OperationBuilder_v8private - OperationBuilder_v8(cudnnBackendDescriptorType_t mode)cudnn_frontend::OperationBuilder_v8inline - setAlpha(float alpha) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline - setAlpha(double alpha) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline - setAlpha2(float alpha) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline - setAlpha2(double alpha) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline - setaMatDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline - setbDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline - setBeta(float beta) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline - setBeta(double beta) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline - setbMatDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline - setcDesc(ConvDesc_v8 const &conv) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline - setcMatDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline - setdwDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline - setdxDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline - setdyDesc(ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline - setdyDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline - setmatmulDesc(MatMulDesc_v8 const &matmulDesc) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline - setpwDesc(PointWiseDesc_v8 const &pointWiseDesc) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + is_reduction_opcudnn_frontend::OperationBuilder_v8private + m_operationcudnn_frontend::OperationBuilder_v8private + OperationBuilder_v8(cudnnBackendDescriptorType_t mode)cudnn_frontend::OperationBuilder_v8inline + setAlpha(float alpha) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setAlpha(double alpha) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setAlpha2(float alpha) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setAlpha2(double alpha) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setaMatDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setbDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setBeta(float beta) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setBeta(double beta) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setbMatDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setcDesc(ConvDesc_v8 const &conv) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setcMatDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setdwDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setdxDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setdyDesc(ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setdyDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setmatmulDesc(MatMulDesc_v8 const &matmulDesc) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setpwDesc(PointWiseDesc_v8 const &pointWiseDesc) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline + setreductionDesc(ReductionDesc_v8 const &reductionDesc) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline setwDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline setxDesc(ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline setxDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &cudnn_frontend::OperationBuilder_v8inline diff --git a/docs/df/d83/classcudnn__frontend_1_1EngineConfig__v8.html b/docs/df/d83/classcudnn__frontend_1_1EngineConfig__v8.html index 3c13c532..522d8b30 100644 --- a/docs/df/d83/classcudnn__frontend_1_1EngineConfig__v8.html +++ b/docs/df/d83/classcudnn__frontend_1_1EngineConfig__v8.html @@ -141,7 +141,7 @@ ManagedOpaqueDescriptor get_desc () const  Returns a copy of underlying managed descriptor. More...
      -cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type) +cudnnStatus_t initialize_managed_backend_pointer (cudnnBackendDescriptorType_t type)  Initializes the underlying managed descriptor. More...
      diff --git a/docs/df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html b/docs/df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html new file mode 100644 index 00000000..f4381341 --- /dev/null +++ b/docs/df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html @@ -0,0 +1,181 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 > Struct Template Reference + + + + + + + + + + + + + + +
    +
    +
    + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    + + + + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Static Public Member Functions

    static void fill_buffer (BaseInputAdapter &input, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled)
     
    +

    Detailed Description

    +

    template<typename BaseInputAdapter>
    +struct nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >

    + + +

    Definition at line 5448 of file json.hpp.

    +

    Member Function Documentation

    + +

    ◆ fill_buffer()

    + +
    +
    +
    +template<typename BaseInputAdapter >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static void nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >::fill_buffer (BaseInputAdapter & input,
    std::array< std::char_traits< char >::int_type, 4 > & utf8_bytes,
    size_t & utf8_bytes_index,
    size_t & utf8_bytes_filled 
    )
    +
    +inlinestatic
    +
    + +

    Definition at line 5451 of file json.hpp.

    + +

    References JSON_HEDLEY_UNLIKELY.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.js b/docs/df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.js new file mode 100644 index 00000000..5635a5d9 --- /dev/null +++ b/docs/df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4 = +[ + [ "fill_buffer", "df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html#a293186006f5f8090e337d12571307ced", null ] +]; \ No newline at end of file diff --git a/docs/df/d8e/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.map b/docs/df/d8e/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.map new file mode 100644 index 00000000..c48b5bf6 --- /dev/null +++ b/docs/df/d8e/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/df/d8e/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.md5 b/docs/df/d8e/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.md5 new file mode 100644 index 00000000..00adaee3 --- /dev/null +++ b/docs/df/d8e/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.md5 @@ -0,0 +1 @@ +045fdd8beb49829ecbf13ffbf40bd36c \ No newline at end of file diff --git a/docs/df/d8e/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.png b/docs/df/d8e/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.png new file mode 100644 index 00000000..dff83452 Binary files /dev/null and b/docs/df/d8e/structnlohmann_1_1detail_1_1internal__iterator__coll__graph.png differ diff --git a/docs/df/d92/namespacenlohmann_1_1detail_1_1utility__internal.html b/docs/df/d92/namespacenlohmann_1_1detail_1_1utility__internal.html new file mode 100644 index 00000000..39442093 --- /dev/null +++ b/docs/df/d92/namespacenlohmann_1_1detail_1_1utility__internal.html @@ -0,0 +1,115 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::utility_internal Namespace Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::utility_internal Namespace Reference
    +
    +
    + + + + + + + + + + + + +

    +Classes

    struct  Extend
     
    struct  Extend< integer_sequence< T, Ints... >, SeqSize, 0 >
     
    struct  Extend< integer_sequence< T, Ints... >, SeqSize, 1 >
     
    struct  Gen
     
    struct  Gen< T, 0 >
     
    +
    +
    + + + + diff --git a/docs/df/d92/namespacenlohmann_1_1detail_1_1utility__internal.js b/docs/df/d92/namespacenlohmann_1_1detail_1_1utility__internal.js new file mode 100644 index 00000000..c7b3b6ef --- /dev/null +++ b/docs/df/d92/namespacenlohmann_1_1detail_1_1utility__internal.js @@ -0,0 +1,8 @@ +var namespacenlohmann_1_1detail_1_1utility__internal = +[ + [ "Extend", "d7/d3c/structnlohmann_1_1detail_1_1utility__internal_1_1Extend.html", null ], + [ "Extend< integer_sequence< T, Ints... >, SeqSize, 0 >", "de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.html", "de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842" ], + [ "Extend< integer_sequence< T, Ints... >, SeqSize, 1 >", "d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.html", "d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519" ], + [ "Gen", "d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.html", "d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen" ], + [ "Gen< T, 0 >", "d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.html", "d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4" ] +]; \ No newline at end of file diff --git a/docs/df/d93/cudnn__frontend__EngineConfig_8h__incl.map b/docs/df/d93/cudnn__frontend__EngineConfig_8h__incl.map index 2184185d..e683ab77 100644 --- a/docs/df/d93/cudnn__frontend__EngineConfig_8h__incl.map +++ b/docs/df/d93/cudnn__frontend__EngineConfig_8h__incl.map @@ -1,11 +1,12 @@ - - - - - - - - - + + + + + + + + + + diff --git a/docs/df/d93/cudnn__frontend__EngineConfig_8h__incl.md5 b/docs/df/d93/cudnn__frontend__EngineConfig_8h__incl.md5 index 3d1d45fa..bb460f4b 100644 --- a/docs/df/d93/cudnn__frontend__EngineConfig_8h__incl.md5 +++ b/docs/df/d93/cudnn__frontend__EngineConfig_8h__incl.md5 @@ -1 +1 @@ -03d4493f5a034f6b81a628896712c4b8 \ No newline at end of file +fa1862afe226733e0f2ac99f375e105c \ No newline at end of file diff --git a/docs/df/d93/cudnn__frontend__EngineConfig_8h__incl.png b/docs/df/d93/cudnn__frontend__EngineConfig_8h__incl.png index 7855ad5a..9f2015ca 100644 Binary files a/docs/df/d93/cudnn__frontend__EngineConfig_8h__incl.png and b/docs/df/d93/cudnn__frontend__EngineConfig_8h__incl.png differ diff --git a/docs/df/da0/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.map b/docs/df/da0/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.map new file mode 100644 index 00000000..5c01ddbb --- /dev/null +++ b/docs/df/da0/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/df/da0/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.md5 b/docs/df/da0/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.md5 new file mode 100644 index 00000000..92b9ff6f --- /dev/null +++ b/docs/df/da0/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.md5 @@ -0,0 +1 @@ +eeb4f6989e22d6df076038ce42fcaa1b \ No newline at end of file diff --git a/docs/df/da0/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.png b/docs/df/da0/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.png new file mode 100644 index 00000000..fc7b67c2 Binary files /dev/null and b/docs/df/da0/structnlohmann_1_1detail_1_1is__compatible__type__coll__graph.png differ diff --git a/docs/df/dad/classstd_1_1conditional_1_1type__inherit__graph.map b/docs/df/dad/classstd_1_1conditional_1_1type__inherit__graph.map new file mode 100644 index 00000000..dd6f3347 --- /dev/null +++ b/docs/df/dad/classstd_1_1conditional_1_1type__inherit__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/df/dad/classstd_1_1conditional_1_1type__inherit__graph.md5 b/docs/df/dad/classstd_1_1conditional_1_1type__inherit__graph.md5 new file mode 100644 index 00000000..057dafa0 --- /dev/null +++ b/docs/df/dad/classstd_1_1conditional_1_1type__inherit__graph.md5 @@ -0,0 +1 @@ +5c1a92d08b58adb9a97747fa460eaa62 \ No newline at end of file diff --git a/docs/df/dad/classstd_1_1conditional_1_1type__inherit__graph.png b/docs/df/dad/classstd_1_1conditional_1_1type__inherit__graph.png new file mode 100644 index 00000000..f09774ef Binary files /dev/null and b/docs/df/dad/classstd_1_1conditional_1_1type__inherit__graph.png differ diff --git a/docs/df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html b/docs/df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html new file mode 100644 index 00000000..d53a4e40 --- /dev/null +++ b/docs/df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html @@ -0,0 +1,153 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > > Struct Template Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > > Struct Template Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >:
    +
    +
    Collaboration graph
    + + +
    + + + + +

    +Static Public Attributes

    static constexpr auto value
     
    +

    Detailed Description

    +

    template<typename BasicJsonType, typename ConstructibleStringType>
    +struct nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >

    + + +

    Definition at line 3702 of file json.hpp.

    +

    Member Data Documentation

    + +

    ◆ value

    + +
    +
    +
    +template<typename BasicJsonType , typename ConstructibleStringType >
    + + + + + +
    + + + + +
    constexpr auto nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >::value
    +
    +static
    +
    +Initial value:
    =
    is_constructible<ConstructibleStringType,
    typename BasicJsonType::string_t>::value
    +

    Definition at line 3707 of file json.hpp.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.js b/docs/df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.js new file mode 100644 index 00000000..b1a6f41a --- /dev/null +++ b/docs/df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.js @@ -0,0 +1,4 @@ +var structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387 = +[ + [ "value", "df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html#a3aeae0de0fc37bd5acf3c9d39b132678", null ] +]; \ No newline at end of file diff --git a/docs/df/dc9/classcudnn__frontend_1_1ReductionDescBuilder__v8-members.html b/docs/df/dc9/classcudnn__frontend_1_1ReductionDescBuilder__v8-members.html new file mode 100644 index 00000000..eebfec12 --- /dev/null +++ b/docs/df/dc9/classcudnn__frontend_1_1ReductionDescBuilder__v8-members.html @@ -0,0 +1,110 @@ + + + + + + + +CUDNN Frontend API: Member List + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    cudnn_frontend::ReductionDescBuilder_v8 Member List
    +
    +
    + +

    This is the complete list of members for cudnn_frontend::ReductionDescBuilder_v8, including all inherited members.

    + + + + + + + + + + +
    build()cudnn_frontend::ReductionDescBuilder_v8inline
    m_reductionDesccudnn_frontend::ReductionDescBuilder_v8private
    operator=(ReductionDescBuilder_v8 const &)=deletecudnn_frontend::ReductionDescBuilder_v8
    ReductionDescBuilder_v8()=defaultcudnn_frontend::ReductionDescBuilder_v8explicit
    ReductionDescBuilder_v8(ReductionDescBuilder_v8 &&)=deletecudnn_frontend::ReductionDescBuilder_v8
    ReductionDescBuilder_v8(ReductionDescBuilder_v8 const &)=deletecudnn_frontend::ReductionDescBuilder_v8
    setMathPrecision(cudnnDataType_t data_type_) -> ReductionDescBuilder_v8 &cudnn_frontend::ReductionDescBuilder_v8inline
    setReductionOp(cudnnReduceTensorOp_t op_) -> ReductionDescBuilder_v8 &cudnn_frontend::ReductionDescBuilder_v8inline
    ~ReductionDescBuilder_v8()=defaultcudnn_frontend::ReductionDescBuilder_v8
    +
    + + + + diff --git a/docs/df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html b/docs/df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html new file mode 100644 index 00000000..805b2764 --- /dev/null +++ b/docs/df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html @@ -0,0 +1,183 @@ + + + + + + + +CUDNN Frontend API: nlohmann::detail::dtoa_impl::boundaries Struct Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    + +
    +
    nlohmann::detail::dtoa_impl::boundaries Struct Reference
    +
    +
    + +

    #include <json.hpp>

    +
    +Collaboration diagram for nlohmann::detail::dtoa_impl::boundaries:
    +
    +
    Collaboration graph
    + + + +
    + + + + + + + + +

    +Public Attributes

    diyfp w
     
    diyfp minus
     
    diyfp plus
     
    +

    Detailed Description

    +
    +

    Definition at line 15015 of file json.hpp.

    +

    Member Data Documentation

    + +

    ◆ minus

    + +
    +
    + + + + +
    diyfp nlohmann::detail::dtoa_impl::boundaries::minus
    +
    + +

    Definition at line 15018 of file json.hpp.

    + +

    Referenced by nlohmann::detail::dtoa_impl::grisu2().

    + +
    +
    + +

    ◆ plus

    + +
    +
    + + + + +
    diyfp nlohmann::detail::dtoa_impl::boundaries::plus
    +
    + +

    Definition at line 15019 of file json.hpp.

    + +

    Referenced by nlohmann::detail::dtoa_impl::grisu2().

    + +
    +
    + +

    ◆ w

    + +
    +
    + + + + +
    diyfp nlohmann::detail::dtoa_impl::boundaries::w
    +
    + +

    Definition at line 15017 of file json.hpp.

    + +

    Referenced by nlohmann::detail::dtoa_impl::grisu2().

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    +
    + + + + diff --git a/docs/df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.js b/docs/df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.js new file mode 100644 index 00000000..5d0f1470 --- /dev/null +++ b/docs/df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.js @@ -0,0 +1,6 @@ +var structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries = +[ + [ "minus", "df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html#aec4e5028333c01f3229062f31ce16763", null ], + [ "plus", "df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html#a3321ae2816a6ec5250a0d8e29f798232", null ], + [ "w", "df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html#ad1668c60aeade5f2557fafed8b8aee1a", null ] +]; \ No newline at end of file diff --git a/docs/df/de1/namespacecudnn__frontend.html b/docs/df/de1/namespacecudnn__frontend.html index 14ca79dd..1da80c73 100644 --- a/docs/df/de1/namespacecudnn__frontend.html +++ b/docs/df/de1/namespacecudnn__frontend.html @@ -142,6 +142,10 @@   class  PointWiseDescBuilder_v8   +class  ReductionDesc_v8 +  +class  ReductionDescBuilder_v8 +  class  Tensor_v8   class  TensorBuilder_v8 @@ -171,6 +175,10 @@   using MatMulDescBuilder = MatMulDescBuilder_v8   +using ReductionDesc = ReductionDesc_v8 +  +using ReductionDescBuilder = ReductionDescBuilder_v8 +  using Operation = Operation_v8   using OperationBuilder = OperationBuilder_v8 @@ -229,12 +237,20 @@ - + - - + + + + + + + + + + @@ -263,7 +279,7 @@

    -

    Definition at line 115 of file cudnn_frontend.h.

    +

    Definition at line 118 of file cudnn_frontend.h.

    @@ -279,7 +295,7 @@

    -

    Definition at line 116 of file cudnn_frontend.h.

    +

    Definition at line 119 of file cudnn_frontend.h.

    @@ -295,7 +311,7 @@

    -

    Definition at line 128 of file cudnn_frontend.h.

    +

    Definition at line 133 of file cudnn_frontend.h.

    @@ -311,7 +327,7 @@

    -

    Definition at line 127 of file cudnn_frontend.h.

    +

    Definition at line 132 of file cudnn_frontend.h.

    @@ -327,7 +343,7 @@

    -

    Definition at line 129 of file cudnn_frontend.h.

    +

    Definition at line 134 of file cudnn_frontend.h.

    @@ -343,7 +359,7 @@

    -

    Definition at line 130 of file cudnn_frontend.h.

    +

    Definition at line 135 of file cudnn_frontend.h.

    @@ -376,7 +392,7 @@

    -

    Definition at line 135 of file cudnn_frontend.h.

    +

    Definition at line 140 of file cudnn_frontend.h.

    @@ -392,7 +408,7 @@

    -

    Definition at line 136 of file cudnn_frontend.h.

    +

    Definition at line 141 of file cudnn_frontend.h.

    @@ -408,7 +424,7 @@

    -

    Definition at line 126 of file cudnn_frontend.h.

    +

    Definition at line 131 of file cudnn_frontend.h.

    @@ -424,7 +440,7 @@

    -

    Definition at line 125 of file cudnn_frontend.h.

    +

    Definition at line 130 of file cudnn_frontend.h.

    @@ -458,7 +474,7 @@

    -

    Definition at line 131 of file cudnn_frontend.h.

    +

    Definition at line 136 of file cudnn_frontend.h.

    @@ -474,7 +490,7 @@

    -

    Definition at line 132 of file cudnn_frontend.h.

    +

    Definition at line 137 of file cudnn_frontend.h.

    @@ -538,7 +554,7 @@

    -

    Definition at line 119 of file cudnn_frontend.h.

    +

    Definition at line 122 of file cudnn_frontend.h.

    @@ -554,7 +570,7 @@

    -

    Definition at line 120 of file cudnn_frontend.h.

    +

    Definition at line 123 of file cudnn_frontend.h.

    @@ -570,7 +586,7 @@

    -

    Definition at line 121 of file cudnn_frontend.h.

    +

    Definition at line 126 of file cudnn_frontend.h.

    @@ -586,7 +602,7 @@

    -

    Definition at line 122 of file cudnn_frontend.h.

    +

    Definition at line 127 of file cudnn_frontend.h.

    @@ -602,7 +618,7 @@

    -

    Definition at line 123 of file cudnn_frontend.h.

    +

    Definition at line 128 of file cudnn_frontend.h.

    @@ -618,7 +634,7 @@

    -

    Definition at line 124 of file cudnn_frontend.h.

    +

    Definition at line 129 of file cudnn_frontend.h.

    @@ -634,7 +650,7 @@

    -

    Definition at line 118 of file cudnn_frontend.h.

    +

    Definition at line 121 of file cudnn_frontend.h.

    @@ -650,7 +666,7 @@

    -

    Definition at line 117 of file cudnn_frontend.h.

    +

    Definition at line 120 of file cudnn_frontend.h.

    @@ -668,6 +684,38 @@

    Definition at line 38 of file cudnn_frontend_EngineConfigGenerator.h.

    + + + +

    ◆ ReductionDesc

    + +
    +
    +

    Functions

    static ManagedOpaqueDescriptor make_shared_backend_pointer (cudnnBackendDescriptorType_t type)
    static ManagedOpaqueDescriptor make_shared_backend_pointer (cudnnBackendDescriptorType_t type)
     
    auto filter (Predicate pred, executionPlans_t &plans) -> executionPlans_t
     
    static auto get_fallback_engine_list (cudnnBackendDescriptorType_t mode) -> std::vector< int >
     
    static auto get_fallback_engine_list (cudnnBackendDescriptorType_t mode, const std::string &opGraphTag) -> std::vector< int >
     
    static void load_from_config (json &json_handle, const std::string &errata_json)
     
    template<typename T >
    static bool check_rule (const json &json_handle, const std::string &executionPlanTag, cudnnHandle_t handle, T fn)
     
    template<typename T >
    static bool check_errata (const json &json_handle, const std::string &executionPlanTag, cudnnHandle_t handle, T fn)
     
    static void filter (EngineConfigList &from, EngineConfigList &to, std::function< bool(cudnnBackendDescriptor_t)> filter_fn)
     
    template<cudnnBackendNumericalNote_t NUMERIC_NOTE>
    + + + +
    using cudnn_frontend::ReductionDesc = typedef ReductionDesc_v8
    +
    + +

    Definition at line 124 of file cudnn_frontend.h.

    + +
    + + +

    ◆ ReductionDescBuilder

    + +
    +
    + +

    Definition at line 125 of file cudnn_frontend.h.

    +
    @@ -682,7 +730,7 @@

    -

    Definition at line 113 of file cudnn_frontend.h.

    +

    Definition at line 116 of file cudnn_frontend.h.

    @@ -698,7 +746,7 @@

    -

    Definition at line 114 of file cudnn_frontend.h.

    +

    Definition at line 117 of file cudnn_frontend.h.

    @@ -714,7 +762,7 @@

    -

    Definition at line 133 of file cudnn_frontend.h.

    +

    Definition at line 138 of file cudnn_frontend.h.

    @@ -730,7 +778,7 @@

    -

    Definition at line 134 of file cudnn_frontend.h.

    +

    Definition at line 139 of file cudnn_frontend.h.

    @@ -768,6 +816,112 @@

    Function Documentation

    + +

    ◆ check_errata()

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static bool cudnn_frontend::check_errata (const jsonjson_handle,
    const std::string & executionPlanTag,
    cudnnHandle_t handle,
    fn 
    )
    +
    +static
    +
    + +

    Definition at line 87 of file cudnn_frontend_Errata.h.

    + +
    +
    + +

    ◆ check_rule()

    + +
    +
    +
    +template<typename T >
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    static bool cudnn_frontend::check_rule (const jsonjson_handle,
    const std::string & executionPlanTag,
    cudnnHandle_t handle,
    fn 
    )
    +
    +static
    +
    +

    ◆ filter() [1/2]

    @@ -847,8 +1001,8 @@

    -

    ◆ get_fallback_engine_list()

    + +

    ◆ get_fallback_engine_list()

    @@ -899,6 +1064,44 @@

    References make_shared_backend_pointer().

    + + + +

    ◆ load_from_config()

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    static void cudnn_frontend::load_from_config (jsonjson_handle,
    const std::string & errata_json 
    )
    +
    +static
    +
    + +

    Definition at line 39 of file cudnn_frontend_Errata.h.

    +
    @@ -973,9 +1176,9 @@

    Definition at line 60 of file cudnn_frontend_utils.h.

    -

    References cudnn_frontend::cudnnException::cudnnException(), cudnn_frontend::BackendDescriptor::set_error(), and cudnn_frontend::BackendDescriptor::set_status().

    +

    References cudnn_frontend::cudnnException::cudnnException(), cudnn_frontend::BackendDescriptor::set_error(), cudnn_frontend::BackendDescriptor::set_status(), and nlohmann::to_string().

    -

    Referenced by cudnn_frontend::MatMulDescBuilder_v8::build(), cudnn_frontend::VariantPackBuilder_v8::build(), cudnn_frontend::EngineFallbackListBuilder_v8::build(), cudnn_frontend::OperationGraphBuilder_v8::build(), cudnn_frontend::TensorBuilder_v8::build(), cudnn_frontend::EngineConfigBuilder_v8::build(), cudnn_frontend::EngineHeuristicsBuilder_v8::build(), cudnn_frontend::ConvDescBuilder_v8::build(), cudnn_frontend::PointWiseDescBuilder_v8::build(), cudnn_frontend::ExecutionPlanBuilder_v8::build(), cudnn_frontend::EngineBuilder_v8::build(), cudnn_frontend::OperationBuilder_v8::build(), cudnn_frontend::Engine_v8::buildKnobs(), cudnn_frontend::ExecutionPlan_v8::computeTag(), cudnn_frontend::Engine_v8::Engine_v8(), cudnn_frontend::EngineConfig_v8::EngineConfig_v8(), cudnn_frontend::EngineHeuristics_v8::getEngineConfig(), cudnn_frontend::EngineHeuristics_v8::getEngineConfigCount(), cudnn_frontend::OperationGraph_v8::getEngineCount(), cudnn_frontend::ExecutionPlan_v8::getWorkspaceSize(), cudnn_frontend::OperationBuilder_v8::setaMatDesc(), cudnn_frontend::OperationBuilder_v8::setbDesc(), cudnn_frontend::OperationBuilder_v8::setbMatDesc(), cudnn_frontend::OperationBuilder_v8::setcDesc(), cudnn_frontend::OperationBuilder_v8::setcMatDesc(), cudnn_frontend::EngineConfigBuilder_v8::setEngine(), cudnn_frontend::OperationBuilder_v8::setmatmulDesc(), cudnn_frontend::OperationBuilder_v8::setpwDesc(), and cudnn_frontend::OperationBuilder_v8::setwDesc().

    +

    Referenced by cudnn_frontend::MatMulDescBuilder_v8::build(), cudnn_frontend::ReductionDescBuilder_v8::build(), cudnn_frontend::VariantPackBuilder_v8::build(), cudnn_frontend::EngineFallbackListBuilder_v8::build(), cudnn_frontend::OperationGraphBuilder_v8::build(), cudnn_frontend::TensorBuilder_v8::build(), cudnn_frontend::EngineConfigBuilder_v8::build(), cudnn_frontend::EngineHeuristicsBuilder_v8::build(), cudnn_frontend::ConvDescBuilder_v8::build(), cudnn_frontend::PointWiseDescBuilder_v8::build(), cudnn_frontend::ExecutionPlanBuilder_v8::build(), cudnn_frontend::EngineBuilder_v8::build(), cudnn_frontend::OperationBuilder_v8::build(), cudnn_frontend::Engine_v8::buildKnobs(), cudnn_frontend::ExecutionPlan_v8::computeTag(), cudnn_frontend::Engine_v8::Engine_v8(), cudnn_frontend::EngineConfig_v8::EngineConfig_v8(), cudnn_frontend::EngineHeuristics_v8::getEngineConfig(), cudnn_frontend::EngineHeuristics_v8::getEngineConfigCount(), cudnn_frontend::OperationGraph_v8::getEngineCount(), cudnn_frontend::ExecutionPlan_v8::getWorkspaceSize(), cudnn_frontend::OperationBuilder_v8::setaMatDesc(), cudnn_frontend::OperationBuilder_v8::setbDesc(), cudnn_frontend::OperationBuilder_v8::setbMatDesc(), cudnn_frontend::OperationBuilder_v8::setcDesc(), cudnn_frontend::OperationBuilder_v8::setcMatDesc(), cudnn_frontend::EngineConfigBuilder_v8::setEngine(), cudnn_frontend::OperationBuilder_v8::setmatmulDesc(), cudnn_frontend::OperationBuilder_v8::setpwDesc(), cudnn_frontend::OperationBuilder_v8::setreductionDesc(), and cudnn_frontend::OperationBuilder_v8::setwDesc().

    diff --git a/docs/df/de1/namespacecudnn__frontend.js b/docs/df/de1/namespacecudnn__frontend.js index aa3b5a6f..4102a123 100644 --- a/docs/df/de1/namespacecudnn__frontend.js +++ b/docs/df/de1/namespacecudnn__frontend.js @@ -25,6 +25,8 @@ var namespacecudnn__frontend = [ "OperationGraphBuilder_v8", "d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html", "d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8" ], [ "PointWiseDesc_v8", "d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html", "d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8" ], [ "PointWiseDescBuilder_v8", "d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html", "d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8" ], + [ "ReductionDesc_v8", "d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html", "d4/df1/classcudnn__frontend_1_1ReductionDesc__v8" ], + [ "ReductionDescBuilder_v8", "d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html", "d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8" ], [ "Tensor_v8", "d6/da7/classcudnn__frontend_1_1Tensor__v8.html", "d6/da7/classcudnn__frontend_1_1Tensor__v8" ], [ "TensorBuilder_v8", "db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html", "db/dae/classcudnn__frontend_1_1TensorBuilder__v8" ], [ "VariantPack_v8", "d0/d20/classcudnn__frontend_1_1VariantPack__v8.html", "d0/d20/classcudnn__frontend_1_1VariantPack__v8" ], diff --git a/docs/df/de3/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.map b/docs/df/de3/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.map new file mode 100644 index 00000000..31471ff2 --- /dev/null +++ b/docs/df/de3/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.map @@ -0,0 +1,2 @@ + + diff --git a/docs/df/de3/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.md5 b/docs/df/de3/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.md5 new file mode 100644 index 00000000..6f955223 --- /dev/null +++ b/docs/df/de3/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.md5 @@ -0,0 +1 @@ +6f3f6bf4b733dc02a6b8c92b77976d19 \ No newline at end of file diff --git a/docs/df/de3/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.png b/docs/df/de3/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.png new file mode 100644 index 00000000..ee19735e Binary files /dev/null and b/docs/df/de3/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4__coll__graph.png differ diff --git a/docs/dir_000000_000001.html b/docs/dir_000000_000001.html new file mode 100644 index 00000000..f8e5d11c --- /dev/null +++ b/docs/dir_000000_000001.html @@ -0,0 +1,95 @@ + + + + + + + +CUDNN Frontend API: include -> contrib Relation + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +

    include → contrib Relation

    File in includeIncludes file in include/contrib
    cudnn_frontend_Errata.hnlohmann / json / json.hpp
    +
    + + + + diff --git a/docs/dir_205629aeea700779119961ffc33e6b4c.html b/docs/dir_205629aeea700779119961ffc33e6b4c.html new file mode 100644 index 00000000..910d85c9 --- /dev/null +++ b/docs/dir_205629aeea700779119961ffc33e6b4c.html @@ -0,0 +1,105 @@ + + + + + + + +CUDNN Frontend API: json Directory Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    json Directory Reference
    +
    +
    + + + + +

    +Files

    file  json.hpp [code]
     
    +
    +
    + + + + diff --git a/docs/dir_a906cb525e58c4423e0ba26874e75cc3.html b/docs/dir_a906cb525e58c4423e0ba26874e75cc3.html new file mode 100644 index 00000000..3a8876b6 --- /dev/null +++ b/docs/dir_a906cb525e58c4423e0ba26874e75cc3.html @@ -0,0 +1,105 @@ + + + + + + + +CUDNN Frontend API: nlohmann Directory Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    nlohmann Directory Reference
    +
    +
    + + + + +

    +Directories

    directory  json
     
    +
    +
    + + + + diff --git a/docs/dir_c47d0eb21c97e1d293e342b205a1975a.html b/docs/dir_c47d0eb21c97e1d293e342b205a1975a.html new file mode 100644 index 00000000..410eef71 --- /dev/null +++ b/docs/dir_c47d0eb21c97e1d293e342b205a1975a.html @@ -0,0 +1,105 @@ + + + + + + + +CUDNN Frontend API: contrib Directory Reference + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    CUDNN Frontend API +  8.2.0 +
    +
    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    contrib Directory Reference
    +
    +
    + + + + +

    +Directories

    directory  nlohmann
     
    +
    +
    + + + + diff --git a/docs/dir_d44c64559bbebec7f509842c48db8b23.html b/docs/dir_d44c64559bbebec7f509842c48db8b23.html index e334eb6a..5e3e3365 100644 --- a/docs/dir_d44c64559bbebec7f509842c48db8b23.html +++ b/docs/dir_d44c64559bbebec7f509842c48db8b23.html @@ -84,7 +84,22 @@
    include Directory Reference
    +
    +Directory dependency graph for include:
    +
    +
    include
    + + + + + +
    + + + +

    +Directories

    directory  contrib
     
    @@ -101,6 +116,8 @@ + + @@ -119,6 +136,8 @@ + + diff --git a/docs/dir_d44c64559bbebec7f509842c48db8b23_dep.map b/docs/dir_d44c64559bbebec7f509842c48db8b23_dep.map new file mode 100644 index 00000000..8bc0ae62 --- /dev/null +++ b/docs/dir_d44c64559bbebec7f509842c48db8b23_dep.map @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/dir_d44c64559bbebec7f509842c48db8b23_dep.md5 b/docs/dir_d44c64559bbebec7f509842c48db8b23_dep.md5 new file mode 100644 index 00000000..0dc6eb5e --- /dev/null +++ b/docs/dir_d44c64559bbebec7f509842c48db8b23_dep.md5 @@ -0,0 +1 @@ +24c73a3062e47cc5bc6546387ae34a78 \ No newline at end of file diff --git a/docs/dir_d44c64559bbebec7f509842c48db8b23_dep.png b/docs/dir_d44c64559bbebec7f509842c48db8b23_dep.png new file mode 100644 index 00000000..87155b28 Binary files /dev/null and b/docs/dir_d44c64559bbebec7f509842c48db8b23_dep.png differ diff --git a/docs/files.html b/docs/files.html index af09fb0b..66742327 100644 --- a/docs/files.html +++ b/docs/files.html @@ -93,18 +93,21 @@ - - - - - - - - - - - - + + + + + + + + + + + + + + +

    Files

    file  cudnn_backend_base.h [code]
     
    file  cudnn_frontend_EngineFallbackList.h [code]
     
    file  cudnn_frontend_Errata.h [code]
     
    file  cudnn_frontend_ExecutionPlan.h [code]
     
    file  cudnn_frontend_Filters.h [code]
     
    file  cudnn_frontend_PointWiseDesc.h [code]
     
    file  cudnn_frontend_ReductionDesc.h [code]
     
    file  cudnn_frontend_Tensor.h [code]
     
    file  cudnn_frontend_utils.h [code]
     cudnn_frontend_EngineConfig.h
     cudnn_frontend_EngineConfigGenerator.h
     cudnn_frontend_EngineFallbackList.h
     cudnn_frontend_ExecutionPlan.h
     cudnn_frontend_Filters.h
     cudnn_frontend_find_plan.h
     cudnn_frontend_get_plan.h
     cudnn_frontend_Heuristics.h
     cudnn_frontend_MatMulDesc.h
     cudnn_frontend_Operation.h
     cudnn_frontend_OperationGraph.h
     cudnn_frontend_PointWiseDesc.h
     cudnn_frontend_Tensor.h
     cudnn_frontend_utils.h
     cudnn_frontend_VariantPack.h
     cudnn_frontend_Errata.h
     cudnn_frontend_ExecutionPlan.h
     cudnn_frontend_Filters.h
     cudnn_frontend_find_plan.h
     cudnn_frontend_get_plan.h
     cudnn_frontend_Heuristics.h
     cudnn_frontend_MatMulDesc.h
     cudnn_frontend_Operation.h
     cudnn_frontend_OperationGraph.h
     cudnn_frontend_PointWiseDesc.h
     cudnn_frontend_ReductionDesc.h
     cudnn_frontend_Tensor.h
     cudnn_frontend_utils.h
     cudnn_frontend_VariantPack.h
     json.hpp
    diff --git a/docs/files.js b/docs/files.js index 4e7416cc..c34f6796 100644 --- a/docs/files.js +++ b/docs/files.js @@ -14,6 +14,7 @@ var files = [ "cudnn_frontend_EngineConfig.h", "d6/d67/cudnn__frontend__EngineConfig_8h.html", "d6/d67/cudnn__frontend__EngineConfig_8h" ], [ "cudnn_frontend_EngineConfigGenerator.h", "de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html", "de/d1e/cudnn__frontend__EngineConfigGenerator_8h" ], [ "cudnn_frontend_EngineFallbackList.h", "df/d3e/cudnn__frontend__EngineFallbackList_8h.html", "df/d3e/cudnn__frontend__EngineFallbackList_8h" ], + [ "cudnn_frontend_Errata.h", "db/d7e/cudnn__frontend__Errata_8h.html", "db/d7e/cudnn__frontend__Errata_8h" ], [ "cudnn_frontend_ExecutionPlan.h", "d6/d51/cudnn__frontend__ExecutionPlan_8h.html", [ [ "ExecutionPlan_v8", "d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html", "d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8" ], [ "ExecutionPlanBuilder_v8", "d1/d74/classcudnn__frontend_1_1ExecutionPlanBuilder__v8.html", "d1/d74/classcudnn__frontend_1_1ExecutionPlanBuilder__v8" ] @@ -41,6 +42,10 @@ var files = [ "PointWiseDesc_v8", "d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html", "d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8" ], [ "PointWiseDescBuilder_v8", "d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html", "d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8" ] ] ], + [ "cudnn_frontend_ReductionDesc.h", "db/da7/cudnn__frontend__ReductionDesc_8h.html", [ + [ "ReductionDesc_v8", "d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html", "d4/df1/classcudnn__frontend_1_1ReductionDesc__v8" ], + [ "ReductionDescBuilder_v8", "d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html", "d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8" ] + ] ], [ "cudnn_frontend_Tensor.h", "d3/d98/cudnn__frontend__Tensor_8h.html", [ [ "Tensor_v8", "d6/da7/classcudnn__frontend_1_1Tensor__v8.html", "d6/da7/classcudnn__frontend_1_1Tensor__v8" ], [ "TensorBuilder_v8", "db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html", "db/dae/classcudnn__frontend_1_1TensorBuilder__v8" ] @@ -49,5 +54,6 @@ var files = [ "cudnn_frontend_VariantPack.h", "df/dc0/cudnn__frontend__VariantPack_8h.html", [ [ "VariantPack_v8", "d0/d20/classcudnn__frontend_1_1VariantPack__v8.html", "d0/d20/classcudnn__frontend_1_1VariantPack__v8" ], [ "VariantPackBuilder_v8", "d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html", "d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8" ] - ] ] + ] ], + [ "json.hpp", "d5/db8/json_8hpp.html", "d5/db8/json_8hpp" ] ]; \ No newline at end of file diff --git a/docs/functions.html b/docs/functions.html index fe273bcd..679ac566 100644 --- a/docs/functions.html +++ b/docs/functions.html @@ -82,27 +82,27 @@
    Here is a list of all class members with links to the classes they belong to:
    -

    - a -

    diff --git a/docs/functions_0x7e.html b/docs/functions_0x7e.html index ee4440f1..2973c931 100644 --- a/docs/functions_0x7e.html +++ b/docs/functions_0x7e.html @@ -83,6 +83,12 @@
    Here is a list of all class members with links to the classes they belong to:

    - ~ -

      +
    • ~basic_json() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
    • +
    • ~binary_reader() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
    • ~ConvDesc_v8() : cudnn_frontend::ConvDesc_v8
    • @@ -119,12 +125,39 @@

      - ~ -

      • ~ExecutionPlanBuilder_v8() : cudnn_frontend::ExecutionPlanBuilder_v8
      • +
      • ~file_input_adapter() +: nlohmann::detail::file_input_adapter +
      • +
      • ~input_stream_adapter() +: nlohmann::detail::input_stream_adapter +
      • +
      • ~iter_impl() +: nlohmann::detail::iter_impl< BasicJsonType > +
      • +
      • ~json_ref() +: nlohmann::detail::json_ref< BasicJsonType > +
      • +
      • ~json_sax() +: nlohmann::json_sax< BasicJsonType > +
      • +
      • ~json_sax_dom_callback_parser() +: nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +
      • +
      • ~json_sax_dom_parser() +: nlohmann::detail::json_sax_dom_parser< BasicJsonType > +
      • +
      • ~lexer() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
      • ~MatMulDesc_v8() : cudnn_frontend::MatMulDesc_v8
      • ~MatMulDescBuilder_v8() : cudnn_frontend::MatMulDescBuilder_v8
      • +
      • ~nonesuch() +: nlohmann::detail::nonesuch +
      • ~OpaqueBackendPointer() : cudnn_frontend::OpaqueBackendPointer
      • @@ -137,12 +170,24 @@

        - ~ -

        • ~OperationGraphBuilder_v8() : cudnn_frontend::OperationGraphBuilder_v8
        • +
        • ~output_adapter_protocol() +: nlohmann::detail::output_adapter_protocol< CharType > +
        • ~PointWiseDesc_v8() : cudnn_frontend::PointWiseDesc_v8
        • ~PointWiseDescBuilder_v8() : cudnn_frontend::PointWiseDescBuilder_v8
        • +
        • ~ReductionDesc_v8() +: cudnn_frontend::ReductionDesc_v8 +
        • +
        • ~ReductionDescBuilder_v8() +: cudnn_frontend::ReductionDescBuilder_v8 +
        • +
        • ~serializer() +: nlohmann::detail::serializer< BasicJsonType > +
        • ~Tensor_v8() : cudnn_frontend::Tensor_v8
        • diff --git a/docs/functions__.html b/docs/functions__.html new file mode 100644 index 00000000..80890b42 --- /dev/null +++ b/docs/functions__.html @@ -0,0 +1,115 @@ + + + + + + + +CUDNN Frontend API: Class Members + + + + + + + + + + + + + + +
          +
          + + + + + + +
          +
          CUDNN Frontend API +  8.2.0 +
          +
          +
          + + + + + + + +
          +
          + +
          +
          +
          + + + + + + diff --git a/docs/functions_a.html b/docs/functions_a.html new file mode 100644 index 00000000..f63f2fe2 --- /dev/null +++ b/docs/functions_a.html @@ -0,0 +1,169 @@ + + + + + + + +CUDNN Frontend API: Class Members + + + + + + + + + + + + + + +
          +
          + + + + + + +
          +
          CUDNN Frontend API +  8.2.0 +
          +
          +
          + + + + + + + +
          +
          + +
          +
          +
          + +
          + +
          +
          + + +
          + +
          + +
          +
          Here is a list of all class members with links to the classes they belong to:
          + +

          - a -

          +
          +
          + + + + diff --git a/docs/functions_b.html b/docs/functions_b.html index a33e4434..a22ad974 100644 --- a/docs/functions_b.html +++ b/docs/functions_b.html @@ -83,27 +83,97 @@
          Here is a list of all class members with links to the classes they belong to:

          - b -

            +
          • back() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::json_pointer< BasicJsonType > +
          • BackendDescriptor() : cudnn_frontend::BackendDescriptor
          • +
          • base_adapter +: nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType > +
          • +
          • base_adapter_type +: nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > > +
          • +
          • base_iterator +: nlohmann::detail::json_reverse_iterator< Base > +
          • +
          • basic_json() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::json_pointer< BasicJsonType > +
          • +
          • basic_json_t +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
          • +
          • BasicJsonType +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::json_pointer< BasicJsonType > +
          • bChoices : cudnn_frontend::EngineConfig_v8
          • bdesc : cudnn_frontend::Operation_v8
          • +
          • begin() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::iteration_proxy< IteratorType > +
          • +
          • begin_value +: nlohmann::detail::primitive_iterator_t +
          • beta_d : cudnn_frontend::Operation_v8
          • beta_s : cudnn_frontend::Operation_v8
          • +
          • binary() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > +
          • +
          • binary_char_t +: nlohmann::detail::serializer< BasicJsonType > +
          • +
          • binary_reader +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
          • +
          • binary_t +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::binary_writer< BasicJsonType, CharType > +, nlohmann::detail::is_sax< SAX, BasicJsonType > +, nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType > +, nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > +
          • +
          • binary_writer +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::binary_writer< BasicJsonType, CharType > +
          • bKnobs : cudnn_frontend::Engine_v8
          • bmatdesc : cudnn_frontend::Operation_v8
          • +
          • boolean +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > +
          • +
          • boolean_t +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
          • btensor_dimA : cudnn_frontend::Tensor_v8
          • @@ -121,12 +191,25 @@

            - b -

            diff --git a/docs/functions_c.html b/docs/functions_c.html index 5e7e85d2..f71ac5b7 100644 --- a/docs/functions_c.html +++ b/docs/functions_c.html @@ -83,24 +83,149 @@
            Here is a list of all class members with links to the classes they belong to:

            - c -

              +
            • calc_bson_array_size() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
            • +
            • calc_bson_binary_size() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
            • +
            • calc_bson_element_size() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
            • +
            • calc_bson_entry_header_size() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
            • +
            • calc_bson_integer_size() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
            • +
            • calc_bson_object_size() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
            • +
            • calc_bson_string_size() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
            • +
            • calc_bson_unsigned_size() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
            • +
            • callback +: nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::parser< BasicJsonType, InputAdapterType > +
            • +
            • cbegin() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
            • +
            • cbor_tag_handler_t +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
            • cdesc : cudnn_frontend::Operation_v8
            • +
            • cend() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
            • +
            • char_int_type +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
            • +
            • char_type +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::file_input_adapter +, nlohmann::detail::input_stream_adapter +, nlohmann::detail::iterator_input_adapter< IteratorType > +, nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable > +, nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > > +, nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +, nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType > +
            • +
            • chars_read +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
            • +
            • chars_read_current_line +: nlohmann::detail::position_t +
            • +
            • chars_read_total +: nlohmann::detail::position_t +
            • choice : cudnn_frontend::Engine_v8::Knob
            • +
            • clear() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
            • +
            • clear_subtype() +: nlohmann::byte_container_with_subtype< BinaryType > +
            • cmatdesc : cudnn_frontend::Operation_v8
            • +
            • CompatibleLimits +: nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > > +
            • computeTag() : cudnn_frontend::ExecutionPlan_v8
            • +
            • const_iterator +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
            • +
            • const_pointer +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
            • +
            • const_reference +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
            • +
            • const_reverse_iterator +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
            • +
            • construct() +: nlohmann::detail::external_constructor< value_t::array > +, nlohmann::detail::external_constructor< value_t::binary > +, nlohmann::detail::external_constructor< value_t::boolean > +, nlohmann::detail::external_constructor< value_t::number_float > +, nlohmann::detail::external_constructor< value_t::number_integer > +, nlohmann::detail::external_constructor< value_t::number_unsigned > +, nlohmann::detail::external_constructor< value_t::object > +, nlohmann::detail::external_constructor< value_t::string > +
            • +
            • container +: nlohmann::detail::iteration_proxy< IteratorType > +
            • +
            • Container +: nlohmann::ordered_map< Key, T, IgnoredLess, Allocator > +
            • +
            • container_type +: nlohmann::byte_container_with_subtype< BinaryType > +
            • +
            • contains() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::json_pointer< BasicJsonType > +
            • ConvDesc_v8() -: cudnn_frontend::ConvDesc_v8 +: cudnn_frontend::ConvDesc_v8
            • ConvDescBuilder_v8 : cudnn_frontend::ConvDesc_v8 -, cudnn_frontend::ConvDescBuilder_v8 +, cudnn_frontend::ConvDescBuilder_v8 +
            • +
            • count() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::ordered_map< Key, T, IgnoredLess, Allocator > +
            • +
            • crbegin() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
            • +
            • create() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> > +, nlohmann::detail::invalid_iterator +, nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable > +, nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > > +, nlohmann::detail::other_error +, nlohmann::detail::out_of_range +, nlohmann::detail::parse_error +, nlohmann::detail::type_error +
            • +
            • crend() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
            • cudnnException() : cudnn_frontend::cudnnException @@ -111,6 +236,11 @@

              - c -

              diff --git a/docs/functions_d.html b/docs/functions_d.html index 23b7edb6..7acf0955 100644 --- a/docs/functions_d.html +++ b/docs/functions_d.html @@ -90,6 +90,12 @@

              - d -

                : cudnn_frontend::ConvDesc_v8 , cudnn_frontend::Tensor_v8 +
              • decimal_point +: nlohmann::detail::serializer< BasicJsonType > +
              • +
              • decimal_point_char +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
              • describe() : cudnn_frontend::BackendDescriptor , cudnn_frontend::ConvDesc_v8 @@ -103,12 +109,44 @@

                - d -

                  , cudnn_frontend::Operation_v8 , cudnn_frontend::OperationGraph_v8 , cudnn_frontend::PointWiseDesc_v8 +, cudnn_frontend::ReductionDesc_v8 , cudnn_frontend::Tensor_v8 , cudnn_frontend::VariantPack_v8 +
                • destroy() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                • +
                • detail::external_constructor +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                • +
                • diagnostics() +: nlohmann::detail::exception +
                • +
                • diff() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                • +
                • difference_type +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::iteration_proxy_value< IteratorType > +, nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > > +, nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > > +, nlohmann::detail::json_reverse_iterator< Base > +, nlohmann::detail::primitive_iterator_t +
                • dilation : cudnn_frontend::ConvDesc_v8
                • +
                • discarded +: nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +
                • +
                • diyfp() +: nlohmann::detail::dtoa_impl::diyfp +
                • +
                • dump() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::serializer< BasicJsonType > +
                • dwdesc : cudnn_frontend::Operation_v8
                • diff --git a/docs/functions_dup.js b/docs/functions_dup.js index 98809226..9f5ac8e7 100644 --- a/docs/functions_dup.js +++ b/docs/functions_dup.js @@ -1,19 +1,24 @@ var functions_dup = [ - [ "a", "functions.html", null ], + [ ":", "functions.html", null ], + [ "_", "functions__.html", null ], + [ "a", "functions_a.html", null ], [ "b", "functions_b.html", null ], [ "c", "functions_c.html", null ], [ "d", "functions_d.html", null ], [ "e", "functions_e.html", null ], + [ "f", "functions_f.html", null ], [ "g", "functions_g.html", null ], [ "h", "functions_h.html", null ], [ "i", "functions_i.html", null ], + [ "j", "functions_j.html", null ], [ "k", "functions_k.html", null ], [ "l", "functions_l.html", null ], [ "m", "functions_m.html", null ], [ "n", "functions_n.html", null ], [ "o", "functions_o.html", null ], [ "p", "functions_p.html", null ], + [ "r", "functions_r.html", null ], [ "s", "functions_s.html", null ], [ "t", "functions_t.html", null ], [ "u", "functions_u.html", null ], diff --git a/docs/functions_e.html b/docs/functions_e.html index c8d8f405..592afec1 100644 --- a/docs/functions_e.html +++ b/docs/functions_e.html @@ -83,9 +83,51 @@
                  Here is a list of all class members with links to the classes they belong to:

                  - e -

                    +
                  • e +: nlohmann::detail::dtoa_impl::cached_power +, nlohmann::detail::dtoa_impl::diyfp +
                  • +
                  • else +: nlohmann::detail::serializer< BasicJsonType > +
                  • elu_alpha : cudnn_frontend::PointWiseDesc_v8
                  • +
                  • emplace() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::ordered_map< Key, T, IgnoredLess, Allocator > +
                  • +
                  • emplace_back() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                  • +
                  • empty() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::iterator_input_adapter< IteratorType > +, nlohmann::json_pointer< BasicJsonType > +
                  • +
                  • empty_str +: nlohmann::detail::iteration_proxy_value< IteratorType > +
                  • +
                  • end() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::iteration_proxy< IteratorType > +, nlohmann::detail::iterator_input_adapter< IteratorType > +
                  • +
                  • end_array() +: nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > +
                  • +
                  • end_object() +: nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > +
                  • +
                  • end_value +: nlohmann::detail::primitive_iterator_t +
                  • engine : cudnn_frontend::EngineConfig_v8
                  • @@ -124,13 +166,45 @@

                    - e -

                    • EngineHeuristicsBuilder_v8 : cudnn_frontend::EngineHeuristics_v8 -, cudnn_frontend::EngineHeuristicsBuilder_v8 +, cudnn_frontend::EngineHeuristicsBuilder_v8 +
                    • +
                    • ensure_ascii +: nlohmann::detail::serializer< BasicJsonType > +
                    • +
                    • erase() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >
                    • err_msg : cudnn_frontend::BackendDescriptor
                    • +
                    • error_handler +: nlohmann::detail::serializer< BasicJsonType > +
                    • +
                    • error_handler_t +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                    • +
                    • error_message +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                    • +
                    • errored +: nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +
                    • +
                    • exception +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::exception +
                    • +
                    • exception_message() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::parser< BasicJsonType, InputAdapterType > +
                    • +
                    • exception_t +: nlohmann::detail::is_sax< SAX, BasicJsonType > +, nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType > +
                    • ExecutionPlan_v8() -: cudnn_frontend::ExecutionPlan_v8 +: cudnn_frontend::ExecutionPlan_v8
                    • ExecutionPlanBuilder_v8 : cudnn_frontend::ExecutionPlan_v8 diff --git a/docs/functions_enum.html b/docs/functions_enum.html new file mode 100644 index 00000000..b5f9664e --- /dev/null +++ b/docs/functions_enum.html @@ -0,0 +1,99 @@ + + + + + + + +CUDNN Frontend API: Class Members - Enumerations + + + + + + + + + + + + + + +
                      +
                      + + + + + + +
                      +
                      CUDNN Frontend API +  8.2.0 +
                      +
                      +
                      + + + + + + + +
                      +
                      + +
                      +
                      +
                      + +
                      + +
                      +
                      + + +
                      + +
                      + + +
                      + + + + diff --git a/docs/functions_f.html b/docs/functions_f.html new file mode 100644 index 00000000..58e0c386 --- /dev/null +++ b/docs/functions_f.html @@ -0,0 +1,139 @@ + + + + + + + +CUDNN Frontend API: Class Members + + + + + + + + + + + + + + +
                      +
                      + + + + + + +
                      +
                      CUDNN Frontend API +  8.2.0 +
                      +
                      +
                      + + + + + + + +
                      +
                      + +
                      +
                      +
                      + +
                      + +
                      +
                      + + +
                      + +
                      + +
                      +
                      Here is a list of all class members with links to the classes they belong to:
                      + +

                      - f -

                      +
                      +
                      + + + + diff --git a/docs/functions_func.html b/docs/functions_func.html index a82e57ef..11b446a0 100644 --- a/docs/functions_func.html +++ b/docs/functions_func.html @@ -82,26 +82,26 @@
                        -

                      - b -

                      diff --git a/docs/functions_func.js b/docs/functions_func.js index a855a133..f0e7bcfe 100644 --- a/docs/functions_func.js +++ b/docs/functions_func.js @@ -1,17 +1,25 @@ var functions_func = [ - [ "b", "functions_func.html", null ], + [ "a", "functions_func.html", null ], + [ "b", "functions_func_b.html", null ], [ "c", "functions_func_c.html", null ], [ "d", "functions_func_d.html", null ], [ "e", "functions_func_e.html", null ], + [ "f", "functions_func_f.html", null ], [ "g", "functions_func_g.html", null ], + [ "h", "functions_func_h.html", null ], [ "i", "functions_func_i.html", null ], + [ "j", "functions_func_j.html", null ], [ "k", "functions_func_k.html", null ], + [ "l", "functions_func_l.html", null ], [ "m", "functions_func_m.html", null ], + [ "n", "functions_func_n.html", null ], [ "o", "functions_func_o.html", null ], [ "p", "functions_func_p.html", null ], + [ "r", "functions_func_r.html", null ], [ "s", "functions_func_s.html", null ], [ "t", "functions_func_t.html", null ], + [ "u", "functions_func_u.html", null ], [ "v", "functions_func_v.html", null ], [ "w", "functions_func_w.html", null ], [ "~", "functions_func_0x7e.html", null ] diff --git a/docs/functions_func_0x7e.html b/docs/functions_func_0x7e.html index 044f2226..0c733912 100644 --- a/docs/functions_func_0x7e.html +++ b/docs/functions_func_0x7e.html @@ -83,6 +83,12 @@  

                      - ~ -

                        +
                      • ~basic_json() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                      • +
                      • ~binary_reader() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                      • ~ConvDesc_v8() : cudnn_frontend::ConvDesc_v8
                      • @@ -119,12 +125,39 @@

                        - ~ -

                        • ~ExecutionPlanBuilder_v8() : cudnn_frontend::ExecutionPlanBuilder_v8
                        • +
                        • ~file_input_adapter() +: nlohmann::detail::file_input_adapter +
                        • +
                        • ~input_stream_adapter() +: nlohmann::detail::input_stream_adapter +
                        • +
                        • ~iter_impl() +: nlohmann::detail::iter_impl< BasicJsonType > +
                        • +
                        • ~json_ref() +: nlohmann::detail::json_ref< BasicJsonType > +
                        • +
                        • ~json_sax() +: nlohmann::json_sax< BasicJsonType > +
                        • +
                        • ~json_sax_dom_callback_parser() +: nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +
                        • +
                        • ~json_sax_dom_parser() +: nlohmann::detail::json_sax_dom_parser< BasicJsonType > +
                        • +
                        • ~lexer() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                        • ~MatMulDesc_v8() : cudnn_frontend::MatMulDesc_v8
                        • ~MatMulDescBuilder_v8() : cudnn_frontend::MatMulDescBuilder_v8
                        • +
                        • ~nonesuch() +: nlohmann::detail::nonesuch +
                        • ~OpaqueBackendPointer() : cudnn_frontend::OpaqueBackendPointer
                        • @@ -137,12 +170,24 @@

                          - ~ -

                          • ~OperationGraphBuilder_v8() : cudnn_frontend::OperationGraphBuilder_v8
                          • +
                          • ~output_adapter_protocol() +: nlohmann::detail::output_adapter_protocol< CharType > +
                          • ~PointWiseDesc_v8() : cudnn_frontend::PointWiseDesc_v8
                          • ~PointWiseDescBuilder_v8() : cudnn_frontend::PointWiseDescBuilder_v8
                          • +
                          • ~ReductionDesc_v8() +: cudnn_frontend::ReductionDesc_v8 +
                          • +
                          • ~ReductionDescBuilder_v8() +: cudnn_frontend::ReductionDescBuilder_v8 +
                          • +
                          • ~serializer() +: nlohmann::detail::serializer< BasicJsonType > +
                          • ~Tensor_v8() : cudnn_frontend::Tensor_v8
                          • diff --git a/docs/functions_func_b.html b/docs/functions_func_b.html new file mode 100644 index 00000000..2ba8e10d --- /dev/null +++ b/docs/functions_func_b.html @@ -0,0 +1,155 @@ + + + + + + + +CUDNN Frontend API: Class Members - Functions + + + + + + + + + + + + + + +
                            +
                            + + + + + + +
                            +
                            CUDNN Frontend API +  8.2.0 +
                            +
                            +
                            + + + + + + + +
                            +
                            + +
                            +
                            +
                            + +
                            + +
                            +
                            + + +
                            + +
                            + +
                            +  + +

                            - b -

                            +
                            +
                            + + + + diff --git a/docs/functions_func_c.html b/docs/functions_func_c.html index 0b8642ea..ec6fa1ad 100644 --- a/docs/functions_func_c.html +++ b/docs/functions_func_c.html @@ -83,14 +83,85 @@  

                            - c -

                              +
                            • calc_bson_array_size() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
                            • +
                            • calc_bson_binary_size() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
                            • +
                            • calc_bson_element_size() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
                            • +
                            • calc_bson_entry_header_size() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
                            • +
                            • calc_bson_integer_size() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
                            • +
                            • calc_bson_object_size() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
                            • +
                            • calc_bson_string_size() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
                            • +
                            • calc_bson_unsigned_size() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
                            • +
                            • cbegin() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                            • +
                            • cend() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                            • +
                            • clear() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                            • +
                            • clear_subtype() +: nlohmann::byte_container_with_subtype< BinaryType > +
                            • computeTag() : cudnn_frontend::ExecutionPlan_v8
                            • +
                            • construct() +: nlohmann::detail::external_constructor< value_t::array > +, nlohmann::detail::external_constructor< value_t::binary > +, nlohmann::detail::external_constructor< value_t::boolean > +, nlohmann::detail::external_constructor< value_t::number_float > +, nlohmann::detail::external_constructor< value_t::number_integer > +, nlohmann::detail::external_constructor< value_t::number_unsigned > +, nlohmann::detail::external_constructor< value_t::object > +, nlohmann::detail::external_constructor< value_t::string > +
                            • +
                            • contains() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::json_pointer< BasicJsonType > +
                            • ConvDesc_v8() : cudnn_frontend::ConvDesc_v8
                            • ConvDescBuilder_v8() -: cudnn_frontend::ConvDescBuilder_v8 +: cudnn_frontend::ConvDescBuilder_v8 +
                            • +
                            • count() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::ordered_map< Key, T, IgnoredLess, Allocator > +
                            • +
                            • crbegin() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                            • +
                            • create() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> > +, nlohmann::detail::invalid_iterator +, nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable > +, nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > > +, nlohmann::detail::other_error +, nlohmann::detail::out_of_range +, nlohmann::detail::parse_error +, nlohmann::detail::type_error +
                            • +
                            • crend() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
                            • cudnnException() : cudnn_frontend::cudnnException diff --git a/docs/functions_func_d.html b/docs/functions_func_d.html index ad381b28..b93b5832 100644 --- a/docs/functions_func_d.html +++ b/docs/functions_func_d.html @@ -96,9 +96,26 @@

                              - d -

                              diff --git a/docs/functions_func_e.html b/docs/functions_func_e.html index 50fd3977..827c9627 100644 --- a/docs/functions_func_e.html +++ b/docs/functions_func_e.html @@ -83,6 +83,34 @@  

                              - e -

                                +
                              • emplace() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::ordered_map< Key, T, IgnoredLess, Allocator > +
                              • +
                              • emplace_back() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                              • +
                              • empty() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::iterator_input_adapter< IteratorType > +, nlohmann::json_pointer< BasicJsonType > +
                              • +
                              • end() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::iteration_proxy< IteratorType > +
                              • +
                              • end_array() +: nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > +
                              • +
                              • end_object() +: nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > +
                              • Engine_v8() : cudnn_frontend::Engine_v8
                              • @@ -90,7 +118,7 @@

                                - e -

                                  : cudnn_frontend::EngineBuilder_v8
                                • EngineConfig_v8() -: cudnn_frontend::EngineConfig_v8 +: cudnn_frontend::EngineConfig_v8
                                • EngineConfigBuilder_v8() : cudnn_frontend::EngineConfigBuilder_v8 @@ -99,22 +127,33 @@

                                  - e -

                                  diff --git a/docs/functions_func_f.html b/docs/functions_func_f.html new file mode 100644 index 00000000..f94b8442 --- /dev/null +++ b/docs/functions_func_f.html @@ -0,0 +1,135 @@ + + + + + + + +CUDNN Frontend API: Class Members - Functions + + + + + + + + + + + + + + +
                                  +
                                  + + + + + + +
                                  +
                                  CUDNN Frontend API +  8.2.0 +
                                  +
                                  +
                                  + + + + + + + +
                                  +
                                  + +
                                  +
                                  +
                                  + +
                                  + +
                                  +
                                  + + +
                                  + +
                                  + +
                                  +  + +

                                  - f -

                                  +
                                  +
                                  + + + + diff --git a/docs/functions_func_g.html b/docs/functions_func_g.html index 147abdcc..dae593c2 100644 --- a/docs/functions_func_g.html +++ b/docs/functions_func_g.html @@ -86,22 +86,172 @@

                                  - g -

                                  • generate_engine_config() : cudnn_frontend::EngineConfigGenerator
                                  • +
                                  • get() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +, nlohmann::detail::span_input_adapter +
                                  • +
                                  • get_allocator() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                  • +
                                  • get_and_create() +: nlohmann::json_pointer< BasicJsonType > +
                                  • get_backend_descriptor() : cudnn_frontend::OpaqueBackendPointer
                                  • +
                                  • get_binary() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_bson_binary() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_bson_cstr() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_bson_string() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_cbor_array() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_cbor_binary() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_cbor_float_prefix() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
                                  • +
                                  • get_cbor_object() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_cbor_string() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_character() +: nlohmann::detail::file_input_adapter +, nlohmann::detail::input_stream_adapter +, nlohmann::detail::iterator_input_adapter< IteratorType > +, nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType > +
                                  • +
                                  • get_checked() +: nlohmann::json_pointer< BasicJsonType > +
                                  • +
                                  • get_codepoint() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                  • +
                                  • get_decimal_point() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                  • get_desc() : cudnn_frontend::BackendDescriptor
                                  • get_error() : cudnn_frontend::BackendDescriptor
                                  • +
                                  • get_error_message() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                  • +
                                  • get_ignore_noop() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_impl() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                  • +
                                  • get_impl_ptr() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                  • +
                                  • get_msgpack_array() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_msgpack_binary() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_msgpack_float_prefix() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
                                  • +
                                  • get_msgpack_object() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_msgpack_string() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_number() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_number_float() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                  • +
                                  • get_number_integer() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                  • +
                                  • get_number_unsigned() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                  • +
                                  • get_position() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                  • +
                                  • get_ptr() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                  • get_raw_desc() : cudnn_frontend::BackendDescriptor
                                  • +
                                  • get_ref() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                  • +
                                  • get_ref_impl() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                  • get_status() : cudnn_frontend::BackendDescriptor , cudnn_frontend::OpaqueBackendPointer
                                  • +
                                  • get_string() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                  • +
                                  • get_to() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                  • +
                                  • get_token() +: nlohmann::detail::parser< BasicJsonType, InputAdapterType > +
                                  • +
                                  • get_token_string() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                  • +
                                  • get_ubjson_array() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_ubjson_float_prefix() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
                                  • +
                                  • get_ubjson_high_precision_number() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_ubjson_object() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_ubjson_size_type() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_ubjson_size_value() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_ubjson_string() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_ubjson_value() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                  • +
                                  • get_unchecked() +: nlohmann::json_pointer< BasicJsonType > +
                                  • +
                                  • get_value() +: nlohmann::detail::primitive_iterator_t +
                                  • getChoice() : cudnn_frontend::Engine_v8::Knob
                                  • @@ -129,6 +279,9 @@

                                    - g -

                                    • getMinValue() : cudnn_frontend::Engine_v8::Knob
                                    • +
                                    • getOpCount() +: cudnn_frontend::OperationGraph_v8 +
                                    • getOutputTensor() : cudnn_frontend::Operation_v8
                                    • diff --git a/docs/functions_func_h.html b/docs/functions_func_h.html new file mode 100644 index 00000000..2752f096 --- /dev/null +++ b/docs/functions_func_h.html @@ -0,0 +1,105 @@ + + + + + + + +CUDNN Frontend API: Class Members - Functions + + + + + + + + + + + + + + +
                                      +
                                      + + + + + + +
                                      +
                                      CUDNN Frontend API +  8.2.0 +
                                      +
                                      +
                                      + + + + + + + +
                                      +
                                      + +
                                      +
                                      +
                                      + + + + + + diff --git a/docs/functions_func_i.html b/docs/functions_func_i.html index 1db0a9e8..c89fb902 100644 --- a/docs/functions_func_i.html +++ b/docs/functions_func_i.html @@ -83,12 +83,95 @@  

                                      - i -

                                      diff --git a/docs/functions_func_j.html b/docs/functions_func_j.html new file mode 100644 index 00000000..18707b9e --- /dev/null +++ b/docs/functions_func_j.html @@ -0,0 +1,119 @@ + + + + + + + +CUDNN Frontend API: Class Members - Functions + + + + + + + + + + + + + + +
                                      +
                                      + + + + + + +
                                      +
                                      CUDNN Frontend API +  8.2.0 +
                                      +
                                      +
                                      + + + + + + + +
                                      +
                                      + +
                                      +
                                      +
                                      + + + + + + diff --git a/docs/functions_func_k.html b/docs/functions_func_k.html index e893fe4c..07d440e6 100644 --- a/docs/functions_func_k.html +++ b/docs/functions_func_k.html @@ -83,6 +83,15 @@  

                                      - k -

                                        +
                                      • key() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::iteration_proxy_value< IteratorType > +, nlohmann::detail::json_reverse_iterator< Base > +, nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > +
                                      • Knob() : cudnn_frontend::Engine_v8::Knob
                                      • diff --git a/docs/functions_func_l.html b/docs/functions_func_l.html new file mode 100644 index 00000000..8210baf3 --- /dev/null +++ b/docs/functions_func_l.html @@ -0,0 +1,101 @@ + + + + + + + +CUDNN Frontend API: Class Members - Functions + + + + + + + + + + + + + + +
                                        +
                                        + + + + + + +
                                        +
                                        CUDNN Frontend API +  8.2.0 +
                                        +
                                        +
                                        + + + + + + + +
                                        +
                                        + +
                                        +
                                        +
                                        + +
                                        + +
                                        +
                                        + + +
                                        + +
                                        + + +
                                        + + + + diff --git a/docs/functions_func_m.html b/docs/functions_func_m.html index dfe5939c..ab4c88a6 100644 --- a/docs/functions_func_m.html +++ b/docs/functions_func_m.html @@ -89,6 +89,21 @@

                                        - m -

                                        diff --git a/docs/functions_func_n.html b/docs/functions_func_n.html new file mode 100644 index 00000000..f292cb4a --- /dev/null +++ b/docs/functions_func_n.html @@ -0,0 +1,137 @@ + + + + + + + +CUDNN Frontend API: Class Members - Functions + + + + + + + + + + + + + + +
                                        +
                                        + + + + + + +
                                        +
                                        CUDNN Frontend API +  8.2.0 +
                                        +
                                        +
                                        + + + + + + + +
                                        +
                                        + +
                                        +
                                        +
                                        + + + + + + diff --git a/docs/functions_func_o.html b/docs/functions_func_o.html index 72ad4cfc..d22920a3 100644 --- a/docs/functions_func_o.html +++ b/docs/functions_func_o.html @@ -83,6 +83,9 @@  

                                        - o -

                                          +
                                        • object() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                        • OpaqueBackendPointer() : cudnn_frontend::OpaqueBackendPointer
                                        • @@ -98,6 +101,80 @@

                                          - o -

                                          • OperationGraphBuilder_v8() : cudnn_frontend::OperationGraphBuilder_v8
                                          • +
                                          • operator output_adapter_t< CharType >() +: nlohmann::detail::output_adapter< CharType, StringType > +
                                          • +
                                          • operator size_t() +: nlohmann::detail::position_t +
                                          • +
                                          • operator std::string() +: nlohmann::json_pointer< BasicJsonType > +
                                          • +
                                          • operator value_t() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                          • +
                                          • operator ValueType() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                          • +
                                          • operator!=() +: nlohmann::byte_container_with_subtype< BinaryType > +, nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::iteration_proxy_value< IteratorType > +
                                          • +
                                          • operator()() +: nlohmann::detail::from_json_fn +, nlohmann::detail::to_json_fn +, std::hash< nlohmann::json > +, std::less<::nlohmann::detail::value_t > +
                                          • +
                                          • operator*() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::iteration_proxy_value< IteratorType > +, nlohmann::detail::json_ref< BasicJsonType > +
                                          • +
                                          • operator+() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::json_reverse_iterator< Base > +, nlohmann::detail::primitive_iterator_t +
                                          • +
                                          • operator++() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::iteration_proxy_value< IteratorType > +, nlohmann::detail::json_reverse_iterator< Base > +, nlohmann::detail::primitive_iterator_t +
                                          • +
                                          • operator+=() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::json_reverse_iterator< Base > +, nlohmann::detail::primitive_iterator_t +
                                          • +
                                          • operator-() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::json_reverse_iterator< Base > +
                                          • +
                                          • operator--() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::json_reverse_iterator< Base > +, nlohmann::detail::primitive_iterator_t +
                                          • +
                                          • operator-=() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::primitive_iterator_t +
                                          • +
                                          • operator->() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::json_ref< BasicJsonType > +
                                          • +
                                          • operator/=() +: nlohmann::json_pointer< BasicJsonType > +
                                          • +
                                          • operator<() +: nlohmann::detail::iter_impl< BasicJsonType > +
                                          • +
                                          • operator<=() +: nlohmann::detail::iter_impl< BasicJsonType > +
                                          • operator=() : cudnn_frontend::ConvDesc_v8 , cudnn_frontend::ConvDescBuilder_v8 @@ -119,10 +196,66 @@

                                            - o -

                                            diff --git a/docs/functions_func_p.html b/docs/functions_func_p.html index a2205153..754d2a9b 100644 --- a/docs/functions_func_p.html +++ b/docs/functions_func_p.html @@ -83,11 +83,63 @@  

                                            - p -

                                            diff --git a/docs/functions_func_r.html b/docs/functions_func_r.html new file mode 100644 index 00000000..9d6bda5c --- /dev/null +++ b/docs/functions_func_r.html @@ -0,0 +1,113 @@ + + + + + + + +CUDNN Frontend API: Class Members - Functions + + + + + + + + + + + + + + +
                                            +
                                            + + + + + + +
                                            +
                                            CUDNN Frontend API +  8.2.0 +
                                            +
                                            +
                                            + + + + + + + +
                                            +
                                            + +
                                            +
                                            +
                                            + + + + + + diff --git a/docs/functions_func_s.html b/docs/functions_func_s.html index 0cdab264..7d94fde7 100644 --- a/docs/functions_func_s.html +++ b/docs/functions_func_s.html @@ -83,12 +83,54 @@  

                                            - s -

                                              +
                                            • sax_parse() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::parser< BasicJsonType, InputAdapterType > +
                                            • +
                                            • sax_parse_internal() +: nlohmann::detail::parser< BasicJsonType, InputAdapterType > +
                                            • +
                                            • scan() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                            • +
                                            • scan_comment() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                            • +
                                            • scan_literal() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                            • +
                                            • scan_number() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                            • +
                                            • scan_string() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                            • +
                                            • serializer() +: nlohmann::detail::serializer< BasicJsonType > +
                                            • +
                                            • set_begin() +: nlohmann::detail::primitive_iterator_t +
                                            • +
                                            • set_end() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::primitive_iterator_t +
                                            • set_error() : cudnn_frontend::BackendDescriptor
                                            • +
                                            • set_parent() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                            • +
                                            • set_parents() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                            • set_status() : cudnn_frontend::BackendDescriptor
                                            • +
                                            • set_subtype() +: nlohmann::byte_container_with_subtype< BinaryType > +
                                            • setAlignment() : cudnn_frontend::TensorBuilder_v8
                                            • @@ -105,7 +147,7 @@

                                              - s -

                                                : cudnn_frontend::OperationBuilder_v8
                                              • setBeta() -: cudnn_frontend::OperationBuilder_v8 +: cudnn_frontend::OperationBuilder_v8
                                              • setbMatDesc() : cudnn_frontend::OperationBuilder_v8 @@ -172,12 +214,13 @@

                                                - s -

                                                • setMathPrecision() : cudnn_frontend::MatMulDescBuilder_v8 , cudnn_frontend::PointWiseDescBuilder_v8 +, cudnn_frontend::ReductionDescBuilder_v8
                                                • setmatmulDesc() : cudnn_frontend::OperationBuilder_v8
                                                • setMode() -: cudnn_frontend::PointWiseDescBuilder_v8 +: cudnn_frontend::PointWiseDescBuilder_v8
                                                • setNDims() : cudnn_frontend::ConvDescBuilder_v8 @@ -200,6 +243,12 @@

                                                  - s -

                                                  • setpwDesc() : cudnn_frontend::OperationBuilder_v8
                                                  • +
                                                  • setreductionDesc() +: cudnn_frontend::OperationBuilder_v8 +
                                                  • +
                                                  • setReductionOp() +: cudnn_frontend::ReductionDescBuilder_v8 +
                                                  • setReluLowerClip() : cudnn_frontend::PointWiseDescBuilder_v8
                                                  • @@ -232,11 +281,60 @@

                                                    - s -

                                                    diff --git a/docs/functions_func_t.html b/docs/functions_func_t.html index df1c7fa1..515b546e 100644 --- a/docs/functions_func_t.html +++ b/docs/functions_func_t.html @@ -89,6 +89,39 @@

                                                    - t -

                                                    diff --git a/docs/functions_func_u.html b/docs/functions_func_u.html new file mode 100644 index 00000000..59c9a11b --- /dev/null +++ b/docs/functions_func_u.html @@ -0,0 +1,114 @@ + + + + + + + +CUDNN Frontend API: Class Members - Functions + + + + + + + + + + + + + + +
                                                    +
                                                    + + + + + + +
                                                    +
                                                    CUDNN Frontend API +  8.2.0 +
                                                    +
                                                    +
                                                    + + + + + + + +
                                                    +
                                                    + +
                                                    +
                                                    +
                                                    + + + + + + diff --git a/docs/functions_func_v.html b/docs/functions_func_v.html index 5aafb162..847e6f98 100644 --- a/docs/functions_func_v.html +++ b/docs/functions_func_v.html @@ -83,11 +83,17 @@  

                                                    - v -

                                                    diff --git a/docs/functions_func_w.html b/docs/functions_func_w.html index e1e576b1..1395f2f2 100644 --- a/docs/functions_func_w.html +++ b/docs/functions_func_w.html @@ -85,6 +85,79 @@

                                                    - w -

                                                    diff --git a/docs/functions_g.html b/docs/functions_g.html index 5be8217d..725bf19e 100644 --- a/docs/functions_g.html +++ b/docs/functions_g.html @@ -86,22 +86,172 @@

                                                    - g -

                                                    • generate_engine_config() : cudnn_frontend::EngineConfigGenerator
                                                    • +
                                                    • get() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +, nlohmann::detail::span_input_adapter +
                                                    • +
                                                    • get_allocator() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                    • +
                                                    • get_and_create() +: nlohmann::json_pointer< BasicJsonType > +
                                                    • get_backend_descriptor() : cudnn_frontend::OpaqueBackendPointer
                                                    • +
                                                    • get_binary() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_bson_binary() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_bson_cstr() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_bson_string() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_cbor_array() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_cbor_binary() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_cbor_float_prefix() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
                                                    • +
                                                    • get_cbor_object() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_cbor_string() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_character() +: nlohmann::detail::file_input_adapter +, nlohmann::detail::input_stream_adapter +, nlohmann::detail::iterator_input_adapter< IteratorType > +, nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType > +
                                                    • +
                                                    • get_checked() +: nlohmann::json_pointer< BasicJsonType > +
                                                    • +
                                                    • get_codepoint() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                    • +
                                                    • get_decimal_point() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                    • get_desc() : cudnn_frontend::BackendDescriptor
                                                    • get_error() : cudnn_frontend::BackendDescriptor
                                                    • +
                                                    • get_error_message() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                    • +
                                                    • get_ignore_noop() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_impl() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                    • +
                                                    • get_impl_ptr() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                    • +
                                                    • get_msgpack_array() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_msgpack_binary() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_msgpack_float_prefix() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
                                                    • +
                                                    • get_msgpack_object() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_msgpack_string() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_number() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_number_float() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                    • +
                                                    • get_number_integer() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                    • +
                                                    • get_number_unsigned() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                    • +
                                                    • get_position() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                    • +
                                                    • get_ptr() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                    • get_raw_desc() : cudnn_frontend::BackendDescriptor
                                                    • +
                                                    • get_ref() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                    • +
                                                    • get_ref_impl() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                    • get_status() : cudnn_frontend::BackendDescriptor , cudnn_frontend::OpaqueBackendPointer
                                                    • +
                                                    • get_string() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                    • +
                                                    • get_to() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                    • +
                                                    • get_token() +: nlohmann::detail::parser< BasicJsonType, InputAdapterType > +
                                                    • +
                                                    • get_token_string() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                    • +
                                                    • get_ubjson_array() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_ubjson_float_prefix() +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +
                                                    • +
                                                    • get_ubjson_high_precision_number() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_ubjson_object() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_ubjson_size_type() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_ubjson_size_value() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_ubjson_string() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_ubjson_value() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                    • +
                                                    • get_unchecked() +: nlohmann::json_pointer< BasicJsonType > +
                                                    • +
                                                    • get_value() +: nlohmann::detail::primitive_iterator_t +
                                                    • getChoice() : cudnn_frontend::Engine_v8::Knob
                                                    • @@ -129,6 +279,9 @@

                                                      - g -

                                                      • getMinValue() : cudnn_frontend::Engine_v8::Knob
                                                      • +
                                                      • getOpCount() +: cudnn_frontend::OperationGraph_v8 +
                                                      • getOutputTensor() : cudnn_frontend::Operation_v8
                                                      • diff --git a/docs/functions_h.html b/docs/functions_h.html index 6d3f7ff5..e6f716de 100644 --- a/docs/functions_h.html +++ b/docs/functions_h.html @@ -87,6 +87,13 @@

                                                        - h -

                                                        diff --git a/docs/functions_i.html b/docs/functions_i.html index 2e50a936..01ccf6c0 100644 --- a/docs/functions_i.html +++ b/docs/functions_i.html @@ -83,24 +83,112 @@
                                                        Here is a list of all class members with links to the classes they belong to:

                                                        - i -

                                                          +
                                                        • ia +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +, nlohmann::detail::span_input_adapter +
                                                        • id : cudnn_frontend::Tensor_v8 +, nlohmann::detail::exception
                                                        • idx : cudnn_frontend::Engine_v8
                                                        • +
                                                        • if() +: nlohmann::detail::serializer< BasicJsonType > +
                                                        • +
                                                        • ignore_comments +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                        • +
                                                        • indent_char +: nlohmann::detail::serializer< BasicJsonType > +
                                                        • +
                                                        • indent_string +: nlohmann::detail::serializer< BasicJsonType > +
                                                        • initialize_managed_backend_pointer() : cudnn_frontend::BackendDescriptor
                                                        • +
                                                        • initializer_list_t +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                        • +
                                                        • input_format_t +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                        • +
                                                        • input_stream_adapter() +: nlohmann::detail::input_stream_adapter +
                                                        • +
                                                        • insert() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::ordered_map< Key, T, IgnoredLess, Allocator > +
                                                        • +
                                                        • insert_iterator() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                        • +
                                                        • internal_iterator +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                        • +
                                                        • invalid_iterator +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::invalid_iterator +
                                                        • +
                                                        • is +: nlohmann::detail::input_stream_adapter +
                                                        • +
                                                        • is_array() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                        • +
                                                        • is_begin() +: nlohmann::detail::primitive_iterator_t +
                                                        • +
                                                        • is_binary() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                        • +
                                                        • is_boolean() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                        • is_convolution_op : cudnn_frontend::OperationBuilder_v8
                                                        • +
                                                        • is_discarded() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                        • +
                                                        • is_end() +: nlohmann::detail::primitive_iterator_t +
                                                        • +
                                                        • is_errored() +: nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +
                                                        • is_good() : cudnn_frontend::OpaqueBackendPointer
                                                        • +
                                                        • is_little_endian +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::binary_writer< BasicJsonType, CharType > +
                                                        • is_matmul_op : cudnn_frontend::OperationBuilder_v8
                                                        • +
                                                        • is_null() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                        • +
                                                        • is_number() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                        • +
                                                        • is_number_float() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                        • +
                                                        • is_number_integer() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                        • +
                                                        • is_number_unsigned() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                        • +
                                                        • is_object() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                        • is_pointwise_activation_bwd_op : cudnn_frontend::Operation_v8
                                                        • @@ -113,9 +201,60 @@

                                                          - i -

                                                          diff --git a/docs/functions_j.html b/docs/functions_j.html new file mode 100644 index 00000000..8583b4fe --- /dev/null +++ b/docs/functions_j.html @@ -0,0 +1,128 @@ + + + + + + + +CUDNN Frontend API: Class Members + + + + + + + + + + + + + + +
                                                          +
                                                          + + + + + + +
                                                          +
                                                          CUDNN Frontend API +  8.2.0 +
                                                          +
                                                          +
                                                          + + + + + + + +
                                                          +
                                                          + +
                                                          +
                                                          +
                                                          + +
                                                          + +
                                                          +
                                                          + + +
                                                          + +
                                                          + +
                                                          +
                                                          Here is a list of all class members with links to the classes they belong to:
                                                          + +

                                                          - j -

                                                          +
                                                          +
                                                          + + + + diff --git a/docs/functions_k.html b/docs/functions_k.html index 74c1a026..8b2983b8 100644 --- a/docs/functions_k.html +++ b/docs/functions_k.html @@ -83,6 +83,27 @@
                                                          Here is a list of all class members with links to the classes they belong to:

                                                          - k -

                                                            +
                                                          • k +: nlohmann::detail::dtoa_impl::cached_power +
                                                          • +
                                                          • keep_stack +: nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +
                                                          • +
                                                          • key() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::iteration_proxy_value< IteratorType > +, nlohmann::detail::json_reverse_iterator< Base > +, nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > +
                                                          • +
                                                          • key_keep_stack +: nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +
                                                          • +
                                                          • key_type +: nlohmann::ordered_map< Key, T, IgnoredLess, Allocator > +
                                                          • Knob() : cudnn_frontend::Engine_v8::Knob
                                                          • @@ -92,6 +113,9 @@

                                                            - k -

                                                            diff --git a/docs/functions_l.html b/docs/functions_l.html index 31d16cda..a0339bce 100644 --- a/docs/functions_l.html +++ b/docs/functions_l.html @@ -83,6 +83,21 @@
                                                            Here is a list of all class members with links to the classes they belong to:

                                                            - l -

                                                              +
                                                            • last_token +: nlohmann::detail::parser< BasicJsonType, InputAdapterType > +
                                                            • +
                                                            • lexer() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                            • +
                                                            • lexer_t +: nlohmann::detail::parser< BasicJsonType, InputAdapterType > +
                                                            • +
                                                            • lines_read +: nlohmann::detail::position_t +
                                                            • +
                                                            • loc +: nlohmann::detail::serializer< BasicJsonType > +
                                                            • lower_clip : cudnn_frontend::PointWiseDesc_v8
                                                            • diff --git a/docs/functions_m.html b/docs/functions_m.html index 35798837..b374dfa5 100644 --- a/docs/functions_m.html +++ b/docs/functions_m.html @@ -83,6 +83,9 @@
                                                              Here is a list of all class members with links to the classes they belong to:

                                                              - m -

                                                                +
                                                              • m +: nlohmann::detail::exception +
                                                              • m_convDesc : cudnn_frontend::ConvDescBuilder_v8
                                                              • @@ -104,12 +107,24 @@

                                                                - m -

                                                                • m_fallback_list : cudnn_frontend::EngineFallbackListBuilder_v8
                                                                • +
                                                                • m_file +: nlohmann::detail::file_input_adapter +
                                                                • +
                                                                • m_has_subtype +: nlohmann::byte_container_with_subtype< BinaryType > +
                                                                • m_heuristic_results : cudnn_frontend::EngineHeuristics_v8
                                                                • m_heuristics : cudnn_frontend::EngineHeuristicsBuilder_v8
                                                                • +
                                                                • m_it +: nlohmann::detail::iter_impl< BasicJsonType > +
                                                                • +
                                                                • m_lexer +: nlohmann::detail::parser< BasicJsonType, InputAdapterType > +
                                                                • m_matMulDesc : cudnn_frontend::MatMulDescBuilder_v8
                                                                • @@ -122,29 +137,54 @@

                                                                  - m -

                                                                  • m_pointWiseDesc : cudnn_frontend::PointWiseDescBuilder_v8
                                                                  • +
                                                                  • m_reductionDesc +: cudnn_frontend::ReductionDescBuilder_v8 +
                                                                  • +
                                                                  • m_subtype +: nlohmann::byte_container_with_subtype< BinaryType > +
                                                                  • m_tensor : cudnn_frontend::TensorBuilder_v8
                                                                  • +
                                                                  • m_value +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                                  • m_variant_pack : cudnn_frontend::VariantPackBuilder_v8
                                                                  • +
                                                                  • mapped_type +: nlohmann::ordered_map< Key, T, IgnoredLess, Allocator > +
                                                                  • math_precision : cudnn_frontend::MatMulDesc_v8 , cudnn_frontend::PointWiseDesc_v8 +, cudnn_frontend::ReductionDesc_v8
                                                                  • matmuldesc : cudnn_frontend::Operation_v8
                                                                  • MatMulDesc_v8() -: cudnn_frontend::MatMulDesc_v8 +: cudnn_frontend::MatMulDesc_v8
                                                                  • MatMulDescBuilder_v8 : cudnn_frontend::MatMulDesc_v8 -, cudnn_frontend::MatMulDescBuilder_v8 +, cudnn_frontend::MatMulDescBuilder_v8 +
                                                                  • +
                                                                  • max_size() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
                                                                  • maxValue : cudnn_frontend::Engine_v8::Knob
                                                                  • +
                                                                  • merge_patch() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                                  • +
                                                                  • meta() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                                  • +
                                                                  • minus +: nlohmann::detail::dtoa_impl::boundaries +
                                                                  • minValue : cudnn_frontend::Engine_v8::Knob
                                                                  • @@ -154,6 +194,12 @@

                                                                    - m -

                                                                    diff --git a/docs/functions_n.html b/docs/functions_n.html index 8267e7cb..866335e8 100644 --- a/docs/functions_n.html +++ b/docs/functions_n.html @@ -83,6 +83,9 @@
                                                                    Here is a list of all class members with links to the classes they belong to:

                                                                    - n -

                                                                      +
                                                                    • name() +: nlohmann::detail::exception +
                                                                    • nan_propagation : cudnn_frontend::PointWiseDesc_v8
                                                                    • @@ -90,9 +93,97 @@

                                                                      - n -

                                                                        : cudnn_frontend::ConvDesc_v8 , cudnn_frontend::Tensor_v8 +
                                                                      • next_byte_in_range() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                                      • +
                                                                      • next_unget +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                                      • +
                                                                      • nonesuch() +: nlohmann::detail::nonesuch +
                                                                      • +
                                                                      • normalize() +: nlohmann::detail::dtoa_impl::diyfp +
                                                                      • +
                                                                      • normalize_to() +: nlohmann::detail::dtoa_impl::diyfp +
                                                                      • +
                                                                      • null() +: nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > +
                                                                      • +
                                                                      • num_ops +: cudnn_frontend::EngineFallbackList_v8 +
                                                                      • num_ptrs : cudnn_frontend::VariantPack_v8
                                                                      • +
                                                                      • number_buffer +: nlohmann::detail::serializer< BasicJsonType > +
                                                                      • +
                                                                      • number_float +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > +
                                                                      • +
                                                                      • number_float_t +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::binary_writer< BasicJsonType, CharType > +, nlohmann::detail::is_sax< SAX, BasicJsonType > +, nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType > +, nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +, nlohmann::detail::parser< BasicJsonType, InputAdapterType > +, nlohmann::detail::serializer< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > +
                                                                      • +
                                                                      • number_integer +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > +
                                                                      • +
                                                                      • number_integer_t +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::is_sax< SAX, BasicJsonType > +, nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType > +, nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +, nlohmann::detail::parser< BasicJsonType, InputAdapterType > +, nlohmann::detail::serializer< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > +
                                                                      • +
                                                                      • number_unsigned +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > +
                                                                      • +
                                                                      • number_unsigned_t +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::is_sax< SAX, BasicJsonType > +, nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType > +, nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +, nlohmann::detail::parser< BasicJsonType, InputAdapterType > +, nlohmann::detail::serializer< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > +
                                                                      • numKnobs : cudnn_frontend::Engine_v8 , cudnn_frontend::EngineConfig_v8 diff --git a/docs/functions_o.html b/docs/functions_o.html index 49a93d2e..9bab4f08 100644 --- a/docs/functions_o.html +++ b/docs/functions_o.html @@ -83,6 +83,29 @@
                                                                        Here is a list of all class members with links to the classes they belong to:

                                                                        - o -

                                                                          +
                                                                        • oa +: nlohmann::detail::binary_writer< BasicJsonType, CharType > +, nlohmann::detail::output_adapter< CharType, StringType > +
                                                                        • +
                                                                        • object() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                                        • +
                                                                        • object_comparator_t +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                                        • +
                                                                        • object_element +: nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +
                                                                        • +
                                                                        • object_iterator +: nlohmann::detail::internal_iterator< BasicJsonType > +
                                                                        • +
                                                                        • object_t +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > > +, nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > > +, nlohmann::detail::iter_impl< BasicJsonType > +
                                                                        • op_mode : cudnn_frontend::Operation_v8
                                                                        • @@ -101,11 +124,97 @@

                                                                          - o -

                                                                          • OperationGraphBuilder_v8 : cudnn_frontend::OperationGraph_v8 -, cudnn_frontend::OperationGraphBuilder_v8 +, cudnn_frontend::OperationGraphBuilder_v8
                                                                          • operationTag : cudnn_frontend::Operation_v8
                                                                          • +
                                                                          • operator output_adapter_t< CharType >() +: nlohmann::detail::output_adapter< CharType, StringType > +
                                                                          • +
                                                                          • operator size_t() +: nlohmann::detail::position_t +
                                                                          • +
                                                                          • operator std::string() +: nlohmann::json_pointer< BasicJsonType > +
                                                                          • +
                                                                          • operator value_t() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                                          • +
                                                                          • operator ValueType() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                                          • +
                                                                          • operator!= +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::byte_container_with_subtype< BinaryType > +, nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::iteration_proxy_value< IteratorType > +, nlohmann::json_pointer< BasicJsonType > +
                                                                          • +
                                                                          • operator()() +: nlohmann::detail::from_json_fn +, nlohmann::detail::to_json_fn +, std::hash< nlohmann::json > +, std::less<::nlohmann::detail::value_t > +
                                                                          • +
                                                                          • operator*() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::iteration_proxy_value< IteratorType > +, nlohmann::detail::json_ref< BasicJsonType > +
                                                                          • +
                                                                          • operator+() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::json_reverse_iterator< Base > +, nlohmann::detail::primitive_iterator_t +
                                                                          • +
                                                                          • operator++() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::iteration_proxy_value< IteratorType > +, nlohmann::detail::json_reverse_iterator< Base > +, nlohmann::detail::primitive_iterator_t +
                                                                          • +
                                                                          • operator+=() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::json_reverse_iterator< Base > +, nlohmann::detail::primitive_iterator_t +
                                                                          • +
                                                                          • operator-() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::json_reverse_iterator< Base > +, nlohmann::detail::primitive_iterator_t +
                                                                          • +
                                                                          • operator--() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::json_reverse_iterator< Base > +, nlohmann::detail::primitive_iterator_t +
                                                                          • +
                                                                          • operator-=() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::primitive_iterator_t +
                                                                          • +
                                                                          • operator->() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::json_ref< BasicJsonType > +
                                                                          • +
                                                                          • operator/ +: nlohmann::json_pointer< BasicJsonType > +
                                                                          • +
                                                                          • operator/=() +: nlohmann::json_pointer< BasicJsonType > +
                                                                          • +
                                                                          • operator< +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::primitive_iterator_t +
                                                                          • +
                                                                          • operator<< +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                                          • +
                                                                          • operator<= +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::iter_impl< BasicJsonType > +
                                                                          • operator=() : cudnn_frontend::ConvDesc_v8 , cudnn_frontend::ConvDescBuilder_v8 @@ -127,10 +236,50 @@

                                                                            - o -

                                                                              , cudnn_frontend::OperationGraphBuilder_v8 , cudnn_frontend::PointWiseDesc_v8 , cudnn_frontend::PointWiseDescBuilder_v8 +, cudnn_frontend::ReductionDesc_v8 +, cudnn_frontend::ReductionDescBuilder_v8 , cudnn_frontend::Tensor_v8 , cudnn_frontend::TensorBuilder_v8 , cudnn_frontend::VariantPack_v8 , cudnn_frontend::VariantPackBuilder_v8 +, nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::file_input_adapter +, nlohmann::detail::input_stream_adapter +, nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::json_ref< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +, nlohmann::detail::nonesuch +, nlohmann::detail::output_adapter_protocol< CharType > +, nlohmann::detail::serializer< BasicJsonType > +, nlohmann::json_sax< BasicJsonType > + +
                                                                            • operator== +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::byte_container_with_subtype< BinaryType > +, nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::iteration_proxy_value< IteratorType > +, nlohmann::detail::primitive_iterator_t +, nlohmann::json_pointer< BasicJsonType > +
                                                                            • +
                                                                            • operator> +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::iter_impl< BasicJsonType > +
                                                                            • +
                                                                            • operator>= +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::iter_impl< BasicJsonType > +
                                                                            • +
                                                                            • operator>> +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                                            • +
                                                                            • operator[]() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::json_reverse_iterator< Base > +, nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >
                                                                            • opGraph : cudnn_frontend::Engine_v8 @@ -147,6 +296,41 @@

                                                                              - o -

                                                                              diff --git a/docs/functions_p.html b/docs/functions_p.html index 03a7f418..0bb13692 100644 --- a/docs/functions_p.html +++ b/docs/functions_p.html @@ -89,14 +89,76 @@

                                                                              - p -

                                                                              • padUpper : cudnn_frontend::ConvDesc_v8
                                                                              • +
                                                                              • parent +: nlohmann::json_pointer< BasicJsonType > +
                                                                              • +
                                                                              • parent_pointer() +: nlohmann::json_pointer< BasicJsonType > +
                                                                              • +
                                                                              • parse() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::parser< BasicJsonType, InputAdapterType > +
                                                                              • +
                                                                              • parse_bson_array() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                                              • +
                                                                              • parse_bson_element_internal() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                                              • +
                                                                              • parse_bson_element_list() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                                              • +
                                                                              • parse_bson_internal() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                                              • +
                                                                              • parse_cbor_internal() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                                              • +
                                                                              • parse_error +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::json_sax_acceptor< BasicJsonType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +, nlohmann::detail::json_sax_dom_parser< BasicJsonType > +, nlohmann::detail::parse_error +, nlohmann::json_sax< BasicJsonType > +
                                                                              • +
                                                                              • parse_event_t +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +
                                                                              • +
                                                                              • parse_msgpack_internal() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                                              • +
                                                                              • parse_ubjson_internal() +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                                              • +
                                                                              • parser() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::parser< BasicJsonType, InputAdapterType > +
                                                                              • +
                                                                              • parser_callback_t +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType > +
                                                                              • +
                                                                              • patch() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                                              • plan : cudnn_frontend::executionOption
                                                                              • planTag : cudnn_frontend::ExecutionPlan_v8
                                                                              • +
                                                                              • plus +: nlohmann::detail::dtoa_impl::boundaries +
                                                                              • pointer : cudnn_frontend::BackendDescriptor +, nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::iteration_proxy_value< IteratorType > +, nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > > +, nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
                                                                              • pointwise_mode : cudnn_frontend::Operation_v8 @@ -105,11 +167,30 @@

                                                                                - p -

                                                                                  : cudnn_frontend::Operation_v8
                                                                                • PointWiseDesc_v8() -: cudnn_frontend::PointWiseDesc_v8 +: cudnn_frontend::PointWiseDesc_v8
                                                                                • PointWiseDescBuilder_v8 : cudnn_frontend::PointWiseDesc_v8 -, cudnn_frontend::PointWiseDescBuilder_v8 +, cudnn_frontend::PointWiseDescBuilder_v8 +
                                                                                • +
                                                                                • pop_back() +: nlohmann::json_pointer< BasicJsonType > +
                                                                                • +
                                                                                • position +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                                                • +
                                                                                • position_string() +: nlohmann::detail::parse_error +
                                                                                • +
                                                                                • primitive_iterator +: nlohmann::detail::internal_iterator< BasicJsonType > +
                                                                                • +
                                                                                • primitive_iterator_t +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                                                • +
                                                                                • push_back() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::json_pointer< BasicJsonType >
                                                                                • pwdesc : cudnn_frontend::Operation_v8 diff --git a/docs/functions_r.html b/docs/functions_r.html new file mode 100644 index 00000000..fba5854d --- /dev/null +++ b/docs/functions_r.html @@ -0,0 +1,151 @@ + + + + + + + +CUDNN Frontend API: Class Members + + + + + + + + + + + + + + +
                                                                                  +
                                                                                  + + + + + + +
                                                                                  +
                                                                                  CUDNN Frontend API +  8.2.0 +
                                                                                  +
                                                                                  +
                                                                                  + + + + + + + +
                                                                                  +
                                                                                  + +
                                                                                  +
                                                                                  +
                                                                                  + +
                                                                                  + +
                                                                                  +
                                                                                  + + +
                                                                                  + +
                                                                                  + +
                                                                                  +
                                                                                  Here is a list of all class members with links to the classes they belong to:
                                                                                  + +

                                                                                  - r -

                                                                                  +
                                                                                  +
                                                                                  + + + + diff --git a/docs/functions_rela.html b/docs/functions_rela.html index 5da8078b..e5304456 100644 --- a/docs/functions_rela.html +++ b/docs/functions_rela.html @@ -80,10 +80,55 @@
                                                                                  diff --git a/docs/functions_s.html b/docs/functions_s.html index 707fee08..9d30b8f9 100644 --- a/docs/functions_s.html +++ b/docs/functions_s.html @@ -83,12 +83,63 @@
                                                                                  Here is a list of all class members with links to the classes they belong to:

                                                                                  - s -

                                                                                    +
                                                                                  • sax +: nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +
                                                                                  • +
                                                                                  • sax_parse() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX > +, nlohmann::detail::parser< BasicJsonType, InputAdapterType > +
                                                                                  • +
                                                                                  • sax_parse_internal() +: nlohmann::detail::parser< BasicJsonType, InputAdapterType > +
                                                                                  • +
                                                                                  • sb +: nlohmann::detail::input_stream_adapter +
                                                                                  • +
                                                                                  • scan() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                                                  • +
                                                                                  • scan_comment() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                                                  • +
                                                                                  • scan_literal() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                                                  • +
                                                                                  • scan_number() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                                                  • +
                                                                                  • scan_string() +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                                                  • +
                                                                                  • serializer +: nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > +, nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > +, nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > +, nlohmann::detail::serializer< BasicJsonType > +
                                                                                  • +
                                                                                  • set_begin() +: nlohmann::detail::primitive_iterator_t +
                                                                                  • +
                                                                                  • set_end() +: nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::primitive_iterator_t +
                                                                                  • set_error() : cudnn_frontend::BackendDescriptor
                                                                                  • +
                                                                                  • set_parent() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                                                  • +
                                                                                  • set_parents() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +
                                                                                  • set_status() : cudnn_frontend::BackendDescriptor
                                                                                  • +
                                                                                  • set_subtype() +: nlohmann::byte_container_with_subtype< BinaryType > +
                                                                                  • setAlignment() : cudnn_frontend::TensorBuilder_v8
                                                                                  • @@ -172,6 +223,7 @@

                                                                                    - s -

                                                                                    • setMathPrecision() : cudnn_frontend::MatMulDescBuilder_v8 , cudnn_frontend::PointWiseDescBuilder_v8 +, cudnn_frontend::ReductionDescBuilder_v8
                                                                                    • setmatmulDesc() : cudnn_frontend::OperationBuilder_v8 @@ -200,6 +252,12 @@

                                                                                      - s -

                                                                                      • setpwDesc() : cudnn_frontend::OperationBuilder_v8
                                                                                      • +
                                                                                      • setreductionDesc() +: cudnn_frontend::OperationBuilder_v8 +
                                                                                      • +
                                                                                      • setReductionOp() +: cudnn_frontend::ReductionDescBuilder_v8 +
                                                                                      • setReluLowerClip() : cudnn_frontend::PointWiseDescBuilder_v8
                                                                                      • @@ -237,20 +295,102 @@

                                                                                        - s -

                                                                                        diff --git a/docs/functions_t.html b/docs/functions_t.html index 1dd477fa..cb6a51d9 100644 --- a/docs/functions_t.html +++ b/docs/functions_t.html @@ -90,9 +90,68 @@

                                                                                        - t -

                                                                                        diff --git a/docs/functions_type.html b/docs/functions_type.html new file mode 100644 index 00000000..0f8a308f --- /dev/null +++ b/docs/functions_type.html @@ -0,0 +1,475 @@ + + + + + + + +CUDNN Frontend API: Class Members - Typedefs + + + + + + + + + + + + + + +
                                                                                        +
                                                                                        + + + + + + +
                                                                                        +
                                                                                        CUDNN Frontend API +  8.2.0 +
                                                                                        +
                                                                                        +
                                                                                        + + + + + + + +
                                                                                        +
                                                                                        + +
                                                                                        +
                                                                                        +
                                                                                        + +
                                                                                        + +
                                                                                        +
                                                                                        + + +
                                                                                        + +
                                                                                        + +
                                                                                        +  + +

                                                                                        - a -

                                                                                        + + +

                                                                                        - b -

                                                                                        + + +

                                                                                        - c -

                                                                                        + + +

                                                                                        - d -

                                                                                        + + +

                                                                                        - e -

                                                                                        + + +

                                                                                        - i -

                                                                                        + + +

                                                                                        - j -

                                                                                        + + +

                                                                                        - k -

                                                                                        + + +

                                                                                        - l -

                                                                                        + + +

                                                                                        - m -

                                                                                        + + +

                                                                                        - n -

                                                                                        + + +

                                                                                        - o -

                                                                                        + + +

                                                                                        - p -

                                                                                        + + +

                                                                                        - r -

                                                                                        + + +

                                                                                        - s -

                                                                                        + + +

                                                                                        - t -

                                                                                        + + +

                                                                                        - v -

                                                                                        +
                                                                                        +
                                                                                        + + + + diff --git a/docs/functions_u.html b/docs/functions_u.html index c5bc757b..11f1a773 100644 --- a/docs/functions_u.html +++ b/docs/functions_u.html @@ -83,12 +83,46 @@
                                                                                        Here is a list of all class members with links to the classes they belong to:

                                                                                        - u -

                                                                                        diff --git a/docs/functions_v.html b/docs/functions_v.html index 58aeeb6f..205591b6 100644 --- a/docs/functions_v.html +++ b/docs/functions_v.html @@ -83,6 +83,57 @@
                                                                                        Here is a list of all class members with links to the classes they belong to:

                                                                                        - v -

                                                                                          +
                                                                                        • v +: nlohmann::detail::output_vector_adapter< CharType > +
                                                                                        • +
                                                                                        • value() +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > +, nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > +, nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > +, nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > > +, nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > > +, nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > > +, nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > > +, nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > > +, nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > > +, nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > > +, nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > > +, nlohmann::detail::is_getable< BasicJsonType, T > +, nlohmann::detail::is_iterator_traits< iterator_traits< T > > +, nlohmann::detail::is_sax< SAX, BasicJsonType > +, nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::iteration_proxy_value< IteratorType > +, nlohmann::detail::json_reverse_iterator< Base > +, nlohmann::detail::static_const< T > +
                                                                                        • +
                                                                                        • value_float +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                                                        • +
                                                                                        • value_integer +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                                                        • +
                                                                                        • value_ref +: nlohmann::detail::json_ref< BasicJsonType > +
                                                                                        • +
                                                                                        • value_t +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::detector< Default, AlwaysVoid, Op, Args > +, nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... > +
                                                                                        • +
                                                                                        • value_type +: nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType > +, nlohmann::detail::integer_sequence< T, Ints > +, nlohmann::detail::is_iterator_of_multibyte< T > +, nlohmann::detail::iter_impl< BasicJsonType > +, nlohmann::detail::iteration_proxy_value< IteratorType > +, nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > > +, nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > > +, nlohmann::detail::json_ref< BasicJsonType > +
                                                                                        • +
                                                                                        • value_unsigned +: nlohmann::detail::lexer< BasicJsonType, InputAdapterType > +
                                                                                        • VariantPack_v8() : cudnn_frontend::VariantPack_v8
                                                                                        • diff --git a/docs/functions_vars.html b/docs/functions_vars.html index 533bfc93..22e06526 100644 --- a/docs/functions_vars.html +++ b/docs/functions_vars.html @@ -82,370 +82,23 @@
                                                                                            -

                                                                                          - a -

                                                                                          - - -

                                                                                          - b -

                                                                                          - - -

                                                                                          - c -

                                                                                          - - -

                                                                                          - d -

                                                                                          - - -

                                                                                          - e -

                                                                                          - - -

                                                                                          - h -

                                                                                          - - -

                                                                                          - i -

                                                                                          - - -

                                                                                          - k -

                                                                                          - - -

                                                                                          - l -

                                                                                          - - -

                                                                                          - m -

                                                                                          - - -

                                                                                          - n -

                                                                                          - - -

                                                                                          - o -

                                                                                          - - -

                                                                                          - p -

                                                                                          - - -

                                                                                          - s -

                                                                                          - - -

                                                                                          - t -

                                                                                          - - -

                                                                                          - u -

                                                                                          - - -

                                                                                          - w -

                                                                                          - - -

                                                                                          - x -

                                                                                          - - -

                                                                                          - y -

                                                                                          diff --git a/docs/functions_vars.js b/docs/functions_vars.js new file mode 100644 index 00000000..43132e0e --- /dev/null +++ b/docs/functions_vars.js @@ -0,0 +1,26 @@ +var functions_vars = +[ + [ "_", "functions_vars.html", null ], + [ "a", "functions_vars_a.html", null ], + [ "b", "functions_vars_b.html", null ], + [ "c", "functions_vars_c.html", null ], + [ "d", "functions_vars_d.html", null ], + [ "e", "functions_vars_e.html", null ], + [ "f", "functions_vars_f.html", null ], + [ "h", "functions_vars_h.html", null ], + [ "i", "functions_vars_i.html", null ], + [ "k", "functions_vars_k.html", null ], + [ "l", "functions_vars_l.html", null ], + [ "m", "functions_vars_m.html", null ], + [ "n", "functions_vars_n.html", null ], + [ "o", "functions_vars_o.html", null ], + [ "p", "functions_vars_p.html", null ], + [ "r", "functions_vars_r.html", null ], + [ "s", "functions_vars_s.html", null ], + [ "t", "functions_vars_t.html", null ], + [ "u", "functions_vars_u.html", null ], + [ "v", "functions_vars_v.html", null ], + [ "w", "functions_vars_w.html", null ], + [ "x", "functions_vars_x.html", null ], + [ "y", "functions_vars_y.html", null ] +]; \ No newline at end of file diff --git a/docs/functions_vars_a.html b/docs/functions_vars_a.html new file mode 100644 index 00000000..3b5c71cd --- /dev/null +++ b/docs/functions_vars_a.html @@ -0,0 +1,142 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + diff --git a/docs/functions_vars_b.html b/docs/functions_vars_b.html new file mode 100644 index 00000000..3264720b --- /dev/null +++ b/docs/functions_vars_b.html @@ -0,0 +1,146 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + diff --git a/docs/functions_vars_c.html b/docs/functions_vars_c.html new file mode 100644 index 00000000..293944c2 --- /dev/null +++ b/docs/functions_vars_c.html @@ -0,0 +1,128 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + diff --git a/docs/functions_vars_d.html b/docs/functions_vars_d.html new file mode 100644 index 00000000..7cf09083 --- /dev/null +++ b/docs/functions_vars_d.html @@ -0,0 +1,126 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + diff --git a/docs/functions_vars_e.html b/docs/functions_vars_e.html new file mode 100644 index 00000000..a5adefe7 --- /dev/null +++ b/docs/functions_vars_e.html @@ -0,0 +1,142 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + diff --git a/docs/functions_vars_f.html b/docs/functions_vars_f.html new file mode 100644 index 00000000..23a03d08 --- /dev/null +++ b/docs/functions_vars_f.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + + +
                                                                                          + + + + diff --git a/docs/functions_vars_h.html b/docs/functions_vars_h.html new file mode 100644 index 00000000..20625bbf --- /dev/null +++ b/docs/functions_vars_h.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + + +
                                                                                          + + + + diff --git a/docs/functions_vars_i.html b/docs/functions_vars_i.html new file mode 100644 index 00000000..b90b56e5 --- /dev/null +++ b/docs/functions_vars_i.html @@ -0,0 +1,156 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + diff --git a/docs/functions_vars_k.html b/docs/functions_vars_k.html new file mode 100644 index 00000000..ed23dcdf --- /dev/null +++ b/docs/functions_vars_k.html @@ -0,0 +1,116 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + diff --git a/docs/functions_vars_l.html b/docs/functions_vars_l.html new file mode 100644 index 00000000..0a9ebc7a --- /dev/null +++ b/docs/functions_vars_l.html @@ -0,0 +1,113 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + diff --git a/docs/functions_vars_m.html b/docs/functions_vars_m.html new file mode 100644 index 00000000..51fda67b --- /dev/null +++ b/docs/functions_vars_m.html @@ -0,0 +1,190 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + +
                                                                                          +  + +

                                                                                          - m -

                                                                                          +
                                                                                          +
                                                                                          + + + + diff --git a/docs/functions_vars_n.html b/docs/functions_vars_n.html new file mode 100644 index 00000000..54c2d766 --- /dev/null +++ b/docs/functions_vars_n.html @@ -0,0 +1,133 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + diff --git a/docs/functions_vars_o.html b/docs/functions_vars_o.html new file mode 100644 index 00000000..9e035628 --- /dev/null +++ b/docs/functions_vars_o.html @@ -0,0 +1,136 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + diff --git a/docs/functions_vars_p.html b/docs/functions_vars_p.html new file mode 100644 index 00000000..1970ed30 --- /dev/null +++ b/docs/functions_vars_p.html @@ -0,0 +1,134 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + diff --git a/docs/functions_vars_r.html b/docs/functions_vars_r.html new file mode 100644 index 00000000..a692988a --- /dev/null +++ b/docs/functions_vars_r.html @@ -0,0 +1,118 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + diff --git a/docs/functions_vars_s.html b/docs/functions_vars_s.html new file mode 100644 index 00000000..ed00e454 --- /dev/null +++ b/docs/functions_vars_s.html @@ -0,0 +1,133 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + diff --git a/docs/functions_vars_t.html b/docs/functions_vars_t.html new file mode 100644 index 00000000..73969126 --- /dev/null +++ b/docs/functions_vars_t.html @@ -0,0 +1,110 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + diff --git a/docs/functions_vars_u.html b/docs/functions_vars_u.html new file mode 100644 index 00000000..a9cdd9e1 --- /dev/null +++ b/docs/functions_vars_u.html @@ -0,0 +1,122 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + diff --git a/docs/functions_vars_v.html b/docs/functions_vars_v.html new file mode 100644 index 00000000..4ece5154 --- /dev/null +++ b/docs/functions_vars_v.html @@ -0,0 +1,130 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + +
                                                                                          +  + +

                                                                                          - v -

                                                                                          +
                                                                                          +
                                                                                          + + + + diff --git a/docs/functions_vars_w.html b/docs/functions_vars_w.html new file mode 100644 index 00000000..f00ba233 --- /dev/null +++ b/docs/functions_vars_w.html @@ -0,0 +1,107 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + + +
                                                                                          + + + + diff --git a/docs/functions_vars_x.html b/docs/functions_vars_x.html new file mode 100644 index 00000000..01536e34 --- /dev/null +++ b/docs/functions_vars_x.html @@ -0,0 +1,101 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + +
                                                                                          +  + +

                                                                                          - x -

                                                                                          +
                                                                                          +
                                                                                          + + + + diff --git a/docs/functions_vars_y.html b/docs/functions_vars_y.html new file mode 100644 index 00000000..7d555b4d --- /dev/null +++ b/docs/functions_vars_y.html @@ -0,0 +1,101 @@ + + + + + + + +CUDNN Frontend API: Class Members - Variables + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + +
                                                                                          +  + +

                                                                                          - y -

                                                                                          +
                                                                                          +
                                                                                          + + + + diff --git a/docs/functions_w.html b/docs/functions_w.html index 1173fed9..34a2b73f 100644 --- a/docs/functions_w.html +++ b/docs/functions_w.html @@ -83,15 +83,94 @@
                                                                                          Here is a list of all class members with links to the classes they belong to:

                                                                                          - w -

                                                                                          diff --git a/docs/globals.html b/docs/globals.html new file mode 100644 index 00000000..464cd9a4 --- /dev/null +++ b/docs/globals.html @@ -0,0 +1,101 @@ + + + + + + + +CUDNN Frontend API: File Members + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          Here is a list of all file members with links to the files they belong to:
                                                                                          + +

                                                                                          - i -

                                                                                            +
                                                                                          • INCLUDE_NLOHMANN_JSON_FWD_HPP_ +: json.hpp +
                                                                                          • +
                                                                                          +
                                                                                          +
                                                                                          + + + + diff --git a/docs/globals_defs.html b/docs/globals_defs.html new file mode 100644 index 00000000..343c8a13 --- /dev/null +++ b/docs/globals_defs.html @@ -0,0 +1,101 @@ + + + + + + + +CUDNN Frontend API: File Members + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + +
                                                                                          +  + +

                                                                                          - i -

                                                                                            +
                                                                                          • INCLUDE_NLOHMANN_JSON_FWD_HPP_ +: json.hpp +
                                                                                          • +
                                                                                          +
                                                                                          +
                                                                                          + + + + diff --git a/docs/globals_defs.js b/docs/globals_defs.js new file mode 100644 index 00000000..f832ed63 --- /dev/null +++ b/docs/globals_defs.js @@ -0,0 +1,6 @@ +var globals_defs = +[ + [ "i", "globals_defs.html", null ], + [ "j", "globals_defs_j.html", null ], + [ "n", "globals_defs_n.html", null ] +]; \ No newline at end of file diff --git a/docs/globals_defs_j.html b/docs/globals_defs_j.html new file mode 100644 index 00000000..628c33ef --- /dev/null +++ b/docs/globals_defs_j.html @@ -0,0 +1,503 @@ + + + + + + + +CUDNN Frontend API: File Members + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + +
                                                                                          +  + +

                                                                                          - j -

                                                                                            +
                                                                                          • JSON_ASSERT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_CATCH +: json.hpp +
                                                                                          • +
                                                                                          • JSON_EXPLICIT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HAS_CPP_11 +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_ALWAYS_INLINE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_ARM_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_ARRAY_PARAM +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_ASSUME +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_BEGIN_C_DECLS +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_C_DECL +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CLANG_HAS_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CLANG_HAS_BUILTIN +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CLANG_HAS_EXTENSION +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CLANG_HAS_FEATURE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CLANG_HAS_WARNING +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_COMPCERT_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CONCAT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CONCAT3 +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CONCAT3_EX +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CONCAT_EX +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CONST +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CONST_CAST +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CONSTEXPR +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CPP_CAST +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CRAY_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DEPRECATED +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DEPRECATED_FOR +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DIAGNOSTIC_POP +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DIAGNOSTIC_PUSH +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DMC_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_EMPTY_BASES +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_END_C_DECLS +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_FALL_THROUGH +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_FLAGS +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_FLAGS_CAST +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_HAS_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_HAS_BUILTIN +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_HAS_EXTENSION +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_HAS_FEATURE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_HAS_WARNING +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GNUC_HAS_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GNUC_HAS_BUILTIN +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GNUC_HAS_EXTENSION +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GNUC_HAS_FEATURE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GNUC_HAS_WARNING +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GNUC_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_HAS_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_HAS_BUILTIN +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_HAS_CPP_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_HAS_EXTENSION +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_HAS_FEATURE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_HAS_WARNING +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_IAR_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_IBM_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_IMPORT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_INLINE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_INTEL_CL_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_INTEL_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_IS_CONSTANT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_LIKELY +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_MALLOC +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_MCST_LCC_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_MESSAGE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_MSVC_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_NEVER_INLINE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_NO_ESCAPE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_NO_RETURN +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_NO_THROW +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_NON_NULL +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_NULL +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PELLES_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PGI_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PRAGMA +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PREDICT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PREDICT_FALSE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PREDICT_TRUE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PRINTF_FORMAT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PRIVATE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PUBLIC +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PURE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_REINTERPRET_CAST +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_REQUIRE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_REQUIRE_CONSTEXPR +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_REQUIRE_MSG +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_RESTRICT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_RETURNS_NON_NULL +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_SENTINEL +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_STATIC_ASSERT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_STATIC_CAST +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_STRINGIFY +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_STRINGIFY_EX +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_SUNPRO_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_TI_ARMCL_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_TI_CL2000_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_TI_CL430_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_TI_CL6X_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_TI_CL7X_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_TI_CLPRU_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_TI_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_TINYC_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_UNAVAILABLE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_UNLIKELY +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_UNPREDICTABLE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_UNREACHABLE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_UNREACHABLE_RETURN +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_VERSION +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_VERSION_DECODE_MAJOR +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_VERSION_DECODE_MINOR +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_VERSION_DECODE_REVISION +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_VERSION_ENCODE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_WARN_UNUSED_RESULT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_WARN_UNUSED_RESULT_MSG +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_WARNING +: json.hpp +
                                                                                          • +
                                                                                          • JSON_INTERNAL_CATCH +: json.hpp +
                                                                                          • +
                                                                                          • JSON_PRIVATE_UNLESS_TESTED +: json.hpp +
                                                                                          • +
                                                                                          • JSON_THROW +: json.hpp +
                                                                                          • +
                                                                                          • JSON_TRY +: json.hpp +
                                                                                          • +
                                                                                          • JSON_USE_IMPLICIT_CONVERSIONS +: json.hpp +
                                                                                          • +
                                                                                          +
                                                                                          +
                                                                                          + + + + diff --git a/docs/globals_defs_n.html b/docs/globals_defs_n.html new file mode 100644 index 00000000..5941df16 --- /dev/null +++ b/docs/globals_defs_n.html @@ -0,0 +1,326 @@ + + + + + + + +CUDNN Frontend API: File Members + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + +
                                                                                          +  + +

                                                                                          - n -

                                                                                          +
                                                                                          +
                                                                                          + + + + diff --git a/docs/globals_dup.js b/docs/globals_dup.js new file mode 100644 index 00000000..2815042a --- /dev/null +++ b/docs/globals_dup.js @@ -0,0 +1,7 @@ +var globals_dup = +[ + [ "i", "globals.html", null ], + [ "j", "globals_j.html", null ], + [ "n", "globals_n.html", null ], + [ "o", "globals_o.html", null ] +]; \ No newline at end of file diff --git a/docs/globals_func.html b/docs/globals_func.html new file mode 100644 index 00000000..e46cbeeb --- /dev/null +++ b/docs/globals_func.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: File Members + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + diff --git a/docs/globals_j.html b/docs/globals_j.html new file mode 100644 index 00000000..7d91baab --- /dev/null +++ b/docs/globals_j.html @@ -0,0 +1,506 @@ + + + + + + + +CUDNN Frontend API: File Members + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          Here is a list of all file members with links to the files they belong to:
                                                                                          + +

                                                                                          - j -

                                                                                            +
                                                                                          • json +: cudnn_frontend_Errata.h +
                                                                                          • +
                                                                                          • JSON_ASSERT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_CATCH +: json.hpp +
                                                                                          • +
                                                                                          • JSON_EXPLICIT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HAS_CPP_11 +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_ALWAYS_INLINE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_ARM_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_ARRAY_PARAM +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_ASSUME +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_BEGIN_C_DECLS +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_C_DECL +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CLANG_HAS_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CLANG_HAS_BUILTIN +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CLANG_HAS_EXTENSION +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CLANG_HAS_FEATURE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CLANG_HAS_WARNING +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_COMPCERT_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CONCAT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CONCAT3 +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CONCAT3_EX +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CONCAT_EX +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CONST +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CONST_CAST +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CONSTEXPR +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CPP_CAST +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_CRAY_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DEPRECATED +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DEPRECATED_FOR +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DIAGNOSTIC_POP +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DIAGNOSTIC_PUSH +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_DMC_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_EMPTY_BASES +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_END_C_DECLS +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_FALL_THROUGH +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_FLAGS +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_FLAGS_CAST +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_HAS_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_HAS_BUILTIN +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_HAS_EXTENSION +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_HAS_FEATURE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_HAS_WARNING +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GCC_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GNUC_HAS_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GNUC_HAS_BUILTIN +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GNUC_HAS_EXTENSION +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GNUC_HAS_FEATURE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GNUC_HAS_WARNING +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_GNUC_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_HAS_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_HAS_BUILTIN +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_HAS_CPP_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_HAS_EXTENSION +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_HAS_FEATURE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_HAS_WARNING +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_IAR_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_IBM_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_IMPORT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_INLINE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_INTEL_CL_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_INTEL_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_IS_CONSTANT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_LIKELY +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_MALLOC +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_MCST_LCC_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_MESSAGE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_MSVC_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_NEVER_INLINE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_NO_ESCAPE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_NO_RETURN +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_NO_THROW +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_NON_NULL +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_NULL +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PELLES_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PGI_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PRAGMA +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PREDICT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PREDICT_FALSE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PREDICT_TRUE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PRINTF_FORMAT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PRIVATE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PUBLIC +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_PURE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_REINTERPRET_CAST +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_REQUIRE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_REQUIRE_CONSTEXPR +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_REQUIRE_MSG +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_RESTRICT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_RETURNS_NON_NULL +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_SENTINEL +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_STATIC_ASSERT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_STATIC_CAST +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_STRINGIFY +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_STRINGIFY_EX +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_SUNPRO_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_TI_ARMCL_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_TI_CL2000_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_TI_CL430_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_TI_CL6X_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_TI_CL7X_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_TI_CLPRU_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_TI_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_TINYC_VERSION_CHECK +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_UNAVAILABLE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_UNLIKELY +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_UNPREDICTABLE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_UNREACHABLE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_UNREACHABLE_RETURN +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_VERSION +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_VERSION_DECODE_MAJOR +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_VERSION_DECODE_MINOR +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_VERSION_DECODE_REVISION +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_VERSION_ENCODE +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_WARN_UNUSED_RESULT +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_WARN_UNUSED_RESULT_MSG +: json.hpp +
                                                                                          • +
                                                                                          • JSON_HEDLEY_WARNING +: json.hpp +
                                                                                          • +
                                                                                          • JSON_INTERNAL_CATCH +: json.hpp +
                                                                                          • +
                                                                                          • JSON_PRIVATE_UNLESS_TESTED +: json.hpp +
                                                                                          • +
                                                                                          • JSON_THROW +: json.hpp +
                                                                                          • +
                                                                                          • JSON_TRY +: json.hpp +
                                                                                          • +
                                                                                          • JSON_USE_IMPLICIT_CONVERSIONS +: json.hpp +
                                                                                          • +
                                                                                          +
                                                                                          +
                                                                                          + + + + diff --git a/docs/globals_n.html b/docs/globals_n.html new file mode 100644 index 00000000..23f67f13 --- /dev/null +++ b/docs/globals_n.html @@ -0,0 +1,326 @@ + + + + + + + +CUDNN Frontend API: File Members + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          Here is a list of all file members with links to the files they belong to:
                                                                                          + +

                                                                                          - n -

                                                                                          +
                                                                                          +
                                                                                          + + + + diff --git a/docs/globals_o.html b/docs/globals_o.html new file mode 100644 index 00000000..d5aa73ee --- /dev/null +++ b/docs/globals_o.html @@ -0,0 +1,104 @@ + + + + + + + +CUDNN Frontend API: File Members + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          Here is a list of all file members with links to the files they belong to:
                                                                                          + +

                                                                                          - o -

                                                                                          +
                                                                                          +
                                                                                          + + + + diff --git a/docs/globals_type.html b/docs/globals_type.html new file mode 100644 index 00000000..e23b8aba --- /dev/null +++ b/docs/globals_type.html @@ -0,0 +1,99 @@ + + + + + + + +CUDNN Frontend API: File Members + + + + + + + + + + + + + + +
                                                                                          +
                                                                                          + + + + + + +
                                                                                          +
                                                                                          CUDNN Frontend API +  8.2.0 +
                                                                                          +
                                                                                          +
                                                                                          + + + + + + + +
                                                                                          +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          + + +
                                                                                          + +
                                                                                          + +
                                                                                          +
                                                                                          +
                                                                                          + + + + diff --git a/docs/hierarchy.html b/docs/hierarchy.html index 46d5fc40..a4319593 100644 --- a/docs/hierarchy.html +++ b/docs/hierarchy.html @@ -87,39 +87,206 @@

                                                                                          Go to the graphical class hierarchy

                                                                                          This inheritance list is sorted roughly, but not completely, alphabetically:
                                                                                          -
                                                                                          [detail level 123]
                                                                                          - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
                                                                                          [detail level 1234]
                                                                                           Ccudnn_frontend::BackendDescriptor
                                                                                           Ccudnn_frontend::ConvDesc_v8
                                                                                           Ccudnn_frontend::Engine_v8
                                                                                           Ccudnn_frontend::EngineConfig_v8
                                                                                           Ccudnn_frontend::EngineFallbackList_v8
                                                                                           Ccudnn_frontend::EngineHeuristics_v8
                                                                                           Ccudnn_frontend::ExecutionPlan_v8
                                                                                           Ccudnn_frontend::MatMulDesc_v8
                                                                                           Ccudnn_frontend::Operation_v8
                                                                                           Ccudnn_frontend::OperationGraph_v8
                                                                                           Ccudnn_frontend::PointWiseDesc_v8
                                                                                           Ccudnn_frontend::Tensor_v8
                                                                                           Ccudnn_frontend::VariantPack_v8
                                                                                           Ccudnn_frontend::ConvDescBuilder_v8
                                                                                           Ccudnn_frontend::EngineBuilder_v8
                                                                                           Ccudnn_frontend::EngineConfigBuilder_v8
                                                                                           Ccudnn_frontend::EngineConfigGenerator
                                                                                           Ccudnn_frontend::EngineFallbackListBuilder_v8
                                                                                           Ccudnn_frontend::EngineHeuristicsBuilder_v8
                                                                                           Cstd::exceptionSTL class
                                                                                           Cstd::runtime_errorSTL class
                                                                                           Ccudnn_frontend::cudnnException
                                                                                           Ccudnn_frontend::executionOption
                                                                                           Ccudnn_frontend::ExecutionPlanBuilder_v8
                                                                                           Ccudnn_frontend::Engine_v8::Knob
                                                                                           Ccudnn_frontend::MatMulDescBuilder_v8
                                                                                           Ccudnn_frontend::OpaqueBackendPointer
                                                                                           Ccudnn_frontend::OperationBuilder_v8
                                                                                           Ccudnn_frontend::OperationGraphBuilder_v8
                                                                                           Ccudnn_frontend::PointWiseDescBuilder_v8
                                                                                           Ccudnn_frontend::TensorBuilder_v8
                                                                                           Ccudnn_frontend::VariantPackBuilder_v8
                                                                                          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                           Cnlohmann::adl_serializer< ValueType, typename >Default JSONSerializer template argument
                                                                                           CB1
                                                                                           Ccudnn_frontend::BackendDescriptor
                                                                                           Cnlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >Class to store JSON values
                                                                                           Cnlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >Deserialization of CBOR, MessagePack, and UBJSON values
                                                                                           Cnlohmann::detail::binary_writer< BasicJsonType, CharType >Serialization to CBOR and MessagePack values
                                                                                           CBinaryType
                                                                                           Cnlohmann::detail::dtoa_impl::boundaries
                                                                                           Cnlohmann::detail::dtoa_impl::cached_power
                                                                                           Cnlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, Enable >
                                                                                           Cnlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >
                                                                                           Ccudnn_frontend::ConvDescBuilder_v8
                                                                                           Cnlohmann::detail::detector< Default, AlwaysVoid, Op, Args >
                                                                                           Cnlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >
                                                                                           Cnlohmann::detail::dtoa_impl::diyfp
                                                                                           Ccudnn_frontend::EngineBuilder_v8
                                                                                           Ccudnn_frontend::EngineConfigBuilder_v8
                                                                                           Ccudnn_frontend::EngineConfigGenerator
                                                                                           Ccudnn_frontend::EngineFallbackListBuilder_v8
                                                                                           Ccudnn_frontend::EngineHeuristicsBuilder_v8
                                                                                           Cstd::exceptionSTL class
                                                                                           Ccudnn_frontend::executionOption
                                                                                           Ccudnn_frontend::ExecutionPlanBuilder_v8
                                                                                           Cnlohmann::detail::utility_internal::Extend< Seq, SeqSize, Rem >
                                                                                           Cnlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 >
                                                                                           Cnlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 >
                                                                                           Cnlohmann::detail::external_constructor< value_t >
                                                                                           Cnlohmann::detail::external_constructor< value_t::array >
                                                                                           Cnlohmann::detail::external_constructor< value_t::binary >
                                                                                           Cnlohmann::detail::external_constructor< value_t::boolean >
                                                                                           Cnlohmann::detail::external_constructor< value_t::number_float >
                                                                                           Cnlohmann::detail::external_constructor< value_t::number_integer >
                                                                                           Cnlohmann::detail::external_constructor< value_t::number_unsigned >
                                                                                           Cnlohmann::detail::external_constructor< value_t::object >
                                                                                           Cnlohmann::detail::external_constructor< value_t::string >
                                                                                           Cfalse_type
                                                                                           Cnlohmann::detail::file_input_adapter
                                                                                           Cnlohmann::detail::from_json_fn
                                                                                           Cnlohmann::detail::utility_internal::Gen< T, N >
                                                                                           Cnlohmann::detail::utility_internal::Gen< T, 0 >
                                                                                           Cnlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
                                                                                           Cnlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
                                                                                           Cnlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
                                                                                           Cstd::hash< nlohmann::json >Hash value for JSON objects
                                                                                           Cnlohmann::detail::identity_tag< T >
                                                                                           Cnlohmann::detail::input_stream_adapter
                                                                                           Cnlohmann::detail::integer_sequence< T, Ints >
                                                                                           Cintegral_constant
                                                                                           Cnlohmann::detail::internal_iterator< BasicJsonType >Iterator value
                                                                                           Cnlohmann::detail::internal_iterator< typename std::remove_const< BasicJsonType >::type >
                                                                                           Cnlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >
                                                                                           Cnlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >
                                                                                           Cnlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >
                                                                                           Cnlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >
                                                                                           Cnlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >
                                                                                           Cis_constructible
                                                                                           Cnlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >
                                                                                           Cnlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >
                                                                                           Cnlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >
                                                                                           Cis_default_constructible
                                                                                           Cnlohmann::detail::is_getable< BasicJsonType, T >
                                                                                           Cnlohmann::detail::is_iterator_of_multibyte< T >
                                                                                           Cnlohmann::detail::is_iterator_traits< iterator_traits< T > >
                                                                                           Cnlohmann::detail::is_sax< SAX, BasicJsonType >
                                                                                           Cnlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >
                                                                                           Cnlohmann::detail::iter_impl< BasicJsonType >Template for a bidirectional iterator for the basic_json class This class implements a both iterators (iterator and const_iterator) for the basic_json class
                                                                                           Cnlohmann::detail::iteration_proxy< IteratorType >Proxy class for the items() function
                                                                                           Cnlohmann::detail::iteration_proxy_value< IteratorType >
                                                                                           Cnlohmann::detail::iterator_input_adapter< IteratorType >
                                                                                           Cnlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >
                                                                                           Cnlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >
                                                                                           Cnlohmann::detail::iterator_traits< T, typename >
                                                                                           Cnlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >
                                                                                           Cnlohmann::detail::iterator_types< It, typename >
                                                                                           Cnlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
                                                                                           Cnlohmann::detail::iterator_types< T >
                                                                                           Cnlohmann::json_pointer< BasicJsonType >JSON Pointer
                                                                                           Cnlohmann::detail::json_ref< BasicJsonType >
                                                                                           Cnlohmann::json_sax< BasicJsonType >SAX interface
                                                                                           Cnlohmann::detail::json_sax_acceptor< BasicJsonType >
                                                                                           Cnlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
                                                                                           Cnlohmann::detail::json_sax_dom_parser< BasicJsonType >SAX implementation to create a JSON value from SAX events
                                                                                           Ccudnn_frontend::Engine_v8::Knob
                                                                                           Cstd::less<::nlohmann::detail::value_t >
                                                                                           Cnlohmann::detail::lexer_base< BasicJsonType >
                                                                                           Cnlohmann::detail::make_void< Ts >
                                                                                           Ccudnn_frontend::MatMulDescBuilder_v8
                                                                                           Cnlohmann::detail::nonesuch
                                                                                           Ccudnn_frontend::OpaqueBackendPointer
                                                                                           Ccudnn_frontend::OperationBuilder_v8
                                                                                           Ccudnn_frontend::OperationGraphBuilder_v8
                                                                                           Cnlohmann::detail::output_adapter< CharType, StringType >
                                                                                           Cnlohmann::detail::output_adapter_protocol< CharType >Abstract output adapter interface
                                                                                           Cnlohmann::detail::parser< BasicJsonType, InputAdapterType >Syntax analysis
                                                                                           Ccudnn_frontend::PointWiseDescBuilder_v8
                                                                                           Cnlohmann::detail::position_tStruct to capture the start position of the current token
                                                                                           Cnlohmann::detail::primitive_iterator_t
                                                                                           Cnlohmann::detail::priority_tag< N >
                                                                                           Cnlohmann::detail::priority_tag< 0 >
                                                                                           Ccudnn_frontend::ReductionDescBuilder_v8
                                                                                           Creverse_iterator
                                                                                           Cnlohmann::detail::serializer< BasicJsonType >
                                                                                           Cnlohmann::detail::span_input_adapter
                                                                                           Cnlohmann::detail::static_const< T >
                                                                                           Ccudnn_frontend::TensorBuilder_v8
                                                                                           Cnlohmann::detail::to_json_fn
                                                                                           Ctrue_type
                                                                                           Cstd::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >
                                                                                           Ctype
                                                                                           Ccudnn_frontend::VariantPackBuilder_v8
                                                                                           Cstd::vector< T >STL class
                                                                                           Cnlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >
                                                                                           Cnlohmann::detail::wide_string_input_helper< BaseInputAdapter, T >
                                                                                           Cnlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >
                                                                                           Cnlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >
                                                                                           Cpair< const Key, T >
                                                                                          diff --git a/docs/hierarchy.js b/docs/hierarchy.js index d294d1b5..6fa871d4 100644 --- a/docs/hierarchy.js +++ b/docs/hierarchy.js @@ -1,5 +1,9 @@ var hierarchy = [ + [ "nlohmann::adl_serializer< ValueType, typename >", "dc/dc7/structnlohmann_1_1adl__serializer.html", null ], + [ "B1", "d3/ddb/classB1.html", [ + [ "nlohmann::detail::conjunction< B1 >", "d1/d96/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4.html", null ] + ] ], [ "cudnn_frontend::BackendDescriptor", "d6/d88/classcudnn__frontend_1_1BackendDescriptor.html", [ [ "cudnn_frontend::ConvDesc_v8", "d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html", null ], [ "cudnn_frontend::Engine_v8", "dc/d3c/classcudnn__frontend_1_1Engine__v8.html", null ], @@ -11,28 +15,220 @@ var hierarchy = [ "cudnn_frontend::Operation_v8", "d4/d30/classcudnn__frontend_1_1Operation__v8.html", null ], [ "cudnn_frontend::OperationGraph_v8", "de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html", null ], [ "cudnn_frontend::PointWiseDesc_v8", "d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html", null ], + [ "cudnn_frontend::ReductionDesc_v8", "d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html", null ], [ "cudnn_frontend::Tensor_v8", "d6/da7/classcudnn__frontend_1_1Tensor__v8.html", null ], [ "cudnn_frontend::VariantPack_v8", "d0/d20/classcudnn__frontend_1_1VariantPack__v8.html", null ] ] ], + [ "nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >", "d9/dcc/classnlohmann_1_1basic__json.html", null ], + [ "nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >", "d6/d30/classnlohmann_1_1detail_1_1binary__reader.html", null ], + [ "nlohmann::detail::binary_writer< BasicJsonType, CharType >", "df/d1a/classnlohmann_1_1detail_1_1binary__writer.html", null ], + [ "BinaryType", "d7/d1c/classBinaryType.html", [ + [ "nlohmann::byte_container_with_subtype< BinaryType >", "dd/d0d/classnlohmann_1_1byte__container__with__subtype.html", null ] + ] ], + [ "nlohmann::detail::dtoa_impl::boundaries", "df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html", null ], + [ "nlohmann::detail::dtoa_impl::cached_power", "d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html", null ], + [ "nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, Enable >", "d1/d62/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory.html", null ], + [ "nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >", "d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html", null ], [ "cudnn_frontend::ConvDescBuilder_v8", "db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html", null ], + [ "nlohmann::detail::detector< Default, AlwaysVoid, Op, Args >", "dd/d10/structnlohmann_1_1detail_1_1detector.html", null ], + [ "nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >", "d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html", null ], + [ "nlohmann::detail::dtoa_impl::diyfp", "d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html", null ], [ "cudnn_frontend::EngineBuilder_v8", "d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html", null ], [ "cudnn_frontend::EngineConfigBuilder_v8", "dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html", null ], [ "cudnn_frontend::EngineConfigGenerator", "dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html", null ], [ "cudnn_frontend::EngineFallbackListBuilder_v8", "d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html", null ], [ "cudnn_frontend::EngineHeuristicsBuilder_v8", "d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html", null ], [ "std::exception", null, [ + [ "nlohmann::detail::exception", "de/df2/classnlohmann_1_1detail_1_1exception.html", [ + [ "nlohmann::detail::invalid_iterator", "d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html", null ], + [ "nlohmann::detail::other_error", "d5/d1b/classnlohmann_1_1detail_1_1other__error.html", null ], + [ "nlohmann::detail::out_of_range", "d2/d67/classnlohmann_1_1detail_1_1out__of__range.html", null ], + [ "nlohmann::detail::parse_error", "d5/d1a/classnlohmann_1_1detail_1_1parse__error.html", null ], + [ "nlohmann::detail::type_error", "da/d1c/classnlohmann_1_1detail_1_1type__error.html", null ] + ] ], [ "std::runtime_error", null, [ [ "cudnn_frontend::cudnnException", "d9/dca/classcudnn__frontend_1_1cudnnException.html", null ] ] ] ] ], [ "cudnn_frontend::executionOption", "d6/d1b/structcudnn__frontend_1_1executionOption.html", null ], [ "cudnn_frontend::ExecutionPlanBuilder_v8", "d1/d74/classcudnn__frontend_1_1ExecutionPlanBuilder__v8.html", null ], + [ "nlohmann::detail::utility_internal::Extend< Seq, SeqSize, Rem >", "d7/d3c/structnlohmann_1_1detail_1_1utility__internal_1_1Extend.html", null ], + [ "nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 >", "de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.html", null ], + [ "nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 >", "d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.html", null ], + [ "nlohmann::detail::external_constructor< value_t >", "d2/df4/structnlohmann_1_1detail_1_1external__constructor.html", null ], + [ "nlohmann::detail::external_constructor< value_t::array >", "d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html", null ], + [ "nlohmann::detail::external_constructor< value_t::binary >", "d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html", null ], + [ "nlohmann::detail::external_constructor< value_t::boolean >", "d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html", null ], + [ "nlohmann::detail::external_constructor< value_t::number_float >", "d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html", null ], + [ "nlohmann::detail::external_constructor< value_t::number_integer >", "dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html", null ], + [ "nlohmann::detail::external_constructor< value_t::number_unsigned >", "d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html", null ], + [ "nlohmann::detail::external_constructor< value_t::object >", "d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html", null ], + [ "nlohmann::detail::external_constructor< value_t::string >", "da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html", null ], + [ "false_type", null, [ + [ "nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType >", "dc/d4b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.html", [ + [ "nlohmann::detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType >", "d8/d94/structnlohmann_1_1detail_1_1is__compatible__array__type.html", null ] + ] ], + [ "nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType >", "dd/d13/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html", [ + [ "nlohmann::detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >", "d1/d21/structnlohmann_1_1detail_1_1is__compatible__integer__type.html", null ] + ] ], + [ "nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType >", "dc/da5/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html", [ + [ "nlohmann::detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType >", "d5/dda/structnlohmann_1_1detail_1_1is__compatible__object__type.html", null ] + ] ], + [ "nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, ConstructibleStringType >", "d2/d3a/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.html", [ + [ "nlohmann::detail::is_compatible_string_type< BasicJsonType, ConstructibleStringType >", "db/d4e/structnlohmann_1_1detail_1_1is__compatible__string__type.html", null ] + ] ], + [ "nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType >", "d9/d66/structnlohmann_1_1detail_1_1is__compatible__type__impl.html", [ + [ "nlohmann::detail::is_compatible_type< BasicJsonType, CompatibleType >", "d3/d71/structnlohmann_1_1detail_1_1is__compatible__type.html", null ] + ] ], + [ "nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType >", "d8/d8b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl.html", [ + [ "nlohmann::detail::is_constructible_array_type< BasicJsonType, ConstructibleArrayType >", "d3/d52/structnlohmann_1_1detail_1_1is__constructible__array__type.html", null ] + ] ], + [ "nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType >", "dd/da4/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.html", [ + [ "nlohmann::detail::is_constructible_object_type< BasicJsonType, ConstructibleObjectType >", "dc/d11/structnlohmann_1_1detail_1_1is__constructible__object__type.html", null ] + ] ], + [ "nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType >", "de/df0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.html", [ + [ "nlohmann::detail::is_constructible_string_type< BasicJsonType, ConstructibleStringType >", "d3/d84/structnlohmann_1_1detail_1_1is__constructible__string__type.html", null ] + ] ], + [ "nlohmann::detail::has_from_json< BasicJsonType, T, typename >", "dc/dac/structnlohmann_1_1detail_1_1has__from__json.html", null ], + [ "nlohmann::detail::has_non_default_from_json< BasicJsonType, T, typename >", "d7/d08/structnlohmann_1_1detail_1_1has__non__default__from__json.html", null ], + [ "nlohmann::detail::has_to_json< BasicJsonType, T, typename >", "d9/d6c/structnlohmann_1_1detail_1_1has__to__json.html", null ], + [ "nlohmann::detail::is_basic_json< typename >", "d4/df6/structnlohmann_1_1detail_1_1is__basic__json.html", null ], + [ "nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, typename >", "dc/d4b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.html", null ], + [ "nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, typename >", "dd/d13/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html", null ], + [ "nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, typename >", "dc/da5/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html", null ], + [ "nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, typename >", "d2/d3a/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.html", null ], + [ "nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, typename >", "d9/d66/structnlohmann_1_1detail_1_1is__compatible__type__impl.html", null ], + [ "nlohmann::detail::is_complete_type< T, typename >", "d2/db3/structnlohmann_1_1detail_1_1is__complete__type.html", null ], + [ "nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, typename >", "d8/d8b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl.html", null ], + [ "nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, typename >", "dd/da4/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.html", null ], + [ "nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, typename >", "de/df0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.html", null ], + [ "nlohmann::detail::is_constructible_tuple< T1, T2 >", "df/d17/structnlohmann_1_1detail_1_1is__constructible__tuple.html", null ], + [ "nlohmann::detail::is_iterator_traits< T, typename >", "d3/d30/structnlohmann_1_1detail_1_1is__iterator__traits.html", null ], + [ "nlohmann::detail::is_json_ref< typename >", "d3/d0b/structnlohmann_1_1detail_1_1is__json__ref.html", null ] + ] ], + [ "nlohmann::detail::file_input_adapter", "da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html", null ], + [ "nlohmann::detail::from_json_fn", "d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.html", null ], + [ "nlohmann::detail::utility_internal::Gen< T, N >", "d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.html", null ], + [ "nlohmann::detail::utility_internal::Gen< T, 0 >", "d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.html", null ], + [ "nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >", "d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html", null ], + [ "nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >", "df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html", null ], + [ "nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >", "d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html", null ], + [ "std::hash< nlohmann::json >", "dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html", null ], + [ "nlohmann::detail::identity_tag< T >", "d0/db1/structnlohmann_1_1detail_1_1identity__tag.html", null ], + [ "nlohmann::detail::input_stream_adapter", "db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html", null ], + [ "nlohmann::detail::integer_sequence< T, Ints >", "d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html", null ], + [ "integral_constant", null, [ + [ "std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >", "da/d86/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html", null ] + ] ], + [ "nlohmann::detail::internal_iterator< BasicJsonType >", "d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html", null ], + [ "nlohmann::detail::internal_iterator< typename std::remove_const< BasicJsonType >::type >", "d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html", null ], + [ "nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >", "dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html", null ], + [ "nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >", "d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html", null ], + [ "nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >", "d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html", null ], + [ "nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >", "d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html", null ], + [ "nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >", "d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html", null ], + [ "is_constructible", null, [ + [ "nlohmann::detail::is_constructible< T, Args >", "d7/d10/structnlohmann_1_1detail_1_1is__constructible.html", null ] + ] ], + [ "nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >", "db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.html", null ], + [ "nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >", "d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html", null ], + [ "nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >", "df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html", null ], + [ "is_default_constructible", null, [ + [ "nlohmann::detail::is_default_constructible< T >", "d2/d91/structnlohmann_1_1detail_1_1is__default__constructible.html", null ] + ] ], + [ "nlohmann::detail::is_getable< BasicJsonType, T >", "de/dbc/structnlohmann_1_1detail_1_1is__getable.html", null ], + [ "nlohmann::detail::is_iterator_of_multibyte< T >", "d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html", null ], + [ "nlohmann::detail::is_iterator_traits< iterator_traits< T > >", "d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html", null ], + [ "nlohmann::detail::is_sax< SAX, BasicJsonType >", "dc/dc3/structnlohmann_1_1detail_1_1is__sax.html", null ], + [ "nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >", "d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html", null ], + [ "nlohmann::detail::iter_impl< BasicJsonType >", "d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html", null ], + [ "nlohmann::detail::iteration_proxy< IteratorType >", "db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html", null ], + [ "nlohmann::detail::iteration_proxy_value< IteratorType >", "d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html", null ], + [ "nlohmann::detail::iterator_input_adapter< IteratorType >", "d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html", null ], + [ "nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >", "d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html", null ], + [ "nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >", "da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html", null ], + [ "nlohmann::detail::iterator_traits< T, typename >", "d8/db6/structnlohmann_1_1detail_1_1iterator__traits.html", null ], + [ "nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >", "da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html", null ], + [ "nlohmann::detail::iterator_types< It, typename >", "d5/d3c/structnlohmann_1_1detail_1_1iterator__types.html", null ], + [ "nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >", "d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html", null ], + [ "nlohmann::detail::iterator_types< T >", "d5/d3c/structnlohmann_1_1detail_1_1iterator__types.html", [ + [ "nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >", "d5/da3/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_3_01T_01_4_1_1value_01_4_01_4.html", null ] + ] ], + [ "nlohmann::json_pointer< BasicJsonType >", "da/de8/classnlohmann_1_1json__pointer.html", null ], + [ "nlohmann::detail::json_ref< BasicJsonType >", "da/d10/classnlohmann_1_1detail_1_1json__ref.html", null ], + [ "nlohmann::json_sax< BasicJsonType >", "d0/d82/structnlohmann_1_1json__sax.html", null ], + [ "nlohmann::detail::json_sax_acceptor< BasicJsonType >", "d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html", null ], + [ "nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >", "d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html", null ], + [ "nlohmann::detail::json_sax_dom_parser< BasicJsonType >", "dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html", null ], [ "cudnn_frontend::Engine_v8::Knob", "dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html", null ], + [ "std::less<::nlohmann::detail::value_t >", "df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html", null ], + [ "nlohmann::detail::lexer_base< BasicJsonType >", "de/d77/classnlohmann_1_1detail_1_1lexer__base.html", [ + [ "nlohmann::detail::lexer< BasicJsonType, InputAdapterType >", "d8/d22/classnlohmann_1_1detail_1_1lexer.html", null ] + ] ], + [ "nlohmann::detail::make_void< Ts >", "d3/d72/structnlohmann_1_1detail_1_1make__void.html", null ], [ "cudnn_frontend::MatMulDescBuilder_v8", "de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html", null ], + [ "nlohmann::detail::nonesuch", "da/d31/structnlohmann_1_1detail_1_1nonesuch.html", null ], [ "cudnn_frontend::OpaqueBackendPointer", "d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html", null ], [ "cudnn_frontend::OperationBuilder_v8", "d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html", null ], [ "cudnn_frontend::OperationGraphBuilder_v8", "d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html", null ], + [ "nlohmann::detail::output_adapter< CharType, StringType >", "df/d13/classnlohmann_1_1detail_1_1output__adapter.html", null ], + [ "nlohmann::detail::output_adapter_protocol< CharType >", "dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html", [ + [ "nlohmann::detail::output_stream_adapter< CharType >", "d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html", null ], + [ "nlohmann::detail::output_string_adapter< CharType, StringType >", "d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html", null ], + [ "nlohmann::detail::output_vector_adapter< CharType >", "d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html", null ] + ] ], + [ "nlohmann::detail::parser< BasicJsonType, InputAdapterType >", "df/d6b/classnlohmann_1_1detail_1_1parser.html", null ], [ "cudnn_frontend::PointWiseDescBuilder_v8", "d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html", null ], + [ "nlohmann::detail::position_t", "d6/d02/structnlohmann_1_1detail_1_1position__t.html", null ], + [ "nlohmann::detail::primitive_iterator_t", "d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html", null ], + [ "nlohmann::detail::priority_tag< N >", "d7/d78/structnlohmann_1_1detail_1_1priority__tag.html", null ], + [ "nlohmann::detail::priority_tag< 0 >", "d2/ddd/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html", null ], + [ "cudnn_frontend::ReductionDescBuilder_v8", "d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html", null ], + [ "reverse_iterator", null, [ + [ "nlohmann::detail::json_reverse_iterator< Base >", "de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html", null ] + ] ], + [ "nlohmann::detail::serializer< BasicJsonType >", "d4/d0a/classnlohmann_1_1detail_1_1serializer.html", null ], + [ "nlohmann::detail::span_input_adapter", "da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html", null ], + [ "nlohmann::detail::static_const< T >", "d1/d9b/structnlohmann_1_1detail_1_1static__const.html", null ], [ "cudnn_frontend::TensorBuilder_v8", "db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html", null ], - [ "cudnn_frontend::VariantPackBuilder_v8", "d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html", null ] + [ "nlohmann::detail::to_json_fn", "d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.html", null ], + [ "true_type", null, [ + [ "nlohmann::detail::conjunction< is_constructible< T1, Args >... >", "dd/dde/structnlohmann_1_1detail_1_1conjunction.html", [ + [ "nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > >", "d3/d6a/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html", null ] + ] ], + [ "nlohmann::detail::conjunction< is_default_constructible< T1 >, is_default_constructible< T2 > >", "dd/dde/structnlohmann_1_1detail_1_1conjunction.html", [ + [ "nlohmann::detail::is_default_constructible< const std::pair< T1, T2 > >", "d7/d7b/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html", [ + [ "nlohmann::detail::is_constructible< const std::pair< T1, T2 > >", "d8/da8/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html", null ] + ] ], + [ "nlohmann::detail::is_default_constructible< std::pair< T1, T2 > >", "da/dbd/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html", [ + [ "nlohmann::detail::is_constructible< std::pair< T1, T2 > >", "d4/df4/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html", null ] + ] ] + ] ], + [ "nlohmann::detail::conjunction< is_default_constructible< Ts >... >", "dd/dde/structnlohmann_1_1detail_1_1conjunction.html", [ + [ "nlohmann::detail::is_default_constructible< const std::tuple< Ts... > >", "dc/dd7/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html", [ + [ "nlohmann::detail::is_constructible< const std::tuple< Ts... > >", "d1/d8d/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html", null ] + ] ], + [ "nlohmann::detail::is_default_constructible< std::tuple< Ts... > >", "d5/dc8/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html", [ + [ "nlohmann::detail::is_constructible< std::tuple< Ts... > >", "dc/d01/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html", null ] + ] ] + ] ], + [ "nlohmann::detail::conjunction<... >", "dd/dde/structnlohmann_1_1detail_1_1conjunction.html", null ], + [ "nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL >", "d8/d25/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4.html", null ], + [ "nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))>", "dd/dcd/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4.html", null ], + [ "nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >", "dd/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construce6fa33688da703b95649da4749cdeb98.html", null ], + [ "nlohmann::detail::is_json_ref< json_ref< T > >", "d0/d8d/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4.html", null ] + ] ], + [ "std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >", "dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html", null ], + [ "type", "db/d0a/classstd_1_1conditional_1_1type.html", [ + [ "nlohmann::detail::conjunction< B1, Bn... >", "d5/db0/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4.html", null ] + ] ], + [ "cudnn_frontend::VariantPackBuilder_v8", "d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html", null ], + [ "std::vector< T >", null, [ + [ "nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >", "d6/da7/structnlohmann_1_1ordered__map.html", null ] + ] ], + [ "nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >", "d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html", null ], + [ "nlohmann::detail::wide_string_input_helper< BaseInputAdapter, T >", "d2/d2c/structnlohmann_1_1detail_1_1wide__string__input__helper.html", null ], + [ "nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >", "df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html", null ], + [ "nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >", "d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html", null ], + [ "pair< const Key, T >", "d9/d9f/classstd_1_1pair_3_01const_01Key_00_01T_01_4.html", null ] ]; \ No newline at end of file diff --git a/docs/index.html b/docs/index.html index 20d74464..49c978ed 100644 --- a/docs/index.html +++ b/docs/index.html @@ -90,7 +90,7 @@

                                                                                          Why use Frontend API

                                                                                          Consider the following code snippet which showcases cudnnBackendTensor creation using the backend API and its equivalent front-end API code. Many among the backend constructs follow similar pattern.

                                                                                          -
                                                                                          ===========================================================================================
                                                                                          auto check_status = [](cudnnStatus_t status) { assert (status == CUDNN_STATUS_SUCCESS); };
                                                                                          ===========================================================================================
                                                                                          // Backend code for Tensor Creation.
                                                                                          cudnnBackendDescriptor_t tensor;
                                                                                          check_status (cudnnBackendCreateDescriptor(CUDNN_BACKEND_TENSOR_DESCRIPTOR, &tensor));
                                                                                          check_status (cudnnBackendSetAttribute(tensor,
                                                                                          CUDNN_ATTR_TENSOR_DATA_TYPE,
                                                                                          CUDNN_TYPE_DATA_TYPE,
                                                                                          1,
                                                                                          &data_type));
                                                                                          check_status (cudnnBackendSetAttribute(tensor,
                                                                                          CUDNN_ATTR_TENSOR_DIMENSIONS,
                                                                                          CUDNN_TYPE_INT64,
                                                                                          tensor_dim.size(),
                                                                                          tensor_dim.data()));
                                                                                          check_status (cudnnBackendSetAttribute(tensor,
                                                                                          CUDNN_ATTR_TENSOR_STRIDES,
                                                                                          CUDNN_TYPE_INT64,
                                                                                          tensor_str.size(),
                                                                                          tensor_str.data()));
                                                                                          check_status (cudnnBackendSetAttribute(tensor,
                                                                                          CUDNN_ATTR_TENSOR_UNIQUE_ID,
                                                                                          CUDNN_TYPE_INT64,
                                                                                          1,
                                                                                          &id));
                                                                                          check_status (cudnnBackendSetAttribute(tensor,
                                                                                          CUDNN_ATTR_TENSOR_BYTE_ALIGNMENT,
                                                                                          CUDNN_TYPE_INT64,
                                                                                          1,
                                                                                          &alignment));
                                                                                          check_status (cudnnBackendFinalize(tensor));
                                                                                          check_status (cudnnBackendDestroyDescriptor(tensor));
                                                                                          ===========================================================================================
                                                                                          // FrontEnd equivalent code.
                                                                                          .setDim(tensor_dim.size(), tensor_dim.data())
                                                                                          .setStrides(tensor_str.size(), tensor_str.data())
                                                                                          .setId(id)
                                                                                          .setAlignment(alignment)
                                                                                          .setDataType(data_type)
                                                                                          .build();
                                                                                          check_status(tensor.get_status());
                                                                                          ===========================================================================================

                                                                                          Frontend API serves two major purpose as a companion to the backend API.

                                                                                            +
                                                                                            ===========================================================================================
                                                                                            auto check_status = [](cudnnStatus_t status) { assert (status == CUDNN_STATUS_SUCCESS); };
                                                                                            ===========================================================================================
                                                                                            // Backend code for Tensor Creation.
                                                                                            cudnnBackendDescriptor_t tensor;
                                                                                            check_status (cudnnBackendCreateDescriptor(CUDNN_BACKEND_TENSOR_DESCRIPTOR, &tensor));
                                                                                            check_status (cudnnBackendSetAttribute(tensor,
                                                                                            CUDNN_ATTR_TENSOR_DATA_TYPE,
                                                                                            CUDNN_TYPE_DATA_TYPE,
                                                                                            1,
                                                                                            &data_type));
                                                                                            check_status (cudnnBackendSetAttribute(tensor,
                                                                                            CUDNN_ATTR_TENSOR_DIMENSIONS,
                                                                                            CUDNN_TYPE_INT64,
                                                                                            tensor_dim.size(),
                                                                                            tensor_dim.data()));
                                                                                            check_status (cudnnBackendSetAttribute(tensor,
                                                                                            CUDNN_ATTR_TENSOR_STRIDES,
                                                                                            CUDNN_TYPE_INT64,
                                                                                            tensor_str.size(),
                                                                                            tensor_str.data()));
                                                                                            check_status (cudnnBackendSetAttribute(tensor,
                                                                                            CUDNN_ATTR_TENSOR_UNIQUE_ID,
                                                                                            CUDNN_TYPE_INT64,
                                                                                            1,
                                                                                            &id));
                                                                                            check_status (cudnnBackendSetAttribute(tensor,
                                                                                            CUDNN_ATTR_TENSOR_BYTE_ALIGNMENT,
                                                                                            CUDNN_TYPE_INT64,
                                                                                            1,
                                                                                            &alignment));
                                                                                            check_status (cudnnBackendFinalize(tensor));
                                                                                            check_status (cudnnBackendDestroyDescriptor(tensor));
                                                                                            ===========================================================================================
                                                                                            // FrontEnd equivalent code.
                                                                                            .setDim(tensor_dim.size(), tensor_dim.data())
                                                                                            .setStrides(tensor_str.size(), tensor_str.data())
                                                                                            .setId(id)
                                                                                            .setAlignment(alignment)
                                                                                            .setDataType(data_type)
                                                                                            .build();
                                                                                            check_status(tensor.get_status());
                                                                                            ===========================================================================================

                                                                                            Frontend API serves two major purpose as a companion to the backend API.

                                                                                            • Functional additions:
                                                                                              • Support for auto-tuning. (cudnnGet and cudnnFind)
                                                                                              • Errata filters.
                                                                                              • diff --git a/docs/inherit_graph_0.map b/docs/inherit_graph_0.map index 474704d0..0b24f8cd 100644 --- a/docs/inherit_graph_0.map +++ b/docs/inherit_graph_0.map @@ -1,15 +1,4 @@ - - - - - - - - - - - - - + + diff --git a/docs/inherit_graph_0.md5 b/docs/inherit_graph_0.md5 index 0cbb7bba..943e75a2 100644 --- a/docs/inherit_graph_0.md5 +++ b/docs/inherit_graph_0.md5 @@ -1 +1 @@ -530510c74dedb1976caefc4e6b8beab9 \ No newline at end of file +8ecb0e095f204cad8045bebb54ad368d \ No newline at end of file diff --git a/docs/inherit_graph_0.png b/docs/inherit_graph_0.png index 2f9dc92e..3c706251 100644 Binary files a/docs/inherit_graph_0.png and b/docs/inherit_graph_0.png differ diff --git a/docs/inherit_graph_1.map b/docs/inherit_graph_1.map index 872f2d54..68249054 100644 --- a/docs/inherit_graph_1.map +++ b/docs/inherit_graph_1.map @@ -1,3 +1,4 @@ - + + diff --git a/docs/inherit_graph_1.md5 b/docs/inherit_graph_1.md5 index 496a4314..3b711e6d 100644 --- a/docs/inherit_graph_1.md5 +++ b/docs/inherit_graph_1.md5 @@ -1 +1 @@ -b2bd16ef8df2433954821517c6060ac7 \ No newline at end of file +508e88cfe01efa27b33792f446c31a75 \ No newline at end of file diff --git a/docs/inherit_graph_1.png b/docs/inherit_graph_1.png index ba83b26a..968594fc 100644 Binary files a/docs/inherit_graph_1.png and b/docs/inherit_graph_1.png differ diff --git a/docs/inherit_graph_10.map b/docs/inherit_graph_10.map index da34e2cb..0e0b91f6 100644 --- a/docs/inherit_graph_10.map +++ b/docs/inherit_graph_10.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_10.md5 b/docs/inherit_graph_10.md5 index d38b1533..1b0b61bb 100644 --- a/docs/inherit_graph_10.md5 +++ b/docs/inherit_graph_10.md5 @@ -1 +1 @@ -61de7c29e0f0d4364a59e0eb723955c7 \ No newline at end of file +fc8f9e49e5c67b6f341f374c105836a3 \ No newline at end of file diff --git a/docs/inherit_graph_10.png b/docs/inherit_graph_10.png index d4727513..48649a87 100644 Binary files a/docs/inherit_graph_10.png and b/docs/inherit_graph_10.png differ diff --git a/docs/inherit_graph_100.map b/docs/inherit_graph_100.map new file mode 100644 index 00000000..e14614d6 --- /dev/null +++ b/docs/inherit_graph_100.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_100.md5 b/docs/inherit_graph_100.md5 new file mode 100644 index 00000000..7fe50d55 --- /dev/null +++ b/docs/inherit_graph_100.md5 @@ -0,0 +1 @@ +454c9e00966002d3ca609822433e7610 \ No newline at end of file diff --git a/docs/inherit_graph_100.png b/docs/inherit_graph_100.png new file mode 100644 index 00000000..aa4be329 Binary files /dev/null and b/docs/inherit_graph_100.png differ diff --git a/docs/inherit_graph_101.map b/docs/inherit_graph_101.map new file mode 100644 index 00000000..809145fc --- /dev/null +++ b/docs/inherit_graph_101.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_101.md5 b/docs/inherit_graph_101.md5 new file mode 100644 index 00000000..c765bcbb --- /dev/null +++ b/docs/inherit_graph_101.md5 @@ -0,0 +1 @@ +a8a861331a12b341e5103de99355076c \ No newline at end of file diff --git a/docs/inherit_graph_101.png b/docs/inherit_graph_101.png new file mode 100644 index 00000000..10bdd848 Binary files /dev/null and b/docs/inherit_graph_101.png differ diff --git a/docs/inherit_graph_102.map b/docs/inherit_graph_102.map new file mode 100644 index 00000000..ca523a7d --- /dev/null +++ b/docs/inherit_graph_102.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_102.md5 b/docs/inherit_graph_102.md5 new file mode 100644 index 00000000..4b4a37b5 --- /dev/null +++ b/docs/inherit_graph_102.md5 @@ -0,0 +1 @@ +a4b32bdaade6d374620d310ab977d2ea \ No newline at end of file diff --git a/docs/inherit_graph_102.png b/docs/inherit_graph_102.png new file mode 100644 index 00000000..f56f9745 Binary files /dev/null and b/docs/inherit_graph_102.png differ diff --git a/docs/inherit_graph_103.map b/docs/inherit_graph_103.map new file mode 100644 index 00000000..4745b3d2 --- /dev/null +++ b/docs/inherit_graph_103.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_103.md5 b/docs/inherit_graph_103.md5 new file mode 100644 index 00000000..e9be2040 --- /dev/null +++ b/docs/inherit_graph_103.md5 @@ -0,0 +1 @@ +0cfe6cf8c9232135d34336670b16b7ee \ No newline at end of file diff --git a/docs/inherit_graph_103.png b/docs/inherit_graph_103.png new file mode 100644 index 00000000..06f6a39b Binary files /dev/null and b/docs/inherit_graph_103.png differ diff --git a/docs/inherit_graph_104.map b/docs/inherit_graph_104.map new file mode 100644 index 00000000..2283695e --- /dev/null +++ b/docs/inherit_graph_104.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_104.md5 b/docs/inherit_graph_104.md5 new file mode 100644 index 00000000..44a8c16c --- /dev/null +++ b/docs/inherit_graph_104.md5 @@ -0,0 +1 @@ +1ca2ec69c98be12a915ec21dcaff5b23 \ No newline at end of file diff --git a/docs/inherit_graph_104.png b/docs/inherit_graph_104.png new file mode 100644 index 00000000..d3b353b4 Binary files /dev/null and b/docs/inherit_graph_104.png differ diff --git a/docs/inherit_graph_105.map b/docs/inherit_graph_105.map new file mode 100644 index 00000000..9c812f31 --- /dev/null +++ b/docs/inherit_graph_105.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_105.md5 b/docs/inherit_graph_105.md5 new file mode 100644 index 00000000..caa167b3 --- /dev/null +++ b/docs/inherit_graph_105.md5 @@ -0,0 +1 @@ +24ea6de45e25113a983c0b123bca9a53 \ No newline at end of file diff --git a/docs/inherit_graph_105.png b/docs/inherit_graph_105.png new file mode 100644 index 00000000..5763daa0 Binary files /dev/null and b/docs/inherit_graph_105.png differ diff --git a/docs/inherit_graph_106.map b/docs/inherit_graph_106.map new file mode 100644 index 00000000..acb9eb43 --- /dev/null +++ b/docs/inherit_graph_106.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_106.md5 b/docs/inherit_graph_106.md5 new file mode 100644 index 00000000..22dfa91c --- /dev/null +++ b/docs/inherit_graph_106.md5 @@ -0,0 +1 @@ +61419237ee0462756941f6c3e4f8c3fe \ No newline at end of file diff --git a/docs/inherit_graph_106.png b/docs/inherit_graph_106.png new file mode 100644 index 00000000..4eae4d51 Binary files /dev/null and b/docs/inherit_graph_106.png differ diff --git a/docs/inherit_graph_107.map b/docs/inherit_graph_107.map new file mode 100644 index 00000000..e7ef75b3 --- /dev/null +++ b/docs/inherit_graph_107.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_107.md5 b/docs/inherit_graph_107.md5 new file mode 100644 index 00000000..5b2c6fec --- /dev/null +++ b/docs/inherit_graph_107.md5 @@ -0,0 +1 @@ +8406ad33998ee5d8f786f8d190deba2e \ No newline at end of file diff --git a/docs/inherit_graph_107.png b/docs/inherit_graph_107.png new file mode 100644 index 00000000..2585eb05 Binary files /dev/null and b/docs/inherit_graph_107.png differ diff --git a/docs/inherit_graph_108.map b/docs/inherit_graph_108.map new file mode 100644 index 00000000..e3b92c25 --- /dev/null +++ b/docs/inherit_graph_108.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_108.md5 b/docs/inherit_graph_108.md5 new file mode 100644 index 00000000..20304fac --- /dev/null +++ b/docs/inherit_graph_108.md5 @@ -0,0 +1 @@ +1962da4450ef370d6ede15bc795f4ee2 \ No newline at end of file diff --git a/docs/inherit_graph_108.png b/docs/inherit_graph_108.png new file mode 100644 index 00000000..07be77cb Binary files /dev/null and b/docs/inherit_graph_108.png differ diff --git a/docs/inherit_graph_109.map b/docs/inherit_graph_109.map new file mode 100644 index 00000000..a63191ca --- /dev/null +++ b/docs/inherit_graph_109.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/inherit_graph_109.md5 b/docs/inherit_graph_109.md5 new file mode 100644 index 00000000..5fa7db46 --- /dev/null +++ b/docs/inherit_graph_109.md5 @@ -0,0 +1 @@ +92a365808431bdd05e41c8062ed662d0 \ No newline at end of file diff --git a/docs/inherit_graph_109.png b/docs/inherit_graph_109.png new file mode 100644 index 00000000..303aac29 Binary files /dev/null and b/docs/inherit_graph_109.png differ diff --git a/docs/inherit_graph_11.map b/docs/inherit_graph_11.map index 946806fa..da34e2cb 100644 --- a/docs/inherit_graph_11.map +++ b/docs/inherit_graph_11.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_11.md5 b/docs/inherit_graph_11.md5 index 921175a5..d38b1533 100644 --- a/docs/inherit_graph_11.md5 +++ b/docs/inherit_graph_11.md5 @@ -1 +1 @@ -de5136c4de7544a2ae6806f394ccb0bd \ No newline at end of file +61de7c29e0f0d4364a59e0eb723955c7 \ No newline at end of file diff --git a/docs/inherit_graph_11.png b/docs/inherit_graph_11.png index 562f0a77..d4727513 100644 Binary files a/docs/inherit_graph_11.png and b/docs/inherit_graph_11.png differ diff --git a/docs/inherit_graph_110.map b/docs/inherit_graph_110.map new file mode 100644 index 00000000..3354d156 --- /dev/null +++ b/docs/inherit_graph_110.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_110.md5 b/docs/inherit_graph_110.md5 new file mode 100644 index 00000000..6b012cfa --- /dev/null +++ b/docs/inherit_graph_110.md5 @@ -0,0 +1 @@ +255f77bd78ea802d944e1283fe5abcb4 \ No newline at end of file diff --git a/docs/inherit_graph_110.png b/docs/inherit_graph_110.png new file mode 100644 index 00000000..3088e413 Binary files /dev/null and b/docs/inherit_graph_110.png differ diff --git a/docs/inherit_graph_111.map b/docs/inherit_graph_111.map new file mode 100644 index 00000000..66712f6e --- /dev/null +++ b/docs/inherit_graph_111.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_111.md5 b/docs/inherit_graph_111.md5 new file mode 100644 index 00000000..827f0a35 --- /dev/null +++ b/docs/inherit_graph_111.md5 @@ -0,0 +1 @@ +65064a7f3b70d00dd2a1a45584c590dd \ No newline at end of file diff --git a/docs/inherit_graph_111.png b/docs/inherit_graph_111.png new file mode 100644 index 00000000..5e9b0918 Binary files /dev/null and b/docs/inherit_graph_111.png differ diff --git a/docs/inherit_graph_112.map b/docs/inherit_graph_112.map new file mode 100644 index 00000000..5794a2b3 --- /dev/null +++ b/docs/inherit_graph_112.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_112.md5 b/docs/inherit_graph_112.md5 new file mode 100644 index 00000000..00f4bcf0 --- /dev/null +++ b/docs/inherit_graph_112.md5 @@ -0,0 +1 @@ +ee7add373f13735ec08645a1fd6552b4 \ No newline at end of file diff --git a/docs/inherit_graph_112.png b/docs/inherit_graph_112.png new file mode 100644 index 00000000..5502e565 Binary files /dev/null and b/docs/inherit_graph_112.png differ diff --git a/docs/inherit_graph_113.map b/docs/inherit_graph_113.map new file mode 100644 index 00000000..43c33ae1 --- /dev/null +++ b/docs/inherit_graph_113.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_113.md5 b/docs/inherit_graph_113.md5 new file mode 100644 index 00000000..e5dba711 --- /dev/null +++ b/docs/inherit_graph_113.md5 @@ -0,0 +1 @@ +2038554d796b25f1eeedbed3f3aedaf9 \ No newline at end of file diff --git a/docs/inherit_graph_113.png b/docs/inherit_graph_113.png new file mode 100644 index 00000000..8a69ca2d Binary files /dev/null and b/docs/inherit_graph_113.png differ diff --git a/docs/inherit_graph_114.map b/docs/inherit_graph_114.map new file mode 100644 index 00000000..f8cbf945 --- /dev/null +++ b/docs/inherit_graph_114.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_114.md5 b/docs/inherit_graph_114.md5 new file mode 100644 index 00000000..79bc24bf --- /dev/null +++ b/docs/inherit_graph_114.md5 @@ -0,0 +1 @@ +56645d7ad5d8e23430f3ebc5b90c8a9a \ No newline at end of file diff --git a/docs/inherit_graph_114.png b/docs/inherit_graph_114.png new file mode 100644 index 00000000..d8c33564 Binary files /dev/null and b/docs/inherit_graph_114.png differ diff --git a/docs/inherit_graph_115.map b/docs/inherit_graph_115.map new file mode 100644 index 00000000..488b949e --- /dev/null +++ b/docs/inherit_graph_115.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/inherit_graph_115.md5 b/docs/inherit_graph_115.md5 new file mode 100644 index 00000000..359aedcf --- /dev/null +++ b/docs/inherit_graph_115.md5 @@ -0,0 +1 @@ +a52f8110d54dc8cadf61c26c9ab4d0e2 \ No newline at end of file diff --git a/docs/inherit_graph_115.png b/docs/inherit_graph_115.png new file mode 100644 index 00000000..7d972791 Binary files /dev/null and b/docs/inherit_graph_115.png differ diff --git a/docs/inherit_graph_12.map b/docs/inherit_graph_12.map index cd70b049..946806fa 100644 --- a/docs/inherit_graph_12.map +++ b/docs/inherit_graph_12.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_12.md5 b/docs/inherit_graph_12.md5 index d1927c63..921175a5 100644 --- a/docs/inherit_graph_12.md5 +++ b/docs/inherit_graph_12.md5 @@ -1 +1 @@ -ca389ef40c7f2cfd119b5237c6cafea3 \ No newline at end of file +de5136c4de7544a2ae6806f394ccb0bd \ No newline at end of file diff --git a/docs/inherit_graph_12.png b/docs/inherit_graph_12.png index 9be1b1a6..562f0a77 100644 Binary files a/docs/inherit_graph_12.png and b/docs/inherit_graph_12.png differ diff --git a/docs/inherit_graph_13.map b/docs/inherit_graph_13.map index bce205a6..cd70b049 100644 --- a/docs/inherit_graph_13.map +++ b/docs/inherit_graph_13.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_13.md5 b/docs/inherit_graph_13.md5 index 47024a3b..d1927c63 100644 --- a/docs/inherit_graph_13.md5 +++ b/docs/inherit_graph_13.md5 @@ -1 +1 @@ -c775c36b760898e100dd245566d98ca4 \ No newline at end of file +ca389ef40c7f2cfd119b5237c6cafea3 \ No newline at end of file diff --git a/docs/inherit_graph_13.png b/docs/inherit_graph_13.png index 8472eae6..9be1b1a6 100644 Binary files a/docs/inherit_graph_13.png and b/docs/inherit_graph_13.png differ diff --git a/docs/inherit_graph_14.map b/docs/inherit_graph_14.map index 974b8d1d..bce205a6 100644 --- a/docs/inherit_graph_14.map +++ b/docs/inherit_graph_14.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_14.md5 b/docs/inherit_graph_14.md5 index ace9bcaf..47024a3b 100644 --- a/docs/inherit_graph_14.md5 +++ b/docs/inherit_graph_14.md5 @@ -1 +1 @@ -9fe43ca5767c52298244a92c6774c846 \ No newline at end of file +c775c36b760898e100dd245566d98ca4 \ No newline at end of file diff --git a/docs/inherit_graph_14.png b/docs/inherit_graph_14.png index cc828770..8472eae6 100644 Binary files a/docs/inherit_graph_14.png and b/docs/inherit_graph_14.png differ diff --git a/docs/inherit_graph_15.map b/docs/inherit_graph_15.map index 94f20754..974b8d1d 100644 --- a/docs/inherit_graph_15.map +++ b/docs/inherit_graph_15.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_15.md5 b/docs/inherit_graph_15.md5 index 5071f597..ace9bcaf 100644 --- a/docs/inherit_graph_15.md5 +++ b/docs/inherit_graph_15.md5 @@ -1 +1 @@ -1ad1d19ad057de30d1d15fc1a38066fb \ No newline at end of file +9fe43ca5767c52298244a92c6774c846 \ No newline at end of file diff --git a/docs/inherit_graph_15.png b/docs/inherit_graph_15.png index b82ea47b..cc828770 100644 Binary files a/docs/inherit_graph_15.png and b/docs/inherit_graph_15.png differ diff --git a/docs/inherit_graph_16.map b/docs/inherit_graph_16.map index 4a896697..94f20754 100644 --- a/docs/inherit_graph_16.map +++ b/docs/inherit_graph_16.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_16.md5 b/docs/inherit_graph_16.md5 index 3000e949..5071f597 100644 --- a/docs/inherit_graph_16.md5 +++ b/docs/inherit_graph_16.md5 @@ -1 +1 @@ -53543eab30fb893ae16b9e429d2fe98a \ No newline at end of file +1ad1d19ad057de30d1d15fc1a38066fb \ No newline at end of file diff --git a/docs/inherit_graph_16.png b/docs/inherit_graph_16.png index e00367f3..b82ea47b 100644 Binary files a/docs/inherit_graph_16.png and b/docs/inherit_graph_16.png differ diff --git a/docs/inherit_graph_17.map b/docs/inherit_graph_17.map index febb83d7..263e730d 100644 --- a/docs/inherit_graph_17.map +++ b/docs/inherit_graph_17.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_17.md5 b/docs/inherit_graph_17.md5 index 92da508e..feefa7f2 100644 --- a/docs/inherit_graph_17.md5 +++ b/docs/inherit_graph_17.md5 @@ -1 +1 @@ -61cb12e013d0bda7bdf5c2ab4c78fa4d \ No newline at end of file +d5ffd4c386b174e071fd92a74724696b \ No newline at end of file diff --git a/docs/inherit_graph_17.png b/docs/inherit_graph_17.png index bf91ef73..550e987a 100644 Binary files a/docs/inherit_graph_17.png and b/docs/inherit_graph_17.png differ diff --git a/docs/inherit_graph_18.map b/docs/inherit_graph_18.map new file mode 100644 index 00000000..4a896697 --- /dev/null +++ b/docs/inherit_graph_18.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_18.md5 b/docs/inherit_graph_18.md5 new file mode 100644 index 00000000..3000e949 --- /dev/null +++ b/docs/inherit_graph_18.md5 @@ -0,0 +1 @@ +53543eab30fb893ae16b9e429d2fe98a \ No newline at end of file diff --git a/docs/inherit_graph_18.png b/docs/inherit_graph_18.png new file mode 100644 index 00000000..e00367f3 Binary files /dev/null and b/docs/inherit_graph_18.png differ diff --git a/docs/inherit_graph_19.map b/docs/inherit_graph_19.map new file mode 100644 index 00000000..febb83d7 --- /dev/null +++ b/docs/inherit_graph_19.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_19.md5 b/docs/inherit_graph_19.md5 new file mode 100644 index 00000000..92da508e --- /dev/null +++ b/docs/inherit_graph_19.md5 @@ -0,0 +1 @@ +61cb12e013d0bda7bdf5c2ab4c78fa4d \ No newline at end of file diff --git a/docs/inherit_graph_19.png b/docs/inherit_graph_19.png new file mode 100644 index 00000000..bf91ef73 Binary files /dev/null and b/docs/inherit_graph_19.png differ diff --git a/docs/inherit_graph_2.map b/docs/inherit_graph_2.map index 31e46cdd..3e1574a2 100644 --- a/docs/inherit_graph_2.map +++ b/docs/inherit_graph_2.map @@ -1,5 +1,16 @@ - - - + + + + + + + + + + + + + + diff --git a/docs/inherit_graph_2.md5 b/docs/inherit_graph_2.md5 index 5432e7c5..43a4c4c9 100644 --- a/docs/inherit_graph_2.md5 +++ b/docs/inherit_graph_2.md5 @@ -1 +1 @@ -e938d941d2f0229cc3e7b4c91c9fcff0 \ No newline at end of file +59007048ab762c5348ca4588252c8d18 \ No newline at end of file diff --git a/docs/inherit_graph_2.png b/docs/inherit_graph_2.png index ef43c4c4..f0e06503 100644 Binary files a/docs/inherit_graph_2.png and b/docs/inherit_graph_2.png differ diff --git a/docs/inherit_graph_20.map b/docs/inherit_graph_20.map new file mode 100644 index 00000000..edfb196c --- /dev/null +++ b/docs/inherit_graph_20.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_20.md5 b/docs/inherit_graph_20.md5 new file mode 100644 index 00000000..920ac83b --- /dev/null +++ b/docs/inherit_graph_20.md5 @@ -0,0 +1 @@ +7e29fda66e4cb382f1c5889e69f5b4b3 \ No newline at end of file diff --git a/docs/inherit_graph_20.png b/docs/inherit_graph_20.png new file mode 100644 index 00000000..a4e45b02 Binary files /dev/null and b/docs/inherit_graph_20.png differ diff --git a/docs/inherit_graph_21.map b/docs/inherit_graph_21.map new file mode 100644 index 00000000..52c2757e --- /dev/null +++ b/docs/inherit_graph_21.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_21.md5 b/docs/inherit_graph_21.md5 new file mode 100644 index 00000000..5a0900ba --- /dev/null +++ b/docs/inherit_graph_21.md5 @@ -0,0 +1 @@ +d64981d8b76bbf6eebee4f5ebe9bcf36 \ No newline at end of file diff --git a/docs/inherit_graph_21.png b/docs/inherit_graph_21.png new file mode 100644 index 00000000..74cec1ab Binary files /dev/null and b/docs/inherit_graph_21.png differ diff --git a/docs/inherit_graph_22.map b/docs/inherit_graph_22.map new file mode 100644 index 00000000..9337da3e --- /dev/null +++ b/docs/inherit_graph_22.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_22.md5 b/docs/inherit_graph_22.md5 new file mode 100644 index 00000000..6542efe9 --- /dev/null +++ b/docs/inherit_graph_22.md5 @@ -0,0 +1 @@ +e13d45036cd416f01216837af2aa7cbb \ No newline at end of file diff --git a/docs/inherit_graph_22.png b/docs/inherit_graph_22.png new file mode 100644 index 00000000..9fd9b078 Binary files /dev/null and b/docs/inherit_graph_22.png differ diff --git a/docs/inherit_graph_23.map b/docs/inherit_graph_23.map new file mode 100644 index 00000000..37cc01a0 --- /dev/null +++ b/docs/inherit_graph_23.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_23.md5 b/docs/inherit_graph_23.md5 new file mode 100644 index 00000000..7dc42fd0 --- /dev/null +++ b/docs/inherit_graph_23.md5 @@ -0,0 +1 @@ +726af7ef2587fa501b8cd91943d84790 \ No newline at end of file diff --git a/docs/inherit_graph_23.png b/docs/inherit_graph_23.png new file mode 100644 index 00000000..39af53de Binary files /dev/null and b/docs/inherit_graph_23.png differ diff --git a/docs/inherit_graph_24.map b/docs/inherit_graph_24.map new file mode 100644 index 00000000..4a7558e9 --- /dev/null +++ b/docs/inherit_graph_24.map @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/docs/inherit_graph_24.md5 b/docs/inherit_graph_24.md5 new file mode 100644 index 00000000..55c1eb28 --- /dev/null +++ b/docs/inherit_graph_24.md5 @@ -0,0 +1 @@ +2eeb2a0b402ab9b1d78aef40395cad60 \ No newline at end of file diff --git a/docs/inherit_graph_24.png b/docs/inherit_graph_24.png new file mode 100644 index 00000000..3a3983c5 Binary files /dev/null and b/docs/inherit_graph_24.png differ diff --git a/docs/inherit_graph_25.map b/docs/inherit_graph_25.map new file mode 100644 index 00000000..df523a26 --- /dev/null +++ b/docs/inherit_graph_25.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_25.md5 b/docs/inherit_graph_25.md5 new file mode 100644 index 00000000..8a529512 --- /dev/null +++ b/docs/inherit_graph_25.md5 @@ -0,0 +1 @@ +a2cdd7296aebd66cde4e4b40a8f988bd \ No newline at end of file diff --git a/docs/inherit_graph_25.png b/docs/inherit_graph_25.png new file mode 100644 index 00000000..078b5853 Binary files /dev/null and b/docs/inherit_graph_25.png differ diff --git a/docs/inherit_graph_26.map b/docs/inherit_graph_26.map new file mode 100644 index 00000000..58c74f0d --- /dev/null +++ b/docs/inherit_graph_26.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_26.md5 b/docs/inherit_graph_26.md5 new file mode 100644 index 00000000..731a86db --- /dev/null +++ b/docs/inherit_graph_26.md5 @@ -0,0 +1 @@ +2c48c328af336fbb768893c8f3141fd8 \ No newline at end of file diff --git a/docs/inherit_graph_26.png b/docs/inherit_graph_26.png new file mode 100644 index 00000000..0e2a8a33 Binary files /dev/null and b/docs/inherit_graph_26.png differ diff --git a/docs/inherit_graph_27.map b/docs/inherit_graph_27.map new file mode 100644 index 00000000..b92cd77b --- /dev/null +++ b/docs/inherit_graph_27.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_27.md5 b/docs/inherit_graph_27.md5 new file mode 100644 index 00000000..0f1ff38c --- /dev/null +++ b/docs/inherit_graph_27.md5 @@ -0,0 +1 @@ +ac1293154c7729988ad2abbdce10454e \ No newline at end of file diff --git a/docs/inherit_graph_27.png b/docs/inherit_graph_27.png new file mode 100644 index 00000000..c3553381 Binary files /dev/null and b/docs/inherit_graph_27.png differ diff --git a/docs/inherit_graph_28.map b/docs/inherit_graph_28.map new file mode 100644 index 00000000..de977d75 --- /dev/null +++ b/docs/inherit_graph_28.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_28.md5 b/docs/inherit_graph_28.md5 new file mode 100644 index 00000000..fbecb2b9 --- /dev/null +++ b/docs/inherit_graph_28.md5 @@ -0,0 +1 @@ +d0918c44cf6882a0d89b9370d15983af \ No newline at end of file diff --git a/docs/inherit_graph_28.png b/docs/inherit_graph_28.png new file mode 100644 index 00000000..26579250 Binary files /dev/null and b/docs/inherit_graph_28.png differ diff --git a/docs/inherit_graph_29.map b/docs/inherit_graph_29.map new file mode 100644 index 00000000..027b5f74 --- /dev/null +++ b/docs/inherit_graph_29.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_29.md5 b/docs/inherit_graph_29.md5 new file mode 100644 index 00000000..b6c22891 --- /dev/null +++ b/docs/inherit_graph_29.md5 @@ -0,0 +1 @@ +92419722e6d564950df6c96e6f1cb710 \ No newline at end of file diff --git a/docs/inherit_graph_29.png b/docs/inherit_graph_29.png new file mode 100644 index 00000000..32ef571c Binary files /dev/null and b/docs/inherit_graph_29.png differ diff --git a/docs/inherit_graph_3.map b/docs/inherit_graph_3.map index b02ee947..872f2d54 100644 --- a/docs/inherit_graph_3.map +++ b/docs/inherit_graph_3.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_3.md5 b/docs/inherit_graph_3.md5 index bf78af7f..496a4314 100644 --- a/docs/inherit_graph_3.md5 +++ b/docs/inherit_graph_3.md5 @@ -1 +1 @@ -ff8b4ffc33ff4abe77ebc3ae3a3bd792 \ No newline at end of file +b2bd16ef8df2433954821517c6060ac7 \ No newline at end of file diff --git a/docs/inherit_graph_3.png b/docs/inherit_graph_3.png index 78336aa6..ba83b26a 100644 Binary files a/docs/inherit_graph_3.png and b/docs/inherit_graph_3.png differ diff --git a/docs/inherit_graph_30.map b/docs/inherit_graph_30.map new file mode 100644 index 00000000..f4b73c39 --- /dev/null +++ b/docs/inherit_graph_30.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_30.md5 b/docs/inherit_graph_30.md5 new file mode 100644 index 00000000..271487d9 --- /dev/null +++ b/docs/inherit_graph_30.md5 @@ -0,0 +1 @@ +d9e14ecf2d3a2e5a761503b154dbc069 \ No newline at end of file diff --git a/docs/inherit_graph_30.png b/docs/inherit_graph_30.png new file mode 100644 index 00000000..7d8ef5c7 Binary files /dev/null and b/docs/inherit_graph_30.png differ diff --git a/docs/inherit_graph_31.map b/docs/inherit_graph_31.map new file mode 100644 index 00000000..a2df802d --- /dev/null +++ b/docs/inherit_graph_31.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_31.md5 b/docs/inherit_graph_31.md5 new file mode 100644 index 00000000..b96a3c1f --- /dev/null +++ b/docs/inherit_graph_31.md5 @@ -0,0 +1 @@ +00e84d769bc95dd27f69c5dfb44a47b3 \ No newline at end of file diff --git a/docs/inherit_graph_31.png b/docs/inherit_graph_31.png new file mode 100644 index 00000000..2464f556 Binary files /dev/null and b/docs/inherit_graph_31.png differ diff --git a/docs/inherit_graph_32.map b/docs/inherit_graph_32.map new file mode 100644 index 00000000..03ab9dcd --- /dev/null +++ b/docs/inherit_graph_32.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/inherit_graph_32.md5 b/docs/inherit_graph_32.md5 new file mode 100644 index 00000000..87d1504e --- /dev/null +++ b/docs/inherit_graph_32.md5 @@ -0,0 +1 @@ +140486c516fcc67d1b78368b158770ce \ No newline at end of file diff --git a/docs/inherit_graph_32.png b/docs/inherit_graph_32.png new file mode 100644 index 00000000..eb746d12 Binary files /dev/null and b/docs/inherit_graph_32.png differ diff --git a/docs/inherit_graph_33.map b/docs/inherit_graph_33.map new file mode 100644 index 00000000..8e0e7e8b --- /dev/null +++ b/docs/inherit_graph_33.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_33.md5 b/docs/inherit_graph_33.md5 new file mode 100644 index 00000000..193ccdaa --- /dev/null +++ b/docs/inherit_graph_33.md5 @@ -0,0 +1 @@ +23fcf315564872684d60bc7b93f4cb19 \ No newline at end of file diff --git a/docs/inherit_graph_33.png b/docs/inherit_graph_33.png new file mode 100644 index 00000000..0f340e25 Binary files /dev/null and b/docs/inherit_graph_33.png differ diff --git a/docs/inherit_graph_34.map b/docs/inherit_graph_34.map new file mode 100644 index 00000000..f39df89a --- /dev/null +++ b/docs/inherit_graph_34.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_34.md5 b/docs/inherit_graph_34.md5 new file mode 100644 index 00000000..73a48bca --- /dev/null +++ b/docs/inherit_graph_34.md5 @@ -0,0 +1 @@ +870db14e8e1baf3ba0265d48c171f371 \ No newline at end of file diff --git a/docs/inherit_graph_34.png b/docs/inherit_graph_34.png new file mode 100644 index 00000000..3303c1e7 Binary files /dev/null and b/docs/inherit_graph_34.png differ diff --git a/docs/inherit_graph_35.map b/docs/inherit_graph_35.map new file mode 100644 index 00000000..16350382 --- /dev/null +++ b/docs/inherit_graph_35.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_35.md5 b/docs/inherit_graph_35.md5 new file mode 100644 index 00000000..0b4d62f4 --- /dev/null +++ b/docs/inherit_graph_35.md5 @@ -0,0 +1 @@ +fb5047ab55e62e1c8656e02ac7f47dd4 \ No newline at end of file diff --git a/docs/inherit_graph_35.png b/docs/inherit_graph_35.png new file mode 100644 index 00000000..04d359b8 Binary files /dev/null and b/docs/inherit_graph_35.png differ diff --git a/docs/inherit_graph_36.map b/docs/inherit_graph_36.map new file mode 100644 index 00000000..97a1167f --- /dev/null +++ b/docs/inherit_graph_36.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_36.md5 b/docs/inherit_graph_36.md5 new file mode 100644 index 00000000..897f3255 --- /dev/null +++ b/docs/inherit_graph_36.md5 @@ -0,0 +1 @@ +198a3a32be3707048ad2cbc34d2078e4 \ No newline at end of file diff --git a/docs/inherit_graph_36.png b/docs/inherit_graph_36.png new file mode 100644 index 00000000..a3a1b3fe Binary files /dev/null and b/docs/inherit_graph_36.png differ diff --git a/docs/inherit_graph_37.map b/docs/inherit_graph_37.map new file mode 100644 index 00000000..eca45075 --- /dev/null +++ b/docs/inherit_graph_37.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_37.md5 b/docs/inherit_graph_37.md5 new file mode 100644 index 00000000..0c5e199c --- /dev/null +++ b/docs/inherit_graph_37.md5 @@ -0,0 +1 @@ +39e6861a9e1f7d6bfe02af0a575fdb3c \ No newline at end of file diff --git a/docs/inherit_graph_37.png b/docs/inherit_graph_37.png new file mode 100644 index 00000000..11906029 Binary files /dev/null and b/docs/inherit_graph_37.png differ diff --git a/docs/inherit_graph_38.map b/docs/inherit_graph_38.map new file mode 100644 index 00000000..c631e5b0 --- /dev/null +++ b/docs/inherit_graph_38.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_38.md5 b/docs/inherit_graph_38.md5 new file mode 100644 index 00000000..20213aa3 --- /dev/null +++ b/docs/inherit_graph_38.md5 @@ -0,0 +1 @@ +e9a2c294741dcf0d66a7177b7912be54 \ No newline at end of file diff --git a/docs/inherit_graph_38.png b/docs/inherit_graph_38.png new file mode 100644 index 00000000..19685550 Binary files /dev/null and b/docs/inherit_graph_38.png differ diff --git a/docs/inherit_graph_39.map b/docs/inherit_graph_39.map new file mode 100644 index 00000000..721c2077 --- /dev/null +++ b/docs/inherit_graph_39.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_39.md5 b/docs/inherit_graph_39.md5 new file mode 100644 index 00000000..58438e45 --- /dev/null +++ b/docs/inherit_graph_39.md5 @@ -0,0 +1 @@ +06286f59819424288012e1cea417a467 \ No newline at end of file diff --git a/docs/inherit_graph_39.png b/docs/inherit_graph_39.png new file mode 100644 index 00000000..39a83c3c Binary files /dev/null and b/docs/inherit_graph_39.png differ diff --git a/docs/inherit_graph_4.map b/docs/inherit_graph_4.map index 7f7ecd54..b02ee947 100644 --- a/docs/inherit_graph_4.map +++ b/docs/inherit_graph_4.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_4.md5 b/docs/inherit_graph_4.md5 index b2770ab0..bf78af7f 100644 --- a/docs/inherit_graph_4.md5 +++ b/docs/inherit_graph_4.md5 @@ -1 +1 @@ -68f4e544c8cfcd30decd5b3d170afed4 \ No newline at end of file +ff8b4ffc33ff4abe77ebc3ae3a3bd792 \ No newline at end of file diff --git a/docs/inherit_graph_4.png b/docs/inherit_graph_4.png index 07ca0cf2..78336aa6 100644 Binary files a/docs/inherit_graph_4.png and b/docs/inherit_graph_4.png differ diff --git a/docs/inherit_graph_40.map b/docs/inherit_graph_40.map new file mode 100644 index 00000000..6b1f764e --- /dev/null +++ b/docs/inherit_graph_40.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_40.md5 b/docs/inherit_graph_40.md5 new file mode 100644 index 00000000..33a55cb8 --- /dev/null +++ b/docs/inherit_graph_40.md5 @@ -0,0 +1 @@ +6ed6a66e64f67ce75ea2d14ebcf1c37a \ No newline at end of file diff --git a/docs/inherit_graph_40.png b/docs/inherit_graph_40.png new file mode 100644 index 00000000..67e46243 Binary files /dev/null and b/docs/inherit_graph_40.png differ diff --git a/docs/inherit_graph_41.map b/docs/inherit_graph_41.map new file mode 100644 index 00000000..ccf7567c --- /dev/null +++ b/docs/inherit_graph_41.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_41.md5 b/docs/inherit_graph_41.md5 new file mode 100644 index 00000000..fb94f48a --- /dev/null +++ b/docs/inherit_graph_41.md5 @@ -0,0 +1 @@ +84371f28c8ac53c7d385f91848c78e80 \ No newline at end of file diff --git a/docs/inherit_graph_41.png b/docs/inherit_graph_41.png new file mode 100644 index 00000000..ac27c128 Binary files /dev/null and b/docs/inherit_graph_41.png differ diff --git a/docs/inherit_graph_42.map b/docs/inherit_graph_42.map new file mode 100644 index 00000000..bd317b06 --- /dev/null +++ b/docs/inherit_graph_42.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_42.md5 b/docs/inherit_graph_42.md5 new file mode 100644 index 00000000..36a78714 --- /dev/null +++ b/docs/inherit_graph_42.md5 @@ -0,0 +1 @@ +4a2df7775b788672245234bd74b188fc \ No newline at end of file diff --git a/docs/inherit_graph_42.png b/docs/inherit_graph_42.png new file mode 100644 index 00000000..cd1cc1bd Binary files /dev/null and b/docs/inherit_graph_42.png differ diff --git a/docs/inherit_graph_43.map b/docs/inherit_graph_43.map new file mode 100644 index 00000000..238e57f0 --- /dev/null +++ b/docs/inherit_graph_43.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_43.md5 b/docs/inherit_graph_43.md5 new file mode 100644 index 00000000..04129188 --- /dev/null +++ b/docs/inherit_graph_43.md5 @@ -0,0 +1 @@ +0a2b38b6a88af82731042acb5b1f85ec \ No newline at end of file diff --git a/docs/inherit_graph_43.png b/docs/inherit_graph_43.png new file mode 100644 index 00000000..6e7e7608 Binary files /dev/null and b/docs/inherit_graph_43.png differ diff --git a/docs/inherit_graph_44.map b/docs/inherit_graph_44.map new file mode 100644 index 00000000..70868158 --- /dev/null +++ b/docs/inherit_graph_44.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_44.md5 b/docs/inherit_graph_44.md5 new file mode 100644 index 00000000..dfe3aa44 --- /dev/null +++ b/docs/inherit_graph_44.md5 @@ -0,0 +1 @@ +b2ef9d2520e827b706c53766a3a4d344 \ No newline at end of file diff --git a/docs/inherit_graph_44.png b/docs/inherit_graph_44.png new file mode 100644 index 00000000..d69d22de Binary files /dev/null and b/docs/inherit_graph_44.png differ diff --git a/docs/inherit_graph_45.map b/docs/inherit_graph_45.map new file mode 100644 index 00000000..8cf48483 --- /dev/null +++ b/docs/inherit_graph_45.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_45.md5 b/docs/inherit_graph_45.md5 new file mode 100644 index 00000000..39df954f --- /dev/null +++ b/docs/inherit_graph_45.md5 @@ -0,0 +1 @@ +1e149c04590df59c6ae9cfa78b1af984 \ No newline at end of file diff --git a/docs/inherit_graph_45.png b/docs/inherit_graph_45.png new file mode 100644 index 00000000..9fd3c5a5 Binary files /dev/null and b/docs/inherit_graph_45.png differ diff --git a/docs/inherit_graph_46.map b/docs/inherit_graph_46.map new file mode 100644 index 00000000..0e474722 --- /dev/null +++ b/docs/inherit_graph_46.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_46.md5 b/docs/inherit_graph_46.md5 new file mode 100644 index 00000000..bdaef8c0 --- /dev/null +++ b/docs/inherit_graph_46.md5 @@ -0,0 +1 @@ +5d64335e57886e61b74c1a30db48708e \ No newline at end of file diff --git a/docs/inherit_graph_46.png b/docs/inherit_graph_46.png new file mode 100644 index 00000000..4567c18f Binary files /dev/null and b/docs/inherit_graph_46.png differ diff --git a/docs/inherit_graph_47.map b/docs/inherit_graph_47.map new file mode 100644 index 00000000..d76e9787 --- /dev/null +++ b/docs/inherit_graph_47.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_47.md5 b/docs/inherit_graph_47.md5 new file mode 100644 index 00000000..480a8874 --- /dev/null +++ b/docs/inherit_graph_47.md5 @@ -0,0 +1 @@ +7fc15d47ff78b7cc000013f2b818526a \ No newline at end of file diff --git a/docs/inherit_graph_47.png b/docs/inherit_graph_47.png new file mode 100644 index 00000000..501a70eb Binary files /dev/null and b/docs/inherit_graph_47.png differ diff --git a/docs/inherit_graph_48.map b/docs/inherit_graph_48.map new file mode 100644 index 00000000..c7b731d1 --- /dev/null +++ b/docs/inherit_graph_48.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_48.md5 b/docs/inherit_graph_48.md5 new file mode 100644 index 00000000..e5fd0297 --- /dev/null +++ b/docs/inherit_graph_48.md5 @@ -0,0 +1 @@ +eee348e4986105b4513dd739f07a902e \ No newline at end of file diff --git a/docs/inherit_graph_48.png b/docs/inherit_graph_48.png new file mode 100644 index 00000000..52eafa30 Binary files /dev/null and b/docs/inherit_graph_48.png differ diff --git a/docs/inherit_graph_49.map b/docs/inherit_graph_49.map new file mode 100644 index 00000000..96440748 --- /dev/null +++ b/docs/inherit_graph_49.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_49.md5 b/docs/inherit_graph_49.md5 new file mode 100644 index 00000000..d165e14c --- /dev/null +++ b/docs/inherit_graph_49.md5 @@ -0,0 +1 @@ +08b85ed6cfed60b55432a73b13e1d09a \ No newline at end of file diff --git a/docs/inherit_graph_49.png b/docs/inherit_graph_49.png new file mode 100644 index 00000000..ec61a30d Binary files /dev/null and b/docs/inherit_graph_49.png differ diff --git a/docs/inherit_graph_5.map b/docs/inherit_graph_5.map index 7458ad54..7f7ecd54 100644 --- a/docs/inherit_graph_5.map +++ b/docs/inherit_graph_5.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_5.md5 b/docs/inherit_graph_5.md5 index 894a8f51..b2770ab0 100644 --- a/docs/inherit_graph_5.md5 +++ b/docs/inherit_graph_5.md5 @@ -1 +1 @@ -6c14ced128e5d9225185a13989c1ea1f \ No newline at end of file +68f4e544c8cfcd30decd5b3d170afed4 \ No newline at end of file diff --git a/docs/inherit_graph_5.png b/docs/inherit_graph_5.png index f415ebd4..07ca0cf2 100644 Binary files a/docs/inherit_graph_5.png and b/docs/inherit_graph_5.png differ diff --git a/docs/inherit_graph_50.map b/docs/inherit_graph_50.map new file mode 100644 index 00000000..fe6772c9 --- /dev/null +++ b/docs/inherit_graph_50.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_50.md5 b/docs/inherit_graph_50.md5 new file mode 100644 index 00000000..c137e161 --- /dev/null +++ b/docs/inherit_graph_50.md5 @@ -0,0 +1 @@ +5aaa2652b8009a89985b7ed64bedc7df \ No newline at end of file diff --git a/docs/inherit_graph_50.png b/docs/inherit_graph_50.png new file mode 100644 index 00000000..c420e791 Binary files /dev/null and b/docs/inherit_graph_50.png differ diff --git a/docs/inherit_graph_51.map b/docs/inherit_graph_51.map new file mode 100644 index 00000000..dd70c096 --- /dev/null +++ b/docs/inherit_graph_51.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_51.md5 b/docs/inherit_graph_51.md5 new file mode 100644 index 00000000..27a600ed --- /dev/null +++ b/docs/inherit_graph_51.md5 @@ -0,0 +1 @@ +56f926bfeb4a58b03df013c4912fa735 \ No newline at end of file diff --git a/docs/inherit_graph_51.png b/docs/inherit_graph_51.png new file mode 100644 index 00000000..e5c55a37 Binary files /dev/null and b/docs/inherit_graph_51.png differ diff --git a/docs/inherit_graph_52.map b/docs/inherit_graph_52.map new file mode 100644 index 00000000..a3544b71 --- /dev/null +++ b/docs/inherit_graph_52.map @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/inherit_graph_52.md5 b/docs/inherit_graph_52.md5 new file mode 100644 index 00000000..0c56f8f4 --- /dev/null +++ b/docs/inherit_graph_52.md5 @@ -0,0 +1 @@ +e2e325f612165dbe8d21ea599a5e5da5 \ No newline at end of file diff --git a/docs/inherit_graph_52.png b/docs/inherit_graph_52.png new file mode 100644 index 00000000..3ba5dab4 Binary files /dev/null and b/docs/inherit_graph_52.png differ diff --git a/docs/inherit_graph_53.map b/docs/inherit_graph_53.map new file mode 100644 index 00000000..08404224 --- /dev/null +++ b/docs/inherit_graph_53.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_53.md5 b/docs/inherit_graph_53.md5 new file mode 100644 index 00000000..00cff688 --- /dev/null +++ b/docs/inherit_graph_53.md5 @@ -0,0 +1 @@ +2847e7d35f1e63cb30404cf26c73b5f4 \ No newline at end of file diff --git a/docs/inherit_graph_53.png b/docs/inherit_graph_53.png new file mode 100644 index 00000000..b3eb6a58 Binary files /dev/null and b/docs/inherit_graph_53.png differ diff --git a/docs/inherit_graph_54.map b/docs/inherit_graph_54.map new file mode 100644 index 00000000..63ef96f2 --- /dev/null +++ b/docs/inherit_graph_54.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_54.md5 b/docs/inherit_graph_54.md5 new file mode 100644 index 00000000..499369ea --- /dev/null +++ b/docs/inherit_graph_54.md5 @@ -0,0 +1 @@ +09a82ca8e721d65786b9c2c713e8fd62 \ No newline at end of file diff --git a/docs/inherit_graph_54.png b/docs/inherit_graph_54.png new file mode 100644 index 00000000..1cfae385 Binary files /dev/null and b/docs/inherit_graph_54.png differ diff --git a/docs/inherit_graph_55.map b/docs/inherit_graph_55.map new file mode 100644 index 00000000..27384c12 --- /dev/null +++ b/docs/inherit_graph_55.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_55.md5 b/docs/inherit_graph_55.md5 new file mode 100644 index 00000000..86fbd3e8 --- /dev/null +++ b/docs/inherit_graph_55.md5 @@ -0,0 +1 @@ +9422928929c920c83c27de0506efa62f \ No newline at end of file diff --git a/docs/inherit_graph_55.png b/docs/inherit_graph_55.png new file mode 100644 index 00000000..c257ee0e Binary files /dev/null and b/docs/inherit_graph_55.png differ diff --git a/docs/inherit_graph_56.map b/docs/inherit_graph_56.map new file mode 100644 index 00000000..b61804d7 --- /dev/null +++ b/docs/inherit_graph_56.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_56.md5 b/docs/inherit_graph_56.md5 new file mode 100644 index 00000000..dfbfb44f --- /dev/null +++ b/docs/inherit_graph_56.md5 @@ -0,0 +1 @@ +24ca50dcf8cca91f6884322da932e8b3 \ No newline at end of file diff --git a/docs/inherit_graph_56.png b/docs/inherit_graph_56.png new file mode 100644 index 00000000..6a4ac0de Binary files /dev/null and b/docs/inherit_graph_56.png differ diff --git a/docs/inherit_graph_57.map b/docs/inherit_graph_57.map new file mode 100644 index 00000000..6800df95 --- /dev/null +++ b/docs/inherit_graph_57.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_57.md5 b/docs/inherit_graph_57.md5 new file mode 100644 index 00000000..2e242e47 --- /dev/null +++ b/docs/inherit_graph_57.md5 @@ -0,0 +1 @@ +292dee61df7064c30868ad78fec7792a \ No newline at end of file diff --git a/docs/inherit_graph_57.png b/docs/inherit_graph_57.png new file mode 100644 index 00000000..315ef05c Binary files /dev/null and b/docs/inherit_graph_57.png differ diff --git a/docs/inherit_graph_58.map b/docs/inherit_graph_58.map new file mode 100644 index 00000000..53405743 --- /dev/null +++ b/docs/inherit_graph_58.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_58.md5 b/docs/inherit_graph_58.md5 new file mode 100644 index 00000000..1b49aefc --- /dev/null +++ b/docs/inherit_graph_58.md5 @@ -0,0 +1 @@ +e72ac28c66e498b986bd540fda857b73 \ No newline at end of file diff --git a/docs/inherit_graph_58.png b/docs/inherit_graph_58.png new file mode 100644 index 00000000..6e667c2e Binary files /dev/null and b/docs/inherit_graph_58.png differ diff --git a/docs/inherit_graph_59.map b/docs/inherit_graph_59.map new file mode 100644 index 00000000..049df862 --- /dev/null +++ b/docs/inherit_graph_59.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_59.md5 b/docs/inherit_graph_59.md5 new file mode 100644 index 00000000..b88de83a --- /dev/null +++ b/docs/inherit_graph_59.md5 @@ -0,0 +1 @@ +d8e2ea86c4a8c5ec7d382cc9c551b527 \ No newline at end of file diff --git a/docs/inherit_graph_59.png b/docs/inherit_graph_59.png new file mode 100644 index 00000000..b07e8d77 Binary files /dev/null and b/docs/inherit_graph_59.png differ diff --git a/docs/inherit_graph_6.map b/docs/inherit_graph_6.map index b7139698..7458ad54 100644 --- a/docs/inherit_graph_6.map +++ b/docs/inherit_graph_6.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_6.md5 b/docs/inherit_graph_6.md5 index 04f764f3..894a8f51 100644 --- a/docs/inherit_graph_6.md5 +++ b/docs/inherit_graph_6.md5 @@ -1 +1 @@ -ce5c56b4ca780690c257260c88afcbfc \ No newline at end of file +6c14ced128e5d9225185a13989c1ea1f \ No newline at end of file diff --git a/docs/inherit_graph_6.png b/docs/inherit_graph_6.png index 8c8f6932..f415ebd4 100644 Binary files a/docs/inherit_graph_6.png and b/docs/inherit_graph_6.png differ diff --git a/docs/inherit_graph_60.map b/docs/inherit_graph_60.map new file mode 100644 index 00000000..aa462811 --- /dev/null +++ b/docs/inherit_graph_60.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_60.md5 b/docs/inherit_graph_60.md5 new file mode 100644 index 00000000..76f677b7 --- /dev/null +++ b/docs/inherit_graph_60.md5 @@ -0,0 +1 @@ +7bd70f82aa1ac4c55dbf98117a907b3b \ No newline at end of file diff --git a/docs/inherit_graph_60.png b/docs/inherit_graph_60.png new file mode 100644 index 00000000..53b63230 Binary files /dev/null and b/docs/inherit_graph_60.png differ diff --git a/docs/inherit_graph_61.map b/docs/inherit_graph_61.map new file mode 100644 index 00000000..9c2f2800 --- /dev/null +++ b/docs/inherit_graph_61.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_61.md5 b/docs/inherit_graph_61.md5 new file mode 100644 index 00000000..74cd179f --- /dev/null +++ b/docs/inherit_graph_61.md5 @@ -0,0 +1 @@ +1e0d63027e1770a1638de59baecdcb5a \ No newline at end of file diff --git a/docs/inherit_graph_61.png b/docs/inherit_graph_61.png new file mode 100644 index 00000000..847248a0 Binary files /dev/null and b/docs/inherit_graph_61.png differ diff --git a/docs/inherit_graph_62.map b/docs/inherit_graph_62.map new file mode 100644 index 00000000..0adc9846 --- /dev/null +++ b/docs/inherit_graph_62.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_62.md5 b/docs/inherit_graph_62.md5 new file mode 100644 index 00000000..454429d6 --- /dev/null +++ b/docs/inherit_graph_62.md5 @@ -0,0 +1 @@ +c10ec36c802b5bc87564bd763657f6c3 \ No newline at end of file diff --git a/docs/inherit_graph_62.png b/docs/inherit_graph_62.png new file mode 100644 index 00000000..9d2beca5 Binary files /dev/null and b/docs/inherit_graph_62.png differ diff --git a/docs/inherit_graph_63.map b/docs/inherit_graph_63.map new file mode 100644 index 00000000..afb820d5 --- /dev/null +++ b/docs/inherit_graph_63.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_63.md5 b/docs/inherit_graph_63.md5 new file mode 100644 index 00000000..43267707 --- /dev/null +++ b/docs/inherit_graph_63.md5 @@ -0,0 +1 @@ +c67f1b7c7186fb93aa474fc8d9d716b1 \ No newline at end of file diff --git a/docs/inherit_graph_63.png b/docs/inherit_graph_63.png new file mode 100644 index 00000000..973efd35 Binary files /dev/null and b/docs/inherit_graph_63.png differ diff --git a/docs/inherit_graph_64.map b/docs/inherit_graph_64.map new file mode 100644 index 00000000..a2ce7c21 --- /dev/null +++ b/docs/inherit_graph_64.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_64.md5 b/docs/inherit_graph_64.md5 new file mode 100644 index 00000000..a456e071 --- /dev/null +++ b/docs/inherit_graph_64.md5 @@ -0,0 +1 @@ +3372de0566c59b538c00990ac0c091bb \ No newline at end of file diff --git a/docs/inherit_graph_64.png b/docs/inherit_graph_64.png new file mode 100644 index 00000000..e5f2773d Binary files /dev/null and b/docs/inherit_graph_64.png differ diff --git a/docs/inherit_graph_65.map b/docs/inherit_graph_65.map new file mode 100644 index 00000000..7345bc6a --- /dev/null +++ b/docs/inherit_graph_65.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_65.md5 b/docs/inherit_graph_65.md5 new file mode 100644 index 00000000..cf772ec7 --- /dev/null +++ b/docs/inherit_graph_65.md5 @@ -0,0 +1 @@ +808403addfa4fe8e09d3a58736d3bf61 \ No newline at end of file diff --git a/docs/inherit_graph_65.png b/docs/inherit_graph_65.png new file mode 100644 index 00000000..08512973 Binary files /dev/null and b/docs/inherit_graph_65.png differ diff --git a/docs/inherit_graph_66.map b/docs/inherit_graph_66.map new file mode 100644 index 00000000..cd369b9b --- /dev/null +++ b/docs/inherit_graph_66.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_66.md5 b/docs/inherit_graph_66.md5 new file mode 100644 index 00000000..2ebece6a --- /dev/null +++ b/docs/inherit_graph_66.md5 @@ -0,0 +1 @@ +25d6bd9ce61ab9ba1adaeabae847fb36 \ No newline at end of file diff --git a/docs/inherit_graph_66.png b/docs/inherit_graph_66.png new file mode 100644 index 00000000..f2167fe0 Binary files /dev/null and b/docs/inherit_graph_66.png differ diff --git a/docs/inherit_graph_67.map b/docs/inherit_graph_67.map new file mode 100644 index 00000000..df1f876a --- /dev/null +++ b/docs/inherit_graph_67.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_67.md5 b/docs/inherit_graph_67.md5 new file mode 100644 index 00000000..d31926e2 --- /dev/null +++ b/docs/inherit_graph_67.md5 @@ -0,0 +1 @@ +456df30fd19787fceac3563f64336560 \ No newline at end of file diff --git a/docs/inherit_graph_67.png b/docs/inherit_graph_67.png new file mode 100644 index 00000000..b8d8cd58 Binary files /dev/null and b/docs/inherit_graph_67.png differ diff --git a/docs/inherit_graph_68.map b/docs/inherit_graph_68.map new file mode 100644 index 00000000..4988ee82 --- /dev/null +++ b/docs/inherit_graph_68.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_68.md5 b/docs/inherit_graph_68.md5 new file mode 100644 index 00000000..c5983467 --- /dev/null +++ b/docs/inherit_graph_68.md5 @@ -0,0 +1 @@ +11de6057f5c90b0c4039a8e24caaf551 \ No newline at end of file diff --git a/docs/inherit_graph_68.png b/docs/inherit_graph_68.png new file mode 100644 index 00000000..9b2e7a8c Binary files /dev/null and b/docs/inherit_graph_68.png differ diff --git a/docs/inherit_graph_69.map b/docs/inherit_graph_69.map new file mode 100644 index 00000000..1dc94464 --- /dev/null +++ b/docs/inherit_graph_69.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_69.md5 b/docs/inherit_graph_69.md5 new file mode 100644 index 00000000..1a6e9161 --- /dev/null +++ b/docs/inherit_graph_69.md5 @@ -0,0 +1 @@ +c14816f602ccedf80ba24da906846752 \ No newline at end of file diff --git a/docs/inherit_graph_69.png b/docs/inherit_graph_69.png new file mode 100644 index 00000000..9d51fe59 Binary files /dev/null and b/docs/inherit_graph_69.png differ diff --git a/docs/inherit_graph_7.map b/docs/inherit_graph_7.map index 28f853fa..b7139698 100644 --- a/docs/inherit_graph_7.map +++ b/docs/inherit_graph_7.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_7.md5 b/docs/inherit_graph_7.md5 index 000dcd79..04f764f3 100644 --- a/docs/inherit_graph_7.md5 +++ b/docs/inherit_graph_7.md5 @@ -1 +1 @@ -155106b734632e695625881a0550f5e3 \ No newline at end of file +ce5c56b4ca780690c257260c88afcbfc \ No newline at end of file diff --git a/docs/inherit_graph_7.png b/docs/inherit_graph_7.png index a2ee9e1f..8c8f6932 100644 Binary files a/docs/inherit_graph_7.png and b/docs/inherit_graph_7.png differ diff --git a/docs/inherit_graph_70.map b/docs/inherit_graph_70.map new file mode 100644 index 00000000..89a6b829 --- /dev/null +++ b/docs/inherit_graph_70.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_70.md5 b/docs/inherit_graph_70.md5 new file mode 100644 index 00000000..aa929633 --- /dev/null +++ b/docs/inherit_graph_70.md5 @@ -0,0 +1 @@ +00743cd62c8afd448066331adc7cbb06 \ No newline at end of file diff --git a/docs/inherit_graph_70.png b/docs/inherit_graph_70.png new file mode 100644 index 00000000..f8e0dd6c Binary files /dev/null and b/docs/inherit_graph_70.png differ diff --git a/docs/inherit_graph_71.map b/docs/inherit_graph_71.map new file mode 100644 index 00000000..a3a37c71 --- /dev/null +++ b/docs/inherit_graph_71.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_71.md5 b/docs/inherit_graph_71.md5 new file mode 100644 index 00000000..87586805 --- /dev/null +++ b/docs/inherit_graph_71.md5 @@ -0,0 +1 @@ +cc1e82559d2b64cb1113c4e6d7d9f1e5 \ No newline at end of file diff --git a/docs/inherit_graph_71.png b/docs/inherit_graph_71.png new file mode 100644 index 00000000..8dd92e04 Binary files /dev/null and b/docs/inherit_graph_71.png differ diff --git a/docs/inherit_graph_72.map b/docs/inherit_graph_72.map new file mode 100644 index 00000000..b452295d --- /dev/null +++ b/docs/inherit_graph_72.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_72.md5 b/docs/inherit_graph_72.md5 new file mode 100644 index 00000000..1c7ae6ac --- /dev/null +++ b/docs/inherit_graph_72.md5 @@ -0,0 +1 @@ +0c49ad078bb3ce3f7a7dac5379990529 \ No newline at end of file diff --git a/docs/inherit_graph_72.png b/docs/inherit_graph_72.png new file mode 100644 index 00000000..f6a9977b Binary files /dev/null and b/docs/inherit_graph_72.png differ diff --git a/docs/inherit_graph_73.map b/docs/inherit_graph_73.map new file mode 100644 index 00000000..377b5501 --- /dev/null +++ b/docs/inherit_graph_73.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_73.md5 b/docs/inherit_graph_73.md5 new file mode 100644 index 00000000..4345287d --- /dev/null +++ b/docs/inherit_graph_73.md5 @@ -0,0 +1 @@ +5f3fd7b51d25f9c26f024d504bde2bde \ No newline at end of file diff --git a/docs/inherit_graph_73.png b/docs/inherit_graph_73.png new file mode 100644 index 00000000..f72d87e1 Binary files /dev/null and b/docs/inherit_graph_73.png differ diff --git a/docs/inherit_graph_74.map b/docs/inherit_graph_74.map new file mode 100644 index 00000000..50c65493 --- /dev/null +++ b/docs/inherit_graph_74.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_74.md5 b/docs/inherit_graph_74.md5 new file mode 100644 index 00000000..4c914d1a --- /dev/null +++ b/docs/inherit_graph_74.md5 @@ -0,0 +1 @@ +1ad489794c9e9b507ebf6838b8ddf2e9 \ No newline at end of file diff --git a/docs/inherit_graph_74.png b/docs/inherit_graph_74.png new file mode 100644 index 00000000..16bf22ec Binary files /dev/null and b/docs/inherit_graph_74.png differ diff --git a/docs/inherit_graph_75.map b/docs/inherit_graph_75.map new file mode 100644 index 00000000..cbfa75d4 --- /dev/null +++ b/docs/inherit_graph_75.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_75.md5 b/docs/inherit_graph_75.md5 new file mode 100644 index 00000000..b7aa3a41 --- /dev/null +++ b/docs/inherit_graph_75.md5 @@ -0,0 +1 @@ +a4f5388e94586633fbf7e33d3f570bd3 \ No newline at end of file diff --git a/docs/inherit_graph_75.png b/docs/inherit_graph_75.png new file mode 100644 index 00000000..6c33031a Binary files /dev/null and b/docs/inherit_graph_75.png differ diff --git a/docs/inherit_graph_76.map b/docs/inherit_graph_76.map new file mode 100644 index 00000000..97fa8536 --- /dev/null +++ b/docs/inherit_graph_76.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_76.md5 b/docs/inherit_graph_76.md5 new file mode 100644 index 00000000..fd173b55 --- /dev/null +++ b/docs/inherit_graph_76.md5 @@ -0,0 +1 @@ +ae140ba0d25b95c1136c74c6289c3337 \ No newline at end of file diff --git a/docs/inherit_graph_76.png b/docs/inherit_graph_76.png new file mode 100644 index 00000000..be0d799b Binary files /dev/null and b/docs/inherit_graph_76.png differ diff --git a/docs/inherit_graph_77.map b/docs/inherit_graph_77.map new file mode 100644 index 00000000..c4520796 --- /dev/null +++ b/docs/inherit_graph_77.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_77.md5 b/docs/inherit_graph_77.md5 new file mode 100644 index 00000000..11949668 --- /dev/null +++ b/docs/inherit_graph_77.md5 @@ -0,0 +1 @@ +75c2163a65c45b50851cbb7d04a63f8c \ No newline at end of file diff --git a/docs/inherit_graph_77.png b/docs/inherit_graph_77.png new file mode 100644 index 00000000..508ade5e Binary files /dev/null and b/docs/inherit_graph_77.png differ diff --git a/docs/inherit_graph_78.map b/docs/inherit_graph_78.map new file mode 100644 index 00000000..7df3de1e --- /dev/null +++ b/docs/inherit_graph_78.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/inherit_graph_78.md5 b/docs/inherit_graph_78.md5 new file mode 100644 index 00000000..76f7a1eb --- /dev/null +++ b/docs/inherit_graph_78.md5 @@ -0,0 +1 @@ +4dfba76de957baa3d03f819a45989e74 \ No newline at end of file diff --git a/docs/inherit_graph_78.png b/docs/inherit_graph_78.png new file mode 100644 index 00000000..3ac71571 Binary files /dev/null and b/docs/inherit_graph_78.png differ diff --git a/docs/inherit_graph_79.map b/docs/inherit_graph_79.map new file mode 100644 index 00000000..296d2a37 --- /dev/null +++ b/docs/inherit_graph_79.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_79.md5 b/docs/inherit_graph_79.md5 new file mode 100644 index 00000000..f4eea966 --- /dev/null +++ b/docs/inherit_graph_79.md5 @@ -0,0 +1 @@ +ec7aeaa9d905ac793276f4211577bbbe \ No newline at end of file diff --git a/docs/inherit_graph_79.png b/docs/inherit_graph_79.png new file mode 100644 index 00000000..a952e5a0 Binary files /dev/null and b/docs/inherit_graph_79.png differ diff --git a/docs/inherit_graph_8.map b/docs/inherit_graph_8.map index afc6ceb3..28f853fa 100644 --- a/docs/inherit_graph_8.map +++ b/docs/inherit_graph_8.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_8.md5 b/docs/inherit_graph_8.md5 index 242ed90f..000dcd79 100644 --- a/docs/inherit_graph_8.md5 +++ b/docs/inherit_graph_8.md5 @@ -1 +1 @@ -4c0607275adee5075604057cc0746cbb \ No newline at end of file +155106b734632e695625881a0550f5e3 \ No newline at end of file diff --git a/docs/inherit_graph_8.png b/docs/inherit_graph_8.png index 9cd50ff0..a2ee9e1f 100644 Binary files a/docs/inherit_graph_8.png and b/docs/inherit_graph_8.png differ diff --git a/docs/inherit_graph_80.map b/docs/inherit_graph_80.map new file mode 100644 index 00000000..ab8ec6b3 --- /dev/null +++ b/docs/inherit_graph_80.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_80.md5 b/docs/inherit_graph_80.md5 new file mode 100644 index 00000000..0b220b30 --- /dev/null +++ b/docs/inherit_graph_80.md5 @@ -0,0 +1 @@ +248e5ce3d176396cea37e8cd77586ca0 \ No newline at end of file diff --git a/docs/inherit_graph_80.png b/docs/inherit_graph_80.png new file mode 100644 index 00000000..b296109c Binary files /dev/null and b/docs/inherit_graph_80.png differ diff --git a/docs/inherit_graph_81.map b/docs/inherit_graph_81.map new file mode 100644 index 00000000..83f25121 --- /dev/null +++ b/docs/inherit_graph_81.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_81.md5 b/docs/inherit_graph_81.md5 new file mode 100644 index 00000000..e509b255 --- /dev/null +++ b/docs/inherit_graph_81.md5 @@ -0,0 +1 @@ +b2601a80b9043d213e6282b8e4cad1b3 \ No newline at end of file diff --git a/docs/inherit_graph_81.png b/docs/inherit_graph_81.png new file mode 100644 index 00000000..33e7f913 Binary files /dev/null and b/docs/inherit_graph_81.png differ diff --git a/docs/inherit_graph_82.map b/docs/inherit_graph_82.map new file mode 100644 index 00000000..e0cd82e3 --- /dev/null +++ b/docs/inherit_graph_82.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_82.md5 b/docs/inherit_graph_82.md5 new file mode 100644 index 00000000..651f4ab4 --- /dev/null +++ b/docs/inherit_graph_82.md5 @@ -0,0 +1 @@ +87dbcf2744baf4f61c1a5de4cfa02c0d \ No newline at end of file diff --git a/docs/inherit_graph_82.png b/docs/inherit_graph_82.png new file mode 100644 index 00000000..5ea9ad16 Binary files /dev/null and b/docs/inherit_graph_82.png differ diff --git a/docs/inherit_graph_83.map b/docs/inherit_graph_83.map new file mode 100644 index 00000000..74a96d5b --- /dev/null +++ b/docs/inherit_graph_83.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_83.md5 b/docs/inherit_graph_83.md5 new file mode 100644 index 00000000..4f750287 --- /dev/null +++ b/docs/inherit_graph_83.md5 @@ -0,0 +1 @@ +81e3f2eba54619c7e7497dd0e309d0ad \ No newline at end of file diff --git a/docs/inherit_graph_83.png b/docs/inherit_graph_83.png new file mode 100644 index 00000000..248c98cc Binary files /dev/null and b/docs/inherit_graph_83.png differ diff --git a/docs/inherit_graph_84.map b/docs/inherit_graph_84.map new file mode 100644 index 00000000..f90ead94 --- /dev/null +++ b/docs/inherit_graph_84.map @@ -0,0 +1,4 @@ + + + + diff --git a/docs/inherit_graph_84.md5 b/docs/inherit_graph_84.md5 new file mode 100644 index 00000000..e5695bfa --- /dev/null +++ b/docs/inherit_graph_84.md5 @@ -0,0 +1 @@ +0ed853ea8a14ca17b852a5bb7d1ccf9e \ No newline at end of file diff --git a/docs/inherit_graph_84.png b/docs/inherit_graph_84.png new file mode 100644 index 00000000..1128665d Binary files /dev/null and b/docs/inherit_graph_84.png differ diff --git a/docs/inherit_graph_85.map b/docs/inherit_graph_85.map new file mode 100644 index 00000000..018f9e26 --- /dev/null +++ b/docs/inherit_graph_85.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_85.md5 b/docs/inherit_graph_85.md5 new file mode 100644 index 00000000..c5713ca8 --- /dev/null +++ b/docs/inherit_graph_85.md5 @@ -0,0 +1 @@ +4dad1adbc03f4213ee846e1400d0c01c \ No newline at end of file diff --git a/docs/inherit_graph_85.png b/docs/inherit_graph_85.png new file mode 100644 index 00000000..f2997c8f Binary files /dev/null and b/docs/inherit_graph_85.png differ diff --git a/docs/inherit_graph_86.map b/docs/inherit_graph_86.map new file mode 100644 index 00000000..689a66fc --- /dev/null +++ b/docs/inherit_graph_86.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_86.md5 b/docs/inherit_graph_86.md5 new file mode 100644 index 00000000..deecaed2 --- /dev/null +++ b/docs/inherit_graph_86.md5 @@ -0,0 +1 @@ +832859e964f134d7c8836a1de4711580 \ No newline at end of file diff --git a/docs/inherit_graph_86.png b/docs/inherit_graph_86.png new file mode 100644 index 00000000..575339dc Binary files /dev/null and b/docs/inherit_graph_86.png differ diff --git a/docs/inherit_graph_87.map b/docs/inherit_graph_87.map new file mode 100644 index 00000000..e9b282c6 --- /dev/null +++ b/docs/inherit_graph_87.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_87.md5 b/docs/inherit_graph_87.md5 new file mode 100644 index 00000000..ca74a602 --- /dev/null +++ b/docs/inherit_graph_87.md5 @@ -0,0 +1 @@ +d99ef12cedb75e4eb03b90704a85d3fb \ No newline at end of file diff --git a/docs/inherit_graph_87.png b/docs/inherit_graph_87.png new file mode 100644 index 00000000..6d97c07f Binary files /dev/null and b/docs/inherit_graph_87.png differ diff --git a/docs/inherit_graph_88.map b/docs/inherit_graph_88.map new file mode 100644 index 00000000..19f27555 --- /dev/null +++ b/docs/inherit_graph_88.map @@ -0,0 +1,6 @@ + + + + + + diff --git a/docs/inherit_graph_88.md5 b/docs/inherit_graph_88.md5 new file mode 100644 index 00000000..a8db867d --- /dev/null +++ b/docs/inherit_graph_88.md5 @@ -0,0 +1 @@ +9a6b46e1986a0124b5fe9c3402de4f81 \ No newline at end of file diff --git a/docs/inherit_graph_88.png b/docs/inherit_graph_88.png new file mode 100644 index 00000000..52c1798b Binary files /dev/null and b/docs/inherit_graph_88.png differ diff --git a/docs/inherit_graph_89.map b/docs/inherit_graph_89.map new file mode 100644 index 00000000..106dcd70 --- /dev/null +++ b/docs/inherit_graph_89.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_89.md5 b/docs/inherit_graph_89.md5 new file mode 100644 index 00000000..aed670ab --- /dev/null +++ b/docs/inherit_graph_89.md5 @@ -0,0 +1 @@ +197cc5f85b84a68662a2d8e4d0b88b25 \ No newline at end of file diff --git a/docs/inherit_graph_89.png b/docs/inherit_graph_89.png new file mode 100644 index 00000000..18743805 Binary files /dev/null and b/docs/inherit_graph_89.png differ diff --git a/docs/inherit_graph_9.map b/docs/inherit_graph_9.map index 0e0b91f6..afc6ceb3 100644 --- a/docs/inherit_graph_9.map +++ b/docs/inherit_graph_9.map @@ -1,3 +1,3 @@ - + diff --git a/docs/inherit_graph_9.md5 b/docs/inherit_graph_9.md5 index 1b0b61bb..242ed90f 100644 --- a/docs/inherit_graph_9.md5 +++ b/docs/inherit_graph_9.md5 @@ -1 +1 @@ -fc8f9e49e5c67b6f341f374c105836a3 \ No newline at end of file +4c0607275adee5075604057cc0746cbb \ No newline at end of file diff --git a/docs/inherit_graph_9.png b/docs/inherit_graph_9.png index 48649a87..9cd50ff0 100644 Binary files a/docs/inherit_graph_9.png and b/docs/inherit_graph_9.png differ diff --git a/docs/inherit_graph_90.map b/docs/inherit_graph_90.map new file mode 100644 index 00000000..109609f1 --- /dev/null +++ b/docs/inherit_graph_90.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_90.md5 b/docs/inherit_graph_90.md5 new file mode 100644 index 00000000..9942336f --- /dev/null +++ b/docs/inherit_graph_90.md5 @@ -0,0 +1 @@ +0c60b3f47329f80334a0f65722c011eb \ No newline at end of file diff --git a/docs/inherit_graph_90.png b/docs/inherit_graph_90.png new file mode 100644 index 00000000..3a829564 Binary files /dev/null and b/docs/inherit_graph_90.png differ diff --git a/docs/inherit_graph_91.map b/docs/inherit_graph_91.map new file mode 100644 index 00000000..467777de --- /dev/null +++ b/docs/inherit_graph_91.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_91.md5 b/docs/inherit_graph_91.md5 new file mode 100644 index 00000000..0cfbd4a6 --- /dev/null +++ b/docs/inherit_graph_91.md5 @@ -0,0 +1 @@ +6baaede62abd5a7c861d827d9e03b187 \ No newline at end of file diff --git a/docs/inherit_graph_91.png b/docs/inherit_graph_91.png new file mode 100644 index 00000000..eb2773b7 Binary files /dev/null and b/docs/inherit_graph_91.png differ diff --git a/docs/inherit_graph_92.map b/docs/inherit_graph_92.map new file mode 100644 index 00000000..b900bf6f --- /dev/null +++ b/docs/inherit_graph_92.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_92.md5 b/docs/inherit_graph_92.md5 new file mode 100644 index 00000000..9408a8d7 --- /dev/null +++ b/docs/inherit_graph_92.md5 @@ -0,0 +1 @@ +c179f9b65d39c4c665c35bbbe1dd8b1a \ No newline at end of file diff --git a/docs/inherit_graph_92.png b/docs/inherit_graph_92.png new file mode 100644 index 00000000..2f21fe86 Binary files /dev/null and b/docs/inherit_graph_92.png differ diff --git a/docs/inherit_graph_93.map b/docs/inherit_graph_93.map new file mode 100644 index 00000000..8860e0d9 --- /dev/null +++ b/docs/inherit_graph_93.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_93.md5 b/docs/inherit_graph_93.md5 new file mode 100644 index 00000000..a5a4485c --- /dev/null +++ b/docs/inherit_graph_93.md5 @@ -0,0 +1 @@ +70893bfe609aaa21d52854227a1700de \ No newline at end of file diff --git a/docs/inherit_graph_93.png b/docs/inherit_graph_93.png new file mode 100644 index 00000000..0ff2a01f Binary files /dev/null and b/docs/inherit_graph_93.png differ diff --git a/docs/inherit_graph_94.map b/docs/inherit_graph_94.map new file mode 100644 index 00000000..ca47fc4f --- /dev/null +++ b/docs/inherit_graph_94.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_94.md5 b/docs/inherit_graph_94.md5 new file mode 100644 index 00000000..0d800d55 --- /dev/null +++ b/docs/inherit_graph_94.md5 @@ -0,0 +1 @@ +e05790734c643d06c542f2740b5605c9 \ No newline at end of file diff --git a/docs/inherit_graph_94.png b/docs/inherit_graph_94.png new file mode 100644 index 00000000..46e86ff8 Binary files /dev/null and b/docs/inherit_graph_94.png differ diff --git a/docs/inherit_graph_95.map b/docs/inherit_graph_95.map new file mode 100644 index 00000000..ef8592a2 --- /dev/null +++ b/docs/inherit_graph_95.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_95.md5 b/docs/inherit_graph_95.md5 new file mode 100644 index 00000000..554d2958 --- /dev/null +++ b/docs/inherit_graph_95.md5 @@ -0,0 +1 @@ +331fec91941d765f5e10f8808feaa69c \ No newline at end of file diff --git a/docs/inherit_graph_95.png b/docs/inherit_graph_95.png new file mode 100644 index 00000000..cced6a05 Binary files /dev/null and b/docs/inherit_graph_95.png differ diff --git a/docs/inherit_graph_96.map b/docs/inherit_graph_96.map new file mode 100644 index 00000000..8e8e4b11 --- /dev/null +++ b/docs/inherit_graph_96.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_96.md5 b/docs/inherit_graph_96.md5 new file mode 100644 index 00000000..ec63d22e --- /dev/null +++ b/docs/inherit_graph_96.md5 @@ -0,0 +1 @@ +df539b1502edb483be44805db29f8cd3 \ No newline at end of file diff --git a/docs/inherit_graph_96.png b/docs/inherit_graph_96.png new file mode 100644 index 00000000..a7d6e493 Binary files /dev/null and b/docs/inherit_graph_96.png differ diff --git a/docs/inherit_graph_97.map b/docs/inherit_graph_97.map new file mode 100644 index 00000000..a2068ee4 --- /dev/null +++ b/docs/inherit_graph_97.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_97.md5 b/docs/inherit_graph_97.md5 new file mode 100644 index 00000000..f5aa6299 --- /dev/null +++ b/docs/inherit_graph_97.md5 @@ -0,0 +1 @@ +85b40cbaad942b8b847598c6d0c071b0 \ No newline at end of file diff --git a/docs/inherit_graph_97.png b/docs/inherit_graph_97.png new file mode 100644 index 00000000..ea9acfa3 Binary files /dev/null and b/docs/inherit_graph_97.png differ diff --git a/docs/inherit_graph_98.map b/docs/inherit_graph_98.map new file mode 100644 index 00000000..83fb4ebb --- /dev/null +++ b/docs/inherit_graph_98.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_98.md5 b/docs/inherit_graph_98.md5 new file mode 100644 index 00000000..cc57a867 --- /dev/null +++ b/docs/inherit_graph_98.md5 @@ -0,0 +1 @@ +616fe7feaaceb9ab0dbee3f8a7a46ddc \ No newline at end of file diff --git a/docs/inherit_graph_98.png b/docs/inherit_graph_98.png new file mode 100644 index 00000000..b4bbc503 Binary files /dev/null and b/docs/inherit_graph_98.png differ diff --git a/docs/inherit_graph_99.map b/docs/inherit_graph_99.map new file mode 100644 index 00000000..6815510d --- /dev/null +++ b/docs/inherit_graph_99.map @@ -0,0 +1,3 @@ + + + diff --git a/docs/inherit_graph_99.md5 b/docs/inherit_graph_99.md5 new file mode 100644 index 00000000..43d8747a --- /dev/null +++ b/docs/inherit_graph_99.md5 @@ -0,0 +1 @@ +59dda0cae2b8f9feb15c56b62f1111e8 \ No newline at end of file diff --git a/docs/inherit_graph_99.png b/docs/inherit_graph_99.png new file mode 100644 index 00000000..1f21695c Binary files /dev/null and b/docs/inherit_graph_99.png differ diff --git a/docs/inherits.html b/docs/inherits.html index 5391fdba..38d0c003 100644 --- a/docs/inherits.html +++ b/docs/inherits.html @@ -87,9 +87,21 @@ - + + - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                +
                                                                                                + + + + +
                                                                                                + + + + +
                                                                                                - + @@ -100,97 +112,638 @@ - - + + +
                                                                                                +
                                                                                                - - - - - -
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                + + + +
                                                                                                +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + + + + + + + + + + + + + + + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + + + + + + + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + +
                                                                                                + + + + +
                                                                                                diff --git a/docs/menudata.js b/docs/menudata.js index 3f6c53c6..e038bf26 100644 --- a/docs/menudata.js +++ b/docs/menudata.js @@ -1,23 +1,68 @@ var menudata={children:[ {text:"Main Page",url:"index.html"}, +{text:"Related Pages",url:"pages.html"}, {text:"Modules",url:"modules.html"}, {text:"Namespaces",url:"namespaces.html",children:[ {text:"Namespace List",url:"namespaces.html"}, {text:"Namespace Members",url:"namespacemembers.html",children:[ {text:"All",url:"namespacemembers.html",children:[ +{text:"a",url:"namespacemembers.html#index_a"}, +{text:"b",url:"namespacemembers.html#index_b"}, {text:"c",url:"namespacemembers.html#index_c"}, +{text:"d",url:"namespacemembers.html#index_d"}, {text:"e",url:"namespacemembers.html#index_e"}, {text:"f",url:"namespacemembers.html#index_f"}, {text:"g",url:"namespacemembers.html#index_g"}, {text:"h",url:"namespacemembers.html#index_h"}, +{text:"i",url:"namespacemembers.html#index_i"}, +{text:"j",url:"namespacemembers.html#index_j"}, +{text:"k",url:"namespacemembers.html#index_k"}, +{text:"l",url:"namespacemembers.html#index_l"}, {text:"m",url:"namespacemembers.html#index_m"}, +{text:"n",url:"namespacemembers.html#index_n"}, {text:"o",url:"namespacemembers.html#index_o"}, {text:"p",url:"namespacemembers.html#index_p"}, +{text:"r",url:"namespacemembers.html#index_r"}, {text:"s",url:"namespacemembers.html#index_s"}, {text:"t",url:"namespacemembers.html#index_t"}, +{text:"u",url:"namespacemembers.html#index_u"}, {text:"v",url:"namespacemembers.html#index_v"}]}, -{text:"Functions",url:"namespacemembers_func.html"}, -{text:"Typedefs",url:"namespacemembers_type.html"}, +{text:"Functions",url:"namespacemembers_func.html",children:[ +{text:"a",url:"namespacemembers_func.html#index_a"}, +{text:"c",url:"namespacemembers_func.html#index_c"}, +{text:"e",url:"namespacemembers_func.html#index_e"}, +{text:"f",url:"namespacemembers_func.html#index_f"}, +{text:"g",url:"namespacemembers_func.html#index_g"}, +{text:"h",url:"namespacemembers_func.html#index_h"}, +{text:"i",url:"namespacemembers_func.html#index_i"}, +{text:"l",url:"namespacemembers_func.html#index_l"}, +{text:"m",url:"namespacemembers_func.html#index_m"}, +{text:"o",url:"namespacemembers_func.html#index_o"}, +{text:"r",url:"namespacemembers_func.html#index_r"}, +{text:"s",url:"namespacemembers_func.html#index_s"}, +{text:"t",url:"namespacemembers_func.html#index_t"}, +{text:"u",url:"namespacemembers_func.html#index_u"}, +{text:"v",url:"namespacemembers_func.html#index_v"}]}, +{text:"Variables",url:"namespacemembers_vars.html"}, +{text:"Typedefs",url:"namespacemembers_type.html",children:[ +{text:"b",url:"namespacemembers_type.html#index_b"}, +{text:"c",url:"namespacemembers_type.html#index_c"}, +{text:"d",url:"namespacemembers_type.html#index_d"}, +{text:"e",url:"namespacemembers_type.html#index_e"}, +{text:"f",url:"namespacemembers_type.html#index_f"}, +{text:"g",url:"namespacemembers_type.html#index_g"}, +{text:"i",url:"namespacemembers_type.html#index_i"}, +{text:"j",url:"namespacemembers_type.html#index_j"}, +{text:"k",url:"namespacemembers_type.html#index_k"}, +{text:"m",url:"namespacemembers_type.html#index_m"}, +{text:"n",url:"namespacemembers_type.html#index_n"}, +{text:"o",url:"namespacemembers_type.html#index_o"}, +{text:"p",url:"namespacemembers_type.html#index_p"}, +{text:"r",url:"namespacemembers_type.html#index_r"}, +{text:"s",url:"namespacemembers_type.html#index_s"}, +{text:"t",url:"namespacemembers_type.html#index_t"}, +{text:"u",url:"namespacemembers_type.html#index_u"}, +{text:"v",url:"namespacemembers_type.html#index_v"}]}, {text:"Enumerations",url:"namespacemembers_enum.html"}]}]}, {text:"Classes",url:"annotated.html",children:[ {text:"Class List",url:"annotated.html"}, @@ -25,20 +70,25 @@ var menudata={children:[ {text:"Class Hierarchy",url:"inherits.html"}, {text:"Class Members",url:"functions.html",children:[ {text:"All",url:"functions.html",children:[ -{text:"a",url:"functions.html#index_a"}, +{text:":",url:"functions.html#index_0x3a"}, +{text:"_",url:"functions__.html#index__"}, +{text:"a",url:"functions_a.html#index_a"}, {text:"b",url:"functions_b.html#index_b"}, {text:"c",url:"functions_c.html#index_c"}, {text:"d",url:"functions_d.html#index_d"}, {text:"e",url:"functions_e.html#index_e"}, +{text:"f",url:"functions_f.html#index_f"}, {text:"g",url:"functions_g.html#index_g"}, {text:"h",url:"functions_h.html#index_h"}, {text:"i",url:"functions_i.html#index_i"}, +{text:"j",url:"functions_j.html#index_j"}, {text:"k",url:"functions_k.html#index_k"}, {text:"l",url:"functions_l.html#index_l"}, {text:"m",url:"functions_m.html#index_m"}, {text:"n",url:"functions_n.html#index_n"}, {text:"o",url:"functions_o.html#index_o"}, {text:"p",url:"functions_p.html#index_p"}, +{text:"r",url:"functions_r.html#index_r"}, {text:"s",url:"functions_s.html#index_s"}, {text:"t",url:"functions_t.html#index_t"}, {text:"u",url:"functions_u.html#index_u"}, @@ -48,41 +98,97 @@ var menudata={children:[ {text:"y",url:"functions_y.html#index_y"}, {text:"~",url:"functions_0x7e.html#index_0x7e"}]}, {text:"Functions",url:"functions_func.html",children:[ -{text:"b",url:"functions_func.html#index_b"}, +{text:"a",url:"functions_func.html#index_a"}, +{text:"b",url:"functions_func_b.html#index_b"}, {text:"c",url:"functions_func_c.html#index_c"}, {text:"d",url:"functions_func_d.html#index_d"}, {text:"e",url:"functions_func_e.html#index_e"}, +{text:"f",url:"functions_func_f.html#index_f"}, {text:"g",url:"functions_func_g.html#index_g"}, +{text:"h",url:"functions_func_h.html#index_h"}, {text:"i",url:"functions_func_i.html#index_i"}, +{text:"j",url:"functions_func_j.html#index_j"}, {text:"k",url:"functions_func_k.html#index_k"}, +{text:"l",url:"functions_func_l.html#index_l"}, {text:"m",url:"functions_func_m.html#index_m"}, +{text:"n",url:"functions_func_n.html#index_n"}, {text:"o",url:"functions_func_o.html#index_o"}, {text:"p",url:"functions_func_p.html#index_p"}, +{text:"r",url:"functions_func_r.html#index_r"}, {text:"s",url:"functions_func_s.html#index_s"}, {text:"t",url:"functions_func_t.html#index_t"}, +{text:"u",url:"functions_func_u.html#index_u"}, {text:"v",url:"functions_func_v.html#index_v"}, {text:"w",url:"functions_func_w.html#index_w"}, {text:"~",url:"functions_func_0x7e.html#index_0x7e"}]}, {text:"Variables",url:"functions_vars.html",children:[ -{text:"a",url:"functions_vars.html#index_a"}, -{text:"b",url:"functions_vars.html#index_b"}, -{text:"c",url:"functions_vars.html#index_c"}, -{text:"d",url:"functions_vars.html#index_d"}, -{text:"e",url:"functions_vars.html#index_e"}, -{text:"h",url:"functions_vars.html#index_h"}, -{text:"i",url:"functions_vars.html#index_i"}, -{text:"k",url:"functions_vars.html#index_k"}, -{text:"l",url:"functions_vars.html#index_l"}, -{text:"m",url:"functions_vars.html#index_m"}, -{text:"n",url:"functions_vars.html#index_n"}, -{text:"o",url:"functions_vars.html#index_o"}, -{text:"p",url:"functions_vars.html#index_p"}, -{text:"s",url:"functions_vars.html#index_s"}, -{text:"t",url:"functions_vars.html#index_t"}, -{text:"u",url:"functions_vars.html#index_u"}, -{text:"w",url:"functions_vars.html#index_w"}, -{text:"x",url:"functions_vars.html#index_x"}, -{text:"y",url:"functions_vars.html#index_y"}]}, -{text:"Related Functions",url:"functions_rela.html"}]}]}, +{text:"_",url:"functions_vars.html#index__"}, +{text:"a",url:"functions_vars_a.html#index_a"}, +{text:"b",url:"functions_vars_b.html#index_b"}, +{text:"c",url:"functions_vars_c.html#index_c"}, +{text:"d",url:"functions_vars_d.html#index_d"}, +{text:"e",url:"functions_vars_e.html#index_e"}, +{text:"f",url:"functions_vars_f.html#index_f"}, +{text:"h",url:"functions_vars_h.html#index_h"}, +{text:"i",url:"functions_vars_i.html#index_i"}, +{text:"k",url:"functions_vars_k.html#index_k"}, +{text:"l",url:"functions_vars_l.html#index_l"}, +{text:"m",url:"functions_vars_m.html#index_m"}, +{text:"n",url:"functions_vars_n.html#index_n"}, +{text:"o",url:"functions_vars_o.html#index_o"}, +{text:"p",url:"functions_vars_p.html#index_p"}, +{text:"r",url:"functions_vars_r.html#index_r"}, +{text:"s",url:"functions_vars_s.html#index_s"}, +{text:"t",url:"functions_vars_t.html#index_t"}, +{text:"u",url:"functions_vars_u.html#index_u"}, +{text:"v",url:"functions_vars_v.html#index_v"}, +{text:"w",url:"functions_vars_w.html#index_w"}, +{text:"x",url:"functions_vars_x.html#index_x"}, +{text:"y",url:"functions_vars_y.html#index_y"}]}, +{text:"Typedefs",url:"functions_type.html",children:[ +{text:"a",url:"functions_type.html#index_a"}, +{text:"b",url:"functions_type.html#index_b"}, +{text:"c",url:"functions_type.html#index_c"}, +{text:"d",url:"functions_type.html#index_d"}, +{text:"e",url:"functions_type.html#index_e"}, +{text:"i",url:"functions_type.html#index_i"}, +{text:"j",url:"functions_type.html#index_j"}, +{text:"k",url:"functions_type.html#index_k"}, +{text:"l",url:"functions_type.html#index_l"}, +{text:"m",url:"functions_type.html#index_m"}, +{text:"n",url:"functions_type.html#index_n"}, +{text:"o",url:"functions_type.html#index_o"}, +{text:"p",url:"functions_type.html#index_p"}, +{text:"r",url:"functions_type.html#index_r"}, +{text:"s",url:"functions_type.html#index_s"}, +{text:"t",url:"functions_type.html#index_t"}, +{text:"v",url:"functions_type.html#index_v"}]}, +{text:"Enumerations",url:"functions_enum.html"}, +{text:"Related Functions",url:"functions_rela.html",children:[ +{text:":",url:"functions_rela.html#index_0x3a"}, +{text:"b",url:"functions_rela.html#index_b"}, +{text:"c",url:"functions_rela.html#index_c"}, +{text:"d",url:"functions_rela.html#index_d"}, +{text:"e",url:"functions_rela.html#index_e"}, +{text:"m",url:"functions_rela.html#index_m"}, +{text:"o",url:"functions_rela.html#index_o"}, +{text:"p",url:"functions_rela.html#index_p"}, +{text:"r",url:"functions_rela.html#index_r"}, +{text:"s",url:"functions_rela.html#index_s"}, +{text:"t",url:"functions_rela.html#index_t"}, +{text:"v",url:"functions_rela.html#index_v"}, +{text:"w",url:"functions_rela.html#index_w"}]}]}]}, {text:"Files",url:"files.html",children:[ -{text:"File List",url:"files.html"}]}]} +{text:"File List",url:"files.html"}, +{text:"File Members",url:"globals.html",children:[ +{text:"All",url:"globals.html",children:[ +{text:"i",url:"globals.html#index_i"}, +{text:"j",url:"globals_j.html#index_j"}, +{text:"n",url:"globals_n.html#index_n"}, +{text:"o",url:"globals_o.html#index_o"}]}, +{text:"Functions",url:"globals_func.html"}, +{text:"Typedefs",url:"globals_type.html"}, +{text:"Macros",url:"globals_defs.html",children:[ +{text:"i",url:"globals_defs.html#index_i"}, +{text:"j",url:"globals_defs_j.html#index_j"}, +{text:"n",url:"globals_defs_n.html#index_n"}]}]}]}]} diff --git a/docs/modules.html b/docs/modules.html index f948428e..a79a93d8 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -99,8 +99,9 @@  OperationGraphQuery  OperationGraphBuilder_v8  PointWiseDescBuilder_v8 - TensorBuilder_v8 - VariantPackBuilder_v8 + ReductionDescBuilder_v8 + TensorBuilder_v8 + VariantPackBuilder_v8 diff --git a/docs/modules.js b/docs/modules.js index 43391766..f0bf55c8 100644 --- a/docs/modules.js +++ b/docs/modules.js @@ -12,6 +12,7 @@ var modules = [ "OperationGraphQuery", "d1/df7/group__OperationGraphQuery.html", "d1/df7/group__OperationGraphQuery" ], [ "OperationGraphBuilder_v8", "d2/df5/group__OperationGraphBuilder__v8.html", "d2/df5/group__OperationGraphBuilder__v8" ], [ "PointWiseDescBuilder_v8", "d2/db5/group__PointWiseDescBuilder__v8.html", "d2/db5/group__PointWiseDescBuilder__v8" ], + [ "ReductionDescBuilder_v8", "d8/d95/group__ReductionDescBuilder__v8.html", "d8/d95/group__ReductionDescBuilder__v8" ], [ "TensorBuilder_v8", "d3/d3c/group__TensorBuilder__v8.html", "d3/d3c/group__TensorBuilder__v8" ], [ "VariantPackBuilder_v8", "d5/def/group__VariantPackBuilder__v8.html", "d5/def/group__VariantPackBuilder__v8" ] ]; \ No newline at end of file diff --git a/docs/namespacemembers.html b/docs/namespacemembers.html index 65c765e4..138c30f2 100644 --- a/docs/namespacemembers.html +++ b/docs/namespacemembers.html @@ -82,7 +82,42 @@
                                                                                                Here is a list of all namespace members with links to the namespace documentation for each member:
                                                                                                +

                                                                                                - a -

                                                                                                + + +

                                                                                                - b -

                                                                                                + +

                                                                                                - c -

                                                                                                diff --git a/docs/namespacemembers_enum.html b/docs/namespacemembers_enum.html index 3ef57dda..db00cf12 100644 --- a/docs/namespacemembers_enum.html +++ b/docs/namespacemembers_enum.html @@ -81,9 +81,24 @@
                                                                                                 
                                                                                                diff --git a/docs/namespacemembers_func.html b/docs/namespacemembers_func.html index 766220ef..e439f38c 100644 --- a/docs/namespacemembers_func.html +++ b/docs/namespacemembers_func.html @@ -80,28 +80,188 @@
                                                                                                diff --git a/docs/namespacemembers_type.html b/docs/namespacemembers_type.html index 96caa24c..a6a8ef60 100644 --- a/docs/namespacemembers_type.html +++ b/docs/namespacemembers_type.html @@ -80,13 +80,57 @@
                                                                                                diff --git a/docs/namespacemembers_vars.html b/docs/namespacemembers_vars.html new file mode 100644 index 00000000..bc58ee67 --- /dev/null +++ b/docs/namespacemembers_vars.html @@ -0,0 +1,102 @@ + + + + + + + +CUDNN Frontend API: Namespace Members + + + + + + + + + + + + + + +
                                                                                                +
                                                                                                + + + + + + +
                                                                                                +
                                                                                                CUDNN Frontend API +  8.2.0 +
                                                                                                +
                                                                                                +
                                                                                                + + + + + + + +
                                                                                                +
                                                                                                + +
                                                                                                +
                                                                                                +
                                                                                                + +
                                                                                                + +
                                                                                                +
                                                                                                + + +
                                                                                                + +
                                                                                                + +
                                                                                                +
                                                                                                +
                                                                                                + + + + diff --git a/docs/namespaces.html b/docs/namespaces.html index 2b108ad8..e10e3e2e 100644 --- a/docs/namespaces.html +++ b/docs/namespaces.html @@ -85,8 +85,13 @@
                                                                                                Here is a list of all namespaces with brief descriptions:
                                                                                                - +
                                                                                                [detail level 123]
                                                                                                + + + + +
                                                                                                 Ncudnn_frontend
                                                                                                 NnlohmannNamespace for Niels Lohmann
                                                                                                 NdetailDetail namespace with internal helper functions
                                                                                                 Ncontainer_input_adapter_factory_impl
                                                                                                 Ndtoa_implImplements the Grisu2 algorithm for binary to decimal floating-point conversion
                                                                                                 Nutility_internal
                                                                                                diff --git a/docs/namespaces.js b/docs/namespaces.js index e1bb6814..21170495 100644 --- a/docs/namespaces.js +++ b/docs/namespaces.js @@ -1,4 +1,5 @@ var namespaces = [ - [ "cudnn_frontend", "df/de1/namespacecudnn__frontend.html", null ] + [ "cudnn_frontend", "df/de1/namespacecudnn__frontend.html", null ], + [ "nlohmann", "d3/d9b/namespacenlohmann.html", "d3/d9b/namespacenlohmann" ] ]; \ No newline at end of file diff --git a/docs/navtreedata.js b/docs/navtreedata.js index 6a81332d..95aa6587 100644 --- a/docs/navtreedata.js +++ b/docs/navtreedata.js @@ -3,12 +3,14 @@ var NAVTREE = [ "CUDNN Frontend API", "index.html", [ [ "Introduction", "index.html#Introduction", null ], [ "Why use Frontend API", "index.html#Need", null ], + [ "Deprecated List", "da/d58/deprecated.html", null ], [ "Modules", "modules.html", "modules" ], [ "Namespaces", null, [ [ "Namespace List", "namespaces.html", "namespaces" ], [ "Namespace Members", "namespacemembers.html", [ [ "All", "namespacemembers.html", null ], [ "Functions", "namespacemembers_func.html", null ], + [ "Variables", "namespacemembers_vars.html", null ], [ "Typedefs", "namespacemembers_type.html", null ], [ "Enumerations", "namespacemembers_enum.html", null ] ] ] @@ -20,21 +22,36 @@ var NAVTREE = [ "Class Members", "functions.html", [ [ "All", "functions.html", "functions_dup" ], [ "Functions", "functions_func.html", "functions_func" ], - [ "Variables", "functions_vars.html", null ], + [ "Variables", "functions_vars.html", "functions_vars" ], + [ "Typedefs", "functions_type.html", null ], + [ "Enumerations", "functions_enum.html", null ], [ "Related Functions", "functions_rela.html", null ] ] ] ] ], [ "Files", null, [ - [ "File List", "files.html", "files" ] + [ "File List", "files.html", "files" ], + [ "File Members", "globals.html", [ + [ "All", "globals.html", "globals_dup" ], + [ "Functions", "globals_func.html", null ], + [ "Typedefs", "globals_type.html", null ], + [ "Macros", "globals_defs.html", "globals_defs" ] + ] ] ] ] ] ] ]; var NAVTREEINDEX = [ -"annotated.html", -"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#adf5bf20f5bdfbfdecd05360830b34b89", -"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#afea76414fa5c0c5f38a551afcf11391c" +".html", +"d3/d3c/group__TensorBuilder__v8.html#ga3de3d95beb2234dc2a741d23703f8ed2", +"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a6f5605f25897bba7afc6baf76228828c", +"d5/db8/json_8hpp.html#a7f7c7b9760161b774cdc0b4b838fae64", +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aa03c779d4512b5764895dc341b0ef902", +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#af6b19ef34b2e9ee2321cfaf62ee066cb", +"d9/dcc/classnlohmann_1_1basic__json.html#aac965b84ea43ccd8aef9caefef02794a", +"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a87c53bd36c748fe2327743bd852fb144", +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#aaaa6c0b1d74e74e35e5f7b56dfd6c5d1", +"globals_j.html" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/docs/navtreeindex0.js b/docs/navtreeindex0.js index ac212fb7..b58a7f05 100644 --- a/docs/navtreeindex0.js +++ b/docs/navtreeindex0.js @@ -1,253 +1,253 @@ var NAVTREEINDEX0 = { -"annotated.html":[4,0], -"classes.html":[4,1], -"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html":[4,0,0,27], -"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a0f8d91939842bb9003fe71280f0b230c":[4,0,0,27,10], -"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a3a03ddd893f41a9ce6ca674bbfae7434":[4,0,0,27,7], -"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a3f85d13ac1341b67d85f18761f8dcb35":[4,0,0,27,5], -"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a55a7b12efe39ed7a24631ed05630721d":[4,0,0,27,1], -"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a5c3371913fd88b20557bcc4d8ef93219":[4,0,0,27,9], -"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a7ba1c4736d3b0f187dc06344ca4e2032":[4,0,0,27,4], -"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a7d3416a4e2f6a67e1988e3b3cb77e88b":[4,0,0,27,3], -"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a8fcb5ec8a09de5a6f1f326f2e623cbdf":[4,0,0,27,6], -"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#aa9ce6c30e5e3c2df4d1e9fe2fb4cd6f5":[4,0,0,27,0], -"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#ab2712c9ad5eeaf561408d7245938d0c6":[4,0,0,27,2], -"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#afeaea07e176fa0c943704285f258ba28":[4,0,0,27,8], -"d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html":[4,0,0,12], -"d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a19d632b9f96c91bad2b18446cf32f491":[4,0,0,12,3], -"d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a5228a4a3af391fad0141f30a24be730b":[4,0,0,12,5], -"d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a5667e4567520189eaa96fcd6e934cb29":[4,0,0,12,0], -"d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a8740e967b981abf94dc2c53eb8786ceb":[4,0,0,12,1], -"d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#aa046a778075f260f7950ee5a51c2addb":[4,0,0,12,8], -"d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#ab3ff1b538521fdea588d8ac155f6e88c":[4,0,0,12,4], -"d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#af5318bb3e2700f53e299f8526e7a524f":[4,0,0,12,2], -"d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html":[4,0,0,20], -"d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a8724628060c71b17e7458c01338b234a":[4,0,0,20,26], -"d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a98044359c005b796e35fba1a5b689f3d":[4,0,0,20,25], -"d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#aa0df558c603d8316dd3eb2d5bfd67c9d":[4,0,0,20,1], -"d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#ac806a488b58cc78e338ba96eccee70fd":[4,0,0,20,24], -"d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#ad82e287889be2ebef348a00479ce3bc0":[4,0,0,20,23], -"d1/d74/classcudnn__frontend_1_1ExecutionPlanBuilder__v8.html":[4,0,0,15], -"d1/de7/cudnn__frontend__ConvDesc_8h.html":[5,0,2], -"d1/de7/cudnn__frontend__ConvDesc_8h_source.html":[5,0,2], -"d1/df7/group__OperationGraphQuery.html":[2,9], -"d1/df7/group__OperationGraphQuery.html#ga7a7a8d03f5a3aa54f14b83be4abe2a26":[2,9,0], -"d1/df7/group__OperationGraphQuery.html#ga7a7a8d03f5a3aa54f14b83be4abe2a26":[4,0,0,21,5], -"d2/d3b/cudnn__frontend__get__plan_8h.html":[5,0,10], -"d2/d3b/cudnn__frontend__get__plan_8h_source.html":[5,0,10], -"d2/db5/group__PointWiseDescBuilder__v8.html":[2,11], -"d2/db5/group__PointWiseDescBuilder__v8.html#ga124ebb4a416c645cd0b68f59545c62a8":[2,11,0], -"d2/db5/group__PointWiseDescBuilder__v8.html#ga124ebb4a416c645cd0b68f59545c62a8":[4,0,0,24,6], -"d2/db5/group__PointWiseDescBuilder__v8.html#ga3efa065fc125c5af06bd0a9c543bdb9f":[2,11,1], -"d2/db5/group__PointWiseDescBuilder__v8.html#ga3efa065fc125c5af06bd0a9c543bdb9f":[4,0,0,24,8], -"d2/db5/group__PointWiseDescBuilder__v8.html#ga48264536e68f952e92a0bdbaa84d9363":[2,11,2], -"d2/db5/group__PointWiseDescBuilder__v8.html#ga48264536e68f952e92a0bdbaa84d9363":[4,0,0,24,9], -"d2/db5/group__PointWiseDescBuilder__v8.html#gae5240136e19e0a4094036d48c6b1a3b7":[2,11,3], -"d2/db5/group__PointWiseDescBuilder__v8.html#gae5240136e19e0a4094036d48c6b1a3b7":[4,0,0,24,10], -"d2/dbb/group__EngineConfigBuilder__v8.html":[2,2], -"d2/dbb/group__EngineConfigBuilder__v8.html#ga9673b31268901dfcb97896958687a42a":[2,2,0], -"d2/dbb/group__EngineConfigBuilder__v8.html#ga9673b31268901dfcb97896958687a42a":[4,0,0,7,6], -"d2/df5/group__OperationGraphBuilder__v8.html":[2,10], -"d2/df5/group__OperationGraphBuilder__v8.html#ga4e4cee8d631471478d5de420077a2182":[2,10,1], -"d2/df5/group__OperationGraphBuilder__v8.html#ga4e4cee8d631471478d5de420077a2182":[4,0,0,22,7], -"d2/df5/group__OperationGraphBuilder__v8.html#ga5b5d8a3121e92a8a7d47341b424298f8":[2,10,0], -"d2/df5/group__OperationGraphBuilder__v8.html#ga5b5d8a3121e92a8a7d47341b424298f8":[4,0,0,22,6], -"d3/d09/group__EngineBuilder__v8.html":[2,1], -"d3/d09/group__EngineBuilder__v8.html#ga0ceef322363405504dbdc4d1f3c9949a":[2,1,1], -"d3/d09/group__EngineBuilder__v8.html#ga0ceef322363405504dbdc4d1f3c9949a":[4,0,0,5,7], -"d3/d09/group__EngineBuilder__v8.html#ga2b171d44da46865d536236bb01103005":[2,1,0], -"d3/d09/group__EngineBuilder__v8.html#ga2b171d44da46865d536236bb01103005":[4,0,0,5,6], -"d3/d09/group__EngineBuilder__v8.html#ga7220dab88f9fed1704c9d78d9771be5f":[2,1,2], -"d3/d09/group__EngineBuilder__v8.html#ga7220dab88f9fed1704c9d78d9771be5f":[4,0,0,5,8], -"d3/d3c/group__TensorBuilder__v8.html":[2,12], -"d3/d3c/group__TensorBuilder__v8.html#ga385ec2c39e6386af7421f27330ed128b":[2,12,0], -"d3/d3c/group__TensorBuilder__v8.html#ga385ec2c39e6386af7421f27330ed128b":[4,0,0,26,6], -"d3/d3c/group__TensorBuilder__v8.html#ga3de3d95beb2234dc2a741d23703f8ed2":[2,12,4], -"d3/d3c/group__TensorBuilder__v8.html#ga3de3d95beb2234dc2a741d23703f8ed2":[4,0,0,26,10], -"d3/d3c/group__TensorBuilder__v8.html#ga6bdaeab1bff548d375e57936b64fb05a":[2,12,3], -"d3/d3c/group__TensorBuilder__v8.html#ga6bdaeab1bff548d375e57936b64fb05a":[4,0,0,26,9], -"d3/d3c/group__TensorBuilder__v8.html#ga7d5d978de243e47938eb1f224a38d02d":[2,12,5], -"d3/d3c/group__TensorBuilder__v8.html#ga7d5d978de243e47938eb1f224a38d02d":[4,0,0,26,11], -"d3/d3c/group__TensorBuilder__v8.html#ga98275e4d36e37ef5d73f13bd80f164a3":[2,12,1], -"d3/d3c/group__TensorBuilder__v8.html#ga98275e4d36e37ef5d73f13bd80f164a3":[4,0,0,26,7], -"d3/d3c/group__TensorBuilder__v8.html#gae828806e2d76ca3eb6c4e289f2e93a96":[2,12,2], -"d3/d3c/group__TensorBuilder__v8.html#gae828806e2d76ca3eb6c4e289f2e93a96":[4,0,0,26,8], -"d3/d6b/cudnn__frontend__find__plan_8h.html":[5,0,9], -"d3/d6b/cudnn__frontend__find__plan_8h.html#a148478701949f58a44912cc61dbda1e4":[5,0,9,0], -"d3/d6b/cudnn__frontend__find__plan_8h_source.html":[5,0,9], -"d3/d92/group__OperationBuilder__v8.html":[2,8], -"d3/d92/group__OperationBuilder__v8.html#ga04c2492a5376f1a74a57fb49fa7b3599":[2,8,20], -"d3/d92/group__OperationBuilder__v8.html#ga04c2492a5376f1a74a57fb49fa7b3599":[4,0,0,20,21], -"d3/d92/group__OperationBuilder__v8.html#ga06cdcfeda1b702412be41addd73bb947":[4,0,0,20,4], -"d3/d92/group__OperationBuilder__v8.html#ga06cdcfeda1b702412be41addd73bb947":[2,8,3], -"d3/d92/group__OperationBuilder__v8.html#ga08f3d4cb5138174127d0f6899f7bc53b":[2,8,14], -"d3/d92/group__OperationBuilder__v8.html#ga08f3d4cb5138174127d0f6899f7bc53b":[4,0,0,20,15], -"d3/d92/group__OperationBuilder__v8.html#ga095c52c8f1b01ebb224265f9000195c0":[4,0,0,20,6], -"d3/d92/group__OperationBuilder__v8.html#ga095c52c8f1b01ebb224265f9000195c0":[2,8,5], -"d3/d92/group__OperationBuilder__v8.html#ga17475846760b10ffdfa536cd92a5b135":[4,0,0,20,7], -"d3/d92/group__OperationBuilder__v8.html#ga17475846760b10ffdfa536cd92a5b135":[2,8,6], -"d3/d92/group__OperationBuilder__v8.html#ga29752062b7308c8da0e625eb35431652":[4,0,0,20,9], -"d3/d92/group__OperationBuilder__v8.html#ga29752062b7308c8da0e625eb35431652":[2,8,8], -"d3/d92/group__OperationBuilder__v8.html#ga35fa5c453a6cd989f35e47c29e6ec665":[2,8,13], -"d3/d92/group__OperationBuilder__v8.html#ga35fa5c453a6cd989f35e47c29e6ec665":[4,0,0,20,14], -"d3/d92/group__OperationBuilder__v8.html#ga3c63744504f65383ce0b847bea804e3f":[4,0,0,20,3], -"d3/d92/group__OperationBuilder__v8.html#ga3c63744504f65383ce0b847bea804e3f":[2,8,2], -"d3/d92/group__OperationBuilder__v8.html#ga3ca1f62832f998566c1b07b4b3c71db4":[2,8,16], -"d3/d92/group__OperationBuilder__v8.html#ga3ca1f62832f998566c1b07b4b3c71db4":[4,0,0,20,17], -"d3/d92/group__OperationBuilder__v8.html#ga425dd00708eaaadffe1c83ef356dc333":[4,0,0,20,0], -"d3/d92/group__OperationBuilder__v8.html#ga425dd00708eaaadffe1c83ef356dc333":[2,8,0], -"d3/d92/group__OperationBuilder__v8.html#ga459671e9d26640528fcf683aaeef05df":[4,0,0,20,5], -"d3/d92/group__OperationBuilder__v8.html#ga459671e9d26640528fcf683aaeef05df":[2,8,4], -"d3/d92/group__OperationBuilder__v8.html#ga5910bc2209e1b648c1aa0edce7f11e01":[2,8,21], -"d3/d92/group__OperationBuilder__v8.html#ga5910bc2209e1b648c1aa0edce7f11e01":[4,0,0,20,22], -"d3/d92/group__OperationBuilder__v8.html#ga5e5d463d5531a9378280fa4b1aee6f63":[2,8,12], -"d3/d92/group__OperationBuilder__v8.html#ga5e5d463d5531a9378280fa4b1aee6f63":[4,0,0,20,13], -"d3/d92/group__OperationBuilder__v8.html#ga65a9ad73912ff46becc93ee451da6af5":[4,0,0,20,8], -"d3/d92/group__OperationBuilder__v8.html#ga65a9ad73912ff46becc93ee451da6af5":[2,8,7], -"d3/d92/group__OperationBuilder__v8.html#ga80466e517e980ba4953e085b3d4e3498":[2,8,18], -"d3/d92/group__OperationBuilder__v8.html#ga80466e517e980ba4953e085b3d4e3498":[4,0,0,20,19], -"d3/d92/group__OperationBuilder__v8.html#ga9e4a1e9a233b44cca5b65f0af172b001":[2,8,15], -"d3/d92/group__OperationBuilder__v8.html#ga9e4a1e9a233b44cca5b65f0af172b001":[4,0,0,20,16], -"d3/d92/group__OperationBuilder__v8.html#gaa82e018b6a9d514ad912b922f43adad2":[2,8,10], -"d3/d92/group__OperationBuilder__v8.html#gaa82e018b6a9d514ad912b922f43adad2":[4,0,0,20,11], -"d3/d92/group__OperationBuilder__v8.html#gaa8eed29a0181e044ea0263ba655127ec":[4,0,0,20,10], -"d3/d92/group__OperationBuilder__v8.html#gaa8eed29a0181e044ea0263ba655127ec":[2,8,9], -"d3/d92/group__OperationBuilder__v8.html#gaaf9d7cbc65c7c7526a6f15d4ad2952fa":[2,8,11], -"d3/d92/group__OperationBuilder__v8.html#gaaf9d7cbc65c7c7526a6f15d4ad2952fa":[4,0,0,20,12], -"d3/d92/group__OperationBuilder__v8.html#gab4241b96e7374d821681e97259d39d83":[4,0,0,20,2], -"d3/d92/group__OperationBuilder__v8.html#gab4241b96e7374d821681e97259d39d83":[2,8,1], -"d3/d92/group__OperationBuilder__v8.html#gae6b06877b2e675b2a390f0b122100669":[2,8,17], -"d3/d92/group__OperationBuilder__v8.html#gae6b06877b2e675b2a390f0b122100669":[4,0,0,20,18], -"d3/d92/group__OperationBuilder__v8.html#gaefa06fdaae3b28c6ef08a0189e2a3d3a":[2,8,19], -"d3/d92/group__OperationBuilder__v8.html#gaefa06fdaae3b28c6ef08a0189e2a3d3a":[4,0,0,20,20], -"d3/d98/cudnn__frontend__Tensor_8h.html":[5,0,16], -"d3/d98/cudnn__frontend__Tensor_8h_source.html":[5,0,16], -"d3/ddd/group__ConvDescBuilder__v8.html":[2,0], -"d3/ddd/group__ConvDescBuilder__v8.html#ga2c481d46d71fe909247f50ba2772b7ce":[4,0,0,2,12], -"d3/ddd/group__ConvDescBuilder__v8.html#ga2c481d46d71fe909247f50ba2772b7ce":[2,0,6], -"d3/ddd/group__ConvDescBuilder__v8.html#ga3b752afba659c8e92e7ad1ca71d62f2f":[2,0,2], -"d3/ddd/group__ConvDescBuilder__v8.html#ga3b752afba659c8e92e7ad1ca71d62f2f":[4,0,0,2,8], -"d3/ddd/group__ConvDescBuilder__v8.html#ga44915183cb4dddcf23222faca3f84bba":[4,0,0,2,10], -"d3/ddd/group__ConvDescBuilder__v8.html#ga44915183cb4dddcf23222faca3f84bba":[2,0,4], -"d3/ddd/group__ConvDescBuilder__v8.html#gaa41e2cbbebc9d2fd19fa990a48b39d08":[2,0,1], -"d3/ddd/group__ConvDescBuilder__v8.html#gaa41e2cbbebc9d2fd19fa990a48b39d08":[4,0,0,2,7], -"d3/ddd/group__ConvDescBuilder__v8.html#gaacfcf20b0ed61e89bc92970f7bb7a258":[4,0,0,2,9], -"d3/ddd/group__ConvDescBuilder__v8.html#gaacfcf20b0ed61e89bc92970f7bb7a258":[2,0,3], -"d3/ddd/group__ConvDescBuilder__v8.html#gab07bf6292e69d19e6324d3073a86d58c":[4,0,0,2,11], -"d3/ddd/group__ConvDescBuilder__v8.html#gab07bf6292e69d19e6324d3073a86d58c":[2,0,5], -"d3/ddd/group__ConvDescBuilder__v8.html#gad8de00b0e7a86bdda61749e7572a35ac":[4,0,0,2,6], -"d3/ddd/group__ConvDescBuilder__v8.html#gad8de00b0e7a86bdda61749e7572a35ac":[2,0,0], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html":[4,0,0,23], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a1407b6ad40df9af7b191fdf636c2c508":[4,0,0,23,8], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a246795e9bc43f846f701ae4214953412":[4,0,0,23,9], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a26f1b0f84dc331ca9f1330cf6f425d36":[4,0,0,23,10], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a346bf4a4ca5e45b0f19dc8f2fb6b6148":[4,0,0,23,15], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a44917fdd66ea262687c0f0af3ef3b424":[4,0,0,23,1], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a66ada0a9313ced7ed2801097ef523de8":[4,0,0,23,4], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a740aed43da4ed8ab351d926cee6bfc6a":[4,0,0,23,14], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a7f1bee44a57b6dad1ce493cd18ffbc18":[4,0,0,23,12], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a81b0fa4b9ff8bfd2c23ae704f7211962":[4,0,0,23,6], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a963d8bd60aa5d7c5385d5d41595c2cf3":[4,0,0,23,5], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ac00ed56ba83a04edca3f55125332646b":[4,0,0,23,2], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ac2e07a514ec114222b65948960ba76a3":[4,0,0,23,0], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ad6d99d57f2a5b345fe5af5bc777b8d1c":[4,0,0,23,13], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ad8731460bbcf7cb2804dd3a9840f276e":[4,0,0,23,11], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ae3cd0c0051c7e29a9ad86b80308429f3":[4,0,0,23,7], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ae4f638eb928772c13c314f4a022d4978":[4,0,0,23,3], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#afcb75336d3b99afcec3bb947c1f1a0e8":[4,0,0,23,17], -"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#aff19ca9077ac2dca8a9f78df586e11db":[4,0,0,23,16], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html":[4,0,0,19], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a01d1997ae84b86c0565351910bba3416":[4,0,0,19,34], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0414d5eb022c25584d60491f416e6449":[4,0,0,19,13], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a091bf74144eaec6149d610faa289160e":[4,0,0,19,3], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0945c6296efc14ffc41122aaae3946b8":[4,0,0,19,18], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a09f5151a90f805d81550a30617bcec0c":[4,0,0,19,30], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0f14ddfbaae6e62375c46dd0d5ed993d":[4,0,0,19,17], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a1118f19807c9f58cc1d0892bdb1f8c94":[4,0,0,19,16], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a12d0d0fa40152f5205570f40e681795f":[4,0,0,19,25], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a1305e0cdaeb029fd52eb189254afe18c":[4,0,0,19,15], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a19856fbb973574342efedc43134af3a7":[4,0,0,19,19], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a2e1e0fb15b7df300945cae2347db635a":[4,0,0,19,26], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a3425a8550eb9f622dc4101d3d5d2c0e1":[4,0,0,19,4], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4003061754cc4b0003a72cc474fca8d9":[4,0,0,19,10], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a43cbfcab995a238e2001c4ec6543ae50":[4,0,0,19,28], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4a71d73a1231c39e51a74f750586a733":[4,0,0,19,12], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f30409838436d0c4dea5271af86f9b7":[4,0,0,19,22], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f533db7bc67978d1ec1a475f4ab9e1c":[4,0,0,19,9], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f565db1b8b85ea43d60631cd3414f47":[4,0,0,19,21], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a5012e920483271f655bc04d6f52dc41f":[4,0,0,19,7], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a5c6b2986d2d703c672b5fc461f2eee05":[4,0,0,19,31], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a67d82f53ecbdfe2416d2a26410138d78":[4,0,0,19,1], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a736317246d52e774170bc60511870932":[4,0,0,19,29], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a810b2f50d53d6655c2048d3c3afbcfc4":[4,0,0,19,2], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a81e9b10c7231ba9ffba37f7fab531a69":[4,0,0,19,35], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#aac54965185417e264093156b143a3751":[4,0,0,19,32], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#ab2692d9f28861a73d590a53f979d26fa":[4,0,0,19,6], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#ab8c4c8c81e8cebc44cb725f4a4b4add9":[4,0,0,19,24], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#ac4b85cbb9ba522c98eb524a7712721af":[4,0,0,19,27], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#ac708bb46683440effd2f46b3888e378f":[4,0,0,19,8], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#ad26bd872d417f6a9bff65768bb02e05f":[4,0,0,19,33], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#ad45e7200660f993615e34ceeb9ec49c6":[4,0,0,19,0], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#adea4f5ef82e61fc375fd2c3ee8e92147":[4,0,0,19,20], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#adf6b55205eac4c52c0ab70e4758e33da":[4,0,0,19,23], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#ae0e0256b292acd560accc1c02a6e393b":[4,0,0,19,14], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#ae5cba10d789e4d08b45339a702ba75f3":[4,0,0,19,5], -"d4/d30/classcudnn__frontend_1_1Operation__v8.html#aee00f6897786ce0f16963a7d2f57a2f8":[4,0,0,19,11], -"d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html":[4,0,0,22], -"d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a101b6c9515fdb333cdd3499f08774cf4":[4,0,0,22,0], -"d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a40e8f7825f75c35c40d9938532a81d02":[4,0,0,22,2], -"d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a45e8a324d62146f592b049f51d2e4552":[4,0,0,22,1], -"d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a589dedb418679abda7f64e6b9e2800a1":[4,0,0,22,3], -"d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a75dae8a911e005b960565d4a1a0024ba":[4,0,0,22,5], -"d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#ac78945f424f254f0060d4c2e1184cf1f":[4,0,0,22,4], -"d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#ad9cb3e166ab001b3b0c60ed2198cd6d9":[4,0,0,22,8], -"d4/d6b/group__EngineFallbackListBuilder__v8.html":[2,3], -"d4/d6b/group__EngineFallbackListBuilder__v8.html#ga45c7c761a47a7731055ad0f943449610":[2,3,1], -"d4/d6b/group__EngineFallbackListBuilder__v8.html#ga45c7c761a47a7731055ad0f943449610":[4,0,0,10,7], -"d4/d6b/group__EngineFallbackListBuilder__v8.html#gaf66485fe1a0faccab971edd0c70f04b4":[2,3,0], -"d4/d6b/group__EngineFallbackListBuilder__v8.html#gaf66485fe1a0faccab971edd0c70f04b4":[4,0,0,10,6], -"d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html":[4,0,0,28], -"d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a16d853685d603472bf260e500f55c145":[4,0,0,28,2], -"d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a27a6e5a2602262c35a8ea8533ef5a635":[4,0,0,28,1], -"d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a41a6e8afb46228fea2310f5cad75badc":[4,0,0,28,10], -"d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a7690f854d9e6fc2d4df059fca0e91c6a":[4,0,0,28,0], -"d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#abf794751941aa252c19e1879306375d3":[4,0,0,28,4], -"d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#ac7a523746975d15fd8dc54af0764dcb0":[4,0,0,28,3], -"d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#acee84ffc33b41807cdcb18425e9fced1":[4,0,0,28,5], -"d4/de1/group__ExecutionPlanBuilder__v8.html":[2,4,0], -"d4/de1/group__ExecutionPlanBuilder__v8.html#ga4166679391fc2df54e25964c03ae6e8e":[4,0,0,15,8], -"d4/de1/group__ExecutionPlanBuilder__v8.html#ga4166679391fc2df54e25964c03ae6e8e":[2,4,0,2], -"d4/de1/group__ExecutionPlanBuilder__v8.html#gac5c23cff8c1424f71ef2cee2dc66cd3c":[4,0,0,15,6], -"d4/de1/group__ExecutionPlanBuilder__v8.html#gac5c23cff8c1424f71ef2cee2dc66cd3c":[2,4,0,0], -"d4/de1/group__ExecutionPlanBuilder__v8.html#gae0f92d5445da53253ff3460ac6aefffa":[4,0,0,15,7], -"d4/de1/group__ExecutionPlanBuilder__v8.html#gae0f92d5445da53253ff3460ac6aefffa":[2,4,0,1], -"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html":[4,0,0,24], -"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a0514e70d05a21a9c46bc66d1e61c28f5":[4,0,0,24,13], -"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a5de642e4141705f8e06c4bf566f1d332":[4,0,0,24,4], -"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a6f5605f25897bba7afc6baf76228828c":[4,0,0,24,0], -"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a804a2b5438f464185b16a4652fc14cf5":[4,0,0,24,16], -"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a8bdbf27c37334f5b61a65eb1bd4b6a98":[4,0,0,24,7], -"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aa93615adf69e7a87a06d0cea687794a6":[4,0,0,24,12], -"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aad41d0f7b6667383fd9012bc492a13c3":[4,0,0,24,15], -"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ab692e5a2b3970346f68af33530ef98e8":[4,0,0,24,14], -"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ac0d140493e21b164bc21dd0bcbeeaa65":[4,0,0,24,5], -"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ad6a7549d62410d3de87040586b49b815":[4,0,0,24,2], -"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aeccd727adb1d3b0b8d9d95b7f6e1b9ce":[4,0,0,24,3], -"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#af976fab4a7726609a1b10dc2a8bcdf65":[4,0,0,24,1], -"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#afdbe0ce3f7fb2f0d23251ccb7507bc69":[4,0,0,24,11], -"d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html":[4,0,0,14], -"d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#a00c29ad02430927df9260c7e57ae7c7a":[4,0,0,14,9], -"d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#a8a8ac13b1c639dd9b87c280a598446af":[4,0,0,14,1], -"d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#ac388ed7f6911f704ed2618a3867fad72":[4,0,0,14,0], -"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html":[4,0,0,18], -"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a10487abe0a45d35824ec75b0d3894f21":[4,0,0,18,9], -"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a42a928eb5b2524d1c3f67b7200dd53c9":[4,0,0,18,0], -"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a47968d641c0da8d33882f86d8afa30b4":[4,0,0,18,8], -"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a997d733607e747516eb2334c51c48f29":[4,0,0,18,1], -"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a9f549dd95873ac3a02689ef97f4a6c75":[4,0,0,18,3], -"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#aa9059097bb9161d454c6e17b03ca236c":[4,0,0,18,6], -"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#aadf0c53d7aedb1c6c121b2736e98b2dd":[4,0,0,18,2], -"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#abd4f69554da364008f3780e9dc3a5bfc":[4,0,0,18,5], -"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#ac1700c7d96af0250e5721f5e5f9d95bc":[4,0,0,18,4] +".html":[5,0,2], +"annotated.html":[5,0], +"classes.html":[5,1], +"d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html":[5,0,1,0,40], +"d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html#a24d97696ca33fba8096e452b1901a8e6":[5,0,1,0,40,0], +"d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html#a8fd20d5e7d65d14b4e9f4ee181a3aded":[5,0,1,0,40,2], +"d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html#ab267aabfe36c5b9c305c5e5faf06ea36":[5,0,1,0,40,1], +"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html":[5,0,0,29], +"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a0f8d91939842bb9003fe71280f0b230c":[5,0,0,29,10], +"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a3a03ddd893f41a9ce6ca674bbfae7434":[5,0,0,29,7], +"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a3f85d13ac1341b67d85f18761f8dcb35":[5,0,0,29,5], +"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a55a7b12efe39ed7a24631ed05630721d":[5,0,0,29,1], +"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a5c3371913fd88b20557bcc4d8ef93219":[5,0,0,29,9], +"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a7ba1c4736d3b0f187dc06344ca4e2032":[5,0,0,29,4], +"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a7d3416a4e2f6a67e1988e3b3cb77e88b":[5,0,0,29,3], +"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a8fcb5ec8a09de5a6f1f326f2e623cbdf":[5,0,0,29,6], +"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#aa9ce6c30e5e3c2df4d1e9fe2fb4cd6f5":[5,0,0,29,0], +"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#ab2712c9ad5eeaf561408d7245938d0c6":[5,0,0,29,2], +"d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#afeaea07e176fa0c943704285f258ba28":[5,0,0,29,8], +"d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html":[5,0,1,0,23], +"d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html#a4d1c8c5e3080360d4ba3d4701b00d442":[5,0,1,0,23,1], +"d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html#ac0718a48961f28e32604e1b16c6f2e8d":[5,0,1,0,23,0], +"d0/d82/structnlohmann_1_1json__sax.html":[5,0,1,5], +"d0/d82/structnlohmann_1_1json__sax.html#a0671528b0debb5a348169d61f0382a0f":[5,0,1,5,22], +"d0/d82/structnlohmann_1_1json__sax.html#a07eab82f6c82d606787eee9ad73d2bda":[5,0,1,5,23], +"d0/d82/structnlohmann_1_1json__sax.html#a0ad26edef3f8d530dcec3192bba82df6":[5,0,1,5,14], +"d0/d82/structnlohmann_1_1json__sax.html#a0cef30121f02b7fee85e9708148ea0aa":[5,0,1,5,2], +"d0/d82/structnlohmann_1_1json__sax.html#a0ef406ba81eef08aadf4a9ef48d742bd":[5,0,1,5,0], +"d0/d82/structnlohmann_1_1json__sax.html#a1a90dae111cf189ac9ad340a60b199b6":[5,0,1,5,18], +"d0/d82/structnlohmann_1_1json__sax.html#a235ee975617f28e6a996d1e36a282312":[5,0,1,5,11], +"d0/d82/structnlohmann_1_1json__sax.html#a2e0c7ecd80b18d18a8cc76f71cfc2028":[5,0,1,5,13], +"d0/d82/structnlohmann_1_1json__sax.html#a32028cc056ae0f43aaae331cdbbbf856":[5,0,1,5,3], +"d0/d82/structnlohmann_1_1json__sax.html#a38c2dbde07138cc436ea7fbf22c1e92d":[5,0,1,5,9], +"d0/d82/structnlohmann_1_1json__sax.html#a390c209bffd8c4800c8f3076dc465a20":[5,0,1,5,1], +"d0/d82/structnlohmann_1_1json__sax.html#a5c53878cf08d463eb4e7ca0270532572":[5,0,1,5,21], +"d0/d82/structnlohmann_1_1json__sax.html#a60287e3bd85f489e04c83f7e3b76e613":[5,0,1,5,20], +"d0/d82/structnlohmann_1_1json__sax.html#a62dae3713ca4914265904e30cd6b6347":[5,0,1,5,7], +"d0/d82/structnlohmann_1_1json__sax.html#a82ed080814fa656191a537284bb0c575":[5,0,1,5,10], +"d0/d82/structnlohmann_1_1json__sax.html#a8358c063b2d7222b3aafa62fded04403":[5,0,1,5,6], +"d0/d82/structnlohmann_1_1json__sax.html#aac0f445c1173fa731104d93496a7e780":[5,0,1,5,5], +"d0/d82/structnlohmann_1_1json__sax.html#ac74584e3dc41f2465e69b37d7d2bf694":[5,0,1,5,19], +"d0/d82/structnlohmann_1_1json__sax.html#ad0c722d53ff97be700ccf6a9468bd456":[5,0,1,5,12], +"d0/d82/structnlohmann_1_1json__sax.html#ad9b253083e0509923ba195136f49face":[5,0,1,5,17], +"d0/d82/structnlohmann_1_1json__sax.html#ae01977a9f3c5b3667b7a2929ed91061e":[5,0,1,5,4], +"d0/d82/structnlohmann_1_1json__sax.html#ae7c31614e8a82164d2d7f8dbf4671b25":[5,0,1,5,15], +"d0/d82/structnlohmann_1_1json__sax.html#af31bacfa81aa7818d8639d1da65c8eb5":[5,0,1,5,8], +"d0/d82/structnlohmann_1_1json__sax.html#affa7a78b8e9cc9cc3ac99927143142a5":[5,0,1,5,16], +"d0/d8d/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4.html":[5,0,1,0,79], +"d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html":[5,0,1,0,46], +"d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html#adac1e17a2ddf9ac94be736e96e8943a9":[5,0,1,0,46,0], +"d0/db1/structnlohmann_1_1detail_1_1identity__tag.html":[5,0,1,0,28], +"d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html":[5,0,1,0,0,1], +"d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html#a282eae71ce3b7a4249c6bc06da8b2670":[5,0,1,0,0,1,1], +"d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html#aa801458464e2dc726530463d35310abf":[5,0,1,0,0,1,0], +"d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html":[5,0,1,0,49], +"d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html#a1e4cacef2d41bdc682a1e2946edb0a41":[5,0,1,0,49,0], +"d1/d21/structnlohmann_1_1detail_1_1is__compatible__integer__type.html":[5,0,1,0,38], +"d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html":[5,0,0,12], +"d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a19d632b9f96c91bad2b18446cf32f491":[5,0,0,12,3], +"d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a5228a4a3af391fad0141f30a24be730b":[5,0,0,12,5], +"d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a5667e4567520189eaa96fcd6e934cb29":[5,0,0,12,0], +"d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a8740e967b981abf94dc2c53eb8786ceb":[5,0,0,12,1], +"d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#aa046a778075f260f7950ee5a51c2addb":[5,0,0,12,8], +"d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#ab3ff1b538521fdea588d8ac155f6e88c":[5,0,0,12,4], +"d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#af5318bb3e2700f53e299f8526e7a524f":[5,0,0,12,2], +"d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html":[5,0,0,20], +"d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a65bf6693a5952e65b856dfdf9ad68770":[5,0,0,20,27], +"d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a8724628060c71b17e7458c01338b234a":[5,0,0,20,28], +"d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a98044359c005b796e35fba1a5b689f3d":[5,0,0,20,26], +"d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#aa0df558c603d8316dd3eb2d5bfd67c9d":[5,0,0,20,1], +"d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#ac806a488b58cc78e338ba96eccee70fd":[5,0,0,20,25], +"d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#ad82e287889be2ebef348a00479ce3bc0":[5,0,0,20,24], +"d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html":[5,0,1,0,81], +"d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#a067c98d2145bb54d862f4794ac1287bb":[5,0,1,0,81,5], +"d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#a34e1bc8ab7adbbab5f7d8c45a964020b":[5,0,1,0,81,1], +"d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#a474adf99bf1eaa8292284fd3064c80fe":[5,0,1,0,81,3], +"d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#a65d4be40c41ddc31fd2c3583d87d5faf":[5,0,1,0,81,2], +"d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#adb3ffd1849091f6edb5c2d6e650e4266":[5,0,1,0,81,0], +"d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#af8733df7fcaebb25434285885db7f127":[5,0,1,0,81,4], +"d1/d62/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory.html":[5,0,1,0,0,0], +"d1/d74/classcudnn__frontend_1_1ExecutionPlanBuilder__v8.html":[5,0,0,15], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html":[5,0,1,0,82], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a0d14cd76203e00bdcef6a64a5d055cc7":[5,0,1,0,82,27], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a0dd9c415b94a02ff2aa25da75e52da30":[5,0,1,0,82,21], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a15dfb2744fed2ef40c12a9e9a20d6dbc":[5,0,1,0,82,14], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a190077df326c10886020bbcfaa169b20":[5,0,1,0,82,15], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a1fc43e764467b8ea4a4cdd01f629d757":[5,0,1,0,82,23], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a23e50ad4c13aa62d9ac7f60a123823ee":[5,0,1,0,82,36], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a28328d17a18d9754c89c5c8159677a6f":[5,0,1,0,82,43], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a2f7ea9f7022850809c60fc3263775840":[5,0,1,0,82,1], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a31090f248ce10fd7b386027c1a19c16f":[5,0,1,0,82,8], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a3eef94f9d167046e7f773aeb6b78090c":[5,0,1,0,82,20], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a3fc5c9a782628d91047aa35f40bb7fdc":[5,0,1,0,82,9], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a49bf3e708a9c1c88c415011735962d06":[5,0,1,0,82,22], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a4a60e9d074cc53929b73eaa7963f1fa9":[5,0,1,0,82,41], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a5be8001be099c6b82310f4d387b953ce":[5,0,1,0,82,6], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a5ca57856d9bba54a5fc51cee891de827":[5,0,1,0,82,16], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a603ba9c477f878a69ed281becca6f56a":[5,0,1,0,82,10], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a634f85da575cb60b012a687efa26e11a":[5,0,1,0,82,34], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a69e52f890ce8c556fd68ce109e24b360":[5,0,1,0,82,5], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a6da3d2b34528aff328f3dcb513076dec":[5,0,1,0,82,26], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a7159ed1cfe7c423a2baef8bea0c94509":[5,0,1,0,82,31], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a71f84fb6e009619f12972bcf9002b8cd":[5,0,1,0,82,12], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a7d2397773b2dce42f30f0375a6a1d850":[5,0,1,0,82,18], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a84e689fb581d651d130039f7cb81494a":[5,0,1,0,82,24], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a867f7eb55091be31b013adb3e46816d3":[5,0,1,0,82,13], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a88a00484ac201c52fc5f613d88a2918b":[5,0,1,0,82,11], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a8a86a7c0d4af0cc4ab345b6f0e13cdfa":[5,0,1,0,82,45], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a8ef76aeb5a5032768f0f61f48ac189c0":[5,0,1,0,82,17], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a94108d1a7563e103534f23eb5c1ee175":[5,0,1,0,82,39], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a9a5cd7864a8f848ef107d3f5a330f5e7":[5,0,1,0,82,30], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aa4bddeaa9a97b2a9b715918a7e8dcc3a":[5,0,1,0,82,40], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aaddab83c2b4023cb0f0fdbc757c54f65":[5,0,1,0,82,32], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aaf3620b8dfa4bed8a9ac2b51dd55dbd7":[5,0,1,0,82,33], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ab35586a44f2222272c5346baa3013f67":[5,0,1,0,82,7], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ab447c50354c6611fa2ae0100ac17845c":[5,0,1,0,82,38], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ab9a9598052e83fa14a2288e56d5dda7c":[5,0,1,0,82,3], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aba0841e618c77cc65ccfd52164c346b9":[5,0,1,0,82,46], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#abc2f80067020fae59d7fbccf39f1547a":[5,0,1,0,82,37], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#abcc9d51bc52f2e8483bbe4018f05e978":[5,0,1,0,82,25], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#abdfe2a7f464400a7ab572782d14b922f":[5,0,1,0,82,19], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#abf18f18793f84b0222aebb5a2a87da7a":[5,0,1,0,82,42], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ac0b9276f1102ed4b9cd3f5f56287e3ce":[5,0,1,0,82,35], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ac501dc2374b4d17a884fc9a656e80d5a":[5,0,1,0,82,44], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ac6f71b36d7c87e427d1fee83f2600fad":[5,0,1,0,82,28], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ac7c5a1f964aa1c02f7b046029a5c8904":[5,0,1,0,82,4], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ad9e091f5c70b34b5b1abc1ab15fd9106":[5,0,1,0,82,2], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ae3dc277c25007ac952d57f9a1972ce79":[5,0,1,0,82,29], +"d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aef02cf75b1cb199286fd2f666c60e38e":[5,0,1,0,82,0], +"d1/d8d/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html":[5,0,1,0,54], +"d1/d96/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4.html":[5,0,1,0,6], +"d1/d9b/structnlohmann_1_1detail_1_1static__const.html":[5,0,1,0,117], +"d1/d9b/structnlohmann_1_1detail_1_1static__const.html#a6bb7ab2ddd6abc41fb4ffb7c6dfa237e":[5,0,1,0,117,0], +"d1/de7/cudnn__frontend__ConvDesc_8h.html":[6,0,2], +"d1/de7/cudnn__frontend__ConvDesc_8h_source.html":[6,0,2], +"d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html":[5,0,1,0,120], +"d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a1e797f94449c5c3e68ab468d8caf0db6":[5,0,1,0,120,2], +"d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a2a1884713fedff6c17cdbbe63070d1ac":[5,0,1,0,120,7], +"d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a50f9436820b9caa9708ea69e2ba0230b":[5,0,1,0,120,3], +"d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a6951ed130bc49fbee6e434b62ed187ac":[5,0,1,0,120,4], +"d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a7b9f8684206b5dadf0e96986577dfc24":[5,0,1,0,120,0], +"d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a8966550e615e62978b01d3a252b9c649":[5,0,1,0,120,6], +"d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#aa12146f16f0a22ae3d23bd4af7460fcd":[5,0,1,0,120,1], +"d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#af6bded96214b2fe8edd142d92141550e":[5,0,1,0,120,5], +"d1/df7/group__OperationGraphQuery.html":[3,9], +"d1/df7/group__OperationGraphQuery.html#ga7a7a8d03f5a3aa54f14b83be4abe2a26":[3,9,0], +"d1/df7/group__OperationGraphQuery.html#ga7a7a8d03f5a3aa54f14b83be4abe2a26":[5,0,0,21,5], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html":[5,0,1,0,95], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a22ef94ca5476a9563dcaca15b7d6e654":[5,0,1,0,95,7], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a3a8078bbf865ec355106f6048241609a":[5,0,1,0,95,4], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a3d193985aac764f99398e3ae8ba0c5db":[5,0,1,0,95,5], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a3f5fe42a9b195de8d251d6d98d5ee92c":[5,0,1,0,95,6], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a41876b17c0e8bdb55580eaf5e4e2ded8":[5,0,1,0,95,2], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a5502f483fc60a1bcd73e0e46b6ab36e4":[5,0,1,0,95,1], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a56346d95ee4e539eaded2e6826fecf66":[5,0,1,0,95,0], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a59e1ea5e9c8d25346a564bf9287a5c2a":[5,0,1,0,95,9], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a822bbca11a9fea0aa337018e351755f5":[5,0,1,0,95,16], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a8238e8090cbb4ed8a22cbc97bfb833a5":[5,0,1,0,95,15], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a919645fd1827a561a994d70a435e3f19":[5,0,1,0,95,8], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a95bb3e8b6feaa523ecda8106fb5e38e3":[5,0,1,0,95,14], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a976bf4ce6e9a2ffe48f683ddff80af00":[5,0,1,0,95,12], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#aaa69255e757a6ecc4403a2aa4931fc60":[5,0,1,0,95,17], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#ad15b288f3351287edbe289502f595491":[5,0,1,0,95,13], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#ad7ad55168af6e03ed8b844c94a17b9ce":[5,0,1,0,95,10], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#ae07454608ea6f3cfb765f95e3c850043":[5,0,1,0,95,3], +"d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#aebf8800023eb20d472f111f86b189e60":[5,0,1,0,95,11], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html":[5,0,1,0,112], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a00ce828d0fe58046c10e0445504df7bf":[5,0,1,0,112,4], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a0bf83ab08abe1ae4b51c790c85cdf151":[5,0,1,0,112,10], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a45a7e301c23b5b90417baf2277f40b1d":[5,0,1,0,112,3], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a8d1a7d46b3fcd06edd034f04ededb5e4":[5,0,1,0,112,2], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a901a95e6d73c9509d3dcde914f6c8a9d":[5,0,1,0,112,14], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a9d9b005906106e12aed738f97d7fee42":[5,0,1,0,112,11], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aa011863621357b3cf891670bf63a48b1":[5,0,1,0,112,6], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aa37c37da44f19e6ec1d7d4a9910511c7":[5,0,1,0,112,18], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aae1e1e2ec0e229d1291d69de57d76bbe":[5,0,1,0,112,15], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#abecbf0c73c7fe963a699738065177bc3":[5,0,1,0,112,8], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#ac6d902d6ec9a02dabed5452d3ae78f7e":[5,0,1,0,112,13], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#ad26511012fc88f3ec5d9e1cb708732fd":[5,0,1,0,112,5], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#ad26a823483846a12d890c3feed3097eb":[5,0,1,0,112,12], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#adc7b6ab7810f58afa4d6a5133995c9ba":[5,0,1,0,112,16], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#ae952990886ca1756229f916661a8af81":[5,0,1,0,112,1], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aee01535df0b3b40137d9241029a9a203":[5,0,1,0,112,7], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aef3b5dfeb2cb04dc9d0a024fc1898b98":[5,0,1,0,112,9], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#af3db0d5c90de427d51645fe73a015553":[5,0,1,0,112,0], +"d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#afcb3bcf9da8aa95bd82067d1a67c2326":[5,0,1,0,112,17], +"d2/d2c/structnlohmann_1_1detail_1_1wide__string__input__helper.html":[5,0,1,0,121], +"d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html":[5,0,1,0,107], +"d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html#a2d76cc6c88ddbc196a63fcfcac9ee7d1":[5,0,1,0,107,1], +"d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html#ab5ea4da075305d225dfd84ad997e8747":[5,0,1,0,107,2], +"d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html#ae57cf7d5c5ec641e25860bb9fb8e6cb9":[5,0,1,0,107,3], +"d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html#af3a49ecd0d23fe56ac21e13d8752abc7":[5,0,1,0,107,0], +"d2/d3a/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.html":[5,0,1,0,45], +"d2/d3b/cudnn__frontend__get__plan_8h.html":[6,0,11], +"d2/d3b/cudnn__frontend__get__plan_8h_source.html":[6,0,11], +"d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html":[5,0,1,0,63], +"d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html#a50418a0a88d63afbf7246af49f3e554c":[5,0,1,0,63,1], +"d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html#ae335fdc59d1b0d79e52a808b71b11c67":[5,0,1,0,63,0], +"d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.html":[5,0,1,0,2,2], +"d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.html#a92558ed5df85e65e1a68ec1de14e2a7c":[5,0,1,0,2,2,0], +"d2/d67/classnlohmann_1_1detail_1_1out__of__range.html":[5,0,1,0,103], +"d2/d67/classnlohmann_1_1detail_1_1out__of__range.html#a238f1bda3b6c92b5970fbf9187ccd325":[5,0,1,0,103,1], +"d2/d67/classnlohmann_1_1detail_1_1out__of__range.html#ab5fe402019dba957558499502f0fd731":[5,0,1,0,103,0], +"d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.html":[5,0,1,0,118], +"d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.html#aecfb5114c8a737fc89d98589482795b8":[5,0,1,0,118,0], +"d2/d91/structnlohmann_1_1detail_1_1is__default__constructible.html":[5,0,1,0,69], +"d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html":[5,0,0,26], +"d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a07842acadad9d64d44edef4c30535130":[5,0,0,26,0], +"d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a462f9f96ab258f9dfdb490de30ca9d22":[5,0,0,26,8], +"d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a65ccc3c8414add4b95186deb3cdf60c4":[5,0,0,26,2], +"d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a76e541ac766ba434f144ce05c172c9eb":[5,0,0,26,1], +"d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a84355923606ae86f66264fbcc5c305ad":[5,0,0,26,4], +"d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#aef47d530613f74da45eccf4cd21be982":[5,0,0,26,3], +"d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#af003aa5121b4433e5aa3efc1b53e9086":[5,0,0,26,5], +"d2/db3/structnlohmann_1_1detail_1_1is__complete__type.html":[5,0,1,0,50], +"d2/db5/group__PointWiseDescBuilder__v8.html":[3,11], +"d2/db5/group__PointWiseDescBuilder__v8.html#ga124ebb4a416c645cd0b68f59545c62a8":[3,11,0], +"d2/db5/group__PointWiseDescBuilder__v8.html#ga124ebb4a416c645cd0b68f59545c62a8":[5,0,0,24,6], +"d2/db5/group__PointWiseDescBuilder__v8.html#ga3efa065fc125c5af06bd0a9c543bdb9f":[3,11,1], +"d2/db5/group__PointWiseDescBuilder__v8.html#ga3efa065fc125c5af06bd0a9c543bdb9f":[5,0,0,24,8], +"d2/db5/group__PointWiseDescBuilder__v8.html#ga48264536e68f952e92a0bdbaa84d9363":[3,11,2], +"d2/db5/group__PointWiseDescBuilder__v8.html#ga48264536e68f952e92a0bdbaa84d9363":[5,0,0,24,9], +"d2/db5/group__PointWiseDescBuilder__v8.html#gae5240136e19e0a4094036d48c6b1a3b7":[3,11,3], +"d2/db5/group__PointWiseDescBuilder__v8.html#gae5240136e19e0a4094036d48c6b1a3b7":[5,0,0,24,10], +"d2/dbb/group__EngineConfigBuilder__v8.html":[3,2], +"d2/dbb/group__EngineConfigBuilder__v8.html#ga9673b31268901dfcb97896958687a42a":[3,2,0], +"d2/dbb/group__EngineConfigBuilder__v8.html#ga9673b31268901dfcb97896958687a42a":[5,0,0,7,6], +"d2/ddd/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html":[5,0,1,0,114], +"d2/df4/structnlohmann_1_1detail_1_1external__constructor.html":[5,0,1,0,11], +"d2/df5/group__OperationGraphBuilder__v8.html":[3,10], +"d2/df5/group__OperationGraphBuilder__v8.html#ga4e4cee8d631471478d5de420077a2182":[3,10,1], +"d2/df5/group__OperationGraphBuilder__v8.html#ga4e4cee8d631471478d5de420077a2182":[5,0,0,22,7], +"d2/df5/group__OperationGraphBuilder__v8.html#ga5b5d8a3121e92a8a7d47341b424298f8":[3,10,0], +"d2/df5/group__OperationGraphBuilder__v8.html#ga5b5d8a3121e92a8a7d47341b424298f8":[5,0,0,22,6], +"d3/d09/group__EngineBuilder__v8.html":[3,1], +"d3/d09/group__EngineBuilder__v8.html#ga0ceef322363405504dbdc4d1f3c9949a":[3,1,1], +"d3/d09/group__EngineBuilder__v8.html#ga0ceef322363405504dbdc4d1f3c9949a":[5,0,0,5,7], +"d3/d09/group__EngineBuilder__v8.html#ga2b171d44da46865d536236bb01103005":[3,1,0], +"d3/d09/group__EngineBuilder__v8.html#ga2b171d44da46865d536236bb01103005":[5,0,0,5,6], +"d3/d09/group__EngineBuilder__v8.html#ga7220dab88f9fed1704c9d78d9771be5f":[3,1,2], +"d3/d09/group__EngineBuilder__v8.html#ga7220dab88f9fed1704c9d78d9771be5f":[5,0,0,5,8], +"d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html":[5,0,1,0,13], +"d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html#a0ff0da4f9a4d27955961477102c50a27":[5,0,1,0,13,0], +"d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html#a1c478157dc8bad20f09572c5b2406150":[5,0,1,0,13,1], +"d3/d0b/structnlohmann_1_1detail_1_1is__json__ref.html":[5,0,1,0,78], +"d3/d30/structnlohmann_1_1detail_1_1is__iterator__traits.html":[5,0,1,0,76], +"d3/d3c/group__TensorBuilder__v8.html":[3,13], +"d3/d3c/group__TensorBuilder__v8.html#ga385ec2c39e6386af7421f27330ed128b":[5,0,0,28,6], +"d3/d3c/group__TensorBuilder__v8.html#ga385ec2c39e6386af7421f27330ed128b":[3,13,0], +"d3/d3c/group__TensorBuilder__v8.html#ga3de3d95beb2234dc2a741d23703f8ed2":[5,0,0,28,10] }; diff --git a/docs/navtreeindex1.js b/docs/navtreeindex1.js index 9c4fa762..7136eba4 100644 --- a/docs/navtreeindex1.js +++ b/docs/navtreeindex1.js @@ -1,253 +1,253 @@ var NAVTREEINDEX1 = { -"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#adf5bf20f5bdfbfdecd05360830b34b89":[4,0,0,18,7], -"d5/d36/cudnn__frontend__Filters_8h.html":[5,0,8], -"d5/d36/cudnn__frontend__Filters_8h.html#a4d18e44a57e30f9bf29157f742ba9c65":[5,0,8,0], -"d5/d36/cudnn__frontend__Filters_8h.html#a75bb541476d93b039f5fd9f9d29242e6":[5,0,8,1], -"d5/d36/cudnn__frontend__Filters_8h_source.html":[5,0,8], -"d5/def/group__VariantPackBuilder__v8.html":[2,13], -"d5/def/group__VariantPackBuilder__v8.html#ga14d3ac479fd01c48a97583adfb567090":[2,13,1], -"d5/def/group__VariantPackBuilder__v8.html#ga14d3ac479fd01c48a97583adfb567090":[4,0,0,28,7], -"d5/def/group__VariantPackBuilder__v8.html#ga3a7b9ac8c714db202a8f89a6110675b6":[2,13,3], -"d5/def/group__VariantPackBuilder__v8.html#ga3a7b9ac8c714db202a8f89a6110675b6":[4,0,0,28,9], -"d5/def/group__VariantPackBuilder__v8.html#ga79c6def790139cb04aff8c600559b802":[4,0,0,28,6], -"d5/def/group__VariantPackBuilder__v8.html#ga79c6def790139cb04aff8c600559b802":[2,13,0], -"d5/def/group__VariantPackBuilder__v8.html#gad6dc5c5087c2724ca88cc2668d7f829d":[2,13,2], -"d5/def/group__VariantPackBuilder__v8.html#gad6dc5c5087c2724ca88cc2668d7f829d":[4,0,0,28,8], -"d6/d1b/structcudnn__frontend_1_1executionOption.html":[4,0,0,13], -"d6/d1b/structcudnn__frontend_1_1executionOption.html#a56b496b09272c352b557d793adc3acf1":[4,0,0,13,1], -"d6/d1b/structcudnn__frontend_1_1executionOption.html#ae84235aee01c4556303b39961e1e1c5e":[4,0,0,13,0], -"d6/d32/cudnn__frontend__MatMulDesc_8h.html":[5,0,12], -"d6/d32/cudnn__frontend__MatMulDesc_8h_source.html":[5,0,12], -"d6/d46/group__EngineHeuristicsQuery.html":[2,5], -"d6/d46/group__EngineHeuristicsQuery.html#ga10121605fc82ed225537210825fa3836":[2,5,1], -"d6/d46/group__EngineHeuristicsQuery.html#ga10121605fc82ed225537210825fa3836":[4,0,0,11,6], -"d6/d46/group__EngineHeuristicsQuery.html#ga1171cb5ce50baf0fab19fc458d4565b5":[4,0,0,11,5], -"d6/d46/group__EngineHeuristicsQuery.html#ga1171cb5ce50baf0fab19fc458d4565b5":[2,5,0], -"d6/d51/cudnn__frontend__ExecutionPlan_8h.html":[5,0,7], -"d6/d51/cudnn__frontend__ExecutionPlan_8h_source.html":[5,0,7], -"d6/d67/cudnn__frontend__EngineConfig_8h.html":[5,0,4], -"d6/d67/cudnn__frontend__EngineConfig_8h.html#a84a5f004bdf17747bf7cf45d6fc754cd":[5,0,4,2], -"d6/d67/cudnn__frontend__EngineConfig_8h_source.html":[5,0,4], -"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html":[4,0,0,1], -"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a00c454e18392653a023f75275553a4e7":[4,0,0,1,6], -"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a061ef887bdf383d416ee143a35d5c334":[4,0,0,1,3], -"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a0d36a97abb2d36a0148ce8e8833baff8":[4,0,0,1,4], -"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a0d930ada709a855c86b2857a1b155d02":[4,0,0,1,1], -"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a28e6ad906bf25653c87525f9f8e90a28":[4,0,0,1,12], -"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a4a0249ac1d094f9a70967dd69b824f2e":[4,0,0,1,7], -"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a592e3a28fd7a8b2553789801d9bd276c":[4,0,0,1,0], -"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a5c892fb76fbf9e4bfffdb5288f9d60ad":[4,0,0,1,2], -"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a81e03a2a385d24a2faaf3db249580ac6":[4,0,0,1,8], -"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a9b478d1207d8241ff67cc931754cd6cf":[4,0,0,1,10], -"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#aa8ea272eaf26ae7f7ad2d625253ea62f":[4,0,0,1,5], -"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#ac513728c785a54ef86612a0bd6fa0f1a":[4,0,0,1,13], -"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#adcb7e5f546b83bbdab63773030e3b909":[4,0,0,1,9], -"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#aff824fb1cf44c188a7400b017458327e":[4,0,0,1,11], -"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html":[4,0,0,0], -"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a070df0d11a52793ce9480dbdcee0c24e":[4,0,0,0,7], -"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a0d416655dab2b5a675fecb5df9ea8521":[4,0,0,0,10], -"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a1748a5c560905314930c37b2ed1a54d2":[4,0,0,0,8], -"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a3aa1ab42ab96471092185f15e22c1e9f":[4,0,0,0,5], -"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a3ef02443f20b90223baf5f1922505eab":[4,0,0,0,9], -"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a5765369a5739c2ea81c4f39ce2d1c46e":[4,0,0,0,1], -"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a57c83e78374bac747b5660fb271b947a":[4,0,0,0,3], -"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a62312f29dbbc7c11c1da54a2ad41c52f":[4,0,0,0,11], -"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a8a5466c444f2de721118334ac876c6ba":[4,0,0,0,12], -"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a8aa93686ca88410fc048b05155148183":[4,0,0,0,0], -"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#ab652fb3e9a58092fbb137b0e959a9478":[4,0,0,0,2], -"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#abfde0f34b0bf49c45d3d9c0408284f6f":[4,0,0,0,4], -"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#af34344e365e6422ee86955349bf80b49":[4,0,0,0,6], -"d6/da7/classcudnn__frontend_1_1Tensor__v8.html":[4,0,0,25], -"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a062e54efdec89943fcb0602cc06dfd28":[4,0,0,25,11], -"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a1370de050fc91e9d992995fae5f22011":[4,0,0,25,13], -"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a14f9c4498f4be5b3c2b0a94c708891fb":[4,0,0,25,6], -"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a1f41a9f80b8a3b35aed7948e264b0d79":[4,0,0,25,7], -"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a4f5c1e95de9419cb1904e0cbad570c63":[4,0,0,25,5], -"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a5a402bf5c68021711d9d9ec8fd4c1001":[4,0,0,25,1], -"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a5f2703668235c18d063174ccca285457":[4,0,0,25,3], -"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a611fc05f3c7b6ca90d0e3c0f6ef07d84":[4,0,0,25,12], -"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a7419041bb3bf934f8e9f851fa63acabd":[4,0,0,25,8], -"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a79cc1a752e6df2001b853f8c189b1f1f":[4,0,0,25,4], -"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a9df78edb662e32a63680281eb33a14a8":[4,0,0,25,0], -"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ab48b1728d6978407f0bdbf0227de6f82":[4,0,0,25,2], -"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ae4842fc7fcb87f5b60228fb6fa391b61":[4,0,0,25,9], -"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ae9a3d128db54fa92d392e77044f30ca9":[4,0,0,25,10], -"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html":[4,0,0,16], -"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a1dd13143c85b67f2c0da90f02884fab1":[4,0,0,16,7], -"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a2931e4d0b21e6986a3f5a1697ca4bae0":[4,0,0,16,4], -"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a48aa29d5df9a717e63c5146ac48c4543":[4,0,0,16,3], -"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a5e060b83ea1e1ed59a66e15fdba91227":[4,0,0,16,2], -"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#aa99cc0548322d7298b9ca664a976281f":[4,0,0,16,6], -"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ab725a8e47331aca6310155f6d55c0a02":[4,0,0,16,0], -"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ac1257a1ca1261961fc99123988552911":[4,0,0,16,5], -"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ad27b038b19b218067bd30e60d94fd672":[4,0,0,16,1], -"d7/d0d/group__ExecutionPlanQuery.html":[2,4], -"d7/d0d/group__ExecutionPlanQuery.html#ga00d10a076c22e86354a789852c56c22f":[4,0,0,14,7], -"d7/d0d/group__ExecutionPlanQuery.html#ga00d10a076c22e86354a789852c56c22f":[2,4,10], -"d7/d0d/group__ExecutionPlanQuery.html#ga0705e60cee62d3d196751517d545a7b0":[4,0,0,14,8], -"d7/d0d/group__ExecutionPlanQuery.html#ga0705e60cee62d3d196751517d545a7b0":[2,4,11], -"d7/d0d/group__ExecutionPlanQuery.html#ga2b84d3619b5bd9ca0faa30c126deb43c":[2,4,8], -"d7/d0d/group__ExecutionPlanQuery.html#ga2b84d3619b5bd9ca0faa30c126deb43c":[4,0,0,15,3], -"d7/d0d/group__ExecutionPlanQuery.html#ga2c011aa14563ef96417ce599f0c83d89":[4,0,0,14,2], -"d7/d0d/group__ExecutionPlanQuery.html#ga2c011aa14563ef96417ce599f0c83d89":[2,4,4], -"d7/d0d/group__ExecutionPlanQuery.html#ga2ff1340409f8834fe9ae68ff4c00281a":[4,0,0,14,6], -"d7/d0d/group__ExecutionPlanQuery.html#ga2ff1340409f8834fe9ae68ff4c00281a":[2,4,9], -"d7/d0d/group__ExecutionPlanQuery.html#ga4c36108c6511420d81fcda5292761726":[4,0,0,14,11], -"d7/d0d/group__ExecutionPlanQuery.html#ga4c36108c6511420d81fcda5292761726":[2,4,15], -"d7/d0d/group__ExecutionPlanQuery.html#ga51c4b75729ab066f0686729896741c5d":[2,4,5], -"d7/d0d/group__ExecutionPlanQuery.html#ga51c4b75729ab066f0686729896741c5d":[4,0,0,14,3], -"d7/d0d/group__ExecutionPlanQuery.html#ga5e3dd6d441474ac5ab94aaaf9c45bc5b":[4,0,0,14,10], -"d7/d0d/group__ExecutionPlanQuery.html#ga5e3dd6d441474ac5ab94aaaf9c45bc5b":[2,4,14], -"d7/d0d/group__ExecutionPlanQuery.html#ga5f757c2da8c90645c34637dde4aed8f8":[4,0,0,15,5], -"d7/d0d/group__ExecutionPlanQuery.html#ga5f757c2da8c90645c34637dde4aed8f8":[2,4,12], -"d7/d0d/group__ExecutionPlanQuery.html#ga5ff39f2019a5a3fe8062bf887707877c":[4,0,0,15,4], -"d7/d0d/group__ExecutionPlanQuery.html#ga5ff39f2019a5a3fe8062bf887707877c":[2,4,1], -"d7/d0d/group__ExecutionPlanQuery.html#ga60147aa715352906e32cbb87558cb0ae":[2,4,7], -"d7/d0d/group__ExecutionPlanQuery.html#ga60147aa715352906e32cbb87558cb0ae":[4,0,0,15,2], -"d7/d0d/group__ExecutionPlanQuery.html#ga8a6517102f5c12e63e4417324a03180b":[4,0,0,14,4], -"d7/d0d/group__ExecutionPlanQuery.html#ga8a6517102f5c12e63e4417324a03180b":[2,4,2], -"d7/d0d/group__ExecutionPlanQuery.html#ga8e48fb375271599c83f57922d9f8c89e":[2,4,6], -"d7/d0d/group__ExecutionPlanQuery.html#ga8e48fb375271599c83f57922d9f8c89e":[4,0,0,15,0], -"d7/d0d/group__ExecutionPlanQuery.html#gad80aa2980d915449d05db4c71041e2e0":[4,0,0,14,5], -"d7/d0d/group__ExecutionPlanQuery.html#gad80aa2980d915449d05db4c71041e2e0":[2,4,3], -"d7/d0d/group__ExecutionPlanQuery.html#gae1a2e3dd89dbe455e7067531ec5b5562":[4,0,0,15,9], -"d7/d0d/group__ExecutionPlanQuery.html#gae1a2e3dd89dbe455e7067531ec5b5562":[2,4,16], -"d7/d0d/group__ExecutionPlanQuery.html#gae3f841de1b6461b31bf7967734a70a8a":[4,0,0,15,1], -"d7/d0d/group__ExecutionPlanQuery.html#gae3f841de1b6461b31bf7967734a70a8a":[2,4,13], -"d7/d0d/group__ExecutionPlanQuery.html#gaf732b37c9c05a2a8bd1a76289c740c4a":[4,0,0,14,12], -"d7/d0d/group__ExecutionPlanQuery.html#gaf732b37c9c05a2a8bd1a76289c740c4a":[2,4,17], -"d9/d08/group__MatMulDescBuilder__v8.html":[2,7], -"d9/d08/group__MatMulDescBuilder__v8.html#ga5885f3eb7580cbe0cbe7243c4711c0f2":[4,0,0,17,6], -"d9/d08/group__MatMulDescBuilder__v8.html#ga5885f3eb7580cbe0cbe7243c4711c0f2":[2,7,0], -"d9/dca/classcudnn__frontend_1_1cudnnException.html":[4,0,0,3], -"d9/dca/classcudnn__frontend_1_1cudnnException.html#a4f35e3466ff6ce0875631b810364364b":[4,0,0,3,1], -"d9/dca/classcudnn__frontend_1_1cudnnException.html#aa80c45a57ca091770572aaa5a1f7e322":[4,0,0,3,0], -"d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html":[4,0,0,10], -"d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a1effb794c90cbe7ad2e7649d400cb2dd":[4,0,0,10,5], -"d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a28651c04cd22f3ebe037b99627ddbd62":[4,0,0,10,1], -"d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a3dda7b1b97beb027718b7809702967b5":[4,0,0,10,2], -"d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a56f2014918d259c53a2ebb3e815073e9":[4,0,0,10,8], -"d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#aae1a36ace3278dbedcf0d743a7744d98":[4,0,0,10,4], -"d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#ad3e10ca860311b1b554507615c46b9ad":[4,0,0,10,3], -"d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#ae955fa571b31ffc3da0ca6293d089642":[4,0,0,10,0], -"d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html":[4,0,0,5], -"d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a010b99c39d63121be78ec847fff433f8":[4,0,0,5,4], -"d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a033fb0022860f23e76ca1529da165bfc":[4,0,0,5,2], -"d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a21b687e5455f4bc727210ac2da46d7b3":[4,0,0,5,0], -"d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a7f5a24e27ff497bd44fd93fb700d5424":[4,0,0,5,3], -"d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a8a300ec39fc764b86058acf8a9406d89":[4,0,0,5,1], -"d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a9d29a91186f6baa215b61340a386ec6d":[4,0,0,5,5], -"d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#adc25c468425d9b6b71b9592b80ea715d":[4,0,0,5,9], -"da/d5a/cudnn__frontend__Operation_8h.html":[5,0,13], -"da/d5a/cudnn__frontend__Operation_8h_source.html":[5,0,13], -"da/d5f/cudnn__frontend__PointWiseDesc_8h.html":[5,0,15], -"da/d5f/cudnn__frontend__PointWiseDesc_8h_source.html":[5,0,15], -"db/d66/cudnn__frontend__Heuristics_8h.html":[5,0,11], -"db/d66/cudnn__frontend__Heuristics_8h_source.html":[5,0,11], -"db/d7d/cudnn__frontend__OperationGraph_8h.html":[5,0,14], -"db/d7d/cudnn__frontend__OperationGraph_8h_source.html":[5,0,14], -"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html":[4,0,0,9], -"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a22ef505758a33415d01e3a9a8843fe22":[4,0,0,9,6], -"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a3509dd7589fed7a699874170cec6dd9f":[4,0,0,9,4], -"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a56ad23cee30cbe70209ce6399a69d541":[4,0,0,9,5], -"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a62dd89e142b11917507a48b2ac3dd047":[4,0,0,9,0], -"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a71e6146b18a0aa4de8fbc6ba457efbb9":[4,0,0,9,8], -"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9a557db46e3559fcaa0e800d976d6238":[4,0,0,9,9], -"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9c9a8cc39a38b449b1f044d407168905":[4,0,0,9,3], -"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9f8070f063b1c0564297260ebe812506":[4,0,0,9,11], -"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#abb40ba38f035c1e9bd20304f32f90256":[4,0,0,9,2], -"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#adfa074bcaaf2b0297a9c740a3e3706b7":[4,0,0,9,1], -"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#ae2c71646b56855f59ed1a267f06d5a7c":[4,0,0,9,7], -"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#ae8995303eac50633f6320f5949a045bb":[4,0,0,9,10], -"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html":[4,0,0,26], -"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a2c9dcbe8acfe079ad14801c7cda0fe29":[4,0,0,26,1], -"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a32876941f964b3fad2d123b9081b0af7":[4,0,0,26,4], -"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a3a33c9ba58f393d231e05a1bcc5706d8":[4,0,0,26,5], -"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a87c53bd36c748fe2327743bd852fb144":[4,0,0,26,12], -"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a8f8b7d7da3675d69e7f09bec21735656":[4,0,0,26,2], -"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a9d57810fb6d58f5152e5a1bbc55fc5dd":[4,0,0,26,0], -"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#abcc771bbe9e1791afc10c686f90c2188":[4,0,0,26,3], -"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html":[4,0,0,11], -"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a081860775bfc5626bd57066066eb4299":[4,0,0,11,11], -"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a2261e27dacfdad755d625692aa20f290":[4,0,0,11,1], -"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a2301c5b006fa6e341bc88ece066f8ea2":[4,0,0,11,7], -"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a298d4a89c8e9ed80526a6cccf33d716c":[4,0,0,11,0], -"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a44df29e58afe4b8fdc894574eb5efb9e":[4,0,0,11,8], -"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a496a7e3160046bdf73289fbec51423a3":[4,0,0,11,3], -"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a71e7822002502874f6b2dfec4ede7e01":[4,0,0,11,10], -"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a7a1e931b0f7910db6e6f5d5bfbfe3511":[4,0,0,11,9], -"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a7c958bd4b97b4a77694d2bee01acec4c":[4,0,0,11,12], -"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#aaa983e31e1a22bfebb639865e4514d82":[4,0,0,11,2], -"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#ac223cc9438a0442bd3b48881f71a4b40":[4,0,0,11,4], -"db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html":[4,0,0,2], -"db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a01f709a3efafaca70de6565817c43beb":[4,0,0,2,4], -"db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a314369f1ea702c92d184b3ba66085468":[4,0,0,2,2], -"db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a5fba7029429a093b36fd201219315a1f":[4,0,0,2,5], -"db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a67e82b4d8b94b55ecc50a9151799fff9":[4,0,0,2,13], -"db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a99c1c90149cee07a26124fe32bdcfe03":[4,0,0,2,3], -"db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#ae75d5fd1c3fb6b51072f2c9b211477eb":[4,0,0,2,1], -"db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#ae7b3fb50c7866c50ac1a170e137f38af":[4,0,0,2,0], -"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html":[4,0,0,4,0], -"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a2403145dcb4bc55f970c6d07c1ed796e":[4,0,0,4,0,11], -"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a3f60f9ba0e35cb0bccbf3524def69db2":[4,0,0,4,0,1], -"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a4c0a920d14a719e99fce3d64a6eb0980":[4,0,0,4,0,2], -"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a4fe794b42a0ee5ba71b8ca8c797d1dbe":[4,0,0,4,0,4], -"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a542f95d42a6d118e3de1726720c12278":[4,0,0,4,0,7], -"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a75ea7ec76b08688da99e6bd3664083c8":[4,0,0,4,0,3], -"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a8342ab30dbe0e86d8d060983f14aba87":[4,0,0,4,0,12], -"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aaf0d313c5491b599537422694eb83b82":[4,0,0,4,0,0], -"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#adc0dd9d11771a040a8f5191bef00cdb5":[4,0,0,4,0,6], -"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#adc13c98616305cd23d86dc5dc1dfe86e":[4,0,0,4,0,9], -"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aecda8659b5a5d1dbb21b540a73141fb9":[4,0,0,4,0,10], -"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aee3bbc2a558893309d6882a0e30d439a":[4,0,0,4,0,8], -"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#af3fdf6b0da493544a003913bdf524449":[4,0,0,4,0,5], -"dc/d11/cudnn__backend__base_8h.html":[5,0,0], -"dc/d11/cudnn__backend__base_8h.html#ac94d582cdfa2adf3d68a4e675e5d69aa":[5,0,0,2], -"dc/d11/cudnn__backend__base_8h.html#aee9c79eb8972c944de14ccd70bf5db43":[5,0,0,3], -"dc/d11/cudnn__backend__base_8h_source.html":[5,0,0], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html":[4,0,0,4], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a052463f45fef3bb98e2822ba0fccdb8e":[4,0,0,4,6], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a0e6d7c12c261ad6c2f08e1249397b696":[4,0,0,4,5], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a6053f049f393faebc7188bfa1e8c2d38":[4,0,0,4,16], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a620ad17c3560e87d5a859d7f0eb121d4":[4,0,0,4,17], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a63620960db3192066b7eb5f563841f1b":[4,0,0,4,2], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a6804e842fb698ebc12fccfece3f33b01":[4,0,0,4,8], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a7609e82ac3dc04b67e9e73beb0f7cdae":[4,0,0,4,3], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a837d8adc86f08ca31f42437512a30752":[4,0,0,4,7], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#aae4b49a84f8ecb114449784e43496521":[4,0,0,4,13], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ab2d9ce46cd037407a5c9ec655ad0a25d":[4,0,0,4,12], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ad3966b20d080c0fb9930b8a2018da2f8":[4,0,0,4,10], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#add2d5998a38944fd0dba03fce96fe7aa":[4,0,0,4,14], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ae5d0c105971ce443fe6fb62884d7b2d2":[4,0,0,4,11], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#aed64863b9d73b7f6f3a7e16dc6e7eb04":[4,0,0,4,15], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#af299a1692584215c649b3563fdb3abae":[4,0,0,4,9], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#af58a8aa09f22e048d51e619e36b4cbef":[4,0,0,4,4], -"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#afc5da140bcc7be57dc81f7fc5a589744":[4,0,0,4,1], -"dc/d99/group__EngineHeuristicsBuilder__v8.html":[2,6], -"dc/d99/group__EngineHeuristicsBuilder__v8.html#ga0554ac9347b7409e46f960b30f18dc68":[4,0,0,12,7], -"dc/d99/group__EngineHeuristicsBuilder__v8.html#ga0554ac9347b7409e46f960b30f18dc68":[2,6,1], -"dc/d99/group__EngineHeuristicsBuilder__v8.html#gaf2d783ca6a663aa50ffed2ccbc164812":[4,0,0,12,6], -"dc/d99/group__EngineHeuristicsBuilder__v8.html#gaf2d783ca6a663aa50ffed2ccbc164812":[2,6,0], -"dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html":[4,0,0,8], -"dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a1a06febdf947e151276bf09947c62436":[4,0,0,8,4], -"dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a322221ec9a28f1f48c5a3edf60adff1d":[4,0,0,8,0], -"dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a4b07b958f03daf033c30b9182fee372b":[4,0,0,8,3], -"dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#abd7cdd3a218623ffc5dfcbf9343aef85":[4,0,0,8,1], -"dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#ad6ca7e7263ed9b7597f94ca45505642f":[4,0,0,8,2], -"dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html":[4,0,0,7], -"dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a17fca0597527c1f6acffa73ddaeedc03":[4,0,0,7,3], -"dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a3deb5e1f20c028b8bb39406cca743e43":[4,0,0,7,2], -"dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a49a8a25759e78e7a2c77c55f0b54696b":[4,0,0,7,0], -"dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a49eedc731d95df1f21e353a9a9511cfd":[4,0,0,7,1], -"dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a639e1514ea8f283720e49fc18d7ad673":[4,0,0,7,4], -"dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a8d4cb5ab44b076c71afd5f49e6df94f7":[4,0,0,7,5], -"dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a8dc6947bf5dac837ea233bfaec4bf03f":[4,0,0,7,7], -"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html":[4,0,0,17], -"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a02ee327bae65fc44c140d7bb6a0b4991":[4,0,0,17,5], -"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a287154397d78c528465a949ab0242068":[4,0,0,17,3], -"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a3f5790e5ada9a1785d9daf4246ea8de3":[4,0,0,17,1], -"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a75af51fa2937a7df6787d3181ef22cf2":[4,0,0,17,2], -"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#aa71bc8242df4035ff5d6b4d54083db4b":[4,0,0,17,7], -"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#addc153acf5600781659a1a2ba891e59c":[4,0,0,17,4] +"d3/d3c/group__TensorBuilder__v8.html#ga3de3d95beb2234dc2a741d23703f8ed2":[3,13,4], +"d3/d3c/group__TensorBuilder__v8.html#ga6bdaeab1bff548d375e57936b64fb05a":[5,0,0,28,9], +"d3/d3c/group__TensorBuilder__v8.html#ga6bdaeab1bff548d375e57936b64fb05a":[3,13,3], +"d3/d3c/group__TensorBuilder__v8.html#ga7d5d978de243e47938eb1f224a38d02d":[5,0,0,28,11], +"d3/d3c/group__TensorBuilder__v8.html#ga7d5d978de243e47938eb1f224a38d02d":[3,13,5], +"d3/d3c/group__TensorBuilder__v8.html#ga98275e4d36e37ef5d73f13bd80f164a3":[5,0,0,28,7], +"d3/d3c/group__TensorBuilder__v8.html#ga98275e4d36e37ef5d73f13bd80f164a3":[3,13,1], +"d3/d3c/group__TensorBuilder__v8.html#gae828806e2d76ca3eb6c4e289f2e93a96":[5,0,0,28,8], +"d3/d3c/group__TensorBuilder__v8.html#gae828806e2d76ca3eb6c4e289f2e93a96":[3,13,2], +"d3/d52/structnlohmann_1_1detail_1_1is__constructible__array__type.html":[5,0,1,0,57], +"d3/d6a/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html":[5,0,1,0,68], +"d3/d6b/cudnn__frontend__find__plan_8h.html":[6,0,10], +"d3/d6b/cudnn__frontend__find__plan_8h.html#a148478701949f58a44912cc61dbda1e4":[6,0,10,0], +"d3/d6b/cudnn__frontend__find__plan_8h_source.html":[6,0,10], +"d3/d71/structnlohmann_1_1detail_1_1is__compatible__type.html":[5,0,1,0,47], +"d3/d72/structnlohmann_1_1detail_1_1make__void.html":[5,0,1,0,100], +"d3/d72/structnlohmann_1_1detail_1_1make__void.html#a8961e24ae3b2cb65ec47d1ce805d94e4":[5,0,1,0,100,0], +"d3/d84/structnlohmann_1_1detail_1_1is__constructible__string__type.html":[5,0,1,0,64], +"d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.html":[5,0,1,0,2,3], +"d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.html#a1d6f2c7fb3fa065bf8cf6e6e3544dcef":[5,0,1,0,2,3,0], +"d3/d92/group__OperationBuilder__v8.html":[3,8], +"d3/d92/group__OperationBuilder__v8.html#ga04c2492a5376f1a74a57fb49fa7b3599":[3,8,21], +"d3/d92/group__OperationBuilder__v8.html#ga04c2492a5376f1a74a57fb49fa7b3599":[5,0,0,20,22], +"d3/d92/group__OperationBuilder__v8.html#ga06cdcfeda1b702412be41addd73bb947":[5,0,0,20,4], +"d3/d92/group__OperationBuilder__v8.html#ga06cdcfeda1b702412be41addd73bb947":[3,8,3], +"d3/d92/group__OperationBuilder__v8.html#ga08f3d4cb5138174127d0f6899f7bc53b":[3,8,14], +"d3/d92/group__OperationBuilder__v8.html#ga08f3d4cb5138174127d0f6899f7bc53b":[5,0,0,20,15], +"d3/d92/group__OperationBuilder__v8.html#ga095c52c8f1b01ebb224265f9000195c0":[5,0,0,20,6], +"d3/d92/group__OperationBuilder__v8.html#ga095c52c8f1b01ebb224265f9000195c0":[3,8,5], +"d3/d92/group__OperationBuilder__v8.html#ga17475846760b10ffdfa536cd92a5b135":[5,0,0,20,7], +"d3/d92/group__OperationBuilder__v8.html#ga17475846760b10ffdfa536cd92a5b135":[3,8,6], +"d3/d92/group__OperationBuilder__v8.html#ga29752062b7308c8da0e625eb35431652":[5,0,0,20,9], +"d3/d92/group__OperationBuilder__v8.html#ga29752062b7308c8da0e625eb35431652":[3,8,8], +"d3/d92/group__OperationBuilder__v8.html#ga35fa5c453a6cd989f35e47c29e6ec665":[3,8,13], +"d3/d92/group__OperationBuilder__v8.html#ga35fa5c453a6cd989f35e47c29e6ec665":[5,0,0,20,14], +"d3/d92/group__OperationBuilder__v8.html#ga3c63744504f65383ce0b847bea804e3f":[5,0,0,20,3], +"d3/d92/group__OperationBuilder__v8.html#ga3c63744504f65383ce0b847bea804e3f":[3,8,2], +"d3/d92/group__OperationBuilder__v8.html#ga3ca1f62832f998566c1b07b4b3c71db4":[3,8,16], +"d3/d92/group__OperationBuilder__v8.html#ga3ca1f62832f998566c1b07b4b3c71db4":[5,0,0,20,17], +"d3/d92/group__OperationBuilder__v8.html#ga425dd00708eaaadffe1c83ef356dc333":[5,0,0,20,0], +"d3/d92/group__OperationBuilder__v8.html#ga425dd00708eaaadffe1c83ef356dc333":[3,8,0], +"d3/d92/group__OperationBuilder__v8.html#ga459671e9d26640528fcf683aaeef05df":[5,0,0,20,5], +"d3/d92/group__OperationBuilder__v8.html#ga459671e9d26640528fcf683aaeef05df":[3,8,4], +"d3/d92/group__OperationBuilder__v8.html#ga5910bc2209e1b648c1aa0edce7f11e01":[3,8,22], +"d3/d92/group__OperationBuilder__v8.html#ga5910bc2209e1b648c1aa0edce7f11e01":[5,0,0,20,23], +"d3/d92/group__OperationBuilder__v8.html#ga5e5d463d5531a9378280fa4b1aee6f63":[3,8,12], +"d3/d92/group__OperationBuilder__v8.html#ga5e5d463d5531a9378280fa4b1aee6f63":[5,0,0,20,13], +"d3/d92/group__OperationBuilder__v8.html#ga65a9ad73912ff46becc93ee451da6af5":[5,0,0,20,8], +"d3/d92/group__OperationBuilder__v8.html#ga65a9ad73912ff46becc93ee451da6af5":[3,8,7], +"d3/d92/group__OperationBuilder__v8.html#ga80466e517e980ba4953e085b3d4e3498":[3,8,19], +"d3/d92/group__OperationBuilder__v8.html#ga80466e517e980ba4953e085b3d4e3498":[5,0,0,20,20], +"d3/d92/group__OperationBuilder__v8.html#ga904279a29c2c5c949a0e487dd573ae0a":[3,8,18], +"d3/d92/group__OperationBuilder__v8.html#ga904279a29c2c5c949a0e487dd573ae0a":[5,0,0,20,19], +"d3/d92/group__OperationBuilder__v8.html#ga9e4a1e9a233b44cca5b65f0af172b001":[3,8,15], +"d3/d92/group__OperationBuilder__v8.html#ga9e4a1e9a233b44cca5b65f0af172b001":[5,0,0,20,16], +"d3/d92/group__OperationBuilder__v8.html#gaa82e018b6a9d514ad912b922f43adad2":[3,8,10], +"d3/d92/group__OperationBuilder__v8.html#gaa82e018b6a9d514ad912b922f43adad2":[5,0,0,20,11], +"d3/d92/group__OperationBuilder__v8.html#gaa8eed29a0181e044ea0263ba655127ec":[3,8,9], +"d3/d92/group__OperationBuilder__v8.html#gaa8eed29a0181e044ea0263ba655127ec":[5,0,0,20,10], +"d3/d92/group__OperationBuilder__v8.html#gaaf9d7cbc65c7c7526a6f15d4ad2952fa":[3,8,11], +"d3/d92/group__OperationBuilder__v8.html#gaaf9d7cbc65c7c7526a6f15d4ad2952fa":[5,0,0,20,12], +"d3/d92/group__OperationBuilder__v8.html#gab4241b96e7374d821681e97259d39d83":[5,0,0,20,2], +"d3/d92/group__OperationBuilder__v8.html#gab4241b96e7374d821681e97259d39d83":[3,8,1], +"d3/d92/group__OperationBuilder__v8.html#gae6b06877b2e675b2a390f0b122100669":[3,8,17], +"d3/d92/group__OperationBuilder__v8.html#gae6b06877b2e675b2a390f0b122100669":[5,0,0,20,18], +"d3/d92/group__OperationBuilder__v8.html#gaefa06fdaae3b28c6ef08a0189e2a3d3a":[3,8,20], +"d3/d92/group__OperationBuilder__v8.html#gaefa06fdaae3b28c6ef08a0189e2a3d3a":[5,0,0,20,21], +"d3/d98/cudnn__frontend__Tensor_8h.html":[6,0,18], +"d3/d98/cudnn__frontend__Tensor_8h_source.html":[6,0,18], +"d3/d9b/namespacenlohmann.html":[5,0,1], +"d3/d9b/namespacenlohmann.html":[4,0,1], +"d3/ddb/classB1.html":[5,0,3], +"d3/ddd/group__ConvDescBuilder__v8.html":[3,0], +"d3/ddd/group__ConvDescBuilder__v8.html#ga2c481d46d71fe909247f50ba2772b7ce":[5,0,0,2,12], +"d3/ddd/group__ConvDescBuilder__v8.html#ga2c481d46d71fe909247f50ba2772b7ce":[3,0,6], +"d3/ddd/group__ConvDescBuilder__v8.html#ga3b752afba659c8e92e7ad1ca71d62f2f":[3,0,2], +"d3/ddd/group__ConvDescBuilder__v8.html#ga3b752afba659c8e92e7ad1ca71d62f2f":[5,0,0,2,8], +"d3/ddd/group__ConvDescBuilder__v8.html#ga44915183cb4dddcf23222faca3f84bba":[5,0,0,2,10], +"d3/ddd/group__ConvDescBuilder__v8.html#ga44915183cb4dddcf23222faca3f84bba":[3,0,4], +"d3/ddd/group__ConvDescBuilder__v8.html#gaa41e2cbbebc9d2fd19fa990a48b39d08":[5,0,0,2,7], +"d3/ddd/group__ConvDescBuilder__v8.html#gaa41e2cbbebc9d2fd19fa990a48b39d08":[3,0,1], +"d3/ddd/group__ConvDescBuilder__v8.html#gaacfcf20b0ed61e89bc92970f7bb7a258":[5,0,0,2,9], +"d3/ddd/group__ConvDescBuilder__v8.html#gaacfcf20b0ed61e89bc92970f7bb7a258":[3,0,3], +"d3/ddd/group__ConvDescBuilder__v8.html#gab07bf6292e69d19e6324d3073a86d58c":[5,0,0,2,11], +"d3/ddd/group__ConvDescBuilder__v8.html#gab07bf6292e69d19e6324d3073a86d58c":[3,0,5], +"d3/ddd/group__ConvDescBuilder__v8.html#gad8de00b0e7a86bdda61749e7572a35ac":[3,0,0], +"d3/ddd/group__ConvDescBuilder__v8.html#gad8de00b0e7a86bdda61749e7572a35ac":[5,0,0,2,6], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html":[5,0,1,0,115], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a09d5a046fb0f7cb61977d6e5fbe8b3a1":[5,0,1,0,115,20], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a16c7b7a726a38ff0c06dce7ba7968391":[5,0,1,0,115,3], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a1952945b7652afb59d3903cc8457a589":[5,0,1,0,115,23], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a1a9d8b344a6cb47728a3519693ec03d1":[5,0,1,0,115,24], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a2311a8c756c4a119aa82cd55301d13bc":[5,0,1,0,115,29], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a28081304e70cca6b3042c101ee5c498c":[5,0,1,0,115,7], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a311e5d6f4b31d5be0eb3c0cb20b6965a":[5,0,1,0,115,17], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a39b0975f219b542d7ca633652e925b4c":[5,0,1,0,115,25], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a4239a42672c7378a6b449ee010e6dace":[5,0,1,0,115,15], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a460c6794fbabbb2ae83380e987a6c030":[5,0,1,0,115,1], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a5f14c33012477b9f9876dc54d97009a0":[5,0,1,0,115,12], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a6705bbf2de3070ec50a810a32e72309f":[5,0,1,0,115,11], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a78a6ae833bb6cf7f00cb0d51db114b14":[5,0,1,0,115,27], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a814f27bba20f0e109d0dbcaa4a399415":[5,0,1,0,115,28], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a833bd5805e4380549f4e21c304820d6d":[5,0,1,0,115,30], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a95460ebd1a535a543e5a0ec52e00f48b":[5,0,1,0,115,9], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a9a55e6b028d09676fe35aefa0c72ea5b":[5,0,1,0,115,21], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a9ae3daaea1941fd02d4c3c1b0f5fbe68":[5,0,1,0,115,16], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a9c9b7ca63a66e59e5e7ffe8a2acf5c8f":[5,0,1,0,115,26], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#aa6c62b51cbebb185307df851dc0167f0":[5,0,1,0,115,8], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#aaaec32f2fec57db422019a11994f7bb5":[5,0,1,0,115,0], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ab14b8ec1f8102aa4c7e3c349f317654e":[5,0,1,0,115,10], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ab4c340f2a5230f766a833366603a0049":[5,0,1,0,115,19], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ac010525281d97867ee842da37294fe83":[5,0,1,0,115,5], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#acaafe3436ee5fb74777eb4132a88c513":[5,0,1,0,115,13], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ad08aa54fac1dd0a453320c54137d45ba":[5,0,1,0,115,4], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ae3771351ec4cb892bec707edeb56dc31":[5,0,1,0,115,6], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ae510f640d26ce0f7d5eb8191b31591c0":[5,0,1,0,115,18], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ae7b1df1c70bdec1371f297567726a198":[5,0,1,0,115,2], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ae9268a10d88a5526e32735a55a132fc6":[5,0,1,0,115,22], +"d4/d0a/classnlohmann_1_1detail_1_1serializer.html#af15da74dab5b01150eabfed0be7d75df":[5,0,1,0,115,14], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html":[5,0,0,23], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a1407b6ad40df9af7b191fdf636c2c508":[5,0,0,23,8], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a246795e9bc43f846f701ae4214953412":[5,0,0,23,9], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a26f1b0f84dc331ca9f1330cf6f425d36":[5,0,0,23,10], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a346bf4a4ca5e45b0f19dc8f2fb6b6148":[5,0,0,23,15], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a44917fdd66ea262687c0f0af3ef3b424":[5,0,0,23,1], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a66ada0a9313ced7ed2801097ef523de8":[5,0,0,23,4], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a740aed43da4ed8ab351d926cee6bfc6a":[5,0,0,23,14], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a7f1bee44a57b6dad1ce493cd18ffbc18":[5,0,0,23,12], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a81b0fa4b9ff8bfd2c23ae704f7211962":[5,0,0,23,6], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a963d8bd60aa5d7c5385d5d41595c2cf3":[5,0,0,23,5], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ac00ed56ba83a04edca3f55125332646b":[5,0,0,23,2], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ac2e07a514ec114222b65948960ba76a3":[5,0,0,23,0], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ad6d99d57f2a5b345fe5af5bc777b8d1c":[5,0,0,23,13], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ad8731460bbcf7cb2804dd3a9840f276e":[5,0,0,23,11], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ae3cd0c0051c7e29a9ad86b80308429f3":[5,0,0,23,7], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ae4f638eb928772c13c314f4a022d4978":[5,0,0,23,3], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#afcb75336d3b99afcec3bb947c1f1a0e8":[5,0,0,23,17], +"d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#aff19ca9077ac2dca8a9f78df586e11db":[5,0,0,23,16], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html":[5,0,0,19], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a01d1997ae84b86c0565351910bba3416":[5,0,0,19,35], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0414d5eb022c25584d60491f416e6449":[5,0,0,19,13], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a091bf74144eaec6149d610faa289160e":[5,0,0,19,3], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0945c6296efc14ffc41122aaae3946b8":[5,0,0,19,18], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a09f5151a90f805d81550a30617bcec0c":[5,0,0,19,30], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0f14ddfbaae6e62375c46dd0d5ed993d":[5,0,0,19,17], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a1118f19807c9f58cc1d0892bdb1f8c94":[5,0,0,19,16], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a12d0d0fa40152f5205570f40e681795f":[5,0,0,19,25], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a1305e0cdaeb029fd52eb189254afe18c":[5,0,0,19,15], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a19856fbb973574342efedc43134af3a7":[5,0,0,19,19], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a2e1e0fb15b7df300945cae2347db635a":[5,0,0,19,26], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a3425a8550eb9f622dc4101d3d5d2c0e1":[5,0,0,19,4], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4003061754cc4b0003a72cc474fca8d9":[5,0,0,19,10], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a43cbfcab995a238e2001c4ec6543ae50":[5,0,0,19,28], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4a71d73a1231c39e51a74f750586a733":[5,0,0,19,12], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f30409838436d0c4dea5271af86f9b7":[5,0,0,19,22], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f533db7bc67978d1ec1a475f4ab9e1c":[5,0,0,19,9], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f565db1b8b85ea43d60631cd3414f47":[5,0,0,19,21], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a5012e920483271f655bc04d6f52dc41f":[5,0,0,19,7], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a5c6b2986d2d703c672b5fc461f2eee05":[5,0,0,19,31], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a67d82f53ecbdfe2416d2a26410138d78":[5,0,0,19,1], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a736317246d52e774170bc60511870932":[5,0,0,19,29], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a810b2f50d53d6655c2048d3c3afbcfc4":[5,0,0,19,2], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a81e9b10c7231ba9ffba37f7fab531a69":[5,0,0,19,36], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#a99735bf6f673f0e3346e9be611125e2f":[5,0,0,19,33], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#aac54965185417e264093156b143a3751":[5,0,0,19,32], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#ab2692d9f28861a73d590a53f979d26fa":[5,0,0,19,6], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#ab8c4c8c81e8cebc44cb725f4a4b4add9":[5,0,0,19,24], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#ac4b85cbb9ba522c98eb524a7712721af":[5,0,0,19,27], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#ac708bb46683440effd2f46b3888e378f":[5,0,0,19,8], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#ad26bd872d417f6a9bff65768bb02e05f":[5,0,0,19,34], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#ad45e7200660f993615e34ceeb9ec49c6":[5,0,0,19,0], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#adea4f5ef82e61fc375fd2c3ee8e92147":[5,0,0,19,20], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#adf6b55205eac4c52c0ab70e4758e33da":[5,0,0,19,23], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#ae0e0256b292acd560accc1c02a6e393b":[5,0,0,19,14], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#ae5cba10d789e4d08b45339a702ba75f3":[5,0,0,19,5], +"d4/d30/classcudnn__frontend_1_1Operation__v8.html#aee00f6897786ce0f16963a7d2f57a2f8":[5,0,0,19,11], +"d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html":[5,0,0,22], +"d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a101b6c9515fdb333cdd3499f08774cf4":[5,0,0,22,0], +"d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a40e8f7825f75c35c40d9938532a81d02":[5,0,0,22,2], +"d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a45e8a324d62146f592b049f51d2e4552":[5,0,0,22,1], +"d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a589dedb418679abda7f64e6b9e2800a1":[5,0,0,22,3], +"d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a75dae8a911e005b960565d4a1a0024ba":[5,0,0,22,5], +"d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#ac78945f424f254f0060d4c2e1184cf1f":[5,0,0,22,4], +"d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#ad9cb3e166ab001b3b0c60ed2198cd6d9":[5,0,0,22,8], +"d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html":[5,0,1,0,1,2], +"d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#a03682754b06ed4f30b263119eecc2d52":[5,0,1,0,1,2,7], +"d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#a2246b5b40c7c6992153ef174063d6aa6":[5,0,1,0,1,2,2], +"d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#a6b6665e467ebabe0c0f7418d3fe4b118":[5,0,1,0,1,2,3], +"d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#aa5f250d12ce89c81fdb08900c6a823e8":[5,0,1,0,1,2,1], +"d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#ad8798a8823a49c8412f0fada9892c918":[5,0,1,0,1,2,0], +"d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#ae22e170815983961447c429f324c944d":[5,0,1,0,1,2,5], +"d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#aea90459e340a231ca31d46946803ef51":[5,0,1,0,1,2,6], +"d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#aeb26771af54ad73598c1a0430d65d884":[5,0,1,0,1,2,4], +"d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html":[5,0,1,0,32], +"d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html#a34104b98ab00564e564176b4d2ba7c3c":[5,0,1,0,32,1], +"d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html#adf4a6697420f3bddb4addfc0b98f6ee2":[5,0,1,0,32,0], +"d4/d6b/group__EngineFallbackListBuilder__v8.html":[3,3], +"d4/d6b/group__EngineFallbackListBuilder__v8.html#ga45c7c761a47a7731055ad0f943449610":[5,0,0,10,7], +"d4/d6b/group__EngineFallbackListBuilder__v8.html#ga45c7c761a47a7731055ad0f943449610":[3,3,1], +"d4/d6b/group__EngineFallbackListBuilder__v8.html#gaf66485fe1a0faccab971edd0c70f04b4":[5,0,0,10,6], +"d4/d6b/group__EngineFallbackListBuilder__v8.html#gaf66485fe1a0faccab971edd0c70f04b4":[3,3,0], +"d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html":[5,0,1,0,86], +"d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a1439c0eda85f5f67199374d3254b8f2a":[5,0,1,0,86,1], +"d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a1d3a80249cf837448966319310be9ec4":[5,0,1,0,86,3], +"d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a264935c57ca29dfb5153ade55266d1fa":[5,0,1,0,86,0], +"d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a37663ca283012236415d53145da1a0f9":[5,0,1,0,86,2], +"d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html":[5,0,1,0,12], +"d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a110f50fd5378da876d9a6d6a8d945e37":[5,0,1,0,12,2], +"d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a1b9226304e6492141080b4ebf228ddac":[5,0,1,0,12,4], +"d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a4ebb19b1cb84b4cb224a4c5322e16f14":[5,0,1,0,12,3], +"d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a50474d6624957a630a1d398cac1e7bfa":[5,0,1,0,12,1], +"d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#abfb2a6eec0bc21e8a7438546aebc55d8":[5,0,1,0,12,0], +"d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html":[5,0,1,0,85], +"d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a01706f07681df083c2174d236ff3d643":[5,0,1,0,85,3], +"d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a7cc60e68767005322ab4b692c9dff283":[5,0,1,0,85,0], +"d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a8aa29994ca6fdc0f8c96abf9151738ab":[5,0,1,0,85,6], +"d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a8abccad27590d381a94e474b16161938":[5,0,1,0,85,5], +"d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a9423d7166b9e3092f149266acd064ba7":[5,0,1,0,85,1], +"d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#ab86106ba230f1542b94dcd96e6ab3221":[5,0,1,0,85,4], +"d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#ace7ba18b59cde50cbc53687034f649be":[5,0,1,0,85,2], +"d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html":[5,0,0,30], +"d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a16d853685d603472bf260e500f55c145":[5,0,0,30,2], +"d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a27a6e5a2602262c35a8ea8533ef5a635":[5,0,0,30,1], +"d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a41a6e8afb46228fea2310f5cad75badc":[5,0,0,30,10], +"d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a7690f854d9e6fc2d4df059fca0e91c6a":[5,0,0,30,0], +"d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#abf794751941aa252c19e1879306375d3":[5,0,0,30,4], +"d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#ac7a523746975d15fd8dc54af0764dcb0":[5,0,0,30,3], +"d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#acee84ffc33b41807cdcb18425e9fced1":[5,0,0,30,5], +"d4/de1/group__ExecutionPlanBuilder__v8.html":[3,4,0], +"d4/de1/group__ExecutionPlanBuilder__v8.html#ga4166679391fc2df54e25964c03ae6e8e":[5,0,0,15,8], +"d4/de1/group__ExecutionPlanBuilder__v8.html#ga4166679391fc2df54e25964c03ae6e8e":[3,4,0,2], +"d4/de1/group__ExecutionPlanBuilder__v8.html#gac5c23cff8c1424f71ef2cee2dc66cd3c":[5,0,0,15,6], +"d4/de1/group__ExecutionPlanBuilder__v8.html#gac5c23cff8c1424f71ef2cee2dc66cd3c":[3,4,0,0], +"d4/de1/group__ExecutionPlanBuilder__v8.html#gae0f92d5445da53253ff3460ac6aefffa":[5,0,0,15,7], +"d4/de1/group__ExecutionPlanBuilder__v8.html#gae0f92d5445da53253ff3460ac6aefffa":[3,4,0,1], +"d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html":[5,0,0,25], +"d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a2d40c33ae24254be60d002d429637d22":[5,0,0,25,6], +"d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a2f878e63e294f06ac57a614db0a6c749":[5,0,0,25,1], +"d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a51f082e952ed5e01ddc9ef3f02f32f3b":[5,0,0,25,5], +"d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a51ff940ebdc71d701b7a3cbea9fe9825":[5,0,0,25,3], +"d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a7de6c8f64b486904b1e7542eb6b40281":[5,0,0,25,8], +"d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#aa88b55d2bdfc1d3cdd15784b091eb3d4":[5,0,0,25,0], +"d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#ab20fbdc2c97f07ff305cc6693adc242f":[5,0,0,25,7], +"d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#ad4d7570552aaf140e380e7a44e7785af":[5,0,0,25,4], +"d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#ad85b9113cca58bfeacc1ca33752cb578":[5,0,0,25,2], +"d4/df4/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html":[5,0,1,0,55], +"d4/df6/structnlohmann_1_1detail_1_1is__basic__json.html":[5,0,1,0,33], +"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html":[5,0,0,24], +"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a0514e70d05a21a9c46bc66d1e61c28f5":[5,0,0,24,13], +"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a5de642e4141705f8e06c4bf566f1d332":[5,0,0,24,4] }; diff --git a/docs/navtreeindex2.js b/docs/navtreeindex2.js index ca074d5d..cec6ca11 100644 --- a/docs/navtreeindex2.js +++ b/docs/navtreeindex2.js @@ -1,134 +1,253 @@ var NAVTREEINDEX2 = { -"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#afea76414fa5c0c5f38a551afcf11391c":[4,0,0,17,0], -"de/d0c/cudnn__frontend_8h.html":[5,0,1], -"de/d0c/cudnn__frontend_8h.html#a0b7ba1175801c56d07d26785bcd8fb70":[5,0,1,17], -"de/d0c/cudnn__frontend_8h.html#a0c344e3bc1f332aa9f5b213eb1ae9ee6":[5,0,1,13], -"de/d0c/cudnn__frontend_8h.html#a147bbd62e1c7c6b3fbc6869ab776b125":[5,0,1,8], -"de/d0c/cudnn__frontend_8h.html#a1ed8c535fea949a10acd26e279cc28a1":[5,0,1,2], -"de/d0c/cudnn__frontend_8h.html#a2559dec72130bbdc95c02fb0df79fd42":[5,0,1,4], -"de/d0c/cudnn__frontend_8h.html#a2f1497702504947953a0f5a69b6eeb2a":[5,0,1,14], -"de/d0c/cudnn__frontend_8h.html#a4f90ec150d149f8f0751daa3ad625839":[5,0,1,3], -"de/d0c/cudnn__frontend_8h.html#a61fbd4506f1249c686164fb33d858999":[5,0,1,6], -"de/d0c/cudnn__frontend_8h.html#a7f878662c40c287736343affc43f25dc":[5,0,1,19], -"de/d0c/cudnn__frontend_8h.html#a91b5e4e82a18d2212ad6be6d5398752c":[5,0,1,1], -"de/d0c/cudnn__frontend_8h.html#a984c10aa29daac796444bda66bdef26e":[5,0,1,10], -"de/d0c/cudnn__frontend_8h.html#a9fea2e22198aaf2ea11a0df46abd0749":[5,0,1,21], -"de/d0c/cudnn__frontend_8h.html#aa20fd945a531e0a3a5007e65fe917770":[5,0,1,20], -"de/d0c/cudnn__frontend_8h.html#aa508b66c4de02f4aacae8029dbe422eb":[5,0,1,11], -"de/d0c/cudnn__frontend_8h.html#aae6a627b67858b15afbc5656afa88123":[5,0,1,9], -"de/d0c/cudnn__frontend_8h.html#ab5b844f5de8ad3c056f0cb1cd0fb3ac1":[5,0,1,23], -"de/d0c/cudnn__frontend_8h.html#ac46e1785757fde7c10e3d527f697fde8":[5,0,1,5], -"de/d0c/cudnn__frontend_8h.html#ac86ce924df5209c4ce1bc25856eea6e6":[5,0,1,16], -"de/d0c/cudnn__frontend_8h.html#ad6ac8113b406ee2b6f20eff4dd2b4e01":[5,0,1,22], -"de/d0c/cudnn__frontend_8h.html#ad809552e9ec400bcbfcfc0ea5acd4e56":[5,0,1,12], -"de/d0c/cudnn__frontend_8h.html#ada5353494ce649fc915154ced52dcceb":[5,0,1,18], -"de/d0c/cudnn__frontend_8h.html#ae24bc7541c87c642cdef8eaf83c8eacc":[5,0,1,0], -"de/d0c/cudnn__frontend_8h.html#ae6d02ff4c7922673ed3862145a4019d4":[5,0,1,15], -"de/d0c/cudnn__frontend_8h.html#aeb6699f494fa895d402898dae554f5a9":[5,0,1,7], -"de/d0c/cudnn__frontend_8h_source.html":[5,0,1], -"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html":[5,0,5], -"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#a0f52559baeb4e9ee8835d95ea50a875e":[5,0,5,7], -"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#a53716729f10b4064fb41dec9dd32ffd6":[5,0,5,4], -"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#a560644a5c1e6016c509a379ca6e03f05":[5,0,5,3], -"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#ab3748fa00b36beec790db7201fdd2ef3":[5,0,5,6], -"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#ab3748fa00b36beec790db7201fdd2ef3a8199dfa6701edb38f52a74d9e229b43d":[5,0,5,6,2], -"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#ab3748fa00b36beec790db7201fdd2ef3a903bfd2e4d1b8ab2a7197be752c618a6":[5,0,5,6,1], -"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#ab3748fa00b36beec790db7201fdd2ef3ac8ab707d81df65503b6b0ecc67675158":[5,0,5,6,0], -"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#ad31f040777311d1d1a7a2490f23e026e":[5,0,5,5], -"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#ad5f0f0c892b009e34aa59f67de1b5535":[5,0,5,2], -"de/d1e/cudnn__frontend__EngineConfigGenerator_8h_source.html":[5,0,5], -"de/d6d/cudnn__frontend__Engine_8h.html":[5,0,3], -"de/d6d/cudnn__frontend__Engine_8h_source.html":[5,0,3], -"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html":[4,0,0,21], -"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a0b3b76a619160671c45c733eb1a13455":[4,0,0,21,3], -"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a19fd5ed99ab4053c8a178bd33843460a":[4,0,0,21,6], -"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a52c12bb0014a899c4c5201fb66301eb2":[4,0,0,21,10], -"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a5af59a099cc90eda429563e285b2907f":[4,0,0,21,8], -"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a5c029cff12e0e91406a8f88fd8a830f4":[4,0,0,21,2], -"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a85e65daf5a2db5aba0207ccad367457d":[4,0,0,21,0], -"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a87704bb46bb12bba977a21ed579a4ef3":[4,0,0,21,7], -"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#ab2570d81fc01c1b6b9a76220b0abd717":[4,0,0,21,12], -"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#abd35d4e84bb6ee70e8df38de093fc376":[4,0,0,21,9], -"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#ac8ca1ba29ac3f8e68ba1bf3e5e500338":[4,0,0,21,11], -"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#acd0b5f47407184b0b26bf4d4b5d0ce32":[4,0,0,21,4], -"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#aeb42611a38c4951e66cd23108d53353c":[4,0,0,21,1], -"df/d17/cudnn__frontend__utils_8h.html":[5,0,17], -"df/d17/cudnn__frontend__utils_8h.html#a011f392961f07ab6de46a080e9a652a2":[5,0,17,1], -"df/d17/cudnn__frontend__utils_8h.html#a1690523b8a133acefaeabc725032e21c":[5,0,17,2], -"df/d17/cudnn__frontend__utils_8h.html#a6b0bb5ee1f6d6491a7d53a01ae947dee":[5,0,17,3], -"df/d17/cudnn__frontend__utils_8h_source.html":[5,0,17], -"df/d3e/cudnn__frontend__EngineFallbackList_8h.html":[5,0,6], -"df/d3e/cudnn__frontend__EngineFallbackList_8h.html#ad365eee23138df472d716d9dbf119f0e":[5,0,6,2], -"df/d3e/cudnn__frontend__EngineFallbackList_8h_source.html":[5,0,6], -"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html":[4,0,0,6], -"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a04aedaff21f829caa98aacb68b51dcf1":[4,0,0,6,8], -"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a058e432452f5cd570cbf4e69d7d53eea":[4,0,0,6,1], -"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a16d46ab109f54fe4ef0863fddcc66e42":[4,0,0,6,0], -"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a1c7175f7d3cc7224496f276df36036aa":[4,0,0,6,5], -"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a37695c0659b489b06ff3b83194be59bb":[4,0,0,6,11], -"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a9365e32afd0eae60e3d87a853dd24e33":[4,0,0,6,10], -"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a9b1cd07d3023dc3130d5eae560558cdb":[4,0,0,6,7], -"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ab761cb8a8a38495e913395fa872afb3e":[4,0,0,6,2], -"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ac102dce4f496c358a15ca753362fc4b7":[4,0,0,6,9], -"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#acf7eccfed045156beab03a2db0c31dd8":[4,0,0,6,3], -"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ad79aab6d69a2b4400259abd72af73c84":[4,0,0,6,6], -"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#aefd7d8d3da71ce0dddca0f6a85fd1c80":[4,0,0,6,4], -"df/dc0/cudnn__frontend__VariantPack_8h.html":[5,0,18], -"df/dc0/cudnn__frontend__VariantPack_8h_source.html":[5,0,18], -"df/de1/namespacecudnn__frontend.html":[3,0,0], -"df/de1/namespacecudnn__frontend.html":[4,0,0], -"files.html":[5,0], -"functions.html":[4,3,0,0], -"functions.html":[4,3,0], -"functions_0x7e.html":[4,3,0,21], -"functions_b.html":[4,3,0,1], -"functions_c.html":[4,3,0,2], -"functions_d.html":[4,3,0,3], -"functions_e.html":[4,3,0,4], -"functions_func.html":[4,3,1,0], -"functions_func.html":[4,3,1], -"functions_func_0x7e.html":[4,3,1,14], -"functions_func_c.html":[4,3,1,1], -"functions_func_d.html":[4,3,1,2], -"functions_func_e.html":[4,3,1,3], -"functions_func_g.html":[4,3,1,4], -"functions_func_i.html":[4,3,1,5], -"functions_func_k.html":[4,3,1,6], -"functions_func_m.html":[4,3,1,7], -"functions_func_o.html":[4,3,1,8], -"functions_func_p.html":[4,3,1,9], -"functions_func_s.html":[4,3,1,10], -"functions_func_t.html":[4,3,1,11], -"functions_func_v.html":[4,3,1,12], -"functions_func_w.html":[4,3,1,13], -"functions_g.html":[4,3,0,5], -"functions_h.html":[4,3,0,6], -"functions_i.html":[4,3,0,7], -"functions_k.html":[4,3,0,8], -"functions_l.html":[4,3,0,9], -"functions_m.html":[4,3,0,10], -"functions_n.html":[4,3,0,11], -"functions_o.html":[4,3,0,12], -"functions_p.html":[4,3,0,13], -"functions_rela.html":[4,3,3], -"functions_s.html":[4,3,0,14], -"functions_t.html":[4,3,0,15], -"functions_u.html":[4,3,0,16], -"functions_v.html":[4,3,0,17], -"functions_vars.html":[4,3,2], -"functions_w.html":[4,3,0,18], -"functions_x.html":[4,3,0,19], -"functions_y.html":[4,3,0,20], -"hierarchy.html":[4,2], -"index.html":[], -"index.html#Introduction":[0], -"index.html#Need":[1], -"modules.html":[2], -"namespacemembers.html":[3,1,0], -"namespacemembers_enum.html":[3,1,3], -"namespacemembers_func.html":[3,1,1], -"namespacemembers_type.html":[3,1,2], -"namespaces.html":[3,0], -"pages.html":[] +"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a6f5605f25897bba7afc6baf76228828c":[5,0,0,24,0], +"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a804a2b5438f464185b16a4652fc14cf5":[5,0,0,24,16], +"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a8bdbf27c37334f5b61a65eb1bd4b6a98":[5,0,0,24,7], +"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aa93615adf69e7a87a06d0cea687794a6":[5,0,0,24,12], +"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aad41d0f7b6667383fd9012bc492a13c3":[5,0,0,24,15], +"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ab692e5a2b3970346f68af33530ef98e8":[5,0,0,24,14], +"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ac0d140493e21b164bc21dd0bcbeeaa65":[5,0,0,24,5], +"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ad6a7549d62410d3de87040586b49b815":[5,0,0,24,2], +"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aeccd727adb1d3b0b8d9d95b7f6e1b9ce":[5,0,0,24,3], +"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#af976fab4a7726609a1b10dc2a8bcdf65":[5,0,0,24,1], +"d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#afdbe0ce3f7fb2f0d23251ccb7507bc69":[5,0,0,24,11], +"d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html":[5,0,0,14], +"d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#a00c29ad02430927df9260c7e57ae7c7a":[5,0,0,14,9], +"d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#a8a8ac13b1c639dd9b87c280a598446af":[5,0,0,14,1], +"d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#ac388ed7f6911f704ed2618a3867fad72":[5,0,0,14,0], +"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html":[5,0,0,18], +"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a10487abe0a45d35824ec75b0d3894f21":[5,0,0,18,9], +"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a42a928eb5b2524d1c3f67b7200dd53c9":[5,0,0,18,0], +"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a47968d641c0da8d33882f86d8afa30b4":[5,0,0,18,8], +"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a997d733607e747516eb2334c51c48f29":[5,0,0,18,1], +"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a9f549dd95873ac3a02689ef97f4a6c75":[5,0,0,18,3], +"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#aa9059097bb9161d454c6e17b03ca236c":[5,0,0,18,6], +"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#aadf0c53d7aedb1c6c121b2736e98b2dd":[5,0,0,18,2], +"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#abd4f69554da364008f3780e9dc3a5bfc":[5,0,0,18,5], +"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#ac1700c7d96af0250e5721f5e5f9d95bc":[5,0,0,18,4], +"d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#adf5bf20f5bdfbfdecd05360830b34b89":[5,0,0,18,7], +"d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html":[5,0,1,0,123], +"d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html#a0ff95d2f31684b6477abcd783975b7c1":[5,0,1,0,123,0], +"d5/d1a/classnlohmann_1_1detail_1_1parse__error.html":[5,0,1,0,109], +"d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#a0ea816ea3521d7109407948cb1b850f7":[5,0,1,0,109,0], +"d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#a90fbaaeeb00838e65b8d04885017ef0c":[5,0,1,0,109,2], +"d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#a9505aaa1ca943be927eec7cc579592ff":[5,0,1,0,109,4], +"d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#ae77bd584cb9101140790219af7fec1ce":[5,0,1,0,109,1], +"d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#aefe74adeaa48781464ba2fd2ec63d221":[5,0,1,0,109,3], +"d5/d1b/classnlohmann_1_1detail_1_1other__error.html":[5,0,1,0,102], +"d5/d1b/classnlohmann_1_1detail_1_1other__error.html#a3a25fa67a0ec36b5d36cbc4424eb901d":[5,0,1,0,102,1], +"d5/d1b/classnlohmann_1_1detail_1_1other__error.html#adf9227d6ca5161508f6a598a0dc6e7cd":[5,0,1,0,102,0], +"d5/d36/cudnn__frontend__Filters_8h.html":[6,0,9], +"d5/d36/cudnn__frontend__Filters_8h.html#a4d18e44a57e30f9bf29157f742ba9c65":[6,0,9,0], +"d5/d36/cudnn__frontend__Filters_8h.html#a75bb541476d93b039f5fd9f9d29242e6":[6,0,9,1], +"d5/d36/cudnn__frontend__Filters_8h_source.html":[6,0,9], +"d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html":[5,0,1,0,14], +"d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html#a867122bcf0856c757bd6bcbfb8be74bc":[5,0,1,0,14,0], +"d5/d3c/structnlohmann_1_1detail_1_1iterator__types.html":[5,0,1,0,91], +"d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.html":[5,0,1,0,21], +"d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.html#a4ab8572670a673d64b783589cf658270":[5,0,1,0,21,0], +"d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html":[5,0,1,0,108], +"d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html#a9b1ed9fba14e671ae1abb6692560ef3f":[5,0,1,0,108,3], +"d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html#a9c4fbf88fda356837038ec30a264cd3e":[5,0,1,0,108,0], +"d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html#ad6f6c461dec7bedd5359454dc22fc9aa":[5,0,1,0,108,2], +"d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html#af6a22d4210bb7bc2da66021300ddd6db":[5,0,1,0,108,1], +"d5/da3/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_3_01T_01_4_1_1value_01_4_01_4.html":[5,0,1,0,90], +"d5/db0/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4.html":[5,0,1,0,7], +"d5/db8/json_8hpp.html":[6,0,21], +"d5/db8/json_8hpp.html#a005d6f0dbab6f7152e43fb85fc4f4990":[6,0,21,205], +"d5/db8/json_8hpp.html#a009a77cb8a9fd33aafff173bb945128d":[6,0,21,237], +"d5/db8/json_8hpp.html#a019bc7ba256120287abe9297d8220f8d":[6,0,21,336], +"d5/db8/json_8hpp.html#a02bcbc878bee413f25b985ada771aa9c":[6,0,21,367], +"d5/db8/json_8hpp.html#a034c879888858092ec101e8d02be67c2":[6,0,21,243], +"d5/db8/json_8hpp.html#a04269935c66fe5a9b6c33fa36037d215":[6,0,21,253], +"d5/db8/json_8hpp.html#a047d881e611fcac709dc318f730a1732":[6,0,21,419], +"d5/db8/json_8hpp.html#a05b681dcb8569b9784c6dccfadb01633":[6,0,21,446], +"d5/db8/json_8hpp.html#a06401b258ef03263f2aec48029dc8b03":[6,0,21,270], +"d5/db8/json_8hpp.html#a0643bd74c2dc6f0e4e420b8190ea8f0f":[6,0,21,285], +"d5/db8/json_8hpp.html#a06449cfb74f25f075a8ea334542f1c65":[6,0,21,235], +"d5/db8/json_8hpp.html#a074e795380699252f28c9526ca83e586":[6,0,21,209], +"d5/db8/json_8hpp.html#a07deda8156c4854e92eb65fcc082901b":[6,0,21,321], +"d5/db8/json_8hpp.html#a082bdafd3b4c61d9d1e92b35b8f75ee3":[6,0,21,394], +"d5/db8/json_8hpp.html#a09169efff3bd1771fff29bd92cea19e0":[6,0,21,462], +"d5/db8/json_8hpp.html#a096be2083232d3a3ea9f3aeb25885f60":[6,0,21,164], +"d5/db8/json_8hpp.html#a0a88431676c1c0dd23152f6398c85b47":[6,0,21,329], +"d5/db8/json_8hpp.html#a0b76dc40f2f2c2f983b6b7f74976cc89":[6,0,21,486], +"d5/db8/json_8hpp.html#a0c4b607b1dda665174dcd4c6cfe6ce95":[6,0,21,260], +"d5/db8/json_8hpp.html#a0c8b159dba71981d6c555d284cf6e2bf":[6,0,21,473], +"d5/db8/json_8hpp.html#a0d17bf1a54fc45a04ced6d3aa86a96e3":[6,0,21,171], +"d5/db8/json_8hpp.html#a0f2cbf281fa983a844b9279c697b7a0c":[6,0,21,176], +"d5/db8/json_8hpp.html#a106b949d848bb8243a7cf94f11bcebf1":[6,0,21,460], +"d5/db8/json_8hpp.html#a1136ab0d872379bb18d0839893bede67":[6,0,21,248], +"d5/db8/json_8hpp.html#a138095ac760d2964c84f562b23332101":[6,0,21,261], +"d5/db8/json_8hpp.html#a14d8cdf544585f1c38eab6a0820e55f7":[6,0,21,424], +"d5/db8/json_8hpp.html#a164e098f308804c3bada63613ad75dab":[6,0,21,196], +"d5/db8/json_8hpp.html#a1711ee5cef66a0523055c8d9f024f322":[6,0,21,370], +"d5/db8/json_8hpp.html#a1850f57fcda72becebc7033a2e10e77b":[6,0,21,185], +"d5/db8/json_8hpp.html#a18e393011cc564dc6b0f1d15b8c84e05":[6,0,21,326], +"d5/db8/json_8hpp.html#a1a804b98cbe89b7e44b698f2ca860490":[6,0,21,467], +"d5/db8/json_8hpp.html#a1c5d30eb51e5e994a3f48bde104d2ce8":[6,0,21,463], +"d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985":[6,0,21,406], +"d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985a37a6259cc0c1dae299a7866489dff0bd":[6,0,21,406,0], +"d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985a5763da164f8659d94a56e29df64b4bcc":[6,0,21,406,5], +"d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985a84e2c64f38f78ba3ea5c905ab5a2da27":[6,0,21,406,4], +"d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985a94708897ec9db8647dfe695714c98e46":[6,0,21,406,9], +"d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985a9d7183f16acce70658f686ae7f1a4d20":[6,0,21,406,8], +"d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985aa8cfde6331bd59eb2ac96f8911c4b666":[6,0,21,406,1], +"d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985ab45cffe084dd3d20d928bee85e7b0f21":[6,0,21,406,3], +"d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985ad9966ecb59667235a57b4b999a649eef":[6,0,21,406,7], +"d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985adce7cc8ec29055c4158828921f2f265e":[6,0,21,406,6], +"d5/db8/json_8hpp.html#a1ed8fc6239da25abcaf681d30ace4985af1f713c9e000f5d3f280adbd124df4f5":[6,0,21,406,2], +"d5/db8/json_8hpp.html#a1f0395aad0fe853a4539288749d3a603":[6,0,21,413], +"d5/db8/json_8hpp.html#a1ff3757a45a2cb0c54f78722fd7dc47c":[6,0,21,259], +"d5/db8/json_8hpp.html#a2058eaa857e2b8409234212297c30b5c":[6,0,21,349], +"d5/db8/json_8hpp.html#a20df787f375192fed2b9529178f4e003":[6,0,21,350], +"d5/db8/json_8hpp.html#a20ea5175c8999fc8b673e46b892f71f6":[6,0,21,481], +"d5/db8/json_8hpp.html#a21937c8e7c79a1bef6695691c733e29f":[6,0,21,236], +"d5/db8/json_8hpp.html#a22191081208b226e3875e1118107c281":[6,0,21,476], +"d5/db8/json_8hpp.html#a22b6e37654ac93c6d0d9c06ec1bf5ded":[6,0,21,409], +"d5/db8/json_8hpp.html#a22bffdc8bc7e43af380ba2050696b230":[6,0,21,470], +"d5/db8/json_8hpp.html#a240ce21919ab08e8a6cb3a5cfa412bce":[6,0,21,363], +"d5/db8/json_8hpp.html#a2417cc05952936574c0a6ed96d73d8e2":[6,0,21,206], +"d5/db8/json_8hpp.html#a24800493c6ec02ce033dcbb47b7fd28e":[6,0,21,373], +"d5/db8/json_8hpp.html#a249aceda550177adb6d09382d1377a60":[6,0,21,439], +"d5/db8/json_8hpp.html#a24c96ca7fc59096c30b32339a953f97d":[6,0,21,283], +"d5/db8/json_8hpp.html#a24c9c12f3839c94e09532f08de85e949":[6,0,21,479], +"d5/db8/json_8hpp.html#a264d4d58bc1fd82bcc7bf6bf73d6acad":[6,0,21,391], +"d5/db8/json_8hpp.html#a26967eb7395562701e450cec045dda15":[6,0,21,268], +"d5/db8/json_8hpp.html#a26dc71e2dd9336587e56062178f9abce":[6,0,21,393], +"d5/db8/json_8hpp.html#a27c3fc3bd42ac406f763184aa8ae4cb0":[6,0,21,397], +"d5/db8/json_8hpp.html#a28d7e3b2d26bd5b8a3806da3db7dea03":[6,0,21,276], +"d5/db8/json_8hpp.html#a2932f2bc2943dac6d51669312f4fc0f5":[6,0,21,416], +"d5/db8/json_8hpp.html#a29b325cc7fac302f2488259237d30953":[6,0,21,169], +"d5/db8/json_8hpp.html#a29c62e19dfa10fb48bf3aa877c4af21c":[6,0,21,220], +"d5/db8/json_8hpp.html#a2ac1bb00523b2502c10c97d70359ffc8":[6,0,21,392], +"d5/db8/json_8hpp.html#a2b608f54c6ad7eb116db8ac32d662e59":[6,0,21,331], +"d5/db8/json_8hpp.html#a2bfd99e845a2e5cd90aeaf1b1431f474":[6,0,21,379], +"d5/db8/json_8hpp.html#a2c4e6a04293aaf333a31698dea661b3b":[6,0,21,212], +"d5/db8/json_8hpp.html#a2cf645f34610e7f7d6e09ab88a2ab917":[6,0,21,280], +"d5/db8/json_8hpp.html#a2d04cc47c899e9addd019e0e7d1ebdbb":[6,0,21,274], +"d5/db8/json_8hpp.html#a2d5705bd7bd14855c3ef5b98305c5fb4":[6,0,21,269], +"d5/db8/json_8hpp.html#a2e17831d69746d3ee8ad4796e96975a2":[6,0,21,242], +"d5/db8/json_8hpp.html#a2edb8d037ad5cbac818c86aca317226a":[6,0,21,254], +"d5/db8/json_8hpp.html#a2fb6dae6578e06ae73ca0d7cc8512b1a":[6,0,21,405], +"d5/db8/json_8hpp.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa2063c1608d6e0baf80249c42e2be5804":[6,0,21,405,5], +"d5/db8/json_8hpp.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa3c6e0b8a9c15224a8228b9a98ca1531d":[6,0,21,405,4], +"d5/db8/json_8hpp.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa49642fb732aa2e112188fba1f9d3ef7f":[6,0,21,405,3], +"d5/db8/json_8hpp.html#a2fb6dae6578e06ae73ca0d7cc8512b1aaa4388a3d92419edbb1c6efd4d52461f3":[6,0,21,405,2], +"d5/db8/json_8hpp.html#a2fb6dae6578e06ae73ca0d7cc8512b1aae73f17027cb0acbb537f29d0a6944b26":[6,0,21,405,0], +"d5/db8/json_8hpp.html#a2fb6dae6578e06ae73ca0d7cc8512b1aaf63e2a2468a37aa4f394fcc3bcb8249c":[6,0,21,405,1], +"d5/db8/json_8hpp.html#a30507458068a8b4b2fb270712915783d":[6,0,21,303], +"d5/db8/json_8hpp.html#a307e0238ebc35e99ea45c68823eb83eb":[6,0,21,359], +"d5/db8/json_8hpp.html#a3120ded0ea577721fd71e3591657c577":[6,0,21,305], +"d5/db8/json_8hpp.html#a31838a6c7a461d3a889e6fc40b3a19e6":[6,0,21,440], +"d5/db8/json_8hpp.html#a320bfe79028a67cd5873f917bc5418dd":[6,0,21,215], +"d5/db8/json_8hpp.html#a32c518e9a43fb0389fccb41e5c6f63a9":[6,0,21,356], +"d5/db8/json_8hpp.html#a33416940d4a62a583f03b0ff2375400e":[6,0,21,308], +"d5/db8/json_8hpp.html#a33ac48776f95a68576c40217395bf48d":[6,0,21,320], +"d5/db8/json_8hpp.html#a34846d0797b38c1971baee08736dae69":[6,0,21,239], +"d5/db8/json_8hpp.html#a355f2770653ff7bdd5c74b204b5a3ad0":[6,0,21,225], +"d5/db8/json_8hpp.html#a358ebb5dee01b8ed59bc28f815bc6d93":[6,0,21,318], +"d5/db8/json_8hpp.html#a3603b59a17d1c5e15050743b847992f2":[6,0,21,366], +"d5/db8/json_8hpp.html#a36ded358763b5dbcea9867660fbe4e28":[6,0,21,411], +"d5/db8/json_8hpp.html#a37617841d58aa4d88d0efee4db57ee18":[6,0,21,224], +"d5/db8/json_8hpp.html#a378be9b66feb11153979c282c669b12e":[6,0,21,158], +"d5/db8/json_8hpp.html#a37e97a32d0b94ce5f745427e4e40204d":[6,0,21,365], +"d5/db8/json_8hpp.html#a38192f48e8c6ee0018a988d54e97cacf":[6,0,21,265], +"d5/db8/json_8hpp.html#a3afebc132c5ff83f9cd160e52030fdfd":[6,0,21,475], +"d5/db8/json_8hpp.html#a3b306ea5f5176f748572ca5b1c9a4dda":[6,0,21,435], +"d5/db8/json_8hpp.html#a3c45286b0a2f15ea0a756cb87a76cf9b":[6,0,21,458], +"d5/db8/json_8hpp.html#a3ce7b30717e453922113c4f62e645e13":[6,0,21,161], +"d5/db8/json_8hpp.html#a3d620ef5f95be933b3d8e24d4fc5b6d5":[6,0,21,264], +"d5/db8/json_8hpp.html#a3df497b1d3977f071b488ecac1401517":[6,0,21,422], +"d5/db8/json_8hpp.html#a3f6cfd0610cc977f34e910266945f200":[6,0,21,312], +"d5/db8/json_8hpp.html#a3fdc9b5e6d3c8ae21a13950f89e1380a":[6,0,21,344], +"d5/db8/json_8hpp.html#a40f7bb070a60e8ba14fffb9c117fcbd8":[6,0,21,432], +"d5/db8/json_8hpp.html#a422430dab7adbe4dfcf125dfcfbeffd0":[6,0,21,372], +"d5/db8/json_8hpp.html#a425f5b0501e323903d0452227d83b764":[6,0,21,299], +"d5/db8/json_8hpp.html#a44869ca9f422b260625d78e4e8121559":[6,0,21,380], +"d5/db8/json_8hpp.html#a4500e349152e53a3a6f0ab95c6a4a840":[6,0,21,160], +"d5/db8/json_8hpp.html#a45ec87326503b8884b664a9ef23a6c99":[6,0,21,361], +"d5/db8/json_8hpp.html#a472922971d1cd7308a4402042bdafe34":[6,0,21,217], +"d5/db8/json_8hpp.html#a472a0656b154bb30cf6e8fb8a31b9209":[6,0,21,188], +"d5/db8/json_8hpp.html#a48a0da09ac90252022f6864cfa3d9448":[6,0,21,342], +"d5/db8/json_8hpp.html#a4948bef216c2594dae7921d9c4045455":[6,0,21,360], +"d5/db8/json_8hpp.html#a49c543dca7e9b9844991dad31328fb06":[6,0,21,335], +"d5/db8/json_8hpp.html#a4a3e14a011b9ea1ff849fc6d2411e6a0":[6,0,21,387], +"d5/db8/json_8hpp.html#a4a750fcc38da1ce68b7e25ab3a230e20":[6,0,21,489], +"d5/db8/json_8hpp.html#a4aa1ca6b7c61bf19d1f30ea5b669f68e":[6,0,21,469], +"d5/db8/json_8hpp.html#a4b6d318de76d6d23850ec1a588bdeffa":[6,0,21,257], +"d5/db8/json_8hpp.html#a4bdece2f00bf96988662186d7f23ca0f":[6,0,21,191], +"d5/db8/json_8hpp.html#a4c5d399dfa9252e70f876756f3f49084":[6,0,21,355], +"d5/db8/json_8hpp.html#a4ec16c2642fdc5876d8dbeab3445b313":[6,0,21,167], +"d5/db8/json_8hpp.html#a4f8f97d2fbb1d02cb9e14253db29afc5":[6,0,21,337], +"d5/db8/json_8hpp.html#a5091052b859b2a814db1ed8f6ed6a2a2":[6,0,21,314], +"d5/db8/json_8hpp.html#a50f81c80525d6fbce743d5d28b53ff73":[6,0,21,272], +"d5/db8/json_8hpp.html#a510dfa15b01e9a8afe31600a27b28199":[6,0,21,484], +"d5/db8/json_8hpp.html#a520988513cac994a1dfd16b5859a1ca6":[6,0,21,453], +"d5/db8/json_8hpp.html#a521367b4e81907450a7ea0bf28028b01":[6,0,21,226], +"d5/db8/json_8hpp.html#a5262e531c46e357b33007060f294673b":[6,0,21,375], +"d5/db8/json_8hpp.html#a5306714f979551cab30546a0e0e7e9f9":[6,0,21,183], +"d5/db8/json_8hpp.html#a5338981b5ad9027c9e54b1c5597f4344":[6,0,21,234], +"d5/db8/json_8hpp.html#a5349ab2d8aea839cdd9d127f1228bd28":[6,0,21,324], +"d5/db8/json_8hpp.html#a53a082eedad9f4729fcd8fed552a21f7":[6,0,21,399], +"d5/db8/json_8hpp.html#a543a78d9931a92663e3b3fc552a390a4":[6,0,21,179], +"d5/db8/json_8hpp.html#a5440d650150d01e8015133521351b459":[6,0,21,420], +"d5/db8/json_8hpp.html#a5478b7564e65634cc69432ed3cb6490e":[6,0,21,279], +"d5/db8/json_8hpp.html#a5563e5b0fbc2a9b525830081404d9208":[6,0,21,278], +"d5/db8/json_8hpp.html#a5767c8967df840d48dc01b0cf810a882":[6,0,21,287], +"d5/db8/json_8hpp.html#a58117f225f43d03e3a0a4a6f3d77c9d9":[6,0,21,414], +"d5/db8/json_8hpp.html#a58a04525435cdf51110639ee089ed012":[6,0,21,294], +"d5/db8/json_8hpp.html#a58bb1ef1a9ad287a9cfaf1855784d9ac":[6,0,21,402], +"d5/db8/json_8hpp.html#a58bb1ef1a9ad287a9cfaf1855784d9aca567bc1d268f135496de3d5b946b691f3":[6,0,21,402,1], +"d5/db8/json_8hpp.html#a58bb1ef1a9ad287a9cfaf1855784d9acacb5e100e5a9a3e7f6d1fd97512215282":[6,0,21,402,0], +"d5/db8/json_8hpp.html#a58f402f503add069cbb5824130b63a50":[6,0,21,311], +"d5/db8/json_8hpp.html#a598b8238661e5ae448d5680ae35c4d2f":[6,0,21,222], +"d5/db8/json_8hpp.html#a59fca69799f6b9e366710cb9043aa77d":[6,0,21,487], +"d5/db8/json_8hpp.html#a5a76b60b26dc8c47256a996d18d967df":[6,0,21,403], +"d5/db8/json_8hpp.html#a5a76b60b26dc8c47256a996d18d967dfa2133fd717402a7966ee88d06f9e0b792":[6,0,21,403,0], +"d5/db8/json_8hpp.html#a5a76b60b26dc8c47256a996d18d967dfa567bc1d268f135496de3d5b946b691f3":[6,0,21,403,2], +"d5/db8/json_8hpp.html#a5a76b60b26dc8c47256a996d18d967dfa9dde360102c103867bd2f45872f1129c":[6,0,21,403,1], +"d5/db8/json_8hpp.html#a5b24896e5f5db6af06d939dde4b63fe1":[6,0,21,427], +"d5/db8/json_8hpp.html#a5bc841e0bee12fd6489d49cf7bd07bb4":[6,0,21,449], +"d5/db8/json_8hpp.html#a5cfb765aad92795abd7fda29d017272a":[6,0,21,421], +"d5/db8/json_8hpp.html#a5d9ed879aa65e4db12a81ee95529c3e4":[6,0,21,175], +"d5/db8/json_8hpp.html#a5f2aaec3b681d0a72f7d6e90b70cdcd1":[6,0,21,251], +"d5/db8/json_8hpp.html#a5fff1e6dcaabd367d9b1109a5682f9d4":[6,0,21,396], +"d5/db8/json_8hpp.html#a611bebbfa9ee64dd8fee1e8c4bc3cbf6":[6,0,21,452], +"d5/db8/json_8hpp.html#a6125ffd318b2d6698faad4175a6e7c56":[6,0,21,165], +"d5/db8/json_8hpp.html#a6198db3ff6fc72b1fa798229fd025229":[6,0,21,262], +"d5/db8/json_8hpp.html#a66dfe39f03b05d6b7265a0ff748d64ef":[6,0,21,381], +"d5/db8/json_8hpp.html#a66eb4d912b6f872d6983f7d0826f32c6":[6,0,21,408], +"d5/db8/json_8hpp.html#a66ec7d7c320280d6e75cb3634048cd49":[6,0,21,219], +"d5/db8/json_8hpp.html#a679e5e522ac6afa5d5923292fab450b8":[6,0,21,450], +"d5/db8/json_8hpp.html#a681fd0533fbc24394f3322b6f4a60c4f":[6,0,21,266], +"d5/db8/json_8hpp.html#a682c9966e923aa4fa0193b278b1edd2a":[6,0,21,302], +"d5/db8/json_8hpp.html#a690c86f3a6798a8f228c23e353fa1f4c":[6,0,21,330], +"d5/db8/json_8hpp.html#a690f7e555056ce490bd47dd5cdf9b48d":[6,0,21,456], +"d5/db8/json_8hpp.html#a6954bec49ed2a2dfb938c1131c82740a":[6,0,21,150], +"d5/db8/json_8hpp.html#a69f131cff49da1989667220173fbeae6":[6,0,21,149], +"d5/db8/json_8hpp.html#a6b0ee37cd596951acd0a951a68e0ac21":[6,0,21,227], +"d5/db8/json_8hpp.html#a6c274f6db2e65c1b66c7d41b06ad690f":[6,0,21,281], +"d5/db8/json_8hpp.html#a6cca370ac6c99294dbe4fe24716a57dd":[6,0,21,466], +"d5/db8/json_8hpp.html#a6ce645a0b8717757e096a5b5773b7a16":[6,0,21,485], +"d5/db8/json_8hpp.html#a6da6cf565af6a4a786b484019dce2fd3":[6,0,21,346], +"d5/db8/json_8hpp.html#a6e5309c4debd7b1ca036bd78a45da83d":[6,0,21,338], +"d5/db8/json_8hpp.html#a701eddd8e14dbe617a9ca81b095e88fb":[6,0,21,192], +"d5/db8/json_8hpp.html#a7056c44a5787e78720407fc97aefbd0f":[6,0,21,190], +"d5/db8/json_8hpp.html#a70d7244eea52c8bb5716545e54050bb5":[6,0,21,156], +"d5/db8/json_8hpp.html#a7106fb230747163b5b16121eb6a42b23":[6,0,21,249], +"d5/db8/json_8hpp.html#a72d13fe9cacdfa68533b8e46b06c8edc":[6,0,21,345], +"d5/db8/json_8hpp.html#a7356ed05cdbbb080cee80e1211e1c6c9":[6,0,21,468], +"d5/db8/json_8hpp.html#a745268b2c803a873cdbe1fdecb4e88b2":[6,0,21,383], +"d5/db8/json_8hpp.html#a74da7b17bda76f65d276feb18209c913":[6,0,21,388], +"d5/db8/json_8hpp.html#a752eb648bbfc7bcd8a4624c43f520412":[6,0,21,216], +"d5/db8/json_8hpp.html#a7542b4dbac07817fd4849ecfa4619def":[6,0,21,376], +"d5/db8/json_8hpp.html#a768d6ebcd60776a1a90a20ee96cc92c9":[6,0,21,343], +"d5/db8/json_8hpp.html#a7908f7aa06f20e6083619d1d4b4eb769":[6,0,21,457], +"d5/db8/json_8hpp.html#a7ac5b8ef0363101275a2827b3b117dcf":[6,0,21,364], +"d5/db8/json_8hpp.html#a7c06b590679604ecb0ea2a3b62bd254b":[6,0,21,434], +"d5/db8/json_8hpp.html#a7c94253db90041af11dd946a49f0f8a4":[6,0,21,357], +"d5/db8/json_8hpp.html#a7cb5dd7d46a60e65f9a8e0873b3f7dd8":[6,0,21,417], +"d5/db8/json_8hpp.html#a7deb2db8eed6f1762373dde7a6595760":[6,0,21,423], +"d5/db8/json_8hpp.html#a7f0c430594f42a2409ff2474722133c5":[6,0,21,301] }; diff --git a/docs/navtreeindex3.js b/docs/navtreeindex3.js new file mode 100644 index 00000000..dcfa01f0 --- /dev/null +++ b/docs/navtreeindex3.js @@ -0,0 +1,253 @@ +var NAVTREEINDEX3 = +{ +"d5/db8/json_8hpp.html#a7f7c7b9760161b774cdc0b4b838fae64":[6,0,21,477], +"d5/db8/json_8hpp.html#a80273cecc45765d7b2826ec931fbffdd":[6,0,21,395], +"d5/db8/json_8hpp.html#a80b7254e63f199a1f656f07ae551f632":[6,0,21,284], +"d5/db8/json_8hpp.html#a81c7e3b5b6811abfd89146ad33a93d8f":[6,0,21,155], +"d5/db8/json_8hpp.html#a82747e7a15c5cecf1223dbc4eb7a1c6b":[6,0,21,232], +"d5/db8/json_8hpp.html#a8305e64563937a0421af09a573184a15":[6,0,21,339], +"d5/db8/json_8hpp.html#a839b0ab50d2c9bce669068f56bc41202":[6,0,21,428], +"d5/db8/json_8hpp.html#a8419c2b65d28686932087c587eb19157":[6,0,21,228], +"d5/db8/json_8hpp.html#a85955b9c6dd31846e4b8e891f78614b6":[6,0,21,444], +"d5/db8/json_8hpp.html#a866beb938b64216218cd062e18602eb9":[6,0,21,309], +"d5/db8/json_8hpp.html#a86dd11af75e3f25f5be26cf3c779ba79":[6,0,21,246], +"d5/db8/json_8hpp.html#a8788394855e9b5a1cc32327db5a613cb":[6,0,21,218], +"d5/db8/json_8hpp.html#a8afa30449fac8b5069e62f26421d4148":[6,0,21,208], +"d5/db8/json_8hpp.html#a8b50e69690eed3a7e11797b1122b4302":[6,0,21,256], +"d5/db8/json_8hpp.html#a8c790866b16f58cbe0b3286a7a6238c3":[6,0,21,174], +"d5/db8/json_8hpp.html#a8d18979cc7c33deda994e0caacf9e5e0":[6,0,21,289], +"d5/db8/json_8hpp.html#a8d412aa5d441b533afa439a89aa4a754":[6,0,21,178], +"d5/db8/json_8hpp.html#a8df7de76ab3c9445f46f6994ec205bcd":[6,0,21,267], +"d5/db8/json_8hpp.html#a8f25d249f0af16eaac3b8444bd79e66b":[6,0,21,296], +"d5/db8/json_8hpp.html#a8f4713d1d9c1a0a5e1503c2fbafd4e40":[6,0,21,436], +"d5/db8/json_8hpp.html#a8fcc2d27e828fbd8d5ef88ba341e56c0":[6,0,21,163], +"d5/db8/json_8hpp.html#a8fee48568bba4163bcc0ffd2a556d5cf":[6,0,21,351], +"d5/db8/json_8hpp.html#a90005c47b51e2bc57bb86d089429bd1c":[6,0,21,297], +"d5/db8/json_8hpp.html#a9135fcf616d6ac6e231a86e0a055ac44":[6,0,21,374], +"d5/db8/json_8hpp.html#a91fe576be579c8c2fdd14610605c6dd2":[6,0,21,472], +"d5/db8/json_8hpp.html#a92764b738f44272e1b18c3ef1403c894":[6,0,21,203], +"d5/db8/json_8hpp.html#a92a167c49c6697b6ffe4f79492c705e5":[6,0,21,401], +"d5/db8/json_8hpp.html#a92d3147a1b6ee178d6645f087b0092a2":[6,0,21,328], +"d5/db8/json_8hpp.html#a931a0b268897bdd26521ac3152ddba5b":[6,0,21,353], +"d5/db8/json_8hpp.html#a938dadb6cadaaaccf72990d09be5dc0a":[6,0,21,204], +"d5/db8/json_8hpp.html#a93c6c888c43aec21adfc7ffdc92cf7d0":[6,0,21,325], +"d5/db8/json_8hpp.html#a940783ca9410ed9dbe4f7abf44a29394":[6,0,21,159], +"d5/db8/json_8hpp.html#a9495fb0e6d683bfa654ed646495b408a":[6,0,21,291], +"d5/db8/json_8hpp.html#a95b9c0445b989761a5ca49cf7e5b0f21":[6,0,21,310], +"d5/db8/json_8hpp.html#a95e4a1508b5f7887c6158bc1c8421214":[6,0,21,327], +"d5/db8/json_8hpp.html#a977ee5f6587abac33244336ebd969d8f":[6,0,21,322], +"d5/db8/json_8hpp.html#a985d3b82445302c57257f6432f261fe9":[6,0,21,282], +"d5/db8/json_8hpp.html#a98dd3b9b615ae85290d286ae863cde54":[6,0,21,293], +"d5/db8/json_8hpp.html#a99bb53bea18285e3d2ae4385c6c75434":[6,0,21,233], +"d5/db8/json_8hpp.html#a9a8fe3009f53d14ac4b48600a2606fc1":[6,0,21,231], +"d5/db8/json_8hpp.html#a9b2aefadecfe77306599a08b0d8147ca":[6,0,21,255], +"d5/db8/json_8hpp.html#a9b47f1c18e3c9739b20633aeee0d0f62":[6,0,21,382], +"d5/db8/json_8hpp.html#a9b680ddfb58f27eb53a67229447fc556":[6,0,21,390], +"d5/db8/json_8hpp.html#a9b899c72b0e1e3dd46d75c2b4e6bcdfb":[6,0,21,448], +"d5/db8/json_8hpp.html#a9c1795c148875722f8482d39e0eb9364":[6,0,21,384], +"d5/db8/json_8hpp.html#a9d486a036924098fe1a77de14d23f56c":[6,0,21,410], +"d5/db8/json_8hpp.html#a9ff93db146174305bce1bc4c54703e11":[6,0,21,378], +"d5/db8/json_8hpp.html#aa0fd1b5788e9ba37e31da43dda738cb5":[6,0,21,478], +"d5/db8/json_8hpp.html#aa1588f4ea4e7819b5b6e66f07865737f":[6,0,21,244], +"d5/db8/json_8hpp.html#aa1da535c59b21f70e5967b66473543f0":[6,0,21,275], +"d5/db8/json_8hpp.html#aa2015c6dc3a0fb76fc526cfecef2286a":[6,0,21,461], +"d5/db8/json_8hpp.html#aa210655ec7cc8387bef8ade74c3af647":[6,0,21,194], +"d5/db8/json_8hpp.html#aa400dd54d50fd20d7e931e2f08ee6374":[6,0,21,230], +"d5/db8/json_8hpp.html#aa554fc6a11519e4f347deb25a9f0db40":[6,0,21,404], +"d5/db8/json_8hpp.html#aa554fc6a11519e4f347deb25a9f0db40a0b6879b186bfb2b1ec65d2460e4eccd4":[6,0,21,404,4], +"d5/db8/json_8hpp.html#aa554fc6a11519e4f347deb25a9f0db40a4537f20910e85437f6d07701864084e8":[6,0,21,404,3], +"d5/db8/json_8hpp.html#aa554fc6a11519e4f347deb25a9f0db40a466deec76ecdf5fca6d38571f6324d54":[6,0,21,404,0], +"d5/db8/json_8hpp.html#aa554fc6a11519e4f347deb25a9f0db40aaf9de350d652f0c9055ddab514bd23ea":[6,0,21,404,1], +"d5/db8/json_8hpp.html#aa554fc6a11519e4f347deb25a9f0db40ac40d516627022a54003ac2b74a82688a":[6,0,21,404,2], +"d5/db8/json_8hpp.html#aa8811aa2a21030baad33c103cb04d322":[6,0,21,153], +"d5/db8/json_8hpp.html#aa88bff73660c72539ddf13e42ebbe227":[6,0,21,295], +"d5/db8/json_8hpp.html#aaa3c748298e83bf6a67b583b83233c11":[6,0,21,195], +"d5/db8/json_8hpp.html#aaa4d92bb3eee9252b5e7e3c94331e89e":[6,0,21,347], +"d5/db8/json_8hpp.html#aaa77b0c9745130b77733a92a1a2e82ec":[6,0,21,483], +"d5/db8/json_8hpp.html#aab50c0bc1673dde3c1cf4e3b131e97ad":[6,0,21,263], +"d5/db8/json_8hpp.html#aab7a9670a4f4704a5d0347ad7588576b":[6,0,21,447], +"d5/db8/json_8hpp.html#aaed4e77f612a9644d47c23508fb11f52":[6,0,21,313], +"d5/db8/json_8hpp.html#aaf150c2591ecac4e821e9036ef847ef8":[6,0,21,455], +"d5/db8/json_8hpp.html#aaf1b6ce9b599cd5cde8053c194082ca9":[6,0,21,441], +"d5/db8/json_8hpp.html#aaf82a065634719d57994ef5876e208ff":[6,0,21,201], +"d5/db8/json_8hpp.html#ab3cf0b823706b94a78c0611209df5044":[6,0,21,352], +"d5/db8/json_8hpp.html#ab4071130e08cb0863d4e3487fa79cda1":[6,0,21,317], +"d5/db8/json_8hpp.html#ab441f2761e33839ca48bc2225e14a2a9":[6,0,21,412], +"d5/db8/json_8hpp.html#ab45544391bc41507efde58d48331dfc2":[6,0,21,199], +"d5/db8/json_8hpp.html#ab4d22cdb6521ee3508db496dea66711e":[6,0,21,371], +"d5/db8/json_8hpp.html#ab5ca1e164894d78d3276d2e5fe58c5e3":[6,0,21,358], +"d5/db8/json_8hpp.html#ab64eeb55b44db44eb8e9070229eb97df":[6,0,21,482], +"d5/db8/json_8hpp.html#ab67745ae0065d536d8e67969db68d564":[6,0,21,182], +"d5/db8/json_8hpp.html#ab6e5abd7e400c9a725278206ece33e16":[6,0,21,181], +"d5/db8/json_8hpp.html#ab849ba88a6f410da5a46a86f8565b381":[6,0,21,172], +"d5/db8/json_8hpp.html#aba0ce45ebb69fd2c7132a00f9a56b503":[6,0,21,433], +"d5/db8/json_8hpp.html#abba715e3b79d43cd3edfc327964af993":[6,0,21,333], +"d5/db8/json_8hpp.html#abbff24b90b5e9f8b586ee0b334baa636":[6,0,21,258], +"d5/db8/json_8hpp.html#abc51edd46a1d1a0ff06a19f08ceff563":[6,0,21,362], +"d5/db8/json_8hpp.html#abce6d2ddf2ea1e5ad59066d0fc5278e4":[6,0,21,341], +"d5/db8/json_8hpp.html#ac1b4e524746bf8b790b2b776048b93c4":[6,0,21,385], +"d5/db8/json_8hpp.html#ac1ea1316de0b4a219f707c76b1db1966":[6,0,21,488], +"d5/db8/json_8hpp.html#ac256365345e803d24cbd9651d3cb0274":[6,0,21,214], +"d5/db8/json_8hpp.html#ac317a48664e4099c22d33d8132bef97e":[6,0,21,173], +"d5/db8/json_8hpp.html#ac3dc0b5b04f307fc875f9470c0cc841f":[6,0,21,229], +"d5/db8/json_8hpp.html#ac436de6daea01cb2256bd87717a820f6":[6,0,21,340], +"d5/db8/json_8hpp.html#ac848d6f3e9ae4bae4f0638fcb5ab996f":[6,0,21,306], +"d5/db8/json_8hpp.html#ac9f7a5542851c61d93740148eaec509f":[6,0,21,480], +"d5/db8/json_8hpp.html#aca2fc4b765ac5739d680153895b673fb":[6,0,21,189], +"d5/db8/json_8hpp.html#acb41a7b4ef92bdebd48fff958a07ba73":[6,0,21,332], +"d5/db8/json_8hpp.html#acbc72fa9390d5e8b7592a81384dfabf3":[6,0,21,247], +"d5/db8/json_8hpp.html#acc422c11342b31368f610b6f96fcedc6":[6,0,21,442], +"d5/db8/json_8hpp.html#ace4d5680ba413d9fd897ccb5d9c61a1c":[6,0,21,418], +"d5/db8/json_8hpp.html#aceff996baf082d6dc1873ad176d10609":[6,0,21,464], +"d5/db8/json_8hpp.html#acf8ab10ce06ffe6f54840b555b15121c":[6,0,21,211], +"d5/db8/json_8hpp.html#ad10e2ad45ace3771e4d2a3807d33f64f":[6,0,21,168], +"d5/db8/json_8hpp.html#ad11a087dbe66eade5af4056aef9600bf":[6,0,21,451], +"d5/db8/json_8hpp.html#ad22d2aa3aab018050ae519f6754366e1":[6,0,21,377], +"d5/db8/json_8hpp.html#ad22f878b4987246e5a4f4f258228e775":[6,0,21,286], +"d5/db8/json_8hpp.html#ad2860d9bcd96cd7b8258a5b94674508c":[6,0,21,459], +"d5/db8/json_8hpp.html#ad40518144e6777220fd044e3823d5709":[6,0,21,348], +"d5/db8/json_8hpp.html#ad42df56e913abe26ed556e0e92f386f4":[6,0,21,386], +"d5/db8/json_8hpp.html#ad43f9ae10083194afdfe88516ad876e7":[6,0,21,157], +"d5/db8/json_8hpp.html#ad4979e5bc2f252ff6e367fc254ab4e85":[6,0,21,250], +"d5/db8/json_8hpp.html#ad53cef358adfa7f07cea23eb1e28b9ea":[6,0,21,389], +"d5/db8/json_8hpp.html#ad5b94be3095ea0549561c1bc951c5998":[6,0,21,213], +"d5/db8/json_8hpp.html#ad5cc9b612a6058dd85e97906cc625f9c":[6,0,21,152], +"d5/db8/json_8hpp.html#ad5dab327c783036962c7d921a4144676":[6,0,21,207], +"d5/db8/json_8hpp.html#ad74d89f77ada7a57eff38b43d4bf2335":[6,0,21,415], +"d5/db8/json_8hpp.html#ad8f9aee7d709155d6745cb3f77c6ff0c":[6,0,21,166], +"d5/db8/json_8hpp.html#ad90f19ed10d8133b727df4b9bc5ddf5c":[6,0,21,407], +"d5/db8/json_8hpp.html#ad9e016d7b6a3cd2847027950aa0aac3b":[6,0,21,443], +"d5/db8/json_8hpp.html#adb569cea2c5a17c33734f27e8fef2473":[6,0,21,241], +"d5/db8/json_8hpp.html#adbf329a18c5cf854a3477327afd2200b":[6,0,21,445], +"d5/db8/json_8hpp.html#adcd0ecdb8495be20b0434ed0ed65826a":[6,0,21,429], +"d5/db8/json_8hpp.html#add270ee96fa3a6ffb454db30084db2e0":[6,0,21,292], +"d5/db8/json_8hpp.html#adfb98ffe9adf238a5ba1670738c0f387":[6,0,21,277], +"d5/db8/json_8hpp.html#adfe12412820ef1409359615c41440345":[6,0,21,307], +"d5/db8/json_8hpp.html#ae194fe1cdd80019af57b88d7a07be858":[6,0,21,334], +"d5/db8/json_8hpp.html#ae4654024695783bdf7cbd900f0e0634a":[6,0,21,271], +"d5/db8/json_8hpp.html#ae4992f39bb2ab8bd14e62c11598b2ae5":[6,0,21,315], +"d5/db8/json_8hpp.html#ae51b1abb6876168df25d3f36fa335c94":[6,0,21,223], +"d5/db8/json_8hpp.html#ae55f01749c4cc564b20b0f2650f10519":[6,0,21,273], +"d5/db8/json_8hpp.html#ae5fd66b5517b3b5a6c6b9fd9f29ba8dc":[6,0,21,471], +"d5/db8/json_8hpp.html#ae63341f0ec1f867e557805655afc4103":[6,0,21,304], +"d5/db8/json_8hpp.html#ae7a983344e78f37697c2688f1885f9e1":[6,0,21,187], +"d5/db8/json_8hpp.html#ae7fdc438c6d6cb1f17c4373bce5a802d":[6,0,21,148], +"d5/db8/json_8hpp.html#ae93147a54d2740228ef16a5e6210ca3e":[6,0,21,430], +"d5/db8/json_8hpp.html#ae9f353e2ea047111e419855144b06ab7":[6,0,21,198], +"d5/db8/json_8hpp.html#aeabc1adfeb8bcfbdf24c533380d1e773":[6,0,21,426], +"d5/db8/json_8hpp.html#aeb6e382f24fc5453621ae258b72e8775":[6,0,21,238], +"d5/db8/json_8hpp.html#aec1d1b1e286d1610ff11dbb29bf3e8cf":[6,0,21,154], +"d5/db8/json_8hpp.html#aec53c029383b34a72182210e58fadb79":[6,0,21,368], +"d5/db8/json_8hpp.html#aec5597506417346f8f1c4d1f08c7719f":[6,0,21,240], +"d5/db8/json_8hpp.html#aeca6fb5fede5ed1e12a4420d98a5692b":[6,0,21,474], +"d5/db8/json_8hpp.html#aed0149d0e2dae927ae5a845556cfaab6":[6,0,21,298], +"d5/db8/json_8hpp.html#aed2ec7e247cd50f8f9941ca3fe6f2a2a":[6,0,21,354], +"d5/db8/json_8hpp.html#aee52531ff30270c04958309efa66a5da":[6,0,21,170], +"d5/db8/json_8hpp.html#aeedd50a52e1ea565ceab84bb596ec07f":[6,0,21,184], +"d5/db8/json_8hpp.html#aeeea2b876c2a636481b3ae5ef11a19dc":[6,0,21,319], +"d5/db8/json_8hpp.html#aef5c8ea108f4d2b03fb4a635617510de":[6,0,21,431], +"d5/db8/json_8hpp.html#aef618f284e214156fcfa6dfecd1dcdbe":[6,0,21,437], +"d5/db8/json_8hpp.html#aefed8cf27cadeea45f12c6f3db3ce774":[6,0,21,151], +"d5/db8/json_8hpp.html#af0469b867b0ec3a1c4b229ce9d087620":[6,0,21,177], +"d5/db8/json_8hpp.html#af0f98920ec61e99028f7fdef8e920595":[6,0,21,316], +"d5/db8/json_8hpp.html#af1bc20d589bcfe61a23974cb17a34d6f":[6,0,21,438], +"d5/db8/json_8hpp.html#af21c5dbd9df3b2e245ae547e2d940adc":[6,0,21,186], +"d5/db8/json_8hpp.html#af227f94449238a7a4773364559b7e293":[6,0,21,323], +"d5/db8/json_8hpp.html#af33c67f65300eb91494f25bf583f5bd7":[6,0,21,193], +"d5/db8/json_8hpp.html#af3737b675cbb70bcdfdaca78c2bc7d4a":[6,0,21,200], +"d5/db8/json_8hpp.html#af39a0f63c596c5b4dd001aa0b1c4a76c":[6,0,21,300], +"d5/db8/json_8hpp.html#af3f2c23f946bf81b153b863b4acf6bb3":[6,0,21,465], +"d5/db8/json_8hpp.html#af41dc3300eaa6e5e6a976730d160a268":[6,0,21,210], +"d5/db8/json_8hpp.html#af488159969a8b7154820cffe04bb4917":[6,0,21,197], +"d5/db8/json_8hpp.html#af52d6d2521c386998ae940d118182ebc":[6,0,21,369], +"d5/db8/json_8hpp.html#af5c84b7d1a43361bdc14cc6941078000":[6,0,21,245], +"d5/db8/json_8hpp.html#af62f70922a57ffa728d579d3c7963bf5":[6,0,21,288], +"d5/db8/json_8hpp.html#af846b6cf2f926009ff3a7a61495ca383":[6,0,21,398], +"d5/db8/json_8hpp.html#af91beae90c2fb0f931079b3d50a343bc":[6,0,21,400], +"d5/db8/json_8hpp.html#af943d68414c7fe0fdfab7e772fa628a8":[6,0,21,221], +"d5/db8/json_8hpp.html#af9fa97bf92767dc7f9dfe1abdfb1c6ce":[6,0,21,454], +"d5/db8/json_8hpp.html#afb4bf1280cd8738877e1f0f681a5d96d":[6,0,21,162], +"d5/db8/json_8hpp.html#afc0845ecb0987d16963a81f34bb0d94d":[6,0,21,290], +"d5/db8/json_8hpp.html#afdf01f41465021815bb6fc4d8c1839fd":[6,0,21,202], +"d5/db8/json_8hpp.html#afe58497d56cda5e4cbf2d33be1bdd91e":[6,0,21,252], +"d5/db8/json_8hpp.html#afe5855242129fa5d1adf55227669a337":[6,0,21,180], +"d5/db8/json_8hpp.html#aff04c4dbdf8cb651c9f1528d7b1d39b0":[6,0,21,425], +"d5/db8/json_8hpp_source.html":[6,0,21], +"d5/dc8/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html":[5,0,1,0,73], +"d5/dda/structnlohmann_1_1detail_1_1is__compatible__object__type.html":[5,0,1,0,41], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html":[5,0,1,0,84], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a073741b6536b7a5166467a5515bc59cb":[5,0,1,0,84,13], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a10accadf05a172fdc69a016bec201e81":[5,0,1,0,84,9], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a1ab8c44e3772c03651b5ad07216043cf":[5,0,1,0,84,1], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a1fc63b88a585fa39942007aab69a74e6":[5,0,1,0,84,4], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a298dae04e3c0a64719752c16754d1d71":[5,0,1,0,84,17], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a44c64feee85b8e7164a05310e6418a4b":[5,0,1,0,84,2], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a459dd8961b80b2089d8161c9aa466581":[5,0,1,0,84,6], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a5bc7d3133daab5ec4797f3132e093af8":[5,0,1,0,84,3], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a5e90a5810cc1bb6c1000eabbfdfe7b9e":[5,0,1,0,84,5], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a646dbb2b1842f44f42ee1e14245b8595":[5,0,1,0,84,8], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#aac6e7cc0c17242a0a42c14d1e714747c":[5,0,1,0,84,15], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#ab0b34133f45a3610070492d32978f2ea":[5,0,1,0,84,16], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#ab8e33bd01c285a1a80b737a1905ceb97":[5,0,1,0,84,12], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#ad3d18c83aff5e9f4bdbf99385b29a39a":[5,0,1,0,84,14], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#ada6b4e6d55d8ed7ac79e49a03e9d1fe2":[5,0,1,0,84,0], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#adf4db2aef31822f3a179435158a4de11":[5,0,1,0,84,10], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#af2949ac0d70212738030bfda29c5bcc2":[5,0,1,0,84,7], +"d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#af2b78a8b9c9276b07c928b21bb1e2d54":[5,0,1,0,84,11], +"d5/def/group__VariantPackBuilder__v8.html":[3,14], +"d5/def/group__VariantPackBuilder__v8.html#ga14d3ac479fd01c48a97583adfb567090":[5,0,0,30,7], +"d5/def/group__VariantPackBuilder__v8.html#ga14d3ac479fd01c48a97583adfb567090":[3,14,1], +"d5/def/group__VariantPackBuilder__v8.html#ga3a7b9ac8c714db202a8f89a6110675b6":[3,14,3], +"d5/def/group__VariantPackBuilder__v8.html#ga3a7b9ac8c714db202a8f89a6110675b6":[5,0,0,30,9], +"d5/def/group__VariantPackBuilder__v8.html#ga79c6def790139cb04aff8c600559b802":[3,14,0], +"d5/def/group__VariantPackBuilder__v8.html#ga79c6def790139cb04aff8c600559b802":[5,0,0,30,6], +"d5/def/group__VariantPackBuilder__v8.html#gad6dc5c5087c2724ca88cc2668d7f829d":[5,0,0,30,8], +"d5/def/group__VariantPackBuilder__v8.html#gad6dc5c5087c2724ca88cc2668d7f829d":[3,14,2], +"d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html":[5,0,1,0,17], +"d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html#a17969b14852f43e04353858c87b0f539":[5,0,1,0,17,0], +"d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html":[5,0,1,0,1,1], +"d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html#a21ae81f515f5b08d5bf423775ee56074":[5,0,1,0,1,1,1], +"d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html#a8c1f2efed643eeaa8fae83c697a29c6a":[5,0,1,0,1,1,2], +"d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html#a9e89bc89bb7bf4361f43ea27eed91d23":[5,0,1,0,1,1,0], +"d6/d02/structnlohmann_1_1detail_1_1position__t.html":[5,0,1,0,111], +"d6/d02/structnlohmann_1_1detail_1_1position__t.html#a4bbad8bc2c0d17c1b61c3ce729908b71":[5,0,1,0,111,3], +"d6/d02/structnlohmann_1_1detail_1_1position__t.html#a74df94563dd32102152ceb8c6d9041d8":[5,0,1,0,111,1], +"d6/d02/structnlohmann_1_1detail_1_1position__t.html#a94cf85cd91d478c20ae143eba906ea1a":[5,0,1,0,111,2], +"d6/d02/structnlohmann_1_1detail_1_1position__t.html#ac9ad1e0f143f162e2e0c979cd678d683":[5,0,1,0,111,0], +"d6/d1b/structcudnn__frontend_1_1executionOption.html":[5,0,0,13], +"d6/d1b/structcudnn__frontend_1_1executionOption.html#a56b496b09272c352b557d793adc3acf1":[5,0,0,13,1], +"d6/d1b/structcudnn__frontend_1_1executionOption.html#ae84235aee01c4556303b39961e1e1c5e":[5,0,0,13,0], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html":[5,0,1,0,3], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a02a70f424099428d9a69606b7fb7074a":[5,0,1,0,3,6], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a0ce1d7066597952efb008aaf578b2bd6":[5,0,1,0,3,23], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a23921422802aa472360dd05023e20565":[5,0,1,0,3,17], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a23bde2450d7a5772bf5051e36ff560a4":[5,0,1,0,3,40], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a23eb89a222e22533e9fd43e76722f44f":[5,0,1,0,3,39], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a252c1179651d22c5343bcf0b538ed26a":[5,0,1,0,3,22], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a26c694413fb860057e1a839d5422b361":[5,0,1,0,3,31], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a2aee4c3507eca623f7cec32544fdc5b2":[5,0,1,0,3,8], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a2b46c2a929071fdb0b028befa77814bd":[5,0,1,0,3,5], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a354cbbaaea672c024ac949e1801c4302":[5,0,1,0,3,16], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a359031cba136452d9030ed9ab4517b74":[5,0,1,0,3,11], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a35abcd6b3231a4c9d651f9c0eb610c96":[5,0,1,0,3,37], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a3750658328bf3ec3cf23f1626f9ec3af":[5,0,1,0,3,18], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a389e550fd397a48121cb82d92bb7475a":[5,0,1,0,3,24], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a47092a2195bf9cd3cdb4dda67cc404ed":[5,0,1,0,3,20], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a4ae90db51c102e912b7eac83c78733a6":[5,0,1,0,3,35], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a4c33ab78a0df5afd524f16887550436d":[5,0,1,0,3,3], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a4e07b75ccb2579d0e738b894f0fd8cf8":[5,0,1,0,3,41], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a4e4accd5a2a41bfb2f18a8a0fcc9421c":[5,0,1,0,3,43], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a540919db22df36512f05a88945c13263":[5,0,1,0,3,28], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a545a44ae4b3fa2b7a61d9e8517fb7154":[5,0,1,0,3,21], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a548c770e60f2285a931de4b7333c1ab0":[5,0,1,0,3,50], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a55e13d567a53234573ab3833c0ca32e9":[5,0,1,0,3,14], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a5a79480d661019b0f3fc615ae12f7de7":[5,0,1,0,3,45], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a61a0bd8bbe7b560bd429fa990ba3ba1a":[5,0,1,0,3,47], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a7b6c2d4c95d56751e233e285a5f1fea7":[5,0,1,0,3,33], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a7d323283c60a0b89ee5eeadf5cb9a5ad":[5,0,1,0,3,29], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a7e5e0b71548d0649ce4f131280d06c33":[5,0,1,0,3,36], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a823c244e5dbf1a8edae40819f9434237":[5,0,1,0,3,7], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a8bebd21ceef09b6b2562e87861832700":[5,0,1,0,3,25], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a9940f56290b9278c58772eda2931e599":[5,0,1,0,3,15], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a9c413c9a1bade1ce345740f4d69156f0":[5,0,1,0,3,12] +}; diff --git a/docs/navtreeindex4.js b/docs/navtreeindex4.js new file mode 100644 index 00000000..a8a49b57 --- /dev/null +++ b/docs/navtreeindex4.js @@ -0,0 +1,253 @@ +var NAVTREEINDEX4 = +{ +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aa03c779d4512b5764895dc341b0ef902":[5,0,1,0,3,48], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aa12ade9a8c0acaebef6399e3d446b970":[5,0,1,0,3,1], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ab29d56b1e980a7b9a3383cf1ce862d1b":[5,0,1,0,3,9], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ab47df98119524e9c7d9ff0b820913883":[5,0,1,0,3,49], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ab4afd9ee276bbb15a0f898061aad94dd":[5,0,1,0,3,46], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aba4d89d9d38235f72f60332d6c385222":[5,0,1,0,3,52], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aba7ba9ec9a52ad2bee8baff70176aa20":[5,0,1,0,3,34], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#abc20ff256868de6791b3646ab33fff76":[5,0,1,0,3,2], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#abf2051ba57d9ea9b378a2e7c14e22b34":[5,0,1,0,3,42], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ac356c6364fe0273d3303fb7a447f4ef6":[5,0,1,0,3,27], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#acb001d18095dc5bcf7336ae5122b8340":[5,0,1,0,3,19], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#acca2c4076df85f27dc1c904475e05c26":[5,0,1,0,3,10], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#acf127bb88e4147fb692edabc2a0f0663":[5,0,1,0,3,0], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ad222095c0b21a87824cb10629299629a":[5,0,1,0,3,13], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ad3dc8b0f8ef6035465c14ed7dcbb67d4":[5,0,1,0,3,38], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ad615eba561e265165a80c95061af75b0":[5,0,1,0,3,51], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ad8cba5585327caa550dd5b6dd25a64f8":[5,0,1,0,3,26], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#adcf64ad3207f4bf37a5a31c920a385c3":[5,0,1,0,3,32], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ae020385ce9424271d61f85d3842c02cb":[5,0,1,0,3,44], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ae4f1a7d10118d578ad03f7ee36df6fbe":[5,0,1,0,3,4], +"d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#afb36cb588b795efa513fc95e949493b7":[5,0,1,0,3,30], +"d6/d32/cudnn__frontend__MatMulDesc_8h.html":[6,0,13], +"d6/d32/cudnn__frontend__MatMulDesc_8h_source.html":[6,0,13], +"d6/d46/group__EngineHeuristicsQuery.html":[3,5], +"d6/d46/group__EngineHeuristicsQuery.html#ga10121605fc82ed225537210825fa3836":[5,0,0,11,6], +"d6/d46/group__EngineHeuristicsQuery.html#ga10121605fc82ed225537210825fa3836":[3,5,1], +"d6/d46/group__EngineHeuristicsQuery.html#ga1171cb5ce50baf0fab19fc458d4565b5":[3,5,0], +"d6/d46/group__EngineHeuristicsQuery.html#ga1171cb5ce50baf0fab19fc458d4565b5":[5,0,0,11,5], +"d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html":[5,0,1,0,75], +"d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html#a830339a3ad86d82d32a67f9c180523b1":[5,0,1,0,75,0], +"d6/d51/cudnn__frontend__ExecutionPlan_8h.html":[6,0,8], +"d6/d51/cudnn__frontend__ExecutionPlan_8h_source.html":[6,0,8], +"d6/d67/cudnn__frontend__EngineConfig_8h.html":[6,0,4], +"d6/d67/cudnn__frontend__EngineConfig_8h.html#a84a5f004bdf17747bf7cf45d6fc754cd":[6,0,4,2], +"d6/d67/cudnn__frontend__EngineConfig_8h_source.html":[6,0,4], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html":[5,0,1,0,96], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a00e7d95d82d5d8a43421526a42a8eabc":[5,0,1,0,96,6], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a040e60243cc7c18a6078c6b83cdb4a81":[5,0,1,0,96,26], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a0a1390c23e2a3da774d75c050f9b3f13":[5,0,1,0,96,28], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a0cc4a5192fe9b803276edb831b6099fa":[5,0,1,0,96,17], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a167fd9bf385d3d08bcbbba8a927c0eff":[5,0,1,0,96,16], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a2406c5125f7128fb9c01921df2903001":[5,0,1,0,96,3], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a2a8adecd936ba6ec187f1216241b508f":[5,0,1,0,96,34], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a3ba8fc7a8d83c5b0eeb3b543ad844b8d":[5,0,1,0,96,2], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a446262b6a75371fe8e0a6218ba2911e6":[5,0,1,0,96,18], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a46a72dffd5be4a25602af00f0033c126":[5,0,1,0,96,29], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a4f636086fa8e7cf26c35c8afd50903ce":[5,0,1,0,96,5], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a5255b98ba8282e3625968f91cff9d3d0":[5,0,1,0,96,25], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a54ffcdfb0a8c5c9a876cd003b404ef4b":[5,0,1,0,96,10], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a589998730e650a425b1b311e2e9f7f09":[5,0,1,0,96,8], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a5af8493f830eeb1a79c69fc39ed54ef8":[5,0,1,0,96,0], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a5c9603e79a71713f5e8cf12cba837dbb":[5,0,1,0,96,22], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a60753ffbec958de15de807852e62cde8":[5,0,1,0,96,23], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a66f5515cddef5074c9499f21c26ac099":[5,0,1,0,96,11], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a68d9eddfd572e8687c1c8107e0505aa6":[5,0,1,0,96,20], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a7b12037ca38be3ddec09c42bd71080cc":[5,0,1,0,96,36], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a82a0e49479660b9903597e1ef55c6601":[5,0,1,0,96,35], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a875e678e20e75b37b93b80be78fe60e6":[5,0,1,0,96,15], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a8997ee6dc3bd39116b951465b946445e":[5,0,1,0,96,30], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a8f0e96e8bc4f692169024105693f5706":[5,0,1,0,96,33], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a914ea0555cea5290449fb791ae41c655":[5,0,1,0,96,1], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#aa64e7a650952174037d32028de582c12":[5,0,1,0,96,13], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#aac6d706967b2ecc2510e172577d8550b":[5,0,1,0,96,4], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ab06baaa640cfaae5846daa7c3594b116":[5,0,1,0,96,31], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ab7d8db672189164a8c0731e65ada1b45":[5,0,1,0,96,12], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ac24fd6c9f1b31b44328c16d65755ae76":[5,0,1,0,96,32], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#acabb231463bf669441c22e4ea385a9fb":[5,0,1,0,96,21], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ad94e912a67c7b96158937236805b8b47":[5,0,1,0,96,27], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ae21f7872c334c77d03ae033cb0749b1c":[5,0,1,0,96,19], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ae75d313d6d1b9c29508e740a10fefa18":[5,0,1,0,96,14], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#af1ce6c746e3ebadb7994170725fcdbb5":[5,0,1,0,96,9], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#afb54d6937ee5d5a40e1db94422998aec":[5,0,1,0,96,24], +"d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#afec9434e54590f10df51b062973d4daf":[5,0,1,0,96,7], +"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html":[5,0,0,1], +"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a00c454e18392653a023f75275553a4e7":[5,0,0,1,6], +"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a061ef887bdf383d416ee143a35d5c334":[5,0,0,1,3], +"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a0d36a97abb2d36a0148ce8e8833baff8":[5,0,0,1,4], +"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a0d930ada709a855c86b2857a1b155d02":[5,0,0,1,1], +"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a28e6ad906bf25653c87525f9f8e90a28":[5,0,0,1,12], +"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a4a0249ac1d094f9a70967dd69b824f2e":[5,0,0,1,7], +"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a592e3a28fd7a8b2553789801d9bd276c":[5,0,0,1,0], +"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a5c892fb76fbf9e4bfffdb5288f9d60ad":[5,0,0,1,2], +"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a81e03a2a385d24a2faaf3db249580ac6":[5,0,0,1,8], +"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a9b478d1207d8241ff67cc931754cd6cf":[5,0,0,1,10], +"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#aa8ea272eaf26ae7f7ad2d625253ea62f":[5,0,0,1,5], +"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#ac513728c785a54ef86612a0bd6fa0f1a":[5,0,0,1,13], +"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#adcb7e5f546b83bbdab63773030e3b909":[5,0,0,1,9], +"d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#aff824fb1cf44c188a7400b017458327e":[5,0,0,1,11], +"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html":[5,0,0,0], +"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a070df0d11a52793ce9480dbdcee0c24e":[5,0,0,0,7], +"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a0d416655dab2b5a675fecb5df9ea8521":[5,0,0,0,10], +"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a1748a5c560905314930c37b2ed1a54d2":[5,0,0,0,8], +"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a3aa1ab42ab96471092185f15e22c1e9f":[5,0,0,0,5], +"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a3ef02443f20b90223baf5f1922505eab":[5,0,0,0,9], +"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a5765369a5739c2ea81c4f39ce2d1c46e":[5,0,0,0,1], +"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a57c83e78374bac747b5660fb271b947a":[5,0,0,0,3], +"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a62312f29dbbc7c11c1da54a2ad41c52f":[5,0,0,0,11], +"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a8a5466c444f2de721118334ac876c6ba":[5,0,0,0,12], +"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a8aa93686ca88410fc048b05155148183":[5,0,0,0,0], +"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#ab652fb3e9a58092fbb137b0e959a9478":[5,0,0,0,2], +"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#abfde0f34b0bf49c45d3d9c0408284f6f":[5,0,0,0,4], +"d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#af34344e365e6422ee86955349bf80b49":[5,0,0,0,6], +"d6/da7/classcudnn__frontend_1_1Tensor__v8.html":[5,0,0,27], +"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a062e54efdec89943fcb0602cc06dfd28":[5,0,0,27,11], +"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a1370de050fc91e9d992995fae5f22011":[5,0,0,27,13], +"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a14f9c4498f4be5b3c2b0a94c708891fb":[5,0,0,27,6], +"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a1f41a9f80b8a3b35aed7948e264b0d79":[5,0,0,27,7], +"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a4f5c1e95de9419cb1904e0cbad570c63":[5,0,0,27,5], +"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a5a402bf5c68021711d9d9ec8fd4c1001":[5,0,0,27,1], +"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a5f2703668235c18d063174ccca285457":[5,0,0,27,3], +"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a611fc05f3c7b6ca90d0e3c0f6ef07d84":[5,0,0,27,12], +"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a7419041bb3bf934f8e9f851fa63acabd":[5,0,0,27,8], +"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a79cc1a752e6df2001b853f8c189b1f1f":[5,0,0,27,4], +"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a9df78edb662e32a63680281eb33a14a8":[5,0,0,27,0], +"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ab48b1728d6978407f0bdbf0227de6f82":[5,0,0,27,2], +"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ae4842fc7fcb87f5b60228fb6fa391b61":[5,0,0,27,9], +"d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ae9a3d128db54fa92d392e77044f30ca9":[5,0,0,27,10], +"d6/da7/structnlohmann_1_1ordered__map.html":[5,0,1,6], +"d6/da7/structnlohmann_1_1ordered__map.html#a0241433138719e477a3cbb0c4cf0a243":[5,0,1,6,16], +"d6/da7/structnlohmann_1_1ordered__map.html#a0482ea79e7786367a2d9b5c789c091ce":[5,0,1,6,6], +"d6/da7/structnlohmann_1_1ordered__map.html#a0cabe346c38a4f1ab1b8a396fbd2bbe2":[5,0,1,6,0], +"d6/da7/structnlohmann_1_1ordered__map.html#a1c9c1509ee714a9814b45a8030c84ec7":[5,0,1,6,2], +"d6/da7/structnlohmann_1_1ordered__map.html#a2486527ac56e07d58946ae9a93a46bc8":[5,0,1,6,13], +"d6/da7/structnlohmann_1_1ordered__map.html#a26053569acb0a858d87482b2fa3d5dc5":[5,0,1,6,12], +"d6/da7/structnlohmann_1_1ordered__map.html#a2c8509f72bc33307661f1a0ed5763f9e":[5,0,1,6,17], +"d6/da7/structnlohmann_1_1ordered__map.html#a38834c948b844033caa7d5c76fee5866":[5,0,1,6,10], +"d6/da7/structnlohmann_1_1ordered__map.html#a41e6e34fa8a90b96cbe5c71fec10d2ee":[5,0,1,6,14], +"d6/da7/structnlohmann_1_1ordered__map.html#a48eceff729b80f3f4a023b737efccc5b":[5,0,1,6,15], +"d6/da7/structnlohmann_1_1ordered__map.html#a57095c6ed403f02e1bc2c240a13c9ed8":[5,0,1,6,1], +"d6/da7/structnlohmann_1_1ordered__map.html#a583c8976bbf0c137ff8e2439878f3058":[5,0,1,6,11], +"d6/da7/structnlohmann_1_1ordered__map.html#a676082659d575e29bdb312bcde53023a":[5,0,1,6,19], +"d6/da7/structnlohmann_1_1ordered__map.html#a87938c10b76510dac00412d2cb5fd1e4":[5,0,1,6,4], +"d6/da7/structnlohmann_1_1ordered__map.html#a89cc338e8466e74baaa138664c79ee98":[5,0,1,6,3], +"d6/da7/structnlohmann_1_1ordered__map.html#a8b7f27215180385b9b1e98adc4dd8ae7":[5,0,1,6,8], +"d6/da7/structnlohmann_1_1ordered__map.html#a9d25efb51325cc1be027b8ea00c1f8b8":[5,0,1,6,5], +"d6/da7/structnlohmann_1_1ordered__map.html#ab7b4bb185fe7ea84f8f5f32fd230ff91":[5,0,1,6,7], +"d6/da7/structnlohmann_1_1ordered__map.html#ae7a1ca8c1e234837d137471f73ae6012":[5,0,1,6,18], +"d6/da7/structnlohmann_1_1ordered__map.html#aee2c188dcc802d6b28910f707a5e637b":[5,0,1,6,9], +"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html":[5,0,0,16], +"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a1dd13143c85b67f2c0da90f02884fab1":[5,0,0,16,7], +"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a2931e4d0b21e6986a3f5a1697ca4bae0":[5,0,0,16,4], +"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a48aa29d5df9a717e63c5146ac48c4543":[5,0,0,16,3], +"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a5e060b83ea1e1ed59a66e15fdba91227":[5,0,0,16,2], +"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#aa99cc0548322d7298b9ca664a976281f":[5,0,0,16,6], +"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ab725a8e47331aca6310155f6d55c0a02":[5,0,0,16,0], +"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ac1257a1ca1261961fc99123988552911":[5,0,0,16,5], +"d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ad27b038b19b218067bd30e60d94fd672":[5,0,0,16,1], +"d7/d08/structnlohmann_1_1detail_1_1has__non__default__from__json.html":[5,0,1,0,24], +"d7/d0d/group__ExecutionPlanQuery.html":[3,4], +"d7/d0d/group__ExecutionPlanQuery.html#ga00d10a076c22e86354a789852c56c22f":[5,0,0,14,7], +"d7/d0d/group__ExecutionPlanQuery.html#ga00d10a076c22e86354a789852c56c22f":[3,4,10], +"d7/d0d/group__ExecutionPlanQuery.html#ga0705e60cee62d3d196751517d545a7b0":[5,0,0,14,8], +"d7/d0d/group__ExecutionPlanQuery.html#ga0705e60cee62d3d196751517d545a7b0":[3,4,11], +"d7/d0d/group__ExecutionPlanQuery.html#ga2b84d3619b5bd9ca0faa30c126deb43c":[3,4,8], +"d7/d0d/group__ExecutionPlanQuery.html#ga2b84d3619b5bd9ca0faa30c126deb43c":[5,0,0,15,3], +"d7/d0d/group__ExecutionPlanQuery.html#ga2c011aa14563ef96417ce599f0c83d89":[5,0,0,14,2], +"d7/d0d/group__ExecutionPlanQuery.html#ga2c011aa14563ef96417ce599f0c83d89":[3,4,4], +"d7/d0d/group__ExecutionPlanQuery.html#ga2ff1340409f8834fe9ae68ff4c00281a":[5,0,0,14,6], +"d7/d0d/group__ExecutionPlanQuery.html#ga2ff1340409f8834fe9ae68ff4c00281a":[3,4,9], +"d7/d0d/group__ExecutionPlanQuery.html#ga4c36108c6511420d81fcda5292761726":[5,0,0,14,11], +"d7/d0d/group__ExecutionPlanQuery.html#ga4c36108c6511420d81fcda5292761726":[3,4,15], +"d7/d0d/group__ExecutionPlanQuery.html#ga51c4b75729ab066f0686729896741c5d":[3,4,5], +"d7/d0d/group__ExecutionPlanQuery.html#ga51c4b75729ab066f0686729896741c5d":[5,0,0,14,3], +"d7/d0d/group__ExecutionPlanQuery.html#ga5e3dd6d441474ac5ab94aaaf9c45bc5b":[5,0,0,14,10], +"d7/d0d/group__ExecutionPlanQuery.html#ga5e3dd6d441474ac5ab94aaaf9c45bc5b":[3,4,14], +"d7/d0d/group__ExecutionPlanQuery.html#ga5f757c2da8c90645c34637dde4aed8f8":[5,0,0,15,5], +"d7/d0d/group__ExecutionPlanQuery.html#ga5f757c2da8c90645c34637dde4aed8f8":[3,4,12], +"d7/d0d/group__ExecutionPlanQuery.html#ga5ff39f2019a5a3fe8062bf887707877c":[5,0,0,15,4], +"d7/d0d/group__ExecutionPlanQuery.html#ga5ff39f2019a5a3fe8062bf887707877c":[3,4,1], +"d7/d0d/group__ExecutionPlanQuery.html#ga60147aa715352906e32cbb87558cb0ae":[5,0,0,15,2], +"d7/d0d/group__ExecutionPlanQuery.html#ga60147aa715352906e32cbb87558cb0ae":[3,4,7], +"d7/d0d/group__ExecutionPlanQuery.html#ga8a6517102f5c12e63e4417324a03180b":[5,0,0,14,4], +"d7/d0d/group__ExecutionPlanQuery.html#ga8a6517102f5c12e63e4417324a03180b":[3,4,2], +"d7/d0d/group__ExecutionPlanQuery.html#ga8e48fb375271599c83f57922d9f8c89e":[5,0,0,15,0], +"d7/d0d/group__ExecutionPlanQuery.html#ga8e48fb375271599c83f57922d9f8c89e":[3,4,6], +"d7/d0d/group__ExecutionPlanQuery.html#gad80aa2980d915449d05db4c71041e2e0":[5,0,0,14,5], +"d7/d0d/group__ExecutionPlanQuery.html#gad80aa2980d915449d05db4c71041e2e0":[3,4,3], +"d7/d0d/group__ExecutionPlanQuery.html#gae1a2e3dd89dbe455e7067531ec5b5562":[5,0,0,15,9], +"d7/d0d/group__ExecutionPlanQuery.html#gae1a2e3dd89dbe455e7067531ec5b5562":[3,4,16], +"d7/d0d/group__ExecutionPlanQuery.html#gae3f841de1b6461b31bf7967734a70a8a":[5,0,0,15,1], +"d7/d0d/group__ExecutionPlanQuery.html#gae3f841de1b6461b31bf7967734a70a8a":[3,4,13], +"d7/d0d/group__ExecutionPlanQuery.html#gaf732b37c9c05a2a8bd1a76289c740c4a":[5,0,0,14,12], +"d7/d0d/group__ExecutionPlanQuery.html#gaf732b37c9c05a2a8bd1a76289c740c4a":[3,4,17], +"d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html":[5,0,1,0,31], +"d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html#a2b3bb45f968210e42c282017eeeb63a8":[5,0,1,0,31,2], +"d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html#a8294a6e6f01b58e1cce8fbae66a50b5d":[5,0,1,0,31,0], +"d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html#a8cb0af3498061426c1d0a65ad6220408":[5,0,1,0,31,1], +"d7/d10/structnlohmann_1_1detail_1_1is__constructible.html":[5,0,1,0,52], +"d7/d1c/classBinaryType.html":[5,0,4], +"d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html":[5,0,1,0,92], +"d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#a1ce16c1c8c1d6a195f5a3d3ad31820f0":[5,0,1,0,92,0], +"d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#a5e82d2d8dabd022b8ff916f2e83a82f2":[5,0,1,0,92,3], +"d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#aaaafbcd0573ec9cfc5d19411950dc1ac":[5,0,1,0,92,1], +"d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#aacaf73dc959b7c2119c15e53b5ce00a3":[5,0,1,0,92,2], +"d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#ac70fcab4cacd8b386c3f2b056885e15e":[5,0,1,0,92,4], +"d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html":[5,0,1,0,18], +"d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html#a1e044961affbd6417386d6e9f1d545e9":[5,0,1,0,18,1], +"d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html#a3a369c5d49596dd4411e368425f9ac7a":[5,0,1,0,18,0], +"d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html#a91f89abe0ec4dec59099b691682ff927":[5,0,1,0,18,2], +"d7/d3c/structnlohmann_1_1detail_1_1utility__internal_1_1Extend.html":[5,0,1,0,2,0], +"d7/d78/structnlohmann_1_1detail_1_1priority__tag.html":[5,0,1,0,113], +"d7/d7b/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html":[5,0,1,0,70], +"d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html":[5,0,1,0,43], +"d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html#a74b723d759119148c44a5e0899956a72":[5,0,1,0,43,1], +"d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html#ab019855b17c1a0cb16fda6731f338afc":[5,0,1,0,43,0], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html":[5,0,1,0,98], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a0d74bb18ba7d32ea7e7c9d9a7d6c2e70":[5,0,1,0,98,46], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a11528814930243028ac5b8901f4a17d7":[5,0,1,0,98,41], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a1383bb59c5efd4f9370ca3ee4ad1a4ba":[5,0,1,0,98,24], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a36ffc3c33c3aea18291ead7a30fa7cc6":[5,0,1,0,98,11], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a3bda093837339813916d11fb6e396606":[5,0,1,0,98,25], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a40320a8fef5f1f03b60c8b2f2f40af4d":[5,0,1,0,98,26], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a40b108a0e45a7253f6ad85fbdaa6a262":[5,0,1,0,98,42], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a40bd85d91d377ade9ccb910e35776c22":[5,0,1,0,98,37], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a438a78e53120fd2c3ea049161d4798cb":[5,0,1,0,98,2], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a449f3f3703dfbf8b757e12f002668604":[5,0,1,0,98,32], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a46612a81a07dbbc6daef870ca4f959e4":[5,0,1,0,98,0], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a48f74c761ce663cd0d92bf428606b535":[5,0,1,0,98,14], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a5134de850fab8f41474a36ae07998088":[5,0,1,0,98,47], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a526d001dd91ec55b8032ba98466765c0":[5,0,1,0,98,40], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a594e61f96c87b4464beeab681111ac0c":[5,0,1,0,98,3], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a6d3dffb7bb247a7fd7276d49d3a00dc8":[5,0,1,0,98,33], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a6f2fd5b4b6b153f11fc8f77213350073":[5,0,1,0,98,38], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a76875bb49a480763f6c48b8586f7e60e":[5,0,1,0,98,20], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a7cd7d55de2cd398660bc243c7229caf9":[5,0,1,0,98,31], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a84cbcd8c897c98c2ce04d29a29bf84cc":[5,0,1,0,98,39], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a89bbc051da2514a469441a3a30ad63e4":[5,0,1,0,98,7], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a8a1bda107ce1622c0cb3174fa12155ea":[5,0,1,0,98,43], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a948c80b8bd8a3095b544e4655e1ca37e":[5,0,1,0,98,19], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a94aec416b883f742ba7f20bd16adb3c3":[5,0,1,0,98,45], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a9535d0c72adbe9fe149853ebad5faee8":[5,0,1,0,98,17], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a986907dff5ceb4fa06aa8ff301822726":[5,0,1,0,98,6], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a98c69ad433d971104288baef813b2c68":[5,0,1,0,98,1], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a9cd3e4cf04d19be521beb8868c1a2fc9":[5,0,1,0,98,12], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#a9da0c649f03e8b3f730501d26c876a78":[5,0,1,0,98,15], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#aab51a28e32c1957329141baff8eda1c4":[5,0,1,0,98,29], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#ab5811afe1c3efb0b769f7733b8373c6f":[5,0,1,0,98,36], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#ab6352978e03ebcbc3cd618cd17142f26":[5,0,1,0,98,30], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#ab75d61c4de687717648c7698850ddb9b":[5,0,1,0,98,8], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#abfc85ff04fcb1a5a8d8ea299a4c479e5":[5,0,1,0,98,18], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#ac0557f111d82f7729a93ee9b40b31402":[5,0,1,0,98,10], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#ac4eaf39567bd5f0750e5d7e913fb474d":[5,0,1,0,98,44], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#ac8455259d8a06acd2a284a5dd7221aea":[5,0,1,0,98,34], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#ad89dec0ac0f4e851925a0499e043b18b":[5,0,1,0,98,28], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#adb1a71f6a3e65ed32c452a318967b61e":[5,0,1,0,98,16], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#adcf663a9878f58544790f1b6faad2e42":[5,0,1,0,98,13], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#ae000b7571480e528dee4b281f63d5b15":[5,0,1,0,98,21], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#ae01f87db7819a05d0ed17bcb665442e1":[5,0,1,0,98,35], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#ae84cbf312215c15d79783380b1592f74":[5,0,1,0,98,48], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#ae95416c7ae8b36f0dd0ab349eaa754a2":[5,0,1,0,98,9] +}; diff --git a/docs/navtreeindex5.js b/docs/navtreeindex5.js new file mode 100644 index 00000000..ac0aa074 --- /dev/null +++ b/docs/navtreeindex5.js @@ -0,0 +1,253 @@ +var NAVTREEINDEX5 = +{ +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#af6b19ef34b2e9ee2321cfaf62ee066cb":[5,0,1,0,98,4], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#af6fe701b8b3ca5f4a1b58db4658bdf87":[5,0,1,0,98,22], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#af7e7002d4bb66e9104d752791b8070f8":[5,0,1,0,98,23], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#af85c01fd669d529ab93a9e1d80b62015":[5,0,1,0,98,5], +"d8/d22/classnlohmann_1_1detail_1_1lexer.html#afdc68706ad20be93977cd0f97043ea7f":[5,0,1,0,98,27], +"d8/d25/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4.html":[5,0,1,0,34], +"d8/d8b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl.html":[5,0,1,0,58], +"d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html":[5,0,1,0,106], +"d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html#a6e2698c76b200b2d8fac6cebfc43a245":[5,0,1,0,106,1], +"d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html#aacc26af02e1e5a988bc5dbfb723b5562":[5,0,1,0,106,3], +"d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html#ad61375497a7d03cb0bdcddfdaad185d0":[5,0,1,0,106,2], +"d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html#ae44ed343cb1a716248547f48dd045b6a":[5,0,1,0,106,0], +"d8/d94/structnlohmann_1_1detail_1_1is__compatible__array__type.html":[5,0,1,0,35], +"d8/d95/group__ReductionDescBuilder__v8.html":[3,12], +"d8/d95/group__ReductionDescBuilder__v8.html#ga1822b91228b5f6b790cd7c2d77402cdb":[5,0,0,26,6], +"d8/d95/group__ReductionDescBuilder__v8.html#ga1822b91228b5f6b790cd7c2d77402cdb":[3,12,0], +"d8/d95/group__ReductionDescBuilder__v8.html#gab00c3396fedc8b68356c426d19a54cf9":[3,12,1], +"d8/d95/group__ReductionDescBuilder__v8.html#gab00c3396fedc8b68356c426d19a54cf9":[5,0,0,26,7], +"d8/da8/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html":[5,0,1,0,53], +"d8/db6/structnlohmann_1_1detail_1_1iterator__traits.html":[5,0,1,0,88], +"d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html":[5,0,1,0,15], +"d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html#a669df5a4d258b588e67f747c6d656cdb":[5,0,1,0,15,0], +"d9/d08/group__MatMulDescBuilder__v8.html":[3,7], +"d9/d08/group__MatMulDescBuilder__v8.html#ga5885f3eb7580cbe0cbe7243c4711c0f2":[5,0,0,17,6], +"d9/d08/group__MatMulDescBuilder__v8.html#ga5885f3eb7580cbe0cbe7243c4711c0f2":[3,7,0], +"d9/d10/namespacenlohmann_1_1detail_1_1container__input__adapter__factory__impl.html":[4,0,1,0,0], +"d9/d10/namespacenlohmann_1_1detail_1_1container__input__adapter__factory__impl.html":[5,0,1,0,0], +"d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html":[5,0,1,0,30], +"d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html#a0220e7e5f85f91c6b7a930e469cda5c5":[5,0,1,0,30,0], +"d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html#a6024bae596d01193397a7396af3aa19a":[5,0,1,0,30,1], +"d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.html":[5,0,1,0,2,4], +"d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.html#aa0c393a15d2fb6a2de5b93facb192f8f":[5,0,1,0,2,4,0], +"d9/d66/structnlohmann_1_1detail_1_1is__compatible__type__impl.html":[5,0,1,0,48], +"d9/d6c/structnlohmann_1_1detail_1_1has__to__json.html":[5,0,1,0,26], +"d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html":[5,0,1,0,77], +"d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html#a1cbceaaa83a3ad294c3cb66b9df48e78":[5,0,1,0,77,0], +"d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html#ac2711760b352b8921accc6609957dc90":[5,0,1,0,77,1], +"d9/dca/classcudnn__frontend_1_1cudnnException.html":[5,0,0,3], +"d9/dca/classcudnn__frontend_1_1cudnnException.html#a4f35e3466ff6ce0875631b810364364b":[5,0,0,3,1], +"d9/dca/classcudnn__frontend_1_1cudnnException.html#aa80c45a57ca091770572aaa5a1f7e322":[5,0,0,3,0], +"d9/dcc/classnlohmann_1_1basic__json.html":[5,0,1,2], +"d9/dcc/classnlohmann_1_1basic__json.html#a012e375f4016b89444c528ed46cce3af":[5,0,1,2,75], +"d9/dcc/classnlohmann_1_1basic__json.html#a0181d03c6314bedcbad2e92d3676223c":[5,0,1,2,159], +"d9/dcc/classnlohmann_1_1basic__json.html#a0273d074462644e5d5a7ff313ad0d742":[5,0,1,2,36], +"d9/dcc/classnlohmann_1_1basic__json.html#a02c9bc4d0f33b7dec20b2798301d6971":[5,0,1,2,79], +"d9/dcc/classnlohmann_1_1basic__json.html#a044298d189bdf7e4b36492de9811ddd6":[5,0,1,2,82], +"d9/dcc/classnlohmann_1_1basic__json.html#a077b1e7977afafb97a6a38a3a617ba66":[5,0,1,2,301], +"d9/dcc/classnlohmann_1_1basic__json.html#a0a691c29eb7c4acd91ccb498a79cd3ee":[5,0,1,2,212], +"d9/dcc/classnlohmann_1_1basic__json.html#a0ace71470cab6d59035de18cea4fe272":[5,0,1,2,128], +"d9/dcc/classnlohmann_1_1basic__json.html#a0d3deaa73b3644b4da3f8ef3172cd8d2":[5,0,1,2,211], +"d9/dcc/classnlohmann_1_1basic__json.html#a0d69d3102639759d5202a6f764760d23":[5,0,1,2,110], +"d9/dcc/classnlohmann_1_1basic__json.html#a107a085c92ec4e062d1185b2d09c7978":[5,0,1,2,280], +"d9/dcc/classnlohmann_1_1basic__json.html#a11641b35219676b225d9bd15c7677659":[5,0,1,2,256], +"d9/dcc/classnlohmann_1_1basic__json.html#a116cdb9300b56519fc9cf756609296cb":[5,0,1,2,167], +"d9/dcc/classnlohmann_1_1basic__json.html#a11bbe874496eb7b29a5549e0637de59e":[5,0,1,2,210], +"d9/dcc/classnlohmann_1_1basic__json.html#a11e390944da90db83089eb2426a749d3":[5,0,1,2,27], +"d9/dcc/classnlohmann_1_1basic__json.html#a122640e7e2db1814fc7bbb3c122ec76e":[5,0,1,2,279], +"d9/dcc/classnlohmann_1_1basic__json.html#a125c0afa5f3599949b0589ef7b4aa322":[5,0,1,2,2], +"d9/dcc/classnlohmann_1_1basic__json.html#a12b382c6407da5543827ce4b24bb5008":[5,0,1,2,226], +"d9/dcc/classnlohmann_1_1basic__json.html#a12b8d90204a45d2cde4b2d22c861c384":[5,0,1,2,139], +"d9/dcc/classnlohmann_1_1basic__json.html#a14824c27188d2fee4861806cd5f23d22":[5,0,1,2,14], +"d9/dcc/classnlohmann_1_1basic__json.html#a14ddc6e0f6d70296bc81f810254076c5":[5,0,1,2,148], +"d9/dcc/classnlohmann_1_1basic__json.html#a15018ade392a844ea32d5188d1a0b9c6":[5,0,1,2,213], +"d9/dcc/classnlohmann_1_1basic__json.html#a15c0a5db4fb12d49433801bbe6436bfb":[5,0,1,2,89], +"d9/dcc/classnlohmann_1_1basic__json.html#a164b1094a1a9feb54e400d8510bb0b12":[5,0,1,2,24], +"d9/dcc/classnlohmann_1_1basic__json.html#a17a516671c29a69bb2e11ca12030316b":[5,0,1,2,98], +"d9/dcc/classnlohmann_1_1basic__json.html#a188755c8cda27e2afb03c016c14125d8":[5,0,1,2,106], +"d9/dcc/classnlohmann_1_1basic__json.html#a19734fbc9c97d536832892ddacd6b62a":[5,0,1,2,46], +"d9/dcc/classnlohmann_1_1basic__json.html#a19dad92c4fe9e6a289a93195e1230e97":[5,0,1,2,249], +"d9/dcc/classnlohmann_1_1basic__json.html#a1ae937c299f347a9dcb7f31a8e57762b":[5,0,1,2,204], +"d9/dcc/classnlohmann_1_1basic__json.html#a1b46c6631e30b8394e89bd1546d69736":[5,0,1,2,194], +"d9/dcc/classnlohmann_1_1basic__json.html#a1c1f21327df91a4dd6c5f5a107240385":[5,0,1,2,86], +"d9/dcc/classnlohmann_1_1basic__json.html#a1e7ca76cc3f62626b380be5e18a002d5":[5,0,1,2,13], +"d9/dcc/classnlohmann_1_1basic__json.html#a211cf53702226ad9fb3c939a3a3d3689":[5,0,1,2,16], +"d9/dcc/classnlohmann_1_1basic__json.html#a220ae98554a76205fb7f8822d36b2d5a":[5,0,1,2,39], +"d9/dcc/classnlohmann_1_1basic__json.html#a221b943d3228488c14225e55f726cc26":[5,0,1,2,96], +"d9/dcc/classnlohmann_1_1basic__json.html#a223480466a0922267d680ec8f0722d58":[5,0,1,2,84], +"d9/dcc/classnlohmann_1_1basic__json.html#a2251d8523fa6d16c0fba6388ffa2ef8c":[5,0,1,2,32], +"d9/dcc/classnlohmann_1_1basic__json.html#a229964ee10c92ba89ae4fba786fe6b50":[5,0,1,2,65], +"d9/dcc/classnlohmann_1_1basic__json.html#a22e2e5b0e68d9d7c63be2cada5187259":[5,0,1,2,176], +"d9/dcc/classnlohmann_1_1basic__json.html#a232bddcef573bde8777a6a87da0048dd":[5,0,1,2,48], +"d9/dcc/classnlohmann_1_1basic__json.html#a239e942da82f2597d0cf5ec806f5bc0d":[5,0,1,2,64], +"d9/dcc/classnlohmann_1_1basic__json.html#a23b495b4c282e4afacf382f5b49af7c7":[5,0,1,2,70], +"d9/dcc/classnlohmann_1_1basic__json.html#a23e540f473d32f1cf5d3243ea3ad495e":[5,0,1,2,52], +"d9/dcc/classnlohmann_1_1basic__json.html#a24086b03c5c063849df0307f78c41c54":[5,0,1,2,35], +"d9/dcc/classnlohmann_1_1basic__json.html#a24ae7acd5b06ae49cfe1c94633436b68":[5,0,1,2,281], +"d9/dcc/classnlohmann_1_1basic__json.html#a25355b9719db23b189fb5f6a8f4f16c4":[5,0,1,2,248], +"d9/dcc/classnlohmann_1_1basic__json.html#a2544582412088703c778e882e2531af3":[5,0,1,2,187], +"d9/dcc/classnlohmann_1_1basic__json.html#a258ec4690664fc0ee2a06a70574995e7":[5,0,1,2,136], +"d9/dcc/classnlohmann_1_1basic__json.html#a28524e9c443076ea6dccff8e391354ed":[5,0,1,2,53], +"d9/dcc/classnlohmann_1_1basic__json.html#a2afe89884edf72412a0624982324755d":[5,0,1,2,103], +"d9/dcc/classnlohmann_1_1basic__json.html#a2becf604016783e5644eaa7782a08683":[5,0,1,2,243], +"d9/dcc/classnlohmann_1_1basic__json.html#a2c8443b36a3e3c591341a43e8f088c2d":[5,0,1,2,134], +"d9/dcc/classnlohmann_1_1basic__json.html#a2c8d8f5741aedadac8f3bffd8f2ce13e":[5,0,1,2,60], +"d9/dcc/classnlohmann_1_1basic__json.html#a2e15685d39544db2bc5959705632fc04":[5,0,1,2,182], +"d9/dcc/classnlohmann_1_1basic__json.html#a2e4cbf41d593d41847b90aea55e5e84d":[5,0,1,2,225], +"d9/dcc/classnlohmann_1_1basic__json.html#a2ef98c6797810a551296191fc72e2b9e":[5,0,1,2,61], +"d9/dcc/classnlohmann_1_1basic__json.html#a2f3332829fc8117b48cba5a4a26ea76b":[5,0,1,2,185], +"d9/dcc/classnlohmann_1_1basic__json.html#a3017cf0f1a4673e904e34cfef62e7758":[5,0,1,2,77], +"d9/dcc/classnlohmann_1_1basic__json.html#a3023fcecbe85032b7048499f7bfc4ada":[5,0,1,2,180], +"d9/dcc/classnlohmann_1_1basic__json.html#a30914ad0767ccdc3633f88a906ed7dfa":[5,0,1,2,68], +"d9/dcc/classnlohmann_1_1basic__json.html#a32872afe5bfd040777e3e2bb85f0ca55":[5,0,1,2,57], +"d9/dcc/classnlohmann_1_1basic__json.html#a33593865ffb1860323dcbd52425b90c8":[5,0,1,2,42], +"d9/dcc/classnlohmann_1_1basic__json.html#a33c7c8638bb0b12e6d1b69d8106dd2e0":[5,0,1,2,232], +"d9/dcc/classnlohmann_1_1basic__json.html#a3405d38087e13994a5a4556065b0be6d":[5,0,1,2,219], +"d9/dcc/classnlohmann_1_1basic__json.html#a34d6a60dd99e9f33b8273a1c8db5669b":[5,0,1,2,288], +"d9/dcc/classnlohmann_1_1basic__json.html#a351b4f65014f6c2b8b2832847d44bbd7":[5,0,1,2,196], +"d9/dcc/classnlohmann_1_1basic__json.html#a36bd6765ccd8aeeeb4e49a766ba639df":[5,0,1,2,258], +"d9/dcc/classnlohmann_1_1basic__json.html#a3710ff8c5a1cbedb4f75b700a8962d5c":[5,0,1,2,177], +"d9/dcc/classnlohmann_1_1basic__json.html#a377819905d567f6f523dcbc592cb6356":[5,0,1,2,254], +"d9/dcc/classnlohmann_1_1basic__json.html#a38632b8b0c8c7bf4b54bd6fe782c0196":[5,0,1,2,145], +"d9/dcc/classnlohmann_1_1basic__json.html#a3ada29bca70b4965f6fd37ec1c8f85f7":[5,0,1,2,41], +"d9/dcc/classnlohmann_1_1basic__json.html#a3bbb975975e648f0468a2b96d25debfc":[5,0,1,2,132], +"d9/dcc/classnlohmann_1_1basic__json.html#a3d20d11e5dfe95084a76f62eca54fadd":[5,0,1,2,12], +"d9/dcc/classnlohmann_1_1basic__json.html#a3d255dbe024ce2d0fdfb1b4837629091":[5,0,1,2,72], +"d9/dcc/classnlohmann_1_1basic__json.html#a3f45f3820c456ad2e3f3df2926564151":[5,0,1,2,207], +"d9/dcc/classnlohmann_1_1basic__json.html#a3f8e91583b4d0f16eed6c690f1022a02":[5,0,1,2,142], +"d9/dcc/classnlohmann_1_1basic__json.html#a400ee8e0f051b9692692798906dc4654":[5,0,1,2,181], +"d9/dcc/classnlohmann_1_1basic__json.html#a40226d9c84fcb9cb948ae0c27b842c57":[5,0,1,2,200], +"d9/dcc/classnlohmann_1_1basic__json.html#a40738eb9cb8c5a9ca14ae4b697c29f8e":[5,0,1,2,49], +"d9/dcc/classnlohmann_1_1basic__json.html#a4108c5148f1d7cf13c2681e22f141a10":[5,0,1,2,9], +"d9/dcc/classnlohmann_1_1basic__json.html#a4118d0ec23d9eeafc236b9524d220e94":[5,0,1,2,101], +"d9/dcc/classnlohmann_1_1basic__json.html#a42e5c23402f4c2e1df487e1d102bc5fa":[5,0,1,2,37], +"d9/dcc/classnlohmann_1_1basic__json.html#a44dd5635fb2da4710f6cd6e42b72773f":[5,0,1,2,104], +"d9/dcc/classnlohmann_1_1basic__json.html#a44fd1a12c9c54623c942b430e7a72937":[5,0,1,2,6], +"d9/dcc/classnlohmann_1_1basic__json.html#a4567cf75f19b1efca090f75d7a8a350a":[5,0,1,2,221], +"d9/dcc/classnlohmann_1_1basic__json.html#a459dbfcd47bd632ca82ca8ff8db278c8":[5,0,1,2,252], +"d9/dcc/classnlohmann_1_1basic__json.html#a462f82051df2a68142c2bbd0a2798f56":[5,0,1,2,123], +"d9/dcc/classnlohmann_1_1basic__json.html#a4658a584571c4180656f5268969ed0a1":[5,0,1,2,259], +"d9/dcc/classnlohmann_1_1basic__json.html#a46bb02ef17ee178984313efbc2c8eb8d":[5,0,1,2,119], +"d9/dcc/classnlohmann_1_1basic__json.html#a47201396899371881a46562bffb922da":[5,0,1,2,115], +"d9/dcc/classnlohmann_1_1basic__json.html#a476756fb08e7f2416aad116d137977f4":[5,0,1,2,87], +"d9/dcc/classnlohmann_1_1basic__json.html#a47aabb1eceae32e8a6e8e7f0ff34be60":[5,0,1,2,265], +"d9/dcc/classnlohmann_1_1basic__json.html#a47fb596473649332185aedb0a8a6ccc5":[5,0,1,2,58], +"d9/dcc/classnlohmann_1_1basic__json.html#a494632b69bbe1d0153d3bedad0901b8e":[5,0,1,2,93], +"d9/dcc/classnlohmann_1_1basic__json.html#a4a67e47f4bcde55214475f47f8314c1f":[5,0,1,2,107], +"d9/dcc/classnlohmann_1_1basic__json.html#a4d581dc2ab78091885f9af24d13749dc":[5,0,1,2,269], +"d9/dcc/classnlohmann_1_1basic__json.html#a4e02793f2691aa29ab7cb69fddafbf5c":[5,0,1,2,100], +"d9/dcc/classnlohmann_1_1basic__json.html#a4e05a7d5deec758f1d830741b68b4249":[5,0,1,2,173], +"d9/dcc/classnlohmann_1_1basic__json.html#a4e96b98c1f8dfccaaa94aa0d5e77427c":[5,0,1,2,278], +"d9/dcc/classnlohmann_1_1basic__json.html#a4f147be16fcde9f510c4aac89ab511c9":[5,0,1,2,71], +"d9/dcc/classnlohmann_1_1basic__json.html#a4faaed730a81347f2f01e93f37c73823":[5,0,1,2,175], +"d9/dcc/classnlohmann_1_1basic__json.html#a501740b004225f4c948e657c9e6e539e":[5,0,1,2,291], +"d9/dcc/classnlohmann_1_1basic__json.html#a52907b78829a55473f2548530cf2c1c7":[5,0,1,2,272], +"d9/dcc/classnlohmann_1_1basic__json.html#a52b18a5b7e68652c65b070900c438c6e":[5,0,1,2,62], +"d9/dcc/classnlohmann_1_1basic__json.html#a5417ca43ae5e7a3a2f82eee2d915c6ed":[5,0,1,2,116], +"d9/dcc/classnlohmann_1_1basic__json.html#a548d2d4013da24e7d7510d90febc80c4":[5,0,1,2,171], +"d9/dcc/classnlohmann_1_1basic__json.html#a5493f2ed1e07b0ece428bd5a47e2fb95":[5,0,1,2,169], +"d9/dcc/classnlohmann_1_1basic__json.html#a54951d14f0dd10cc3cfdaa24f8bfd15c":[5,0,1,2,7], +"d9/dcc/classnlohmann_1_1basic__json.html#a555b05e9da63d486126759922685a37a":[5,0,1,2,34], +"d9/dcc/classnlohmann_1_1basic__json.html#a556d91bc2228135b27eb189e5a90ea4c":[5,0,1,2,23], +"d9/dcc/classnlohmann_1_1basic__json.html#a5689672954fd3bc38f2f17e5607064c6":[5,0,1,2,244], +"d9/dcc/classnlohmann_1_1basic__json.html#a57b86bdcfc55557dacc36969adb0417e":[5,0,1,2,235], +"d9/dcc/classnlohmann_1_1basic__json.html#a57c816a20c1d3ccc9bbc2972829da847":[5,0,1,2,45], +"d9/dcc/classnlohmann_1_1basic__json.html#a57e8411a770a6263d6d8f2116c37f3aa":[5,0,1,2,170], +"d9/dcc/classnlohmann_1_1basic__json.html#a5ac8f974c178cf9326b6765e22f50eb6":[5,0,1,2,117], +"d9/dcc/classnlohmann_1_1basic__json.html#a5b429e4041392a984ce5b6f85196b570":[5,0,1,2,144], +"d9/dcc/classnlohmann_1_1basic__json.html#a5b7c4b35a0ad9f97474912a08965d7ad":[5,0,1,2,251], +"d9/dcc/classnlohmann_1_1basic__json.html#a5b8abaebd922d82d69756327c0c347e6":[5,0,1,2,26], +"d9/dcc/classnlohmann_1_1basic__json.html#a5b8c0ebedd920b507f4f7ff4e19bf3c6":[5,0,1,2,40], +"d9/dcc/classnlohmann_1_1basic__json.html#a5c8bb5200f5eac10d31e26be46e5b1ac":[5,0,1,2,276], +"d9/dcc/classnlohmann_1_1basic__json.html#a5c99855f3e35ff35558cb46139b785f8":[5,0,1,2,90], +"d9/dcc/classnlohmann_1_1basic__json.html#a5cf0d01a7b245c82263cc73bfb070c3f":[5,0,1,2,141], +"d9/dcc/classnlohmann_1_1basic__json.html#a5e34c5435e557d0bf666bd7311211405":[5,0,1,2,274], +"d9/dcc/classnlohmann_1_1basic__json.html#a60041447d13e8709028a46e50219c161":[5,0,1,2,183], +"d9/dcc/classnlohmann_1_1basic__json.html#a603be713183ad63dd8c9e1052c606004":[5,0,1,2,54], +"d9/dcc/classnlohmann_1_1basic__json.html#a60a0febbb5030562424092fd134ce19d":[5,0,1,2,137], +"d9/dcc/classnlohmann_1_1basic__json.html#a60b643c02a19fa52f99db8215ff58e0f":[5,0,1,2,56], +"d9/dcc/classnlohmann_1_1basic__json.html#a60ca396028b8d9714c6e10efbf475af6":[5,0,1,2,275], +"d9/dcc/classnlohmann_1_1basic__json.html#a6275ed57bae6866cdf5db5370a7ad47c":[5,0,1,2,267], +"d9/dcc/classnlohmann_1_1basic__json.html#a642afd9d8886e0dedfc0d5cee2baf57f":[5,0,1,2,55], +"d9/dcc/classnlohmann_1_1basic__json.html#a668e4c2ad9808218a25879700f4aef2b":[5,0,1,2,240], +"d9/dcc/classnlohmann_1_1basic__json.html#a67771044f08fd07105b34667615d9e0e":[5,0,1,2,284], +"d9/dcc/classnlohmann_1_1basic__json.html#a69d491bbda88ade6d3c7a2b11309e8bf":[5,0,1,2,261], +"d9/dcc/classnlohmann_1_1basic__json.html#a6a8e927bfe09a0410baba859cd1a04c1":[5,0,1,2,126], +"d9/dcc/classnlohmann_1_1basic__json.html#a6c26be4635e562ebae8b9a142f9538b4":[5,0,1,2,3], +"d9/dcc/classnlohmann_1_1basic__json.html#a6ccc9788413fd58de998fe92743cb4aa":[5,0,1,2,18], +"d9/dcc/classnlohmann_1_1basic__json.html#a6d133cf7b2e729e9e215edeba5726116":[5,0,1,2,250], +"d9/dcc/classnlohmann_1_1basic__json.html#a6d4b8df10ecc533a50823e8805f4a873":[5,0,1,2,198], +"d9/dcc/classnlohmann_1_1basic__json.html#a6d9e85910b91d02f6807b69b61690a4b":[5,0,1,2,59], +"d9/dcc/classnlohmann_1_1basic__json.html#a6e2e21da48f5d9471716cd868a068327":[5,0,1,2,268], +"d9/dcc/classnlohmann_1_1basic__json.html#a6fc373c99facc37aadbc5651b3d6631d":[5,0,1,2,31], +"d9/dcc/classnlohmann_1_1basic__json.html#a71e197e6cc78c3960011f68a75f8ef22":[5,0,1,2,156], +"d9/dcc/classnlohmann_1_1basic__json.html#a71f65ff3abee4c140e27ca64fa327973":[5,0,1,2,273], +"d9/dcc/classnlohmann_1_1basic__json.html#a72f1c0ede41f166429ce3fe7c2ffefc0":[5,0,1,2,298], +"d9/dcc/classnlohmann_1_1basic__json.html#a7386443608348fa4b451f033a1439074":[5,0,1,2,297], +"d9/dcc/classnlohmann_1_1basic__json.html#a73cf15644f04fa569f50291049d1bafd":[5,0,1,2,215], +"d9/dcc/classnlohmann_1_1basic__json.html#a749a1f5091a5e63ccfe919e0aef986af":[5,0,1,2,238], +"d9/dcc/classnlohmann_1_1basic__json.html#a74a943800c7f103d0990d7eef82c6453":[5,0,1,2,285], +"d9/dcc/classnlohmann_1_1basic__json.html#a7577c2bbaf8da92947b964ae935a57c3":[5,0,1,2,131], +"d9/dcc/classnlohmann_1_1basic__json.html#a76126242de262f6d38cadda19e0d13e1":[5,0,1,2,234], +"d9/dcc/classnlohmann_1_1basic__json.html#a7a328b29b290cc300345376c54f618cb":[5,0,1,2,224], +"d9/dcc/classnlohmann_1_1basic__json.html#a7b03055088a8e9770680ee975fb8ba55":[5,0,1,2,19], +"d9/dcc/classnlohmann_1_1basic__json.html#a7e77b31f17b1b5f0ce72d3e6488b6d86":[5,0,1,2,184], +"d9/dcc/classnlohmann_1_1basic__json.html#a7e79daa34d13bfd8f03aae00e57649ec":[5,0,1,2,192], +"d9/dcc/classnlohmann_1_1basic__json.html#a7f0889072c54f1b899689ed6246238e7":[5,0,1,2,149], +"d9/dcc/classnlohmann_1_1basic__json.html#a80a1e2c1da21dccad6471c28facf04ec":[5,0,1,2,188], +"d9/dcc/classnlohmann_1_1basic__json.html#a8137d5471edcd71606e42155ed9c23e2":[5,0,1,2,157], +"d9/dcc/classnlohmann_1_1basic__json.html#a8284b9c1d4d0830151eaa000f907b2e6":[5,0,1,2,67], +"d9/dcc/classnlohmann_1_1basic__json.html#a82b5b96f86879a3bac0c713d33178551":[5,0,1,2,92], +"d9/dcc/classnlohmann_1_1basic__json.html#a834674252ca19c65b24963d28eb8932d":[5,0,1,2,292], +"d9/dcc/classnlohmann_1_1basic__json.html#a842e5c7ca096025c18b11e715d3401f4":[5,0,1,2,263], +"d9/dcc/classnlohmann_1_1basic__json.html#a844a77cb154752d12118f10af26d54cb":[5,0,1,2,195], +"d9/dcc/classnlohmann_1_1basic__json.html#a84b3d89de8e774a2609dc4c0a1273f62":[5,0,1,2,111], +"d9/dcc/classnlohmann_1_1basic__json.html#a856b8764efd21dac4205a00fec82e09a":[5,0,1,2,158], +"d9/dcc/classnlohmann_1_1basic__json.html#a858c1cf8407bc06494e3a1114a3b73e7":[5,0,1,2,1], +"d9/dcc/classnlohmann_1_1basic__json.html#a87db51b6b936fb2ea293cdbc8702dcb8":[5,0,1,2,282], +"d9/dcc/classnlohmann_1_1basic__json.html#a8a3eb027b86f4de2de4277410ceaa454":[5,0,1,2,186], +"d9/dcc/classnlohmann_1_1basic__json.html#a8ac83750e267e37d5d47591eb44cce42":[5,0,1,2,94], +"d9/dcc/classnlohmann_1_1basic__json.html#a8b71cea6588f74f6eab6cc27ae314e5c":[5,0,1,2,130], +"d9/dcc/classnlohmann_1_1basic__json.html#a8bef6d062634dfd09e14d9a3217da8cd":[5,0,1,2,191], +"d9/dcc/classnlohmann_1_1basic__json.html#a8e29710c587ab852ba851b623d4efa00":[5,0,1,2,153], +"d9/dcc/classnlohmann_1_1basic__json.html#a8ff30e37ec09ce661d0fed77e3e2e1f3":[5,0,1,2,179], +"d9/dcc/classnlohmann_1_1basic__json.html#a911b11e855e685fa59ea1d111490b36b":[5,0,1,2,163], +"d9/dcc/classnlohmann_1_1basic__json.html#a916a6ba75ec7624e9c6c977a52d6fd17":[5,0,1,2,174], +"d9/dcc/classnlohmann_1_1basic__json.html#a931267ec3f09eb67e4382f321b2c52bc":[5,0,1,2,91], +"d9/dcc/classnlohmann_1_1basic__json.html#a94295a06e0e7b3867fe83afbee4cb202":[5,0,1,2,233], +"d9/dcc/classnlohmann_1_1basic__json.html#a946cc8f30d8b1d6609b57387b647fe53":[5,0,1,2,78], +"d9/dcc/classnlohmann_1_1basic__json.html#a94c61e0128f0794e7a34e1aecee5c445":[5,0,1,2,287], +"d9/dcc/classnlohmann_1_1basic__json.html#a94dbeb08bcd13821512957dcbf3f00bd":[5,0,1,2,109], +"d9/dcc/classnlohmann_1_1basic__json.html#a95574da8d12905ea99dc348934c837da":[5,0,1,2,264], +"d9/dcc/classnlohmann_1_1basic__json.html#a9576224f7b3ff812a308e7c1e784ea80":[5,0,1,2,162], +"d9/dcc/classnlohmann_1_1basic__json.html#a95c3851acd53eccd620b0d82855c3da1":[5,0,1,2,151], +"d9/dcc/classnlohmann_1_1basic__json.html#a99b15bcaee410426b937eacc6e47d771":[5,0,1,2,245], +"d9/dcc/classnlohmann_1_1basic__json.html#a9a4a1bb634091c7ebd66c4e989ed469d":[5,0,1,2,296], +"d9/dcc/classnlohmann_1_1basic__json.html#a9a4df356e05415438fadf8a15e583903":[5,0,1,2,197], +"d9/dcc/classnlohmann_1_1basic__json.html#a9ad84afed3e707cd066380b12901f9db":[5,0,1,2,143], +"d9/dcc/classnlohmann_1_1basic__json.html#a9c5b9de8a4a759861cb600b38a6c81b1":[5,0,1,2,155], +"d9/dcc/classnlohmann_1_1basic__json.html#a9dbb422350fed520ce8c1ca8762c0251":[5,0,1,2,113], +"d9/dcc/classnlohmann_1_1basic__json.html#a9ea67fc1ef0ccc42e1d5388fe0416ae5":[5,0,1,2,205], +"d9/dcc/classnlohmann_1_1basic__json.html#a9ea8e0e86820fcb3ab0fc937d41226e7":[5,0,1,2,283], +"d9/dcc/classnlohmann_1_1basic__json.html#a9ebed178fb7dad1a574bcb7c361fb1b8":[5,0,1,2,241], +"d9/dcc/classnlohmann_1_1basic__json.html#a9f9e5f668474280acc9bd7f5410b9392":[5,0,1,2,255], +"d9/dcc/classnlohmann_1_1basic__json.html#aa014a978f8b6c085db8825faa8dad320":[5,0,1,2,66], +"d9/dcc/classnlohmann_1_1basic__json.html#aa17b6729b79846fe460b6905eb8ece5f":[5,0,1,2,129], +"d9/dcc/classnlohmann_1_1basic__json.html#aa226ed5103dfd10e27e562d35a3a106b":[5,0,1,2,260], +"d9/dcc/classnlohmann_1_1basic__json.html#aa242e339ebc7583e114f2167a83f8c90":[5,0,1,2,237], +"d9/dcc/classnlohmann_1_1basic__json.html#aa52fb28bbfe1d5484808cad53c35d76c":[5,0,1,2,294], +"d9/dcc/classnlohmann_1_1basic__json.html#aa549b2b382916b3baafb526e5cb410bd":[5,0,1,2,21], +"d9/dcc/classnlohmann_1_1basic__json.html#aa62d64781b217372225a0652047d8cf3":[5,0,1,2,239], +"d9/dcc/classnlohmann_1_1basic__json.html#aa7dba16ed9ee97380aeb17a207dd919a":[5,0,1,2,11], +"d9/dcc/classnlohmann_1_1basic__json.html#aa81f62db69978b90ff701f05c72e03a7":[5,0,1,2,112], +"d9/dcc/classnlohmann_1_1basic__json.html#aa8f1f93b32da01b42413643be32b2c27":[5,0,1,2,22], +"d9/dcc/classnlohmann_1_1basic__json.html#aa8fe46eda86f6f92c5599c20b6c81819":[5,0,1,2,246], +"d9/dcc/classnlohmann_1_1basic__json.html#aa9861979059799375c0fff68174610ba":[5,0,1,2,270], +"d9/dcc/classnlohmann_1_1basic__json.html#aaa5b1a16260634ed7b6c6a44f39c4d8a":[5,0,1,2,216], +"d9/dcc/classnlohmann_1_1basic__json.html#aaacd6324154f273268cd75739b219347":[5,0,1,2,140], +"d9/dcc/classnlohmann_1_1basic__json.html#aab1329f44c8301b7679962726a043549":[5,0,1,2,223], +"d9/dcc/classnlohmann_1_1basic__json.html#aab19a246f6bcd27c195bed376cf5e138":[5,0,1,2,121], +"d9/dcc/classnlohmann_1_1basic__json.html#aac916df9561daf4eaf2372119fe91899":[5,0,1,2,236] +}; diff --git a/docs/navtreeindex6.js b/docs/navtreeindex6.js new file mode 100644 index 00000000..eedf960a --- /dev/null +++ b/docs/navtreeindex6.js @@ -0,0 +1,253 @@ +var NAVTREEINDEX6 = +{ +"d9/dcc/classnlohmann_1_1basic__json.html#aac965b84ea43ccd8aef9caefef02794a":[5,0,1,2,69], +"d9/dcc/classnlohmann_1_1basic__json.html#aacd442b66140c764c594ac8ad7dfd5b3":[5,0,1,2,271], +"d9/dcc/classnlohmann_1_1basic__json.html#aaf363408931d76472ded14017e59c9e8":[5,0,1,2,289], +"d9/dcc/classnlohmann_1_1basic__json.html#ab085777bbfbfac5a472120b991ef5cf3":[5,0,1,2,74], +"d9/dcc/classnlohmann_1_1basic__json.html#ab303d17366c26fca12242c7f8def1bb7":[5,0,1,2,172], +"d9/dcc/classnlohmann_1_1basic__json.html#ab3ac4d7aa5bf26e70df1fdb2d6a2b207":[5,0,1,2,138], +"d9/dcc/classnlohmann_1_1basic__json.html#ab483f21649bd170f593ec58044cd68a6":[5,0,1,2,5], +"d9/dcc/classnlohmann_1_1basic__json.html#ab5b70d60a636b9c5e10f6c8caac60b9e":[5,0,1,2,161], +"d9/dcc/classnlohmann_1_1basic__json.html#ab5c8034e997c5b852b92bdc6a3f70994":[5,0,1,2,160], +"d9/dcc/classnlohmann_1_1basic__json.html#ab62241c2694a054818edf2f66d72f113":[5,0,1,2,227], +"d9/dcc/classnlohmann_1_1basic__json.html#ab6eeda23c34cee79d8d72f1a8691a8de":[5,0,1,2,114], +"d9/dcc/classnlohmann_1_1basic__json.html#ab7aa6e048e659481a036f2d872c7cba6":[5,0,1,2,99], +"d9/dcc/classnlohmann_1_1basic__json.html#ab83d11de4db25633f93e067aa218cae9":[5,0,1,2,286], +"d9/dcc/classnlohmann_1_1basic__json.html#ab85f42065b70594c15de42e1f0870fba":[5,0,1,2,293], +"d9/dcc/classnlohmann_1_1basic__json.html#ab8a1c33ee7b154fc41ca2545aa9724e6":[5,0,1,2,10], +"d9/dcc/classnlohmann_1_1basic__json.html#ab9e0253c92736db021840105d374c4c4":[5,0,1,2,218], +"d9/dcc/classnlohmann_1_1basic__json.html#aba4f6fc79cc405fb212ea3d992334e71":[5,0,1,2,105], +"d9/dcc/classnlohmann_1_1basic__json.html#aba5ec6d1e37eda6b11eba491a1e5237e":[5,0,1,2,81], +"d9/dcc/classnlohmann_1_1basic__json.html#abb5466ba8f6483df6a37e040a7b32a92":[5,0,1,2,190], +"d9/dcc/classnlohmann_1_1basic__json.html#abbfa5532931abd2d9040cbf4d18a2ca7":[5,0,1,2,122], +"d9/dcc/classnlohmann_1_1basic__json.html#abc94831476f7b4d3efe6f2e9036c7188":[5,0,1,2,209], +"d9/dcc/classnlohmann_1_1basic__json.html#abcfe744b08e2cd81508ce9bf7ebc86cf":[5,0,1,2,178], +"d9/dcc/classnlohmann_1_1basic__json.html#abd47ac8eba63833152795280f75b5851":[5,0,1,2,166], +"d9/dcc/classnlohmann_1_1basic__json.html#abdcb15d025676b4d3db0f32a50f4393f":[5,0,1,2,262], +"d9/dcc/classnlohmann_1_1basic__json.html#abe229fa4c3b1f3536c7a85ab9cbff2e7":[5,0,1,2,299], +"d9/dcc/classnlohmann_1_1basic__json.html#abe6f1016de5097691cbfdbb989267718":[5,0,1,2,17], +"d9/dcc/classnlohmann_1_1basic__json.html#ac26c2e8d6bcaccde372ceedd81851200":[5,0,1,2,29], +"d9/dcc/classnlohmann_1_1basic__json.html#ac32019eb29dc7bb4c326a233e0e2f0cb":[5,0,1,2,302], +"d9/dcc/classnlohmann_1_1basic__json.html#ac3698ce827dcd4f0c81455461709938d":[5,0,1,2,146], +"d9/dcc/classnlohmann_1_1basic__json.html#ac479e609cbd03948bd3e85fb441b66e5":[5,0,1,2,88], +"d9/dcc/classnlohmann_1_1basic__json.html#ac48302a8b4f8c2a6e30c2a7bff6abc49":[5,0,1,2,203], +"d9/dcc/classnlohmann_1_1basic__json.html#ac4927a4f303011cd45b99f2a7c18c866":[5,0,1,2,33], +"d9/dcc/classnlohmann_1_1basic__json.html#ac4b4acf2c0ad075c0dc125a65c102362":[5,0,1,2,168], +"d9/dcc/classnlohmann_1_1basic__json.html#ac53c5c09feafe34cc8a3a9f0b90f4792":[5,0,1,2,83], +"d9/dcc/classnlohmann_1_1basic__json.html#ac569f292a070dfd2f6b69c16e746095a":[5,0,1,2,15], +"d9/dcc/classnlohmann_1_1basic__json.html#ac59c6abb509fe0160e30800cd84b0091":[5,0,1,2,133], +"d9/dcc/classnlohmann_1_1basic__json.html#ac68cb65a7f3517f0c5b1d3a4967406ad":[5,0,1,2,44], +"d9/dcc/classnlohmann_1_1basic__json.html#ac6fd6c12364425e4007ee4d7ecf9fefd":[5,0,1,2,152], +"d9/dcc/classnlohmann_1_1basic__json.html#ac7bb152c454b4d837d943cfb541da510":[5,0,1,2,193], +"d9/dcc/classnlohmann_1_1basic__json.html#ac8f3125911eb018ef4ab00d879487baf":[5,0,1,2,266], +"d9/dcc/classnlohmann_1_1basic__json.html#aca5dc0fca52131f3a634372120abfbe7":[5,0,1,2,247], +"d9/dcc/classnlohmann_1_1basic__json.html#acb5b489310f4e0ce2d5fb29b73fb59d3":[5,0,1,2,208], +"d9/dcc/classnlohmann_1_1basic__json.html#accbd22113420ad6a31e375ceedc7334e":[5,0,1,2,231], +"d9/dcc/classnlohmann_1_1basic__json.html#acd2c506b279049f7d92ad7ae10a2f12b":[5,0,1,2,73], +"d9/dcc/classnlohmann_1_1basic__json.html#acdf9b3aab82dcf443dd91ca5ec06b80c":[5,0,1,2,97], +"d9/dcc/classnlohmann_1_1basic__json.html#ace5bf851eafe85bd6332f978991bc11c":[5,0,1,2,43], +"d9/dcc/classnlohmann_1_1basic__json.html#ace6fbaf6c64f60b61922b5c9d3e61aa6":[5,0,1,2,47], +"d9/dcc/classnlohmann_1_1basic__json.html#ad21d96f490fa1aa8605fba8dadcce319":[5,0,1,2,206], +"d9/dcc/classnlohmann_1_1basic__json.html#ad2b075c694e4564c9742d2c8db7c7c5f":[5,0,1,2,295], +"d9/dcc/classnlohmann_1_1basic__json.html#ad2e690ffeeff334640da1042c415bf65":[5,0,1,2,124], +"d9/dcc/classnlohmann_1_1basic__json.html#ad38ae80f1e99d4b1f33c99fea4611457":[5,0,1,2,0], +"d9/dcc/classnlohmann_1_1basic__json.html#ad5462e42ebf32c2570f5ade93e4bd34e":[5,0,1,2,127], +"d9/dcc/classnlohmann_1_1basic__json.html#ad6c955145bebde84d93991ffed7cd389":[5,0,1,2,4], +"d9/dcc/classnlohmann_1_1basic__json.html#ad6ebc5da7ced975bb184133750e7d49f":[5,0,1,2,25], +"d9/dcc/classnlohmann_1_1basic__json.html#ad704839e6a5195e3b76f22e2b9aa63ee":[5,0,1,2,220], +"d9/dcc/classnlohmann_1_1basic__json.html#ad832c70af0989389a9a104c21d2d1c5c":[5,0,1,2,214], +"d9/dcc/classnlohmann_1_1basic__json.html#ad88685d4cc24d7e86ddc5b0edb64192a":[5,0,1,2,300], +"d9/dcc/classnlohmann_1_1basic__json.html#ad8c8d2d107c6952960ba8aa78e009284":[5,0,1,2,118], +"d9/dcc/classnlohmann_1_1basic__json.html#ad968b5c1134f6aa22bd3c995ab227c11":[5,0,1,2,135], +"d9/dcc/classnlohmann_1_1basic__json.html#ada1463d8d7ba77865f28f5e83dec7f33":[5,0,1,2,199], +"d9/dcc/classnlohmann_1_1basic__json.html#adabcf74c9c868da3e04a5546b7705af4":[5,0,1,2,242], +"d9/dcc/classnlohmann_1_1basic__json.html#adb82c1f34c73486e013da71ae369e597":[5,0,1,2,80], +"d9/dcc/classnlohmann_1_1basic__json.html#adbcab52fca1e25b3311ef14e71a57590":[5,0,1,2,108], +"d9/dcc/classnlohmann_1_1basic__json.html#adca9bb93a7bfa43bdae38dd8493cc042":[5,0,1,2,85], +"d9/dcc/classnlohmann_1_1basic__json.html#adcc786998f220a5b3083ee8a37c4553e":[5,0,1,2,217], +"d9/dcc/classnlohmann_1_1basic__json.html#adcfdefe95d5c2471a5c97e911d46ee88":[5,0,1,2,257], +"d9/dcc/classnlohmann_1_1basic__json.html#ade91330092a38c86ae056cca64a3647e":[5,0,1,2,230], +"d9/dcc/classnlohmann_1_1basic__json.html#adea158bff8642202420898f6322da479":[5,0,1,2,253], +"d9/dcc/classnlohmann_1_1basic__json.html#ae0558bf35848bc194ffae2ef4d371c2c":[5,0,1,2,125], +"d9/dcc/classnlohmann_1_1basic__json.html#ae09af9c23351b7245d9be4d1b2035fef":[5,0,1,2,28], +"d9/dcc/classnlohmann_1_1basic__json.html#ae2612581e4788ddffc2f45d5e4cc04fc":[5,0,1,2,102], +"d9/dcc/classnlohmann_1_1basic__json.html#ae2cb9166f46abfc6d3910e076410f1ca":[5,0,1,2,38], +"d9/dcc/classnlohmann_1_1basic__json.html#ae2ce7eec3ae7e7b903e0344e89f0512b":[5,0,1,2,20], +"d9/dcc/classnlohmann_1_1basic__json.html#ae300819781bce2193369609457f70f30":[5,0,1,2,202], +"d9/dcc/classnlohmann_1_1basic__json.html#ae4e9a0afab117f1642b90b9607285348":[5,0,1,2,147], +"d9/dcc/classnlohmann_1_1basic__json.html#ae508c13e3ad6ce445bcaf24a2bc7d039":[5,0,1,2,76], +"d9/dcc/classnlohmann_1_1basic__json.html#ae7bce6989e2bf72aa0784ca6755e22a9":[5,0,1,2,277], +"d9/dcc/classnlohmann_1_1basic__json.html#aea49a99ac9d45c1d1bfe3912ed20ffb6":[5,0,1,2,189], +"d9/dcc/classnlohmann_1_1basic__json.html#aeac617faf3448d6d2cb33a020be01d37":[5,0,1,2,50], +"d9/dcc/classnlohmann_1_1basic__json.html#aeb18fe2b8a5dbff4ccf2848de854c3ac":[5,0,1,2,63], +"d9/dcc/classnlohmann_1_1basic__json.html#aeb86e8478e20d95970a8b61ff01dce3b":[5,0,1,2,154], +"d9/dcc/classnlohmann_1_1basic__json.html#aebd2cfa7e4ded4e97cde9269bfeeea38":[5,0,1,2,8], +"d9/dcc/classnlohmann_1_1basic__json.html#aecaaa0613d3f3a5b49b34b02afc5f85d":[5,0,1,2,164], +"d9/dcc/classnlohmann_1_1basic__json.html#aedc7afad96292b5ab61a2e0ad3067f5f":[5,0,1,2,165], +"d9/dcc/classnlohmann_1_1basic__json.html#aee080f037758ca55531e98ce93097d4c":[5,0,1,2,229], +"d9/dcc/classnlohmann_1_1basic__json.html#aee0ae36cbfb0336832ebc0374c3c7679":[5,0,1,2,290], +"d9/dcc/classnlohmann_1_1basic__json.html#aef3ff5a73597850597d1d40db9edd376":[5,0,1,2,30], +"d9/dcc/classnlohmann_1_1basic__json.html#aef9ef0a817ecde8bf270653e8706c150":[5,0,1,2,228], +"d9/dcc/classnlohmann_1_1basic__json.html#af643a4baa91f484b11af0e4437183115":[5,0,1,2,201], +"d9/dcc/classnlohmann_1_1basic__json.html#af72b1c9d1502b02a49a0cb9db9f980ea":[5,0,1,2,95], +"d9/dcc/classnlohmann_1_1basic__json.html#af9091a59efebd38435cbc0583fcda777":[5,0,1,2,150], +"d9/dcc/classnlohmann_1_1basic__json.html#afbccea367512a87b5d76e2bd92c5cc85":[5,0,1,2,51], +"d9/dcc/classnlohmann_1_1basic__json.html#afc55e7dca1a243b0d5011564824c0267":[5,0,1,2,120], +"d9/dcc/classnlohmann_1_1basic__json.html#aff8e38cd973bc94557fa8d36433c0e4c":[5,0,1,2,222], +"d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html":[5,0,1,0,9], +"d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html#a5afd6a40e94dde21d120ac646468c495":[5,0,1,0,9,0], +"d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html#ab748f9f00bb31bee4978a033589f8c85":[5,0,1,0,9,1], +"d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html":[5,0,1,0,27], +"d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html#a25600efc3dbab20cebe1a90f97505d6a":[5,0,1,0,27,1], +"d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html#a7af8dd95a01e7ca32f10075c9934b107":[5,0,1,0,27,0], +"d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html":[5,0,0,10], +"d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a1effb794c90cbe7ad2e7649d400cb2dd":[5,0,0,10,5], +"d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a28651c04cd22f3ebe037b99627ddbd62":[5,0,0,10,1], +"d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a3dda7b1b97beb027718b7809702967b5":[5,0,0,10,2], +"d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a56f2014918d259c53a2ebb3e815073e9":[5,0,0,10,8], +"d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#aae1a36ace3278dbedcf0d743a7744d98":[5,0,0,10,4], +"d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#ad3e10ca860311b1b554507615c46b9ad":[5,0,0,10,3], +"d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#ae955fa571b31ffc3da0ca6293d089642":[5,0,0,10,0], +"d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html":[5,0,0,5], +"d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a010b99c39d63121be78ec847fff433f8":[5,0,0,5,4], +"d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a033fb0022860f23e76ca1529da165bfc":[5,0,0,5,2], +"d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a21b687e5455f4bc727210ac2da46d7b3":[5,0,0,5,0], +"d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a7f5a24e27ff497bd44fd93fb700d5424":[5,0,0,5,3], +"d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a8a300ec39fc764b86058acf8a9406d89":[5,0,0,5,1], +"d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a9d29a91186f6baa215b61340a386ec6d":[5,0,0,5,5], +"d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#adc25c468425d9b6b71b9592b80ea715d":[5,0,0,5,9], +"da/d10/classnlohmann_1_1detail_1_1json__ref.html":[5,0,1,0,93], +"da/d10/classnlohmann_1_1detail_1_1json__ref.html#a45391e581543480fc02007de08d95705":[5,0,1,0,93,14], +"da/d10/classnlohmann_1_1detail_1_1json__ref.html#a4c68db46934e03588bbd73b00147c0dd":[5,0,1,0,93,6], +"da/d10/classnlohmann_1_1detail_1_1json__ref.html#a4ec90f097b33e7ea8ea7473b6b6c4015":[5,0,1,0,93,5], +"da/d10/classnlohmann_1_1detail_1_1json__ref.html#a5d7bd67a5ab713d9be1e248cf9d509cd":[5,0,1,0,93,13], +"da/d10/classnlohmann_1_1detail_1_1json__ref.html#a78d76cf288141049568c0d670ed670ef":[5,0,1,0,93,0], +"da/d10/classnlohmann_1_1detail_1_1json__ref.html#a8a31d6c588d6c3c06b62008fd5d36c6c":[5,0,1,0,93,4], +"da/d10/classnlohmann_1_1detail_1_1json__ref.html#a8bcd4cfcafe952ce5140f8cb35ebe2f6":[5,0,1,0,93,7], +"da/d10/classnlohmann_1_1detail_1_1json__ref.html#a8c3eb3c6e952ed0cd7eece586ab4047c":[5,0,1,0,93,2], +"da/d10/classnlohmann_1_1detail_1_1json__ref.html#a98956ba676b1ae16b62346f9c4fb752e":[5,0,1,0,93,11], +"da/d10/classnlohmann_1_1detail_1_1json__ref.html#a9a73363d9be6b300ddd30745786c50a6":[5,0,1,0,93,12], +"da/d10/classnlohmann_1_1detail_1_1json__ref.html#aa3100e41472dba02ab78ccc1607e44ab":[5,0,1,0,93,9], +"da/d10/classnlohmann_1_1detail_1_1json__ref.html#adb652774a67829876449dc0b30637456":[5,0,1,0,93,10], +"da/d10/classnlohmann_1_1detail_1_1json__ref.html#adfba2db547283a7c6a5df9a32e72efc5":[5,0,1,0,93,3], +"da/d10/classnlohmann_1_1detail_1_1json__ref.html#ae1adf5bcee8b6fa0c358710604fb1938":[5,0,1,0,93,1], +"da/d10/classnlohmann_1_1detail_1_1json__ref.html#ae39e523218bf05cac3fb5b5b1cd5efb6":[5,0,1,0,93,8], +"da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html":[5,0,1,0,20], +"da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a164fbe2739ac97e517e22bc1fff1c174":[5,0,1,0,20,8], +"da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a300fa4e2da1891e97eb0d85bf14cb022":[5,0,1,0,20,5], +"da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a308099b496a0cba2123a06fe99a95d02":[5,0,1,0,20,2], +"da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a5a35c5bc8d6216ee6e4070fc4b6b0127":[5,0,1,0,20,3], +"da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a6977a9d721de8181253d8431a335ba63":[5,0,1,0,20,4], +"da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#ac853c96c60f93dc97433dacd98179f35":[5,0,1,0,20,0], +"da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#acfd616c651d601a1dfc7fbdd6973f716":[5,0,1,0,20,7], +"da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#ad59bbc7e3f23dd74475c5cb818784e42":[5,0,1,0,20,6], +"da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#aeade050f2793280503be93feff2ece5b":[5,0,1,0,20,1], +"da/d1c/classnlohmann_1_1detail_1_1type__error.html":[5,0,1,0,119], +"da/d1c/classnlohmann_1_1detail_1_1type__error.html#a838a5e301cf97289c2d106b9ace1470f":[5,0,1,0,119,1], +"da/d1c/classnlohmann_1_1detail_1_1type__error.html#aa01edaa0bf18b853368f0b900e485cd7":[5,0,1,0,119,0], +"da/d31/structnlohmann_1_1detail_1_1nonesuch.html":[5,0,1,0,101], +"da/d31/structnlohmann_1_1detail_1_1nonesuch.html#a563462ef2d05fe60cdf1dc7f567dc276":[5,0,1,0,101,2], +"da/d31/structnlohmann_1_1detail_1_1nonesuch.html#a6fe87da966856c6cb06617940d90f010":[5,0,1,0,101,0], +"da/d31/structnlohmann_1_1detail_1_1nonesuch.html#a78ca022a1b4defe4f7ba662843602231":[5,0,1,0,101,5], +"da/d31/structnlohmann_1_1detail_1_1nonesuch.html#a7b1119845860e548b67f1644a2084373":[5,0,1,0,101,1], +"da/d31/structnlohmann_1_1detail_1_1nonesuch.html#ad7719f7d2a00263be8b8d123870217d8":[5,0,1,0,101,3], +"da/d31/structnlohmann_1_1detail_1_1nonesuch.html#add6ef84c52a851e391cef514c85f2ffe":[5,0,1,0,101,4], +"da/d58/deprecated.html":[2], +"da/d5a/cudnn__frontend__Operation_8h.html":[6,0,14], +"da/d5a/cudnn__frontend__Operation_8h_source.html":[6,0,14], +"da/d5f/cudnn__frontend__PointWiseDesc_8h.html":[6,0,16], +"da/d5f/cudnn__frontend__PointWiseDesc_8h_source.html":[6,0,16], +"da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html":[5,0,1,0,87], +"da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#a1c42a47cd6cd71146cf2851d76165610":[5,0,1,0,87,3], +"da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#aae2354d80ae95214a9da99c495003f6c":[5,0,1,0,87,4], +"da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#ae9fc94b1b95c5d4afd1ab3f9ccb93c1a":[5,0,1,0,87,0], +"da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#afd0218fc0657b5e04ab81ccc9dcda03d":[5,0,1,0,87,1], +"da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#aff521be1855964b6ec371eed2ca2590f":[5,0,1,0,87,2], +"da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html":[5,0,1,0,116], +"da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html#a3a328a45b2c2c87145106ce4b2d02365":[5,0,1,0,116,0], +"da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html#a3e223a7784502be20ace441e84f8cf43":[5,0,1,0,116,3], +"da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html#a478dfb78d0bf28d2665a19fccf221f02":[5,0,1,0,116,2], +"da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html#a714c6cf8e15b9af4e1723d9f7f92d4c8":[5,0,1,0,116,1], +"da/d86/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html":[5,0,2,3], +"da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html":[5,0,1,0,89], +"da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a0809c5949d22f08a993231d2fdf285f0":[5,0,1,0,89,3], +"da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a33ee9a1beb8ee099f989fd4af15178a5":[5,0,1,0,89,2], +"da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a443e6a62f5fb2c545fc71c751b98ca8d":[5,0,1,0,89,4], +"da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a9b043cfe0fdfb3e9665428fb2be9cea1":[5,0,1,0,89,1], +"da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#ae7be99eb434f5b5f34692874c272b759":[5,0,1,0,89,0], +"da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html":[5,0,1,0,19], +"da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html#a74f56b9ca1d4e8db9751353d76668322":[5,0,1,0,19,1], +"da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html#a8822d43f0e20c5a28be329f9ca7de6c4":[5,0,1,0,19,2], +"da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html#ad88d0b4b7ea01ea20e12cc1b82fe0d92":[5,0,1,0,19,0], +"da/dbd/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html":[5,0,1,0,72], +"da/de8/classnlohmann_1_1json__pointer.html":[5,0,1,4], +"da/de8/classnlohmann_1_1json__pointer.html#a07a990a6838de4f38ee9d881e7b9fd61":[5,0,1,4,32], +"da/de8/classnlohmann_1_1json__pointer.html#a0f3376aebd6c88555d12f34480f93741":[5,0,1,4,3], +"da/de8/classnlohmann_1_1json__pointer.html#a213bc67c32a30c68ac6bf06f5195d482":[5,0,1,4,2], +"da/de8/classnlohmann_1_1json__pointer.html#a366d68a67e40d86676d3bdb52e167294":[5,0,1,4,8], +"da/de8/classnlohmann_1_1json__pointer.html#a3d4b15d32d096e3776c5d2c773b524f5":[5,0,1,4,21], +"da/de8/classnlohmann_1_1json__pointer.html#a4667ef558c8c3f8a646bfda0c6654653":[5,0,1,4,28], +"da/de8/classnlohmann_1_1json__pointer.html#a468dde132b1384d962c75eca7306f6cb":[5,0,1,4,31], +"da/de8/classnlohmann_1_1json__pointer.html#a4b1ee4d511ca195bed896a3da47e264c":[5,0,1,4,17], +"da/de8/classnlohmann_1_1json__pointer.html#a551777cfe37bf7adb82253482030d992":[5,0,1,4,29], +"da/de8/classnlohmann_1_1json__pointer.html#a55a5bbbc3007e479607304a3e8cb9bf5":[5,0,1,4,9], +"da/de8/classnlohmann_1_1json__pointer.html#a577512ee6b7f030e8872b4d29fa5c3e5":[5,0,1,4,10], +"da/de8/classnlohmann_1_1json__pointer.html#a583c726016f440ffe65553935c101ff5":[5,0,1,4,7], +"da/de8/classnlohmann_1_1json__pointer.html#a649252bda4a2e75a0915b11a25d8bcc3":[5,0,1,4,5], +"da/de8/classnlohmann_1_1json__pointer.html#a6779edcf28e6f018a3bbb29c0b4b5e1e":[5,0,1,4,24], +"da/de8/classnlohmann_1_1json__pointer.html#a697d12b5bd6205f8866691b166b7c7dc":[5,0,1,4,18], +"da/de8/classnlohmann_1_1json__pointer.html#a7395bd0af29ac23fd3f21543c935cdfa":[5,0,1,4,13], +"da/de8/classnlohmann_1_1json__pointer.html#a7de51480324eb1c5a89ed552cd699875":[5,0,1,4,15], +"da/de8/classnlohmann_1_1json__pointer.html#a7f32d7c62841f0c4a6784cf741a6e4f8":[5,0,1,4,0], +"da/de8/classnlohmann_1_1json__pointer.html#a8473b794a810d3fdb46cf985bfa9e2bb":[5,0,1,4,34], +"da/de8/classnlohmann_1_1json__pointer.html#a90a11fe6c7f37b1746a3ff9cb24b0d53":[5,0,1,4,25], +"da/de8/classnlohmann_1_1json__pointer.html#a90d38e45e2d3add52d824bc55da8f772":[5,0,1,4,4], +"da/de8/classnlohmann_1_1json__pointer.html#a920065221e3c81676c3211c100d024a7":[5,0,1,4,22], +"da/de8/classnlohmann_1_1json__pointer.html#a926c9065dbed1bedc17857a813f7a46f":[5,0,1,4,26], +"da/de8/classnlohmann_1_1json__pointer.html#a9d826fc24f7821325e4f24d4393d6adc":[5,0,1,4,30], +"da/de8/classnlohmann_1_1json__pointer.html#ab0d7759d0caa6a0c0187916da28e6ee7":[5,0,1,4,6], +"da/de8/classnlohmann_1_1json__pointer.html#abdd21567b2b1d69329af0f520335e68b":[5,0,1,4,14], +"da/de8/classnlohmann_1_1json__pointer.html#ac228b13596d3c34185da9fe61b570194":[5,0,1,4,19], +"da/de8/classnlohmann_1_1json__pointer.html#ad6a01f8e1556eef68e5a49b33fef1548":[5,0,1,4,11], +"da/de8/classnlohmann_1_1json__pointer.html#ada3100cdb8700566051828f1355fa745":[5,0,1,4,23], +"da/de8/classnlohmann_1_1json__pointer.html#ae01c32c6a071c2e5198d5dfcce290e50":[5,0,1,4,20], +"da/de8/classnlohmann_1_1json__pointer.html#ae28e4b79b9d4fac9e6dca29f47f946fa":[5,0,1,4,1], +"da/de8/classnlohmann_1_1json__pointer.html#ae3d35f4085faec07b87c88ba0dae457d":[5,0,1,4,33], +"da/de8/classnlohmann_1_1json__pointer.html#ae9015c658f99cf3d48a8563accc79988":[5,0,1,4,12], +"da/de8/classnlohmann_1_1json__pointer.html#af5a4bc4f82113c271c9a0cd4d3b5f31c":[5,0,1,4,27], +"da/de8/classnlohmann_1_1json__pointer.html#afdaacce1edb7145e0434e014f0e8685a":[5,0,1,4,16], +"db/d0a/classstd_1_1conditional_1_1type.html":[5,0,5], +"db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.html":[5,0,1,0,59], +"db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.html#a6ae337e4735fd1e84675a7a0eabc09aa":[5,0,1,0,59,0], +"db/d4e/structnlohmann_1_1detail_1_1is__compatible__string__type.html":[5,0,1,0,44], +"db/d66/cudnn__frontend__Heuristics_8h.html":[6,0,12], +"db/d66/cudnn__frontend__Heuristics_8h_source.html":[6,0,12], +"db/d7d/cudnn__frontend__OperationGraph_8h.html":[6,0,15], +"db/d7d/cudnn__frontend__OperationGraph_8h_source.html":[6,0,15], +"db/d7e/cudnn__frontend__Errata_8h.html":[6,0,7], +"db/d7e/cudnn__frontend__Errata_8h.html#a069fb3355ab52d2e1914e72832cdcf46":[6,0,7,3], +"db/d7e/cudnn__frontend__Errata_8h.html#a8f4ddfcd38f15524ff0a35e14d21664c":[6,0,7,1], +"db/d7e/cudnn__frontend__Errata_8h.html#a91f2627793be5d51db9b1473275d803d":[6,0,7,2], +"db/d7e/cudnn__frontend__Errata_8h.html#ab701e3ac61a85b337ec5c1abaad6742d":[6,0,7,0], +"db/d7e/cudnn__frontend__Errata_8h_source.html":[6,0,7], +"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html":[5,0,0,9], +"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a22ef505758a33415d01e3a9a8843fe22":[5,0,0,9,6], +"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a31046a12eb8da37897063a99efa637a4":[5,0,0,9,10], +"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a3509dd7589fed7a699874170cec6dd9f":[5,0,0,9,4], +"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a56ad23cee30cbe70209ce6399a69d541":[5,0,0,9,5], +"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a62dd89e142b11917507a48b2ac3dd047":[5,0,0,9,0], +"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a71e6146b18a0aa4de8fbc6ba457efbb9":[5,0,0,9,8], +"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9a557db46e3559fcaa0e800d976d6238":[5,0,0,9,9], +"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9c9a8cc39a38b449b1f044d407168905":[5,0,0,9,3], +"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9f8070f063b1c0564297260ebe812506":[5,0,0,9,12], +"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#abb40ba38f035c1e9bd20304f32f90256":[5,0,0,9,2], +"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#adfa074bcaaf2b0297a9c740a3e3706b7":[5,0,0,9,1], +"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#ae2c71646b56855f59ed1a267f06d5a7c":[5,0,0,9,7], +"db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#ae8995303eac50633f6320f5949a045bb":[5,0,0,9,11], +"db/da7/cudnn__frontend__ReductionDesc_8h.html":[6,0,17], +"db/da7/cudnn__frontend__ReductionDesc_8h_source.html":[6,0,17], +"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html":[5,0,0,28], +"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a2c9dcbe8acfe079ad14801c7cda0fe29":[5,0,0,28,1], +"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a32876941f964b3fad2d123b9081b0af7":[5,0,0,28,4], +"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a3a33c9ba58f393d231e05a1bcc5706d8":[5,0,0,28,5] +}; diff --git a/docs/navtreeindex7.js b/docs/navtreeindex7.js new file mode 100644 index 00000000..3ac35114 --- /dev/null +++ b/docs/navtreeindex7.js @@ -0,0 +1,253 @@ +var NAVTREEINDEX7 = +{ +"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a87c53bd36c748fe2327743bd852fb144":[5,0,0,28,12], +"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a8f8b7d7da3675d69e7f09bec21735656":[5,0,0,28,2], +"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a9d57810fb6d58f5152e5a1bbc55fc5dd":[5,0,0,28,0], +"db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#abcc771bbe9e1791afc10c686f90c2188":[5,0,0,28,3], +"db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html":[5,0,1,0,83], +"db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html#a379f86709d340c4ab1995539b8af623d":[5,0,1,0,83,1], +"db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html#a88c0532ba4a5de1d527b18053b24fd19":[5,0,1,0,83,3], +"db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html#a90091f8492d23576edef72c5e8b9d4cf":[5,0,1,0,83,2], +"db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html#afe257e972e3b4658ef2e355f7389d4a5":[5,0,1,0,83,0], +"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html":[5,0,0,11], +"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a081860775bfc5626bd57066066eb4299":[5,0,0,11,11], +"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a2261e27dacfdad755d625692aa20f290":[5,0,0,11,1], +"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a2301c5b006fa6e341bc88ece066f8ea2":[5,0,0,11,7], +"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a298d4a89c8e9ed80526a6cccf33d716c":[5,0,0,11,0], +"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a44df29e58afe4b8fdc894574eb5efb9e":[5,0,0,11,8], +"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a496a7e3160046bdf73289fbec51423a3":[5,0,0,11,3], +"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a71e7822002502874f6b2dfec4ede7e01":[5,0,0,11,10], +"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a7a1e931b0f7910db6e6f5d5bfbfe3511":[5,0,0,11,9], +"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a7c958bd4b97b4a77694d2bee01acec4c":[5,0,0,11,12], +"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#aaa983e31e1a22bfebb639865e4514d82":[5,0,0,11,2], +"db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#ac223cc9438a0442bd3b48881f71a4b40":[5,0,0,11,4], +"db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html":[5,0,0,2], +"db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a01f709a3efafaca70de6565817c43beb":[5,0,0,2,4], +"db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a314369f1ea702c92d184b3ba66085468":[5,0,0,2,2], +"db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a5fba7029429a093b36fd201219315a1f":[5,0,0,2,5], +"db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a67e82b4d8b94b55ecc50a9151799fff9":[5,0,0,2,13], +"db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a99c1c90149cee07a26124fe32bdcfe03":[5,0,0,2,3], +"db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#ae75d5fd1c3fb6b51072f2c9b211477eb":[5,0,0,2,1], +"db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#ae7b3fb50c7866c50ac1a170e137f38af":[5,0,0,2,0], +"db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html":[5,0,1,0,29], +"db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a0be44ef098e88e8453eb4c31c9b14421":[5,0,1,0,29,4], +"db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a1d29416acc75b02bfaf251d9d8ef8f36":[5,0,1,0,29,1], +"db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a3577dff99cc91968557b52959b0363e4":[5,0,1,0,29,7], +"db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a5190fe4d0c5ff2e3b348b28ee3bb2218":[5,0,1,0,29,3], +"db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a55893bf84cb17d877464984942df9632":[5,0,1,0,29,8], +"db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a72f0713587f6bb3f3fbaae7d34c0ca39":[5,0,1,0,29,0], +"db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#aa94582dc8262cf35dfcfbe7b7fcd6c6c":[5,0,1,0,29,9], +"db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#ac6c760c5df3a85b5800b4271c09e8671":[5,0,1,0,29,5], +"db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#aeac5048221929b8f7558d1698dd0fb3a":[5,0,1,0,29,6], +"db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#af487152e4606d013eb4ec6a90eaf82ea":[5,0,1,0,29,2], +"dc/d01/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html":[5,0,1,0,56], +"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html":[5,0,0,4,0], +"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a2403145dcb4bc55f970c6d07c1ed796e":[5,0,0,4,0,11], +"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a3f60f9ba0e35cb0bccbf3524def69db2":[5,0,0,4,0,1], +"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a4c0a920d14a719e99fce3d64a6eb0980":[5,0,0,4,0,2], +"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a4fe794b42a0ee5ba71b8ca8c797d1dbe":[5,0,0,4,0,4], +"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a542f95d42a6d118e3de1726720c12278":[5,0,0,4,0,7], +"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a75ea7ec76b08688da99e6bd3664083c8":[5,0,0,4,0,3], +"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a8342ab30dbe0e86d8d060983f14aba87":[5,0,0,4,0,12], +"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aaf0d313c5491b599537422694eb83b82":[5,0,0,4,0,0], +"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#adc0dd9d11771a040a8f5191bef00cdb5":[5,0,0,4,0,6], +"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#adc13c98616305cd23d86dc5dc1dfe86e":[5,0,0,4,0,9], +"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aecda8659b5a5d1dbb21b540a73141fb9":[5,0,0,4,0,10], +"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aee3bbc2a558893309d6882a0e30d439a":[5,0,0,4,0,8], +"dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#af3fdf6b0da493544a003913bdf524449":[5,0,0,4,0,5], +"dc/d11/cudnn__backend__base_8h.html":[6,0,0], +"dc/d11/cudnn__backend__base_8h.html#ac94d582cdfa2adf3d68a4e675e5d69aa":[6,0,0,2], +"dc/d11/cudnn__backend__base_8h.html#aee9c79eb8972c944de14ccd70bf5db43":[6,0,0,3], +"dc/d11/cudnn__backend__base_8h_source.html":[6,0,0], +"dc/d11/structnlohmann_1_1detail_1_1is__constructible__object__type.html":[5,0,1,0,61], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html":[5,0,0,4], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a052463f45fef3bb98e2822ba0fccdb8e":[5,0,0,4,6], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a0e6d7c12c261ad6c2f08e1249397b696":[5,0,0,4,5], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a6053f049f393faebc7188bfa1e8c2d38":[5,0,0,4,16], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a620ad17c3560e87d5a859d7f0eb121d4":[5,0,0,4,17], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a63620960db3192066b7eb5f563841f1b":[5,0,0,4,2], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a6804e842fb698ebc12fccfece3f33b01":[5,0,0,4,8], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a7609e82ac3dc04b67e9e73beb0f7cdae":[5,0,0,4,3], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a837d8adc86f08ca31f42437512a30752":[5,0,0,4,7], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#aae4b49a84f8ecb114449784e43496521":[5,0,0,4,13], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ab2d9ce46cd037407a5c9ec655ad0a25d":[5,0,0,4,12], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ad3966b20d080c0fb9930b8a2018da2f8":[5,0,0,4,10], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#add2d5998a38944fd0dba03fce96fe7aa":[5,0,0,4,14], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ae5d0c105971ce443fe6fb62884d7b2d2":[5,0,0,4,11], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#aed64863b9d73b7f6f3a7e16dc6e7eb04":[5,0,0,4,15], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#af299a1692584215c649b3563fdb3abae":[5,0,0,4,9], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#af58a8aa09f22e048d51e619e36b4cbef":[5,0,0,4,4], +"dc/d3c/classcudnn__frontend_1_1Engine__v8.html#afc5da140bcc7be57dc81f7fc5a589744":[5,0,0,4,1], +"dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html":[4,0,1,0,1], +"dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html":[5,0,1,0,1], +"dc/d4b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.html":[5,0,1,0,36], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html":[5,0,1,0,97], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a056b895d011efaf48ea096c024aca0d4":[5,0,1,0,97,23], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a0a00cd158d678e294f6e974cd9373c4b":[5,0,1,0,97,6], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a188c267325965fdbe487ce68ab5496aa":[5,0,1,0,97,0], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a2b4ff5146ed46993527e4a67d99c1355":[5,0,1,0,97,19], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a31ccb472ed855e2f2370fd091d91aad7":[5,0,1,0,97,27], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a3d5cd67d179aa7422ce90e54984a441e":[5,0,1,0,97,2], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a476c4634b93546a1a555725e551c2b33":[5,0,1,0,97,10], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a4b93deb5c1d716dcfb33b3ed8a00ac4d":[5,0,1,0,97,8], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a7bc7d26e6a6f30185310de42cb2e820d":[5,0,1,0,97,22], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a851d965082d20a726138f5d0330dc7d8":[5,0,1,0,97,25], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a88de4907ad5668d0358af2135236101f":[5,0,1,0,97,12], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a90f19b272530a479db81db11be2ea15c":[5,0,1,0,97,3], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a98448bf2cbc15d15e2eddc5a09a40a42":[5,0,1,0,97,20], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a9929b4cc92d471c49bd0a92802629f90":[5,0,1,0,97,24], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a9c03c76d3a8e89c8928097ba0b92c2db":[5,0,1,0,97,28], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aa1a5e21be350727cf61a101aa5c6796e":[5,0,1,0,97,13], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aa7526e7ae7be7f63803a23fd8cf36e5d":[5,0,1,0,97,29], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#abb06babaa861f123d8d0cb443b887d8a":[5,0,1,0,97,16], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#acc05c450d515f0f95c37401bf23c8db3":[5,0,1,0,97,9], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad0953e8d888339421d909d9016bc6e2c":[5,0,1,0,97,26], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad1b9f3681fadbbb2e0127f5c8a99c662":[5,0,1,0,97,14], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad427febda4997cbd8345a2596af66649":[5,0,1,0,97,15], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad6e588652d5a9cb647a3c32a6221f13e":[5,0,1,0,97,7], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad8da3aad0147b18b3cb76868480300fe":[5,0,1,0,97,1], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aef0477277389e399d7128898841b71c0":[5,0,1,0,97,30], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aef4652c0e81d6c052acb5d36afe09499":[5,0,1,0,97,17], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#af7cb5e5fe06ea908b0ce4ed762919759":[5,0,1,0,97,11], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#afc50fee0a92ce84afb84041ebbdfba80":[5,0,1,0,97,5], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#afd4d961ab2a6b01cbe6e840f7fb90cdc":[5,0,1,0,97,4], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aff77f861ba336df48c9786a993941397":[5,0,1,0,97,18], +"dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aff928a07e40e4efb16b3ff9384f4401c":[5,0,1,0,97,21], +"dc/d99/group__EngineHeuristicsBuilder__v8.html":[3,6], +"dc/d99/group__EngineHeuristicsBuilder__v8.html#ga0554ac9347b7409e46f960b30f18dc68":[3,6,1], +"dc/d99/group__EngineHeuristicsBuilder__v8.html#ga0554ac9347b7409e46f960b30f18dc68":[5,0,0,12,7], +"dc/d99/group__EngineHeuristicsBuilder__v8.html#gaf2d783ca6a663aa50ffed2ccbc164812":[5,0,0,12,6], +"dc/d99/group__EngineHeuristicsBuilder__v8.html#gaf2d783ca6a663aa50ffed2ccbc164812":[3,6,0], +"dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html":[5,0,1,0,105], +"dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#a2235c8f3da8dfe5b26cb030f6886811a":[5,0,1,0,105,5], +"dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#a2f410a164e0eda17cf6561114b0eee4a":[5,0,1,0,105,7], +"dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#a3381896fe1be557f591de2e917cdc7d5":[5,0,1,0,105,6], +"dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#a9527a27ddd468e4360a3530cbd9c35a6":[5,0,1,0,105,3], +"dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#ab2a6b7a5b86c612df2d99d2970380456":[5,0,1,0,105,4], +"dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#ad71cdc057030f8a775a191face25061a":[5,0,1,0,105,0], +"dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#adf6ef7a244c32162fe98d9773f31fa8a":[5,0,1,0,105,2], +"dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#afd96245615e3b648e59e4a27bdfa67e0":[5,0,1,0,105,1], +"dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html":[5,0,0,8], +"dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a1a06febdf947e151276bf09947c62436":[5,0,0,8,4], +"dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a322221ec9a28f1f48c5a3edf60adff1d":[5,0,0,8,0], +"dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a4b07b958f03daf033c30b9182fee372b":[5,0,0,8,3], +"dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#abd7cdd3a218623ffc5dfcbf9343aef85":[5,0,0,8,1], +"dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#ad6ca7e7263ed9b7597f94ca45505642f":[5,0,0,8,2], +"dc/da5/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html":[5,0,1,0,42], +"dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html":[5,0,2,2], +"dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html#ace1dfdb74841c2f58c064a50598188fd":[5,0,2,2,0], +"dc/dac/structnlohmann_1_1detail_1_1has__from__json.html":[5,0,1,0,22], +"dc/dc3/structnlohmann_1_1detail_1_1is__sax.html":[5,0,1,0,80], +"dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#a58d3205c8d3c7a01cc330374fa7976c5":[5,0,1,0,80,2], +"dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#a655c9b8038e51e5b9211e2419118644d":[5,0,1,0,80,4], +"dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#a6efa516f35d544cc8ce9a954f849fed1":[5,0,1,0,80,1], +"dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#a8ab7e51087000e948b4a2492257484dc":[5,0,1,0,80,6], +"dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#aa9a29390ca9810cee149510f586f5573":[5,0,1,0,80,3], +"dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#ad8e2e1427ff43536370b6db6ab83ae50":[5,0,1,0,80,5], +"dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#ae6abc30644e683c20f8c2c4d63834fb8":[5,0,1,0,80,0], +"dc/dc7/structnlohmann_1_1adl__serializer.html":[5,0,1,1], +"dc/dc7/structnlohmann_1_1adl__serializer.html#a8180f52bf21fc610705bc521f22116ae":[5,0,1,1,0], +"dc/dc7/structnlohmann_1_1adl__serializer.html#a95eddeff6ff0dd0b6b11c4c7a526716d":[5,0,1,1,1], +"dc/dc7/structnlohmann_1_1adl__serializer.html#afdcc8f0204ce8ac7d28a5403f6e1f0e7":[5,0,1,1,2], +"dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html":[5,0,1,0,16], +"dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html#a7c3949672ddb45095cc2527635feef0b":[5,0,1,0,16,0], +"dc/dd7/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html":[5,0,1,0,71], +"dc/df0/namespacenlohmann_1_1detail.html":[4,0,1,0], +"dc/df0/namespacenlohmann_1_1detail.html":[5,0,1,0], +"dd/d0d/classnlohmann_1_1byte__container__with__subtype.html":[5,0,1,3], +"dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a4d27e8633c5a5e3b49dd4ccb06515713":[5,0,1,3,0], +"dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a63227e70c8b976fd6f65bb2d2d7dd021":[5,0,1,3,10], +"dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a640b6dd55847e86dbb936f97b946170e":[5,0,1,3,2], +"dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a69aa7a914a7a31b61d3a9567d74ddf7b":[5,0,1,3,12], +"dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a73dcae1798eab1b496936bfae7b4b9c0":[5,0,1,3,3], +"dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a760bf39cc5477bc663d8bb3c44aabf6a":[5,0,1,3,8], +"dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a7b122b28ff2b8680557ca44ac9748e49":[5,0,1,3,6], +"dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a89c78caf8c7b54dc1bcfa4b0b23d2fc8":[5,0,1,3,1], +"dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a9bd3e08ec6d3ed9014ad7d83eca5e3b3":[5,0,1,3,4], +"dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a9fc42fb07003bf7048c2f1fc79478e02":[5,0,1,3,7], +"dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#aa9e66c61f46afdd9a9c3617967c4c797":[5,0,1,3,5], +"dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#ac3ca9d09e55342f9588404e1dc2222f0":[5,0,1,3,11], +"dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#ae36c8f29f4f50a00962b0e9110ba2756":[5,0,1,3,13], +"dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#aee67fde9d3d571a07d5bb35df21c0555":[5,0,1,3,9], +"dd/d10/structnlohmann_1_1detail_1_1detector.html":[5,0,1,0,8], +"dd/d10/structnlohmann_1_1detail_1_1detector.html#a0cd69423587748bf3d3d702cc7b7c2ce":[5,0,1,0,8,0], +"dd/d10/structnlohmann_1_1detail_1_1detector.html#a5a132aab543d1706e2439268faf8d487":[5,0,1,0,8,1], +"dd/d13/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html":[5,0,1,0,39], +"dd/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construce6fa33688da703b95649da4749cdeb98.html":[5,0,1,0,60], +"dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html":[5,0,2,0], +"dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html#aec1567d1fa47dbe5b77954dce3a55b64":[5,0,2,0,0], +"dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html":[5,0,0,7], +"dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a17fca0597527c1f6acffa73ddaeedc03":[5,0,0,7,3], +"dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a3deb5e1f20c028b8bb39406cca743e43":[5,0,0,7,2], +"dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a49a8a25759e78e7a2c77c55f0b54696b":[5,0,0,7,0], +"dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a49eedc731d95df1f21e353a9a9511cfd":[5,0,0,7,1], +"dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a639e1514ea8f283720e49fc18d7ad673":[5,0,0,7,4], +"dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a8d4cb5ab44b076c71afd5f49e6df94f7":[5,0,0,7,5], +"dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a8dc6947bf5dac837ea233bfaec4bf03f":[5,0,0,7,7], +"dd/da4/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.html":[5,0,1,0,62], +"dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html":[5,0,1,0,37], +"dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html#ab4a4e921f0676b2e25d1031ca486ddee":[5,0,1,0,37,0], +"dd/dcd/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4.html":[5,0,1,0,51], +"dd/dde/structnlohmann_1_1detail_1_1conjunction.html":[5,0,1,0,5], +"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html":[5,0,0,17], +"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a02ee327bae65fc44c140d7bb6a0b4991":[5,0,0,17,5], +"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a287154397d78c528465a949ab0242068":[5,0,0,17,3], +"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a3f5790e5ada9a1785d9daf4246ea8de3":[5,0,0,17,1], +"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a75af51fa2937a7df6787d3181ef22cf2":[5,0,0,17,2], +"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#aa71bc8242df4035ff5d6b4d54083db4b":[5,0,0,17,7], +"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#addc153acf5600781659a1a2ba891e59c":[5,0,0,17,4], +"de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#afea76414fa5c0c5f38a551afcf11391c":[5,0,0,17,0], +"de/d0c/cudnn__frontend_8h.html":[6,0,1], +"de/d0c/cudnn__frontend_8h.html#a0b7ba1175801c56d07d26785bcd8fb70":[6,0,1,17], +"de/d0c/cudnn__frontend_8h.html#a0c344e3bc1f332aa9f5b213eb1ae9ee6":[6,0,1,13], +"de/d0c/cudnn__frontend_8h.html#a147bbd62e1c7c6b3fbc6869ab776b125":[6,0,1,8], +"de/d0c/cudnn__frontend_8h.html#a1ed8c535fea949a10acd26e279cc28a1":[6,0,1,2], +"de/d0c/cudnn__frontend_8h.html#a2559dec72130bbdc95c02fb0df79fd42":[6,0,1,4], +"de/d0c/cudnn__frontend_8h.html#a2f1497702504947953a0f5a69b6eeb2a":[6,0,1,14], +"de/d0c/cudnn__frontend_8h.html#a4b09ba4625f988c32edfc305b5397f48":[6,0,1,20], +"de/d0c/cudnn__frontend_8h.html#a4f90ec150d149f8f0751daa3ad625839":[6,0,1,3], +"de/d0c/cudnn__frontend_8h.html#a61fbd4506f1249c686164fb33d858999":[6,0,1,6], +"de/d0c/cudnn__frontend_8h.html#a7f878662c40c287736343affc43f25dc":[6,0,1,19], +"de/d0c/cudnn__frontend_8h.html#a91b5e4e82a18d2212ad6be6d5398752c":[6,0,1,1], +"de/d0c/cudnn__frontend_8h.html#a984c10aa29daac796444bda66bdef26e":[6,0,1,10], +"de/d0c/cudnn__frontend_8h.html#a9fea2e22198aaf2ea11a0df46abd0749":[6,0,1,23], +"de/d0c/cudnn__frontend_8h.html#aa20fd945a531e0a3a5007e65fe917770":[6,0,1,22], +"de/d0c/cudnn__frontend_8h.html#aa508b66c4de02f4aacae8029dbe422eb":[6,0,1,11], +"de/d0c/cudnn__frontend_8h.html#aa5a388535aed6e36ef90002af0b80a80":[6,0,1,21], +"de/d0c/cudnn__frontend_8h.html#aae6a627b67858b15afbc5656afa88123":[6,0,1,9], +"de/d0c/cudnn__frontend_8h.html#ab5b844f5de8ad3c056f0cb1cd0fb3ac1":[6,0,1,25], +"de/d0c/cudnn__frontend_8h.html#ac46e1785757fde7c10e3d527f697fde8":[6,0,1,5], +"de/d0c/cudnn__frontend_8h.html#ac86ce924df5209c4ce1bc25856eea6e6":[6,0,1,16], +"de/d0c/cudnn__frontend_8h.html#ad6ac8113b406ee2b6f20eff4dd2b4e01":[6,0,1,24], +"de/d0c/cudnn__frontend_8h.html#ad809552e9ec400bcbfcfc0ea5acd4e56":[6,0,1,12], +"de/d0c/cudnn__frontend_8h.html#ada5353494ce649fc915154ced52dcceb":[6,0,1,18], +"de/d0c/cudnn__frontend_8h.html#ae24bc7541c87c642cdef8eaf83c8eacc":[6,0,1,0], +"de/d0c/cudnn__frontend_8h.html#ae6d02ff4c7922673ed3862145a4019d4":[6,0,1,15], +"de/d0c/cudnn__frontend_8h.html#aeb6699f494fa895d402898dae554f5a9":[6,0,1,7], +"de/d0c/cudnn__frontend_8h_source.html":[6,0,1], +"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html":[6,0,5], +"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#a0f52559baeb4e9ee8835d95ea50a875e":[6,0,5,7], +"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#a53716729f10b4064fb41dec9dd32ffd6":[6,0,5,4], +"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#a560644a5c1e6016c509a379ca6e03f05":[6,0,5,3], +"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#ab3748fa00b36beec790db7201fdd2ef3":[6,0,5,6], +"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#ab3748fa00b36beec790db7201fdd2ef3a8199dfa6701edb38f52a74d9e229b43d":[6,0,5,6,2], +"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#ab3748fa00b36beec790db7201fdd2ef3a903bfd2e4d1b8ab2a7197be752c618a6":[6,0,5,6,1], +"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#ab3748fa00b36beec790db7201fdd2ef3ac8ab707d81df65503b6b0ecc67675158":[6,0,5,6,0], +"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#ad31f040777311d1d1a7a2490f23e026e":[6,0,5,5], +"de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html#ad5f0f0c892b009e34aa59f67de1b5535":[6,0,5,2], +"de/d1e/cudnn__frontend__EngineConfigGenerator_8h_source.html":[6,0,5], +"de/d6d/cudnn__frontend__Engine_8h.html":[6,0,3], +"de/d6d/cudnn__frontend__Engine_8h_source.html":[6,0,3], +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html":[5,0,1,0,94], +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a0246de16ece16293f2917dfa5d96e278":[5,0,1,0,94,3], +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a2488d6a902103610943920ac49d12a04":[5,0,1,0,94,13], +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a26caf0069a50ce4ecb010a1453e883fc":[5,0,1,0,94,8], +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a2c170f51371538da2c8f4094305da3d3":[5,0,1,0,94,12], +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a42f51a69bac7b2aebb613b2164e457f1":[5,0,1,0,94,2], +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a4e5d0a3bee433104ef87366e00536e01":[5,0,1,0,94,9], +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a549c6eb10b6434eaf772f71d129a6d79":[5,0,1,0,94,10], +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a6b2ef1d632fe49bfcc22fbd1abd62395":[5,0,1,0,94,0], +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a6c2d025530114ed989188e8adfc8467e":[5,0,1,0,94,4], +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a8ed9e445e03c49c46612eb7f7d55bb61":[5,0,1,0,94,14], +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a9ab55987c05ec6427ad36082e351cc45":[5,0,1,0,94,1] +}; diff --git a/docs/navtreeindex8.js b/docs/navtreeindex8.js new file mode 100644 index 00000000..28bf91f1 --- /dev/null +++ b/docs/navtreeindex8.js @@ -0,0 +1,253 @@ +var NAVTREEINDEX8 = +{ +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#aaaa6c0b1d74e74e35e5f7b56dfd6c5d1":[5,0,1,0,94,11], +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#aabf172b436988e2edde22f13f27caaed":[5,0,1,0,94,6], +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#aada9d2b320002ef870c5283cda2c1e9d":[5,0,1,0,94,7], +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#adc648a641e8e9a1072c5abd56ad06401":[5,0,1,0,94,5], +"de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#ae22803d442d483041d17239615f83b58":[5,0,1,0,94,15], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html":[5,0,1,0,99], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454":[5,0,1,0,99,0], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a0d2671a6f81efb91e77f6ac3bdb11443":[5,0,1,0,99,0,7], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a16c226b4425b68560fea322b46dabe01":[5,0,1,0,99,0,8], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a2b490e8bf366b4cbe3ebd99b26ce15ce":[5,0,1,0,99,0,4], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a2f3e68e7f111a1e5c7728742b3ca2b7f":[5,0,1,0,99,0,10], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a42dd1a73d072bb6bf3f494f22b15db8e":[5,0,1,0,99,0,0], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a456e19aeafa334241c7ff3f589547f9d":[5,0,1,0,99,0,14], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a5064b6655d88a50ae16665cf7751c0ee":[5,0,1,0,99,0,6], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a745373036100d7392ad62c617cab59af":[5,0,1,0,99,0,13], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a7d5b4427866814de4d8f132721d59c87":[5,0,1,0,99,0,11], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a85cc1a37b0aaa52de40e72f0ed4e0c0d":[5,0,1,0,99,0,1], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a9a9ffd53b6869d4eca271b1ed5b57fe8":[5,0,1,0,99,0,9], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454aaf1f040fcd2f674d2e5893d7a731078f":[5,0,1,0,99,0,5], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454ab7ae4c0e46d86f884677768160b26e9e":[5,0,1,0,99,0,3], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454aca11f56dd477c09e06583dbdcda0985f":[5,0,1,0,99,0,15], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454acc3c64f8ae08c00de1b33f19a4d2913a":[5,0,1,0,99,0,12], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454ad2a8e6f6721cccec0b466301dd9495a5":[5,0,1,0,99,0,16], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454afab1694b1b3937a079f4625fe0b6108b":[5,0,1,0,99,0,2], +"de/d77/classnlohmann_1_1detail_1_1lexer__base.html#ad214d59300605f9d3a4a32c8917aa608":[5,0,1,0,99,1], +"de/dbc/structnlohmann_1_1detail_1_1is__getable.html":[5,0,1,0,74], +"de/dbc/structnlohmann_1_1detail_1_1is__getable.html#a2150b5b5398683147928a61c99cd0070":[5,0,1,0,74,0], +"de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.html":[5,0,1,0,2,1], +"de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.html#a75d2738748868859f358e87d3b89f6fc":[5,0,1,0,2,1,0], +"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html":[5,0,0,21], +"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a0b3b76a619160671c45c733eb1a13455":[5,0,0,21,3], +"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a19fd5ed99ab4053c8a178bd33843460a":[5,0,0,21,7], +"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a52c12bb0014a899c4c5201fb66301eb2":[5,0,0,21,11], +"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a5af59a099cc90eda429563e285b2907f":[5,0,0,21,9], +"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a5c029cff12e0e91406a8f88fd8a830f4":[5,0,0,21,2], +"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a85e65daf5a2db5aba0207ccad367457d":[5,0,0,21,0], +"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a87704bb46bb12bba977a21ed579a4ef3":[5,0,0,21,8], +"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#aa344863fca30448e6f3e139d69f62080":[5,0,0,21,6], +"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#ab2570d81fc01c1b6b9a76220b0abd717":[5,0,0,21,13], +"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#abd35d4e84bb6ee70e8df38de093fc376":[5,0,0,21,10], +"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#ac8ca1ba29ac3f8e68ba1bf3e5e500338":[5,0,0,21,12], +"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#acd0b5f47407184b0b26bf4d4b5d0ce32":[5,0,0,21,4], +"de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#aeb42611a38c4951e66cd23108d53353c":[5,0,0,21,1], +"de/df0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.html":[5,0,1,0,65], +"de/df2/classnlohmann_1_1detail_1_1exception.html":[5,0,1,0,10], +"de/df2/classnlohmann_1_1detail_1_1exception.html#a0672c25ecdf14d1a071d4d6478a65af0":[5,0,1,0,10,3], +"de/df2/classnlohmann_1_1detail_1_1exception.html#a0d4589a3fb54e81646d986c05efa3b9a":[5,0,1,0,10,4], +"de/df2/classnlohmann_1_1detail_1_1exception.html#aa353a7dba4fd179f7224b8a2a238a264":[5,0,1,0,10,1], +"de/df2/classnlohmann_1_1detail_1_1exception.html#abf41a7e9178356314082284e6cfea278":[5,0,1,0,10,2], +"de/df2/classnlohmann_1_1detail_1_1exception.html#ad54778dc4f125488cbce8ec276dfdde2":[5,0,1,0,10,5], +"de/df2/classnlohmann_1_1detail_1_1exception.html#ae323ad0d53bc724414c2233164e65657":[5,0,1,0,10,0], +"df/d13/classnlohmann_1_1detail_1_1output__adapter.html":[5,0,1,0,104], +"df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a05a30a77b568fd84676078d938cbd484":[5,0,1,0,104,0], +"df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a323c18d74d6680faafec6dc3ace825e2":[5,0,1,0,104,4], +"df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a43b3ba852e6a2c3f4d312543bb04c00d":[5,0,1,0,104,1], +"df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a5fdac7aec8ade2f4bb0b5df30550d90c":[5,0,1,0,104,3], +"df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a6ad59d1ec534383b430cd7ef8a518539":[5,0,1,0,104,2], +"df/d17/cudnn__frontend__utils_8h.html":[6,0,19], +"df/d17/cudnn__frontend__utils_8h.html#a011f392961f07ab6de46a080e9a652a2":[6,0,19,1], +"df/d17/cudnn__frontend__utils_8h.html#a1690523b8a133acefaeabc725032e21c":[6,0,19,2], +"df/d17/cudnn__frontend__utils_8h.html#a6b0bb5ee1f6d6491a7d53a01ae947dee":[6,0,19,3], +"df/d17/cudnn__frontend__utils_8h_source.html":[6,0,19], +"df/d17/structnlohmann_1_1detail_1_1is__constructible__tuple.html":[5,0,1,0,67], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html":[5,0,1,0,4], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a025212bd170253638b9f05b3b6aa5bf9":[5,0,1,0,4,24], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a048887c907afe39759b777e8c888414c":[5,0,1,0,4,44], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a0ea6745f944c0c61672146886b4ee90f":[5,0,1,0,4,40], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a0ea6745f944c0c61672146886b4ee90f":[5,0,1,0,4,41], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a0ea6745f944c0c61672146886b4ee90f":[5,0,1,0,4,42], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a0f6c65053d859269f88eb4ebb0cd7060":[5,0,1,0,4,43], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a11637a023d22e57a7e7aff3f98b10f84":[5,0,1,0,4,7], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a19eb47a53dbbe28f319532bef25d84e6":[5,0,1,0,4,17], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a1b5b7f5c03b1f8b1f59ea61db9634108":[5,0,1,0,4,29], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a1e4372c5984184eb5bcc09af1fcc2ee0":[5,0,1,0,4,6], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a263ec18815467bb9919021ef126919ca":[5,0,1,0,4,27], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a29b3e0f83a8e5f2307804023109ba2c9":[5,0,1,0,4,32], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a29f2ae7a5c4a8c1dae47b3b2310de8a8":[5,0,1,0,4,2], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a2b5cb010077da6241a18bb334736464c":[5,0,1,0,4,12], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a2c2b2132ce56b3b45593374b622baa67":[5,0,1,0,4,21], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a3169b4f7abb773ea30348770629c53e8":[5,0,1,0,4,0], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a373289af95a946c19bb4a58a5df71a78":[5,0,1,0,4,3], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a47234a6e7ac9206d43553985f4cacbf2":[5,0,1,0,4,15], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a4c129249a5aee8e4ec8add6c6184e4f7":[5,0,1,0,4,22], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a553ad4dbdf27238eef90867e4bf2f3e5":[5,0,1,0,4,30], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a5e46f0dd3550901b15cf85265808d1ec":[5,0,1,0,4,19], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a5e6574416915208fc035b57338ae3252":[5,0,1,0,4,34], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a6231302930265eccb3f56c378f7b0661":[5,0,1,0,4,33], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a6837b20574152f7f645d0f6cd9fafdeb":[5,0,1,0,4,16], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a6e11b7227fcecc25a548ed45507b7d1c":[5,0,1,0,4,39], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a6f15b782a7900f50ef37d123008e601b":[5,0,1,0,4,45], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a7ff58bf1a80018148bed860667ffca07":[5,0,1,0,4,28], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a97d34d9a70ddc06ae782c55454df42bc":[5,0,1,0,4,25], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a9927c1110b18661e0224a76156e5a7a9":[5,0,1,0,4,31], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a9dd6062fd249a695e0f93d558dba4685":[5,0,1,0,4,5], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a9ffc566db5219b473762462234b47db9":[5,0,1,0,4,23], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#aa0ab8d27fd88a33a2f801413ac4c7fbc":[5,0,1,0,4,36], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#aa1d6bb9f3af16f07ce2440c354b5787b":[5,0,1,0,4,11], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ab77aa48692bd4e64e4f051ce6aeb6d2d":[5,0,1,0,4,20], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ab77aa48692bd4e64e4f051ce6aeb6d2d":[5,0,1,0,4,18], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#abb4b7c621d0cb7633b5806c603f3c51a":[5,0,1,0,4,1], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ac274e3d7a803e7223bb1a4fcb7cd594c":[5,0,1,0,4,35], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#acc6f1cc1fd370ee84ebc8cf7b8712840":[5,0,1,0,4,9], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ad452d114696407b98abc69b6001c270e":[5,0,1,0,4,14], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ae099435e1df3096e0fc78333282f8f67":[5,0,1,0,4,26], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ae4e0852b64102ce4b07d99f08f828b7c":[5,0,1,0,4,38], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ae69dc3c5b2e8c1c8e461779cddb87436":[5,0,1,0,4,37], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#aea44fd97a5cb9b4f175e66e3e4fdf158":[5,0,1,0,4,10], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#aeab70c895931b96ea598306b37eca271":[5,0,1,0,4,8], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#af08f9302a02516ff8cf358a99aaa1ddf":[5,0,1,0,4,4], +"df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#afe5ac43e05973ba09ee79227bb589b59":[5,0,1,0,4,13], +"df/d3e/cudnn__frontend__EngineFallbackList_8h.html":[6,0,6], +"df/d3e/cudnn__frontend__EngineFallbackList_8h.html#af057a1fb628c89d02eb47c7cfa9ce0af":[6,0,6,2], +"df/d3e/cudnn__frontend__EngineFallbackList_8h_source.html":[6,0,6], +"df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html":[5,0,2,1], +"df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html#a10d3fea50edf7b15ead8f4ceeb006000":[5,0,2,1,0], +"df/d6b/classnlohmann_1_1detail_1_1parser.html":[5,0,1,0,110], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#a01a73810f794c239aaf123aa2af7371d":[5,0,1,0,110,16], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#a073b8313a5194aac3a7d5da0d935788c":[5,0,1,0,110,11], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#a1212088ee1e23633a76b2ed80514de79":[5,0,1,0,110,9], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#a307ed42d5f31a9c5bec991ceee87b0e7":[5,0,1,0,110,15], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#a33b852bf63cba58310d9c0d1242cfb12":[5,0,1,0,110,6], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#a39784a586867c05388cb0adca0fd72b5":[5,0,1,0,110,7], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#a4c46f613c87af09f56679253dce768e4":[5,0,1,0,110,4], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#a5590596704edc4a1a983e26f6f3211ff":[5,0,1,0,110,3], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#a5cb5ea47f09f116e71a908c556325710":[5,0,1,0,110,5], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#a5fbd320c5b713fda15d467e8455e4298":[5,0,1,0,110,0], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#a678fdebccc8ddd3242c67b6bce2f8f1a":[5,0,1,0,110,12], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#a6bf70a72a1632ef55c0068557b1be37a":[5,0,1,0,110,14], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#a75fb9145ea85f1ad9cc14f61981e1111":[5,0,1,0,110,10], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#a94e7f8a0f880c20c8a48f591f56cbd85":[5,0,1,0,110,8], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#aaf0c8640d0360fca5334314f0a7e9bad":[5,0,1,0,110,1], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#ab0dbaeaa6df00631072f902068c57750":[5,0,1,0,110,13], +"df/d6b/classnlohmann_1_1detail_1_1parser.html#ab70e418cdc4271afd487a7d7704766c5":[5,0,1,0,110,2], +"df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html":[5,0,1,0,25], +"df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html#a4bcee5e52902d3011df08cf0233e5e10":[5,0,1,0,25,0], +"df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html#a5d5bc2b9f1c107696d64d92cf6b5d0d7":[5,0,1,0,25,1], +"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html":[5,0,0,6], +"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a04aedaff21f829caa98aacb68b51dcf1":[5,0,0,6,8], +"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a058e432452f5cd570cbf4e69d7d53eea":[5,0,0,6,1], +"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a16d46ab109f54fe4ef0863fddcc66e42":[5,0,0,6,0], +"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a1c7175f7d3cc7224496f276df36036aa":[5,0,0,6,5], +"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a37695c0659b489b06ff3b83194be59bb":[5,0,0,6,11], +"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a9365e32afd0eae60e3d87a853dd24e33":[5,0,0,6,10], +"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a9b1cd07d3023dc3130d5eae560558cdb":[5,0,0,6,7], +"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ab761cb8a8a38495e913395fa872afb3e":[5,0,0,6,2], +"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ac102dce4f496c358a15ca753362fc4b7":[5,0,0,6,9], +"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#acf7eccfed045156beab03a2db0c31dd8":[5,0,0,6,3], +"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ad79aab6d69a2b4400259abd72af73c84":[5,0,0,6,6], +"df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#aefd7d8d3da71ce0dddca0f6a85fd1c80":[5,0,0,6,4], +"df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html":[5,0,1,0,122], +"df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html#a293186006f5f8090e337d12571307ced":[5,0,1,0,122,0], +"df/d92/namespacenlohmann_1_1detail_1_1utility__internal.html":[4,0,1,0,2], +"df/d92/namespacenlohmann_1_1detail_1_1utility__internal.html":[5,0,1,0,2], +"df/dc0/cudnn__frontend__VariantPack_8h.html":[6,0,20], +"df/dc0/cudnn__frontend__VariantPack_8h_source.html":[6,0,20], +"df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html":[5,0,1,0,66], +"df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html#a3aeae0de0fc37bd5acf3c9d39b132678":[5,0,1,0,66,0], +"df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html":[5,0,1,0,1,0], +"df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html#a3321ae2816a6ec5250a0d8e29f798232":[5,0,1,0,1,0,1], +"df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html#ad1668c60aeade5f2557fafed8b8aee1a":[5,0,1,0,1,0,2], +"df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html#aec4e5028333c01f3229062f31ce16763":[5,0,1,0,1,0,0], +"df/de1/namespacecudnn__frontend.html":[4,0,0], +"df/de1/namespacecudnn__frontend.html":[5,0,0], +"files.html":[6,0], +"functions.html":[5,3,0], +"functions.html":[5,3,0,0], +"functions_0x7e.html":[5,3,0,26], +"functions__.html":[5,3,0,1], +"functions_a.html":[5,3,0,2], +"functions_b.html":[5,3,0,3], +"functions_c.html":[5,3,0,4], +"functions_d.html":[5,3,0,5], +"functions_e.html":[5,3,0,6], +"functions_enum.html":[5,3,4], +"functions_f.html":[5,3,0,7], +"functions_func.html":[5,3,1], +"functions_func.html":[5,3,1,0], +"functions_func_0x7e.html":[5,3,1,22], +"functions_func_b.html":[5,3,1,1], +"functions_func_c.html":[5,3,1,2], +"functions_func_d.html":[5,3,1,3], +"functions_func_e.html":[5,3,1,4], +"functions_func_f.html":[5,3,1,5], +"functions_func_g.html":[5,3,1,6], +"functions_func_h.html":[5,3,1,7], +"functions_func_i.html":[5,3,1,8], +"functions_func_j.html":[5,3,1,9], +"functions_func_k.html":[5,3,1,10], +"functions_func_l.html":[5,3,1,11], +"functions_func_m.html":[5,3,1,12], +"functions_func_n.html":[5,3,1,13], +"functions_func_o.html":[5,3,1,14], +"functions_func_p.html":[5,3,1,15], +"functions_func_r.html":[5,3,1,16], +"functions_func_s.html":[5,3,1,17], +"functions_func_t.html":[5,3,1,18], +"functions_func_u.html":[5,3,1,19], +"functions_func_v.html":[5,3,1,20], +"functions_func_w.html":[5,3,1,21], +"functions_g.html":[5,3,0,8], +"functions_h.html":[5,3,0,9], +"functions_i.html":[5,3,0,10], +"functions_j.html":[5,3,0,11], +"functions_k.html":[5,3,0,12], +"functions_l.html":[5,3,0,13], +"functions_m.html":[5,3,0,14], +"functions_n.html":[5,3,0,15], +"functions_o.html":[5,3,0,16], +"functions_p.html":[5,3,0,17], +"functions_r.html":[5,3,0,18], +"functions_rela.html":[5,3,5], +"functions_s.html":[5,3,0,19], +"functions_t.html":[5,3,0,20], +"functions_type.html":[5,3,3], +"functions_u.html":[5,3,0,21], +"functions_v.html":[5,3,0,22], +"functions_vars.html":[5,3,2], +"functions_vars.html":[5,3,2,0], +"functions_vars_a.html":[5,3,2,1], +"functions_vars_b.html":[5,3,2,2], +"functions_vars_c.html":[5,3,2,3], +"functions_vars_d.html":[5,3,2,4], +"functions_vars_e.html":[5,3,2,5], +"functions_vars_f.html":[5,3,2,6], +"functions_vars_h.html":[5,3,2,7], +"functions_vars_i.html":[5,3,2,8], +"functions_vars_k.html":[5,3,2,9], +"functions_vars_l.html":[5,3,2,10], +"functions_vars_m.html":[5,3,2,11], +"functions_vars_n.html":[5,3,2,12], +"functions_vars_o.html":[5,3,2,13], +"functions_vars_p.html":[5,3,2,14], +"functions_vars_r.html":[5,3,2,15], +"functions_vars_s.html":[5,3,2,16], +"functions_vars_t.html":[5,3,2,17], +"functions_vars_u.html":[5,3,2,18], +"functions_vars_v.html":[5,3,2,19], +"functions_vars_w.html":[5,3,2,20], +"functions_vars_x.html":[5,3,2,21], +"functions_vars_y.html":[5,3,2,22], +"functions_w.html":[5,3,0,23], +"functions_x.html":[5,3,0,24], +"functions_y.html":[5,3,0,25], +"globals.html":[6,1,0,0], +"globals.html":[6,1,0], +"globals_defs.html":[6,1,3], +"globals_defs.html":[6,1,3,0], +"globals_defs_j.html":[6,1,3,1], +"globals_defs_n.html":[6,1,3,2], +"globals_func.html":[6,1,1] +}; diff --git a/docs/navtreeindex9.js b/docs/navtreeindex9.js new file mode 100644 index 00000000..02747c0e --- /dev/null +++ b/docs/navtreeindex9.js @@ -0,0 +1,19 @@ +var NAVTREEINDEX9 = +{ +"globals_j.html":[6,1,0,1], +"globals_n.html":[6,1,0,2], +"globals_o.html":[6,1,0,3], +"globals_type.html":[6,1,2], +"hierarchy.html":[5,2], +"index.html":[], +"index.html#Introduction":[0], +"index.html#Need":[1], +"modules.html":[3], +"namespacemembers.html":[4,1,0], +"namespacemembers_enum.html":[4,1,4], +"namespacemembers_func.html":[4,1,1], +"namespacemembers_type.html":[4,1,3], +"namespacemembers_vars.html":[4,1,2], +"namespaces.html":[4,0], +"pages.html":[] +}; diff --git a/docs/pages.html b/docs/pages.html new file mode 100644 index 00000000..4238934f --- /dev/null +++ b/docs/pages.html @@ -0,0 +1,103 @@ + + + + + + + +CUDNN Frontend API: Related Pages + + + + + + + + + + + + + + +
                                                                                                +
                                                                                                + + + + + + +
                                                                                                +
                                                                                                CUDNN Frontend API +  8.2.0 +
                                                                                                +
                                                                                                +
                                                                                                + + + + + + + +
                                                                                                +
                                                                                                + +
                                                                                                +
                                                                                                +
                                                                                                + +
                                                                                                + +
                                                                                                +
                                                                                                + + +
                                                                                                + +
                                                                                                + +
                                                                                                +
                                                                                                +
                                                                                                Related Pages
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                Here is a list of all related documentation pages:
                                                                                                + + +
                                                                                                 Deprecated List
                                                                                                +
                                                                                                +
                                                                                                +
                                                                                                + + + + diff --git a/docs/search/all_0.js b/docs/search/all_0.js index d04a2cea..373e07b3 100644 --- a/docs/search/all_0.js +++ b/docs/search/all_0.js @@ -1,10 +1,10 @@ var searchData= [ - ['alignment',['alignment',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a1f41a9f80b8a3b35aed7948e264b0d79',1,'cudnn_frontend::Tensor_v8']]], - ['alpha2_5fd',['alpha2_d',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f533db7bc67978d1ec1a475f4ab9e1c',1,'cudnn_frontend::Operation_v8']]], - ['alpha2_5fs',['alpha2_s',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4003061754cc4b0003a72cc474fca8d9',1,'cudnn_frontend::Operation_v8']]], - ['alpha_5fd',['alpha_d',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#aee00f6897786ce0f16963a7d2f57a2f8',1,'cudnn_frontend::Operation_v8']]], - ['alpha_5fs',['alpha_s',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4a71d73a1231c39e51a74f750586a733',1,'cudnn_frontend::Operation_v8']]], - ['alphabetatype',['alphabetaType',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0414d5eb022c25584d60491f416e6449',1,'cudnn_frontend::Operation_v8']]], - ['amatdesc',['amatdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ae0e0256b292acd560accc1c02a6e393b',1,'cudnn_frontend::Operation_v8']]] + ['binary_5freader',['binary_reader',['../d9/dcc/classnlohmann_1_1basic__json.html#aa226ed5103dfd10e27e562d35a3a106b',1,'nlohmann::basic_json']]], + ['binary_5fwriter',['binary_writer',['../d9/dcc/classnlohmann_1_1basic__json.html#a69d491bbda88ade6d3c7a2b11309e8bf',1,'nlohmann::basic_json']]], + ['exception',['exception',['../d9/dcc/classnlohmann_1_1basic__json.html#abdcb15d025676b4d3db0f32a50f4393f',1,'nlohmann::basic_json']]], + ['iter_5fimpl',['iter_impl',['../d9/dcc/classnlohmann_1_1basic__json.html#a842e5c7ca096025c18b11e715d3401f4',1,'nlohmann::basic_json']]], + ['json_5fsax_5fdom_5fcallback_5fparser',['json_sax_dom_callback_parser',['../d9/dcc/classnlohmann_1_1basic__json.html#a95574da8d12905ea99dc348934c837da',1,'nlohmann::basic_json']]], + ['json_5fsax_5fdom_5fparser',['json_sax_dom_parser',['../d9/dcc/classnlohmann_1_1basic__json.html#a47aabb1eceae32e8a6e8e7f0ff34be60',1,'nlohmann::basic_json']]], + ['parser',['parser',['../d9/dcc/classnlohmann_1_1basic__json.html#ac8f3125911eb018ef4ab00d879487baf',1,'nlohmann::basic_json']]] ]; diff --git a/docs/search/all_1.js b/docs/search/all_1.js index c37e8ff5..c35f7144 100644 --- a/docs/search/all_1.js +++ b/docs/search/all_1.js @@ -1,14 +1,7 @@ var searchData= [ - ['backenddescriptor',['BackendDescriptor',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html',1,'cudnn_frontend::BackendDescriptor'],['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a8aa93686ca88410fc048b05155148183',1,'cudnn_frontend::BackendDescriptor::BackendDescriptor(ManagedOpaqueDescriptor pointer_, cudnnStatus_t status_, std::string err_msg_)'],['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a5765369a5739c2ea81c4f39ce2d1c46e',1,'cudnn_frontend::BackendDescriptor::BackendDescriptor()=default']]], - ['bchoices',['bChoices',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a04aedaff21f829caa98aacb68b51dcf1',1,'cudnn_frontend::EngineConfig_v8']]], - ['bdesc',['bdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a1305e0cdaeb029fd52eb189254afe18c',1,'cudnn_frontend::Operation_v8']]], - ['beta_5fd',['beta_d',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a1118f19807c9f58cc1d0892bdb1f8c94',1,'cudnn_frontend::Operation_v8']]], - ['beta_5fs',['beta_s',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0f14ddfbaae6e62375c46dd0d5ed993d',1,'cudnn_frontend::Operation_v8']]], - ['bknobs',['bKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ab2d9ce46cd037407a5c9ec655ad0a25d',1,'cudnn_frontend::Engine_v8']]], - ['bmatdesc',['bmatdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0945c6296efc14ffc41122aaae3946b8',1,'cudnn_frontend::Operation_v8']]], - ['btensor_5fdima',['btensor_dimA',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a7419041bb3bf934f8e9f851fa63acabd',1,'cudnn_frontend::Tensor_v8']]], - ['btensor_5fstra',['btensor_strA',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ae4842fc7fcb87f5b60228fb6fa391b61',1,'cudnn_frontend::Tensor_v8']]], - ['build',['build',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a01f709a3efafaca70de6565817c43beb',1,'cudnn_frontend::ConvDescBuilder_v8::build()'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a010b99c39d63121be78ec847fff433f8',1,'cudnn_frontend::EngineBuilder_v8::build()'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a639e1514ea8f283720e49fc18d7ad673',1,'cudnn_frontend::EngineConfigBuilder_v8::build()'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#aae1a36ace3278dbedcf0d743a7744d98',1,'cudnn_frontend::EngineFallbackListBuilder_v8::build()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga5ff39f2019a5a3fe8062bf887707877c',1,'cudnn_frontend::ExecutionPlanBuilder_v8::build()'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#ab3ff1b538521fdea588d8ac155f6e88c',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::build()'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#addc153acf5600781659a1a2ba891e59c',1,'cudnn_frontend::MatMulDescBuilder_v8::build()'],['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#aa0df558c603d8316dd3eb2d5bfd67c9d',1,'cudnn_frontend::OperationBuilder_v8::build()'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#ac78945f424f254f0060d4c2e1184cf1f',1,'cudnn_frontend::OperationGraphBuilder_v8::build()'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a5de642e4141705f8e06c4bf566f1d332',1,'cudnn_frontend::PointWiseDescBuilder_v8::build()'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a32876941f964b3fad2d123b9081b0af7',1,'cudnn_frontend::TensorBuilder_v8::build()'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#abf794751941aa252c19e1879306375d3',1,'cudnn_frontend::VariantPackBuilder_v8::build()']]], - ['buildknobs',['buildKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a0e6d7c12c261ad6c2f08e1249397b696',1,'cudnn_frontend::Engine_v8']]] + ['_5f_5fpad0_5f_5f',['__pad0__',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#adc7b6ab7810f58afa4d6a5133995c9ba',1,'nlohmann::detail::primitive_iterator_t::__pad0__()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aa4bddeaa9a97b2a9b715918a7e8dcc3a',1,'nlohmann::detail::iter_impl::__pad0__()'],['../da/de8/classnlohmann_1_1json__pointer.html#a551777cfe37bf7adb82253482030d992',1,'nlohmann::json_pointer::__pad0__()'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#af15da74dab5b01150eabfed0be7d75df',1,'nlohmann::detail::serializer::__pad0__()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a501740b004225f4c948e657c9e6e539e',1,'nlohmann::basic_json::__pad0__()']]], + ['_5f_5fpad1_5f_5f',['__pad1__',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a4a60e9d074cc53929b73eaa7963f1fa9',1,'nlohmann::detail::iter_impl::__pad1__()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a834674252ca19c65b24963d28eb8932d',1,'nlohmann::basic_json::__pad1__()']]], + ['_5f_5fpad2_5f_5f',['__pad2__',['../d9/dcc/classnlohmann_1_1basic__json.html#ab85f42065b70594c15de42e1f0870fba',1,'nlohmann::basic_json']]], + ['_5f_5fpad3_5f_5f',['__pad3__',['../d9/dcc/classnlohmann_1_1basic__json.html#aa52fb28bbfe1d5484808cad53c35d76c',1,'nlohmann::basic_json']]] ]; diff --git a/docs/search/all_10.js b/docs/search/all_10.js index 6d065e10..a11db0ee 100644 --- a/docs/search/all_10.js +++ b/docs/search/all_10.js @@ -1,10 +1,66 @@ var searchData= [ - ['tensor',['Tensor',['../df/de1/namespacecudnn__frontend.html#aa20fd945a531e0a3a5007e65fe917770',1,'cudnn_frontend']]], - ['tensor_5fv8',['Tensor_v8',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html',1,'cudnn_frontend::Tensor_v8'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a9df78edb662e32a63680281eb33a14a8',1,'cudnn_frontend::Tensor_v8::Tensor_v8(Tensor_v8 &&from)'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ab48b1728d6978407f0bdbf0227de6f82',1,'cudnn_frontend::Tensor_v8::Tensor_v8()=default'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a5f2703668235c18d063174ccca285457',1,'cudnn_frontend::Tensor_v8::Tensor_v8(Tensor_v8 const &)=delete']]], - ['tensorbuilder',['TensorBuilder',['../df/de1/namespacecudnn__frontend.html#a9fea2e22198aaf2ea11a0df46abd0749',1,'cudnn_frontend']]], - ['tensorbuilder_5fv8',['TensorBuilder_v8',['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html',1,'cudnn_frontend::TensorBuilder_v8'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a14f9c4498f4be5b3c2b0a94c708891fb',1,'cudnn_frontend::Tensor_v8::TensorBuilder_v8()'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a9d57810fb6d58f5152e5a1bbc55fc5dd',1,'cudnn_frontend::TensorBuilder_v8::TensorBuilder_v8()=default'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a8f8b7d7da3675d69e7f09bec21735656',1,'cudnn_frontend::TensorBuilder_v8::TensorBuilder_v8(TensorBuilder_v8 &&)=delete'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#abcc771bbe9e1791afc10c686f90c2188',1,'cudnn_frontend::TensorBuilder_v8::TensorBuilder_v8(TensorBuilder_v8 const &)=delete'],['../d3/d3c/group__TensorBuilder__v8.html',1,'(Global Namespace)']]], - ['throw_5fif',['throw_if',['../df/de1/namespacecudnn__frontend.html#a1690523b8a133acefaeabc725032e21c',1,'cudnn_frontend::throw_if(std::function< bool()> expr, const char *message)'],['../df/de1/namespacecudnn__frontend.html#a6b0bb5ee1f6d6491a7d53a01ae947dee',1,'cudnn_frontend::throw_if(bool expr, const char *message)']]], - ['time_5fms',['time_ms',['../d6/d1b/structcudnn__frontend_1_1executionOption.html#a56b496b09272c352b557d793adc3acf1',1,'cudnn_frontend::executionOption']]], - ['time_5fsorted_5fplan',['time_sorted_plan',['../df/de1/namespacecudnn__frontend.html#a148478701949f58a44912cc61dbda1e4',1,'cudnn_frontend']]] + ['oa',['oa',['../df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a323c18d74d6680faafec6dc3ace825e2',1,'nlohmann::detail::output_adapter::oa()'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a6f15b782a7900f50ef37d123008e601b',1,'nlohmann::detail::binary_writer::oa()']]], + ['object',['object',['../d9/dcc/classnlohmann_1_1basic__json.html#a9a4df356e05415438fadf8a15e583903',1,'nlohmann::basic_json::object()'],['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985aa8cfde6331bd59eb2ac96f8911c4b666',1,'nlohmann::detail::object()']]], + ['object_5fcomparator_5ft',['object_comparator_t',['../d9/dcc/classnlohmann_1_1basic__json.html#ac26c2e8d6bcaccde372ceedd81851200',1,'nlohmann::basic_json']]], + ['object_5felement',['object_element',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a9c03c76d3a8e89c8928097ba0b92c2db',1,'nlohmann::detail::json_sax_dom_parser::object_element()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a2a8adecd936ba6ec187f1216241b508f',1,'nlohmann::detail::json_sax_dom_callback_parser::object_element()']]], + ['object_5fend',['object_end',['../dc/df0/namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aaf63e2a2468a37aa4f394fcc3bcb8249c',1,'nlohmann::detail']]], + ['object_5fiterator',['object_iterator',['../d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html#a8cb0af3498061426c1d0a65ad6220408',1,'nlohmann::detail::internal_iterator']]], + ['object_5fstart',['object_start',['../dc/df0/namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aae73f17027cb0acbb537f29d0a6944b26',1,'nlohmann::detail']]], + ['object_5ft',['object_t',['../d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html#ab019855b17c1a0cb16fda6731f338afc',1,'nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >::object_t()'],['../d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html#ae335fdc59d1b0d79e52a808b71b11c67',1,'nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >::object_t()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ab9a9598052e83fa14a2288e56d5dda7c',1,'nlohmann::detail::iter_impl::object_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#aef3ff5a73597850597d1d40db9edd376',1,'nlohmann::basic_json::object_t()']]], + ['op_5fmode',['op_mode',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a43cbfcab995a238e2001c4ec6543ae50',1,'cudnn_frontend::Operation_v8']]], + ['opaquebackendpointer',['OpaqueBackendPointer',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html',1,'cudnn_frontend::OpaqueBackendPointer'],['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a42a928eb5b2524d1c3f67b7200dd53c9',1,'cudnn_frontend::OpaqueBackendPointer::OpaqueBackendPointer(const OpaqueBackendPointer &)=delete'],['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a997d733607e747516eb2334c51c48f29',1,'cudnn_frontend::OpaqueBackendPointer::OpaqueBackendPointer(OpaqueBackendPointer &&)=default'],['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#aadf0c53d7aedb1c6c121b2736e98b2dd',1,'cudnn_frontend::OpaqueBackendPointer::OpaqueBackendPointer(cudnnBackendDescriptorType_t type)']]], + ['operation',['Operation',['../df/de1/namespacecudnn__frontend.html#a2f1497702504947953a0f5a69b6eeb2a',1,'cudnn_frontend']]], + ['operation_5fv8',['Operation_v8',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html',1,'cudnn_frontend::Operation_v8'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ad45e7200660f993615e34ceeb9ec49c6',1,'cudnn_frontend::Operation_v8::Operation_v8(Operation_v8 &&from)'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a810b2f50d53d6655c2048d3c3afbcfc4',1,'cudnn_frontend::Operation_v8::Operation_v8()=default'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a091bf74144eaec6149d610faa289160e',1,'cudnn_frontend::Operation_v8::Operation_v8(Operation_v8 const &)=delete']]], + ['operationbuilder',['OperationBuilder',['../df/de1/namespacecudnn__frontend.html#ae6d02ff4c7922673ed3862145a4019d4',1,'cudnn_frontend']]], + ['operationbuilder_5fv8',['OperationBuilder_v8',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html',1,'cudnn_frontend::OperationBuilder_v8'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ac708bb46683440effd2f46b3888e378f',1,'cudnn_frontend::Operation_v8::OperationBuilder_v8()'],['../d3/d92/group__OperationBuilder__v8.html#ga425dd00708eaaadffe1c83ef356dc333',1,'cudnn_frontend::OperationBuilder_v8::OperationBuilder_v8()'],['../d3/d92/group__OperationBuilder__v8.html',1,'(Global Namespace)']]], + ['operationgraph',['OperationGraph',['../df/de1/namespacecudnn__frontend.html#ac86ce924df5209c4ce1bc25856eea6e6',1,'cudnn_frontend']]], + ['operationgraph_5fv8',['OperationGraph_v8',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html',1,'cudnn_frontend::OperationGraph_v8'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a85e65daf5a2db5aba0207ccad367457d',1,'cudnn_frontend::OperationGraph_v8::OperationGraph_v8(OperationGraph_v8 &&from)'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a5c029cff12e0e91406a8f88fd8a830f4',1,'cudnn_frontend::OperationGraph_v8::OperationGraph_v8()=default'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a0b3b76a619160671c45c733eb1a13455',1,'cudnn_frontend::OperationGraph_v8::OperationGraph_v8(OperationGraph_v8 const &)=delete']]], + ['operationgraphbuilder',['OperationGraphBuilder',['../df/de1/namespacecudnn__frontend.html#a0b7ba1175801c56d07d26785bcd8fb70',1,'cudnn_frontend']]], + ['operationgraphbuilder_5fv8',['OperationGraphBuilder_v8',['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html',1,'cudnn_frontend::OperationGraphBuilder_v8'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a5af59a099cc90eda429563e285b2907f',1,'cudnn_frontend::OperationGraph_v8::OperationGraphBuilder_v8()'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a101b6c9515fdb333cdd3499f08774cf4',1,'cudnn_frontend::OperationGraphBuilder_v8::OperationGraphBuilder_v8()=default'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a40e8f7825f75c35c40d9938532a81d02',1,'cudnn_frontend::OperationGraphBuilder_v8::OperationGraphBuilder_v8(OperationGraphBuilder_v8 &&)=delete'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a589dedb418679abda7f64e6b9e2800a1',1,'cudnn_frontend::OperationGraphBuilder_v8::OperationGraphBuilder_v8(OperationGraphBuilder_v8 const &)=delete'],['../d2/df5/group__OperationGraphBuilder__v8.html',1,'(Global Namespace)']]], + ['operationgraphquery',['OperationGraphQuery',['../d1/df7/group__OperationGraphQuery.html',1,'']]], + ['operationtag',['operationTag',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a736317246d52e774170bc60511870932',1,'cudnn_frontend::Operation_v8']]], + ['operator_20output_5fadapter_5ft_3c_20chartype_20_3e',['operator output_adapter_t< CharType >',['../df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a5fdac7aec8ade2f4bb0b5df30550d90c',1,'nlohmann::detail::output_adapter']]], + ['operator_20size_5ft',['operator size_t',['../d6/d02/structnlohmann_1_1detail_1_1position__t.html#ac9ad1e0f143f162e2e0c979cd678d683',1,'nlohmann::detail::position_t']]], + ['operator_20value_5ft',['operator value_t',['../d9/dcc/classnlohmann_1_1basic__json.html#a6d4b8df10ecc533a50823e8805f4a873',1,'nlohmann::basic_json']]], + ['operator_20valuetype',['operator ValueType',['../d9/dcc/classnlohmann_1_1basic__json.html#ada1463d8d7ba77865f28f5e83dec7f33',1,'nlohmann::basic_json']]], + ['operator_21_3d',['operator!=',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a646dbb2b1842f44f42ee1e14245b8595',1,'nlohmann::detail::iteration_proxy_value::operator!=()'],['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a760bf39cc5477bc663d8bb3c44aabf6a',1,'nlohmann::byte_container_with_subtype::operator!=()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a190077df326c10886020bbcfaa169b20',1,'nlohmann::detail::iter_impl::operator!=()'],['../da/de8/classnlohmann_1_1json__pointer.html#a6779edcf28e6f018a3bbb29c0b4b5e1e',1,'nlohmann::json_pointer::operator!=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a6e2e21da48f5d9471716cd868a068327',1,'nlohmann::basic_json::operator!=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a4d581dc2ab78091885f9af24d13749dc',1,'nlohmann::basic_json::operator!=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#aa9861979059799375c0fff68174610ba',1,'nlohmann::basic_json::operator!=()']]], + ['operator_22_22_20_5fjson',['operator"" _json',['../d5/db8/json_8hpp.html#a106b949d848bb8243a7cf94f11bcebf1',1,'json.hpp']]], + ['operator_22_22_20_5fjson_5fpointer',['operator"" _json_pointer',['../d5/db8/json_8hpp.html#aa2015c6dc3a0fb76fc526cfecef2286a',1,'json.hpp']]], + ['operator_28_29',['operator()',['../d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.html#a4ab8572670a673d64b783589cf658270',1,'nlohmann::detail::from_json_fn::operator()()'],['../d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.html#aecfb5114c8a737fc89d98589482795b8',1,'nlohmann::detail::to_json_fn::operator()()'],['../dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html#aec1567d1fa47dbe5b77954dce3a55b64',1,'std::hash< nlohmann::json >::operator()()'],['../df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html#a10d3fea50edf7b15ead8f4ceeb006000',1,'std::less<::nlohmann::detail::value_t >::operator()()']]], + ['operator_2a',['operator*',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a10accadf05a172fdc69a016bec201e81',1,'nlohmann::detail::iteration_proxy_value::operator*()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a5ca57856d9bba54a5fc51cee891de827',1,'nlohmann::detail::iter_impl::operator*()'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#aa3100e41472dba02ab78ccc1607e44ab',1,'nlohmann::detail::json_ref::operator*()']]], + ['operator_2b',['operator+',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a00ce828d0fe58046c10e0445504df7bf',1,'nlohmann::detail::primitive_iterator_t::operator+()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a8ef76aeb5a5032768f0f61f48ac189c0',1,'nlohmann::detail::iter_impl::operator+(difference_type i) const'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a94108d1a7563e103534f23eb5c1ee175',1,'nlohmann::detail::iter_impl::operator+()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#aabf172b436988e2edde22f13f27caaed',1,'nlohmann::detail::json_reverse_iterator::operator+()']]], + ['operator_2b_2b',['operator++',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#adf4db2aef31822f3a179435158a4de11',1,'nlohmann::detail::iteration_proxy_value::operator++()'],['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#ad26511012fc88f3ec5d9e1cb708732fd',1,'nlohmann::detail::primitive_iterator_t::operator++() noexcept'],['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aa011863621357b3cf891670bf63a48b1',1,'nlohmann::detail::primitive_iterator_t::operator++(int) noexcept'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a7d2397773b2dce42f30f0375a6a1d850',1,'nlohmann::detail::iter_impl::operator++(int)'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#abdfe2a7f464400a7ab572782d14b922f',1,'nlohmann::detail::iter_impl::operator++()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#aada9d2b320002ef870c5283cda2c1e9d',1,'nlohmann::detail::json_reverse_iterator::operator++(int)'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a26caf0069a50ce4ecb010a1453e883fc',1,'nlohmann::detail::json_reverse_iterator::operator++()']]], + ['operator_2b_3d',['operator+=',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aee01535df0b3b40137d9241029a9a203',1,'nlohmann::detail::primitive_iterator_t::operator+=()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a3eef94f9d167046e7f773aeb6b78090c',1,'nlohmann::detail::iter_impl::operator+=()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a4e5d0a3bee433104ef87366e00536e01',1,'nlohmann::detail::json_reverse_iterator::operator+=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a40226d9c84fcb9cb948ae0c27b842c57',1,'nlohmann::basic_json::operator+=(basic_json &&val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#af643a4baa91f484b11af0e4437183115',1,'nlohmann::basic_json::operator+=(const basic_json &val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ae300819781bce2193369609457f70f30',1,'nlohmann::basic_json::operator+=(const typename object_t::value_type &val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ac48302a8b4f8c2a6e30c2a7bff6abc49',1,'nlohmann::basic_json::operator+=(initializer_list_t init)']]], + ['operator_2d',['operator-',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#ac6d902d6ec9a02dabed5452d3ae78f7e',1,'nlohmann::detail::primitive_iterator_t::operator-()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a0dd9c415b94a02ff2aa25da75e52da30',1,'nlohmann::detail::iter_impl::operator-(difference_type i) const'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a49bf3e708a9c1c88c415011735962d06',1,'nlohmann::detail::iter_impl::operator-(const iter_impl &other) const'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a549c6eb10b6434eaf772f71d129a6d79',1,'nlohmann::detail::json_reverse_iterator::operator-(difference_type i) const'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#aaaa6c0b1d74e74e35e5f7b56dfd6c5d1',1,'nlohmann::detail::json_reverse_iterator::operator-(const json_reverse_iterator &other) const']]], + ['operator_2d_2d',['operator--',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#abecbf0c73c7fe963a699738065177bc3',1,'nlohmann::detail::primitive_iterator_t::operator--() noexcept'],['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aef3b5dfeb2cb04dc9d0a024fc1898b98',1,'nlohmann::detail::primitive_iterator_t::operator--(int) noexcept'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a1fc43e764467b8ea4a4cdd01f629d757',1,'nlohmann::detail::iter_impl::operator--(int)'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a84e689fb581d651d130039f7cb81494a',1,'nlohmann::detail::iter_impl::operator--()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a2c170f51371538da2c8f4094305da3d3',1,'nlohmann::detail::json_reverse_iterator::operator--(int)'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a2488d6a902103610943920ac49d12a04',1,'nlohmann::detail::json_reverse_iterator::operator--()']]], + ['operator_2d_3d',['operator-=',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a0bf83ab08abe1ae4b51c790c85cdf151',1,'nlohmann::detail::primitive_iterator_t::operator-=()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#abcc9d51bc52f2e8483bbe4018f05e978',1,'nlohmann::detail::iter_impl::operator-=()']]], + ['operator_2d_3e',['operator->',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a6da3d2b34528aff328f3dcb513076dec',1,'nlohmann::detail::iter_impl::operator->()'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#adb652774a67829876449dc0b30637456',1,'nlohmann::detail::json_ref::operator->()']]], + ['operator_2f',['operator/',['../da/de8/classnlohmann_1_1json__pointer.html#a90a11fe6c7f37b1746a3ff9cb24b0d53',1,'nlohmann::json_pointer::operator/()'],['../da/de8/classnlohmann_1_1json__pointer.html#a926c9065dbed1bedc17857a813f7a46f',1,'nlohmann::json_pointer::operator/()'],['../da/de8/classnlohmann_1_1json__pointer.html#af5a4bc4f82113c271c9a0cd4d3b5f31c',1,'nlohmann::json_pointer::operator/()']]], + ['operator_2f_3d',['operator/=',['../da/de8/classnlohmann_1_1json__pointer.html#a7395bd0af29ac23fd3f21543c935cdfa',1,'nlohmann::json_pointer::operator/=(const json_pointer &ptr)'],['../da/de8/classnlohmann_1_1json__pointer.html#abdd21567b2b1d69329af0f520335e68b',1,'nlohmann::json_pointer::operator/=(std::string token)'],['../da/de8/classnlohmann_1_1json__pointer.html#a7de51480324eb1c5a89ed552cd699875',1,'nlohmann::json_pointer::operator/=(std::size_t array_idx)']]], + ['operator_3c',['operator<',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a901a95e6d73c9509d3dcde914f6c8a9d',1,'nlohmann::detail::primitive_iterator_t::operator<()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a0d14cd76203e00bdcef6a64a5d055cc7',1,'nlohmann::detail::iter_impl::operator<()'],['../d9/dcc/classnlohmann_1_1basic__json.html#aacd442b66140c764c594ac8ad7dfd5b3',1,'nlohmann::basic_json::operator<()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a52907b78829a55473f2548530cf2c1c7',1,'nlohmann::basic_json::operator<()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a71f65ff3abee4c140e27ca64fa327973',1,'nlohmann::basic_json::operator<()'],['../dc/df0/namespacenlohmann_1_1detail.html#a09169efff3bd1771fff29bd92cea19e0',1,'nlohmann::detail::operator<()']]], + ['operator_3c_3c',['operator<<',['../d9/dcc/classnlohmann_1_1basic__json.html#a5e34c5435e557d0bf666bd7311211405',1,'nlohmann::basic_json::operator<<()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a60ca396028b8d9714c6e10efbf475af6',1,'nlohmann::basic_json::operator<<()']]], + ['operator_3c_3d',['operator<=',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ac6f71b36d7c87e427d1fee83f2600fad',1,'nlohmann::detail::iter_impl::operator<=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a5c8bb5200f5eac10d31e26be46e5b1ac',1,'nlohmann::basic_json::operator<=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ae7bce6989e2bf72aa0784ca6755e22a9',1,'nlohmann::basic_json::operator<=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a4e96b98c1f8dfccaaa94aa0d5e77427c',1,'nlohmann::basic_json::operator<=()']]], + ['operator_3d',['operator=',['../da/d31/structnlohmann_1_1detail_1_1nonesuch.html#add6ef84c52a851e391cef514c85f2ffe',1,'nlohmann::detail::nonesuch::operator=(nonesuch const &)=delete'],['../da/d31/structnlohmann_1_1detail_1_1nonesuch.html#a78ca022a1b4defe4f7ba662843602231',1,'nlohmann::detail::nonesuch::operator=(nonesuch &&)=delete'],['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#ad59bbc7e3f23dd74475c5cb818784e42',1,'nlohmann::detail::file_input_adapter::operator=(const file_input_adapter &)=delete'],['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#acfd616c651d601a1dfc7fbdd6973f716',1,'nlohmann::detail::file_input_adapter::operator=(file_input_adapter &&)=delete'],['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#aeac5048221929b8f7558d1698dd0fb3a',1,'nlohmann::detail::input_stream_adapter::operator=(input_stream_adapter &)=delete'],['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a3577dff99cc91968557b52959b0363e4',1,'nlohmann::detail::input_stream_adapter::operator=(input_stream_adapter &&)=delete'],['../d0/d82/structnlohmann_1_1json__sax.html#a1a90dae111cf189ac9ad340a60b199b6',1,'nlohmann::json_sax::operator=(const json_sax &)=default'],['../d0/d82/structnlohmann_1_1json__sax.html#ac74584e3dc41f2465e69b37d7d2bf694',1,'nlohmann::json_sax::operator=(json_sax &&) noexcept=default'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a98448bf2cbc15d15e2eddc5a09a40a42',1,'nlohmann::detail::json_sax_dom_parser::operator=(const json_sax_dom_parser &)=delete'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aff928a07e40e4efb16b3ff9384f4401c',1,'nlohmann::detail::json_sax_dom_parser::operator=(json_sax_dom_parser &&)=default'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a5c9603e79a71713f5e8cf12cba837dbb',1,'nlohmann::detail::json_sax_dom_callback_parser::operator=(const json_sax_dom_callback_parser &)=delete'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a60753ffbec958de15de807852e62cde8',1,'nlohmann::detail::json_sax_dom_callback_parser::operator=(json_sax_dom_callback_parser &&)=default'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#af7e7002d4bb66e9104d752791b8070f8',1,'nlohmann::detail::lexer::operator=(lexer &)=delete'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a1383bb59c5efd4f9370ca3ee4ad1a4ba',1,'nlohmann::detail::lexer::operator=(lexer &&)=default'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a35abcd6b3231a4c9d651f9c0eb610c96',1,'nlohmann::detail::binary_reader::operator=(const binary_reader &)=delete'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ad3dc8b0f8ef6035465c14ed7dcbb67d4',1,'nlohmann::detail::binary_reader::operator=(binary_reader &&)=default'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ae3dc277c25007ac952d57f9a1972ce79',1,'nlohmann::detail::iter_impl::operator=(iter_impl &&) noexcept=default'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a9a5cd7864a8f848ef107d3f5a330f5e7',1,'nlohmann::detail::iter_impl::operator=(const iter_impl< const BasicJsonType > &other) noexcept'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a7159ed1cfe7c423a2baef8bea0c94509',1,'nlohmann::detail::iter_impl::operator=(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a98956ba676b1ae16b62346f9c4fb752e',1,'nlohmann::detail::json_ref::operator=(const json_ref &)=delete'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a9a73363d9be6b300ddd30745786c50a6',1,'nlohmann::detail::json_ref::operator=(json_ref &&)=delete'],['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#ab2a6b7a5b86c612df2d99d2970380456',1,'nlohmann::detail::output_adapter_protocol::operator=(const output_adapter_protocol &)=default'],['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#a2235c8f3da8dfe5b26cb030f6886811a',1,'nlohmann::detail::output_adapter_protocol::operator=(output_adapter_protocol &&) noexcept=default'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a5f14c33012477b9f9876dc54d97009a0',1,'nlohmann::detail::serializer::operator=(const serializer &)=delete'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#acaafe3436ee5fb74777eb4132a88c513',1,'nlohmann::detail::serializer::operator=(serializer &&)=delete'],['../d9/dcc/classnlohmann_1_1basic__json.html#a1ae937c299f347a9dcb7f31a8e57762b',1,'nlohmann::basic_json::operator=()'],['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#adf5bf20f5bdfbfdecd05360830b34b89',1,'cudnn_frontend::OpaqueBackendPointer::operator=()'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#aa8ea272eaf26ae7f7ad2d625253ea62f',1,'cudnn_frontend::ConvDesc_v8::operator=()'],['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a5fba7029429a093b36fd201219315a1f',1,'cudnn_frontend::ConvDescBuilder_v8::operator=()'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ad3966b20d080c0fb9930b8a2018da2f8',1,'cudnn_frontend::Engine_v8::operator=()'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a9d29a91186f6baa215b61340a386ec6d',1,'cudnn_frontend::EngineBuilder_v8::operator=()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ad79aab6d69a2b4400259abd72af73c84',1,'cudnn_frontend::EngineConfig_v8::operator=()'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a8d4cb5ab44b076c71afd5f49e6df94f7',1,'cudnn_frontend::EngineConfigBuilder_v8::operator=()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a22ef505758a33415d01e3a9a8843fe22',1,'cudnn_frontend::EngineFallbackList_v8::operator=()'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a1effb794c90cbe7ad2e7649d400cb2dd',1,'cudnn_frontend::EngineFallbackListBuilder_v8::operator=()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga0705e60cee62d3d196751517d545a7b0',1,'cudnn_frontend::ExecutionPlan_v8::operator=()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga5f757c2da8c90645c34637dde4aed8f8',1,'cudnn_frontend::ExecutionPlanBuilder_v8::operator=()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a2301c5b006fa6e341bc88ece066f8ea2',1,'cudnn_frontend::EngineHeuristics_v8::operator=()'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a5228a4a3af391fad0141f30a24be730b',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::operator=()'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ac1257a1ca1261961fc99123988552911',1,'cudnn_frontend::MatMulDesc_v8::operator=()'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a02ee327bae65fc44c140d7bb6a0b4991',1,'cudnn_frontend::MatMulDescBuilder_v8::operator=()'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a5012e920483271f655bc04d6f52dc41f',1,'cudnn_frontend::Operation_v8::operator=()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a87704bb46bb12bba977a21ed579a4ef3',1,'cudnn_frontend::OperationGraph_v8::operator=()'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a75dae8a911e005b960565d4a1a0024ba',1,'cudnn_frontend::OperationGraphBuilder_v8::operator=()'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ae3cd0c0051c7e29a9ad86b80308429f3',1,'cudnn_frontend::PointWiseDesc_v8::operator=()'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ac0d140493e21b164bc21dd0bcbeeaa65',1,'cudnn_frontend::PointWiseDescBuilder_v8::operator=()'],['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a51f082e952ed5e01ddc9ef3f02f32f3b',1,'cudnn_frontend::ReductionDesc_v8::operator=()'],['../d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#af003aa5121b4433e5aa3efc1b53e9086',1,'cudnn_frontend::ReductionDescBuilder_v8::operator=()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a4f5c1e95de9419cb1904e0cbad570c63',1,'cudnn_frontend::Tensor_v8::operator=()'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a3a33c9ba58f393d231e05a1bcc5706d8',1,'cudnn_frontend::TensorBuilder_v8::operator=()'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a3f85d13ac1341b67d85f18761f8dcb35',1,'cudnn_frontend::VariantPack_v8::operator=()'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#acee84ffc33b41807cdcb18425e9fced1',1,'cudnn_frontend::VariantPackBuilder_v8::operator=()']]], + ['operator_3d_3d',['operator==',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#af2b78a8b9c9276b07c928b21bb1e2d54',1,'nlohmann::detail::iteration_proxy_value::operator==()'],['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#aee67fde9d3d571a07d5bb35df21c0555',1,'nlohmann::byte_container_with_subtype::operator==()'],['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aae1e1e2ec0e229d1291d69de57d76bbe',1,'nlohmann::detail::primitive_iterator_t::operator==()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aaddab83c2b4023cb0f0fdbc757c54f65',1,'nlohmann::detail::iter_impl::operator==()'],['../da/de8/classnlohmann_1_1json__pointer.html#a4667ef558c8c3f8a646bfda0c6654653',1,'nlohmann::json_pointer::operator==()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a122640e7e2db1814fc7bbb3c122ec76e',1,'nlohmann::basic_json::operator==()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a107a085c92ec4e062d1185b2d09c7978',1,'nlohmann::basic_json::operator==()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a24ae7acd5b06ae49cfe1c94633436b68',1,'nlohmann::basic_json::operator==()']]], + ['operator_3e',['operator>',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aaf3620b8dfa4bed8a9ac2b51dd55dbd7',1,'nlohmann::detail::iter_impl::operator>()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a87db51b6b936fb2ea293cdbc8702dcb8',1,'nlohmann::basic_json::operator>()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a9ea8e0e86820fcb3ab0fc937d41226e7',1,'nlohmann::basic_json::operator>()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a67771044f08fd07105b34667615d9e0e',1,'nlohmann::basic_json::operator>()']]], + ['operator_3e_3d',['operator>=',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a634f85da575cb60b012a687efa26e11a',1,'nlohmann::detail::iter_impl::operator>=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a74a943800c7f103d0990d7eef82c6453',1,'nlohmann::basic_json::operator>=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ab83d11de4db25633f93e067aa218cae9',1,'nlohmann::basic_json::operator>=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a94c61e0128f0794e7a34e1aecee5c445',1,'nlohmann::basic_json::operator>=()']]], + ['operator_3e_3e',['operator>>',['../d9/dcc/classnlohmann_1_1basic__json.html#a34d6a60dd99e9f33b8273a1c8db5669b',1,'nlohmann::basic_json::operator>>()'],['../d9/dcc/classnlohmann_1_1basic__json.html#aaf363408931d76472ded14017e59c9e8',1,'nlohmann::basic_json::operator>>()']]], + ['operator_5b_5d',['operator[]',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ac0b9276f1102ed4b9cd3f5f56287e3ce',1,'nlohmann::detail::iter_impl::operator[]()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a8ed9e445e03c49c46612eb7f7d55bb61',1,'nlohmann::detail::json_reverse_iterator::operator[]()'],['../d6/da7/structnlohmann_1_1ordered__map.html#ae7a1ca8c1e234837d137471f73ae6012',1,'nlohmann::ordered_map::operator[](const Key &key)'],['../d6/da7/structnlohmann_1_1ordered__map.html#a676082659d575e29bdb312bcde53023a',1,'nlohmann::ordered_map::operator[](const Key &key) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a9ea67fc1ef0ccc42e1d5388fe0416ae5',1,'nlohmann::basic_json::operator[](size_type idx)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ad21d96f490fa1aa8605fba8dadcce319',1,'nlohmann::basic_json::operator[](size_type idx) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a3f45f3820c456ad2e3f3df2926564151',1,'nlohmann::basic_json::operator[](const typename object_t::key_type &key)'],['../d9/dcc/classnlohmann_1_1basic__json.html#acb5b489310f4e0ce2d5fb29b73fb59d3',1,'nlohmann::basic_json::operator[](const typename object_t::key_type &key) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#abc94831476f7b4d3efe6f2e9036c7188',1,'nlohmann::basic_json::operator[](T *key)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a11bbe874496eb7b29a5549e0637de59e',1,'nlohmann::basic_json::operator[](T *key) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a0d3deaa73b3644b4da3f8ef3172cd8d2',1,'nlohmann::basic_json::operator[](const json_pointer &ptr)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a0a691c29eb7c4acd91ccb498a79cd3ee',1,'nlohmann::basic_json::operator[](const json_pointer &ptr) const']]], + ['opgraph',['opGraph',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a6053f049f393faebc7188bfa1e8c2d38',1,'cudnn_frontend::Engine_v8::opGraph()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#ae8995303eac50633f6320f5949a045bb',1,'cudnn_frontend::EngineFallbackList_v8::opGraph()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a081860775bfc5626bd57066066eb4299',1,'cudnn_frontend::EngineHeuristics_v8::opGraph()']]], + ['opgraphtag',['opGraphTag',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a620ad17c3560e87d5a859d7f0eb121d4',1,'cudnn_frontend::Engine_v8::opGraphTag()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a37695c0659b489b06ff3b83194be59bb',1,'cudnn_frontend::EngineConfig_v8::opGraphTag()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9f8070f063b1c0564297260ebe812506',1,'cudnn_frontend::EngineFallbackList_v8::opGraphTag()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a7c958bd4b97b4a77694d2bee01acec4c',1,'cudnn_frontend::EngineHeuristics_v8::opGraphTag()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#ac8ca1ba29ac3f8e68ba1bf3e5e500338',1,'cudnn_frontend::OperationGraph_v8::opGraphTag()']]], + ['ops',['ops',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#ab2570d81fc01c1b6b9a76220b0abd717',1,'cudnn_frontend::OperationGraph_v8']]], + ['ordered_5fjson',['ordered_json',['../d3/d9b/namespacenlohmann.html#ad53cef358adfa7f07cea23eb1e28b9ea',1,'nlohmann']]], + ['ordered_5fmap',['ordered_map',['../d6/da7/structnlohmann_1_1ordered__map.html',1,'nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >'],['../d6/da7/structnlohmann_1_1ordered__map.html#a87938c10b76510dac00412d2cb5fd1e4',1,'nlohmann::ordered_map::ordered_map(const Allocator &alloc=Allocator())'],['../d6/da7/structnlohmann_1_1ordered__map.html#a9d25efb51325cc1be027b8ea00c1f8b8',1,'nlohmann::ordered_map::ordered_map(It first, It last, const Allocator &alloc=Allocator())'],['../d6/da7/structnlohmann_1_1ordered__map.html#a0482ea79e7786367a2d9b5c789c091ce',1,'nlohmann::ordered_map::ordered_map(std::initializer_list< T > init, const Allocator &alloc=Allocator())']]], + ['other_5ferror',['other_error',['../d5/d1b/classnlohmann_1_1detail_1_1other__error.html',1,'nlohmann::detail::other_error'],['../d9/dcc/classnlohmann_1_1basic__json.html#a6fc373c99facc37aadbc5651b3d6631d',1,'nlohmann::basic_json::other_error()'],['../d5/d1b/classnlohmann_1_1detail_1_1other__error.html#adf9227d6ca5161508f6a598a0dc6e7cd',1,'nlohmann::detail::other_error::other_error()']]], + ['other_5fiter_5fimpl',['other_iter_impl',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ac7c5a1f964aa1c02f7b046029a5c8904',1,'nlohmann::detail::iter_impl::other_iter_impl()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aba0841e618c77cc65ccfd52164c346b9',1,'nlohmann::detail::iter_impl::other_iter_impl()']]], + ['out_5fof_5frange',['out_of_range',['../d2/d67/classnlohmann_1_1detail_1_1out__of__range.html',1,'nlohmann::detail::out_of_range'],['../d9/dcc/classnlohmann_1_1basic__json.html#a2251d8523fa6d16c0fba6388ffa2ef8c',1,'nlohmann::basic_json::out_of_range()'],['../d2/d67/classnlohmann_1_1detail_1_1out__of__range.html#ab5fe402019dba957558499502f0fd731',1,'nlohmann::detail::out_of_range::out_of_range()']]], + ['output_5fadapter',['output_adapter',['../df/d13/classnlohmann_1_1detail_1_1output__adapter.html',1,'nlohmann::detail::output_adapter< CharType, StringType >'],['../df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a05a30a77b568fd84676078d938cbd484',1,'nlohmann::detail::output_adapter::output_adapter(std::vector< CharType > &vec)'],['../df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a43b3ba852e6a2c3f4d312543bb04c00d',1,'nlohmann::detail::output_adapter::output_adapter(std::basic_ostream< CharType > &s)'],['../df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a6ad59d1ec534383b430cd7ef8a518539',1,'nlohmann::detail::output_adapter::output_adapter(StringType &s)']]], + ['output_5fadapter_5fprotocol',['output_adapter_protocol',['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html',1,'nlohmann::detail::output_adapter_protocol< CharType >'],['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#afd96245615e3b648e59e4a27bdfa67e0',1,'nlohmann::detail::output_adapter_protocol::output_adapter_protocol()=default'],['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#adf6ef7a244c32162fe98d9773f31fa8a',1,'nlohmann::detail::output_adapter_protocol::output_adapter_protocol(const output_adapter_protocol &)=default'],['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#a9527a27ddd468e4360a3530cbd9c35a6',1,'nlohmann::detail::output_adapter_protocol::output_adapter_protocol(output_adapter_protocol &&) noexcept=default']]], + ['output_5fadapter_5ft',['output_adapter_t',['../d9/dcc/classnlohmann_1_1basic__json.html#ac4927a4f303011cd45b99f2a7c18c866',1,'nlohmann::basic_json::output_adapter_t()'],['../dc/df0/namespacenlohmann_1_1detail.html#a9b680ddfb58f27eb53a67229447fc556',1,'nlohmann::detail::output_adapter_t()']]], + ['output_5fstream_5fadapter',['output_stream_adapter',['../d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html',1,'nlohmann::detail::output_stream_adapter< CharType >'],['../d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html#ae44ed343cb1a716248547f48dd045b6a',1,'nlohmann::detail::output_stream_adapter::output_stream_adapter()']]], + ['output_5fstring_5fadapter',['output_string_adapter',['../d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html',1,'nlohmann::detail::output_string_adapter< CharType, StringType >'],['../d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html#af3a49ecd0d23fe56ac21e13d8752abc7',1,'nlohmann::detail::output_string_adapter::output_string_adapter()']]], + ['output_5fvector_5fadapter',['output_vector_adapter',['../d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html',1,'nlohmann::detail::output_vector_adapter< CharType >'],['../d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html#a9c4fbf88fda356837038ec30a264cd3e',1,'nlohmann::detail::output_vector_adapter::output_vector_adapter()']]], + ['owned_5fvalue',['owned_value',['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a5d7bd67a5ab713d9be1e248cf9d509cd',1,'nlohmann::detail::json_ref']]], + ['string',['string',['../da/de8/classnlohmann_1_1json__pointer.html#ae9015c658f99cf3d48a8563accc79988',1,'nlohmann::json_pointer']]] ]; diff --git a/docs/search/all_11.js b/docs/search/all_11.js index 82124aa8..24ab9790 100644 --- a/docs/search/all_11.js +++ b/docs/search/all_11.js @@ -1,5 +1,43 @@ var searchData= [ - ['uid',['uid',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a5c3371913fd88b20557bcc4d8ef93219',1,'cudnn_frontend::VariantPack_v8']]], - ['upper_5fclip',['upper_clip',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#afcb75336d3b99afcec3bb947c1f1a0e8',1,'cudnn_frontend::PointWiseDesc_v8']]] + ['padlower',['padLower',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#aff824fb1cf44c188a7400b017458327e',1,'cudnn_frontend::ConvDesc_v8']]], + ['padupper',['padUpper',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a28e6ad906bf25653c87525f9f8e90a28',1,'cudnn_frontend::ConvDesc_v8']]], + ['parent',['parent',['../da/de8/classnlohmann_1_1json__pointer.html#a9d826fc24f7821325e4f24d4393d6adc',1,'nlohmann::json_pointer']]], + ['parent_5fpointer',['parent_pointer',['../da/de8/classnlohmann_1_1json__pointer.html#afdaacce1edb7145e0434e014f0e8685a',1,'nlohmann::json_pointer']]], + ['parse',['parse',['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a75fb9145ea85f1ad9cc14f61981e1111',1,'nlohmann::detail::parser::parse()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a15018ade392a844ea32d5188d1a0b9c6',1,'nlohmann::basic_json::parse(InputType &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ad832c70af0989389a9a104c21d2d1c5c',1,'nlohmann::basic_json::parse(IteratorType first, IteratorType last, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a73cf15644f04fa569f50291049d1bafd',1,'nlohmann::basic_json::parse(detail::span_input_adapter &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)']]], + ['parse_5fbson_5farray',['parse_bson_array',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a23eb89a222e22533e9fd43e76722f44f',1,'nlohmann::detail::binary_reader']]], + ['parse_5fbson_5felement_5finternal',['parse_bson_element_internal',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a23bde2450d7a5772bf5051e36ff560a4',1,'nlohmann::detail::binary_reader']]], + ['parse_5fbson_5felement_5flist',['parse_bson_element_list',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a4e07b75ccb2579d0e738b894f0fd8cf8',1,'nlohmann::detail::binary_reader']]], + ['parse_5fbson_5finternal',['parse_bson_internal',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#abf2051ba57d9ea9b378a2e7c14e22b34',1,'nlohmann::detail::binary_reader']]], + ['parse_5fcbor_5finternal',['parse_cbor_internal',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a4e4accd5a2a41bfb2f18a8a0fcc9421c',1,'nlohmann::detail::binary_reader']]], + ['parse_5ferror',['parse_error',['../d5/d1a/classnlohmann_1_1detail_1_1parse__error.html',1,'nlohmann::detail::parse_error'],['../d9/dcc/classnlohmann_1_1basic__json.html#a555b05e9da63d486126759922685a37a',1,'nlohmann::basic_json::parse_error()'],['../d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#a0ea816ea3521d7109407948cb1b850f7',1,'nlohmann::detail::parse_error::parse_error()'],['../d0/d82/structnlohmann_1_1json__sax.html#a60287e3bd85f489e04c83f7e3b76e613',1,'nlohmann::json_sax::parse_error()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a7bc7d26e6a6f30185310de42cb2e820d',1,'nlohmann::detail::json_sax_dom_parser::parse_error()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#afb54d6937ee5d5a40e1db94422998aec',1,'nlohmann::detail::json_sax_dom_callback_parser::parse_error()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a95bb3e8b6feaa523ecda8106fb5e38e3',1,'nlohmann::detail::json_sax_acceptor::parse_error()'],['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a456e19aeafa334241c7ff3f589547f9d',1,'nlohmann::detail::lexer_base::parse_error()']]], + ['parse_5ferror_5ffunction_5ft',['parse_error_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a264d4d58bc1fd82bcc7bf6bf73d6acad',1,'nlohmann::detail']]], + ['parse_5fevent_5ft',['parse_event_t',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#aac6d706967b2ecc2510e172577d8550b',1,'nlohmann::detail::json_sax_dom_callback_parser::parse_event_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a24086b03c5c063849df0307f78c41c54',1,'nlohmann::basic_json::parse_event_t()'],['../dc/df0/namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1a',1,'nlohmann::detail::parse_event_t()']]], + ['parse_5fmsgpack_5finternal',['parse_msgpack_internal',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ae020385ce9424271d61f85d3842c02cb',1,'nlohmann::detail::binary_reader']]], + ['parse_5fubjson_5finternal',['parse_ubjson_internal',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a5a79480d661019b0f3fc615ae12f7de7',1,'nlohmann::detail::binary_reader']]], + ['parser',['parser',['../df/d6b/classnlohmann_1_1detail_1_1parser.html',1,'nlohmann::detail::parser< BasicJsonType, InputAdapterType >'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a33b852bf63cba58310d9c0d1242cfb12',1,'nlohmann::detail::parser::parser()'],['../d9/dcc/classnlohmann_1_1basic__json.html#aaa5b1a16260634ed7b6c6a44f39c4d8a',1,'nlohmann::basic_json::parser()']]], + ['parser_5fcallback_5ft',['parser_callback_t',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a4f636086fa8e7cf26c35c8afd50903ce',1,'nlohmann::detail::json_sax_dom_callback_parser::parser_callback_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a0273d074462644e5d5a7ff313ad0d742',1,'nlohmann::basic_json::parser_callback_t()'],['../dc/df0/namespacenlohmann_1_1detail.html#a2ac1bb00523b2502c10c97d70359ffc8',1,'nlohmann::detail::parser_callback_t()']]], + ['patch',['patch',['../d9/dcc/classnlohmann_1_1basic__json.html#adcc786998f220a5b3083ee8a37c4553e',1,'nlohmann::basic_json']]], + ['plan',['plan',['../d6/d1b/structcudnn__frontend_1_1executionOption.html#ae84235aee01c4556303b39961e1e1c5e',1,'cudnn_frontend::executionOption']]], + ['plantag',['planTag',['../d7/d0d/group__ExecutionPlanQuery.html#gaf732b37c9c05a2a8bd1a76289c740c4a',1,'cudnn_frontend::ExecutionPlan_v8']]], + ['plus',['plus',['../df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html#a3321ae2816a6ec5250a0d8e29f798232',1,'nlohmann::detail::dtoa_impl::boundaries']]], + ['pointer',['pointer',['../d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#aacaf73dc959b7c2119c15e53b5ce00a3',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::pointer()'],['../da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a33ee9a1beb8ee099f989fd4af15178a5',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::pointer()'],['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a44c64feee85b8e7164a05310e6418a4b',1,'nlohmann::detail::iteration_proxy_value::pointer()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a69e52f890ce8c556fd68ce109e24b360',1,'nlohmann::detail::iter_impl::pointer()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a42e5c23402f4c2e1df487e1d102bc5fa',1,'nlohmann::basic_json::pointer()'],['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a62312f29dbbc7c11c1da54a2ad41c52f',1,'cudnn_frontend::BackendDescriptor::pointer()']]], + ['pointer_5ft',['pointer_t',['../dc/df0/namespacenlohmann_1_1detail.html#a26dc71e2dd9336587e56062178f9abce',1,'nlohmann::detail']]], + ['pointwise_5fmode',['pointwise_mode',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a09f5151a90f805d81550a30617bcec0c',1,'cudnn_frontend::Operation_v8']]], + ['pointwise_5fport_5fcount',['pointwise_port_count',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a5c6b2986d2d703c672b5fc461f2eee05',1,'cudnn_frontend::Operation_v8']]], + ['pointwisedesc',['PointWiseDesc',['../df/de1/namespacecudnn__frontend.html#ada5353494ce649fc915154ced52dcceb',1,'cudnn_frontend']]], + ['pointwisedesc_5fv8',['PointWiseDesc_v8',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html',1,'cudnn_frontend::PointWiseDesc_v8'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ac2e07a514ec114222b65948960ba76a3',1,'cudnn_frontend::PointWiseDesc_v8::PointWiseDesc_v8(PointWiseDesc_v8 &&from)'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ac00ed56ba83a04edca3f55125332646b',1,'cudnn_frontend::PointWiseDesc_v8::PointWiseDesc_v8()=default'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ae4f638eb928772c13c314f4a022d4978',1,'cudnn_frontend::PointWiseDesc_v8::PointWiseDesc_v8(PointWiseDesc_v8 const &)=delete']]], + ['pointwisedescbuilder',['PointWiseDescBuilder',['../df/de1/namespacecudnn__frontend.html#a7f878662c40c287736343affc43f25dc',1,'cudnn_frontend']]], + ['pointwisedescbuilder_5fv8',['PointWiseDescBuilder_v8',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html',1,'cudnn_frontend::PointWiseDescBuilder_v8'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a1407b6ad40df9af7b191fdf636c2c508',1,'cudnn_frontend::PointWiseDesc_v8::PointWiseDescBuilder_v8()'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a6f5605f25897bba7afc6baf76228828c',1,'cudnn_frontend::PointWiseDescBuilder_v8::PointWiseDescBuilder_v8()=default'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ad6a7549d62410d3de87040586b49b815',1,'cudnn_frontend::PointWiseDescBuilder_v8::PointWiseDescBuilder_v8(PointWiseDescBuilder_v8 &&)=delete'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aeccd727adb1d3b0b8d9d95b7f6e1b9ce',1,'cudnn_frontend::PointWiseDescBuilder_v8::PointWiseDescBuilder_v8(PointWiseDescBuilder_v8 const &)=delete'],['../d2/db5/group__PointWiseDescBuilder__v8.html',1,'(Global Namespace)']]], + ['pop_5fback',['pop_back',['../da/de8/classnlohmann_1_1json__pointer.html#a4b1ee4d511ca195bed896a3da47e264c',1,'nlohmann::json_pointer']]], + ['position',['position',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a8a1bda107ce1622c0cb3174fa12155ea',1,'nlohmann::detail::lexer']]], + ['position_5fstring',['position_string',['../d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#aefe74adeaa48781464ba2fd2ec63d221',1,'nlohmann::detail::parse_error']]], + ['position_5ft',['position_t',['../d6/d02/structnlohmann_1_1detail_1_1position__t.html',1,'nlohmann::detail']]], + ['predicate',['Predicate',['../df/de1/namespacecudnn__frontend.html#ad31f040777311d1d1a7a2490f23e026e',1,'cudnn_frontend']]], + ['primitive_5fiterator',['primitive_iterator',['../d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html#a2b3bb45f968210e42c282017eeeb63a8',1,'nlohmann::detail::internal_iterator']]], + ['primitive_5fiterator_5ft',['primitive_iterator_t',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html',1,'nlohmann::detail::primitive_iterator_t'],['../d9/dcc/classnlohmann_1_1basic__json.html#ae2cb9166f46abfc6d3910e076410f1ca',1,'nlohmann::basic_json::primitive_iterator_t()']]], + ['priority_5ftag',['priority_tag',['../d7/d78/structnlohmann_1_1detail_1_1priority__tag.html',1,'nlohmann::detail']]], + ['priority_5ftag_3c_200_20_3e',['priority_tag< 0 >',['../d2/ddd/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html',1,'nlohmann::detail']]], + ['push_5fback',['push_back',['../da/de8/classnlohmann_1_1json__pointer.html#a697d12b5bd6205f8866691b166b7c7dc',1,'nlohmann::json_pointer::push_back(const std::string &token)'],['../da/de8/classnlohmann_1_1json__pointer.html#ac228b13596d3c34185da9fe61b570194',1,'nlohmann::json_pointer::push_back(std::string &&token)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ab9e0253c92736db021840105d374c4c4',1,'nlohmann::basic_json::push_back(basic_json &&val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a3405d38087e13994a5a4556065b0be6d',1,'nlohmann::basic_json::push_back(const basic_json &val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ad704839e6a5195e3b76f22e2b9aa63ee',1,'nlohmann::basic_json::push_back(const typename object_t::value_type &val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a4567cf75f19b1efca090f75d7a8a350a',1,'nlohmann::basic_json::push_back(initializer_list_t init)']]], + ['pwdesc',['pwdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#aac54965185417e264093156b143a3751',1,'cudnn_frontend::Operation_v8']]] ]; diff --git a/docs/search/all_12.js b/docs/search/all_12.js index ab9dcf44..1dc812aa 100644 --- a/docs/search/all_12.js +++ b/docs/search/all_12.js @@ -1,7 +1,23 @@ var searchData= [ - ['variantpack',['VariantPack',['../df/de1/namespacecudnn__frontend.html#ad6ac8113b406ee2b6f20eff4dd2b4e01',1,'cudnn_frontend']]], - ['variantpack_5fv8',['VariantPack_v8',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html',1,'cudnn_frontend::VariantPack_v8'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#aa9ce6c30e5e3c2df4d1e9fe2fb4cd6f5',1,'cudnn_frontend::VariantPack_v8::VariantPack_v8(VariantPack_v8 &&from)'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#ab2712c9ad5eeaf561408d7245938d0c6',1,'cudnn_frontend::VariantPack_v8::VariantPack_v8()=default'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a7d3416a4e2f6a67e1988e3b3cb77e88b',1,'cudnn_frontend::VariantPack_v8::VariantPack_v8(VariantPack_v8 const &)=delete']]], - ['variantpackbuilder',['VariantPackBuilder',['../df/de1/namespacecudnn__frontend.html#ab5b844f5de8ad3c056f0cb1cd0fb3ac1',1,'cudnn_frontend']]], - ['variantpackbuilder_5fv8',['VariantPackBuilder_v8',['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html',1,'cudnn_frontend::VariantPackBuilder_v8'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a8fcb5ec8a09de5a6f1f326f2e623cbdf',1,'cudnn_frontend::VariantPack_v8::VariantPackBuilder_v8()'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a7690f854d9e6fc2d4df059fca0e91c6a',1,'cudnn_frontend::VariantPackBuilder_v8::VariantPackBuilder_v8()=default'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a16d853685d603472bf260e500f55c145',1,'cudnn_frontend::VariantPackBuilder_v8::VariantPackBuilder_v8(VariantPackBuilder_v8 &&)=delete'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#ac7a523746975d15fd8dc54af0764dcb0',1,'cudnn_frontend::VariantPackBuilder_v8::VariantPackBuilder_v8(VariantPackBuilder_v8 const &)=delete'],['../d5/def/group__VariantPackBuilder__v8.html',1,'(Global Namespace)']]] + ['rbegin',['rbegin',['../d9/dcc/classnlohmann_1_1basic__json.html#aff8e38cd973bc94557fa8d36433c0e4c',1,'nlohmann::basic_json::rbegin() noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#aab1329f44c8301b7679962726a043549',1,'nlohmann::basic_json::rbegin() const noexcept']]], + ['reallimits',['RealLimits',['../d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html#ab267aabfe36c5b9c305c5e5faf06ea36',1,'nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >']]], + ['reduction_5fop',['reduction_op',['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a7de6c8f64b486904b1e7542eb6b40281',1,'cudnn_frontend::ReductionDesc_v8']]], + ['reductiondesc',['reductiondesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a99735bf6f673f0e3346e9be611125e2f',1,'cudnn_frontend::Operation_v8::reductiondesc()'],['../df/de1/namespacecudnn__frontend.html#a4b09ba4625f988c32edfc305b5397f48',1,'cudnn_frontend::ReductionDesc()']]], + ['reductiondesc_5fv8',['ReductionDesc_v8',['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html',1,'cudnn_frontend::ReductionDesc_v8'],['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#aa88b55d2bdfc1d3cdd15784b091eb3d4',1,'cudnn_frontend::ReductionDesc_v8::ReductionDesc_v8(ReductionDesc_v8 &&from)'],['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#ad85b9113cca58bfeacc1ca33752cb578',1,'cudnn_frontend::ReductionDesc_v8::ReductionDesc_v8()=default'],['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a51ff940ebdc71d701b7a3cbea9fe9825',1,'cudnn_frontend::ReductionDesc_v8::ReductionDesc_v8(ReductionDesc_v8 const &)=delete']]], + ['reductiondescbuilder',['ReductionDescBuilder',['../df/de1/namespacecudnn__frontend.html#aa5a388535aed6e36ef90002af0b80a80',1,'cudnn_frontend']]], + ['reductiondescbuilder_5fv8',['ReductionDescBuilder_v8',['../d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html',1,'cudnn_frontend::ReductionDescBuilder_v8'],['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a2d40c33ae24254be60d002d429637d22',1,'cudnn_frontend::ReductionDesc_v8::ReductionDescBuilder_v8()'],['../d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a07842acadad9d64d44edef4c30535130',1,'cudnn_frontend::ReductionDescBuilder_v8::ReductionDescBuilder_v8()=default'],['../d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a65ccc3c8414add4b95186deb3cdf60c4',1,'cudnn_frontend::ReductionDescBuilder_v8::ReductionDescBuilder_v8(ReductionDescBuilder_v8 &&)=delete'],['../d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#aef47d530613f74da45eccf4cd21be982',1,'cudnn_frontend::ReductionDescBuilder_v8::ReductionDescBuilder_v8(ReductionDescBuilder_v8 const &)=delete'],['../d8/d95/group__ReductionDescBuilder__v8.html',1,'(Global Namespace)']]], + ['ref_5fstack',['ref_stack',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aa7526e7ae7be7f63803a23fd8cf36e5d',1,'nlohmann::detail::json_sax_dom_parser::ref_stack()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a82a0e49479660b9903597e1ef55c6601',1,'nlohmann::detail::json_sax_dom_callback_parser::ref_stack()']]], + ['reference',['reference',['../d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#a5e82d2d8dabd022b8ff916f2e83a82f2',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::reference()'],['../da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a0809c5949d22f08a993231d2fdf285f0',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::reference()'],['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a5bc7d3133daab5ec4797f3132e093af8',1,'nlohmann::detail::iteration_proxy_value::reference()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a5be8001be099c6b82310f4d387b953ce',1,'nlohmann::detail::iter_impl::reference()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a42f51a69bac7b2aebb613b2164e457f1',1,'nlohmann::detail::json_reverse_iterator::reference()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a220ae98554a76205fb7f8822d36b2d5a',1,'nlohmann::basic_json::reference()']]], + ['reference_5ft',['reference_t',['../dc/df0/namespacenlohmann_1_1detail.html#a082bdafd3b4c61d9d1e92b35b8f75ee3',1,'nlohmann::detail']]], + ['reference_5ftokens',['reference_tokens',['../da/de8/classnlohmann_1_1json__pointer.html#a468dde132b1384d962c75eca7306f6cb',1,'nlohmann::json_pointer::reference_tokens()'],['../da/de8/classnlohmann_1_1json__pointer.html#a07a990a6838de4f38ee9d881e7b9fd61',1,'nlohmann::json_pointer::reference_tokens()']]], + ['reinterpret_5fbits',['reinterpret_bits',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#a1c5d30eb51e5e994a3f48bde104d2ce8',1,'nlohmann::detail::dtoa_impl']]], + ['rend',['rend',['../d9/dcc/classnlohmann_1_1basic__json.html#a7a328b29b290cc300345376c54f618cb',1,'nlohmann::basic_json::rend() noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a2e4cbf41d593d41847b90aea55e5e84d',1,'nlohmann::basic_json::rend() const noexcept']]], + ['replace',['replace',['../dc/df0/namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa9dde360102c103867bd2f45872f1129c',1,'nlohmann::detail']]], + ['replace_5fsubstring',['replace_substring',['../dc/df0/namespacenlohmann_1_1detail.html#aceff996baf082d6dc1873ad176d10609',1,'nlohmann::detail']]], + ['require_5finput_5fiter',['require_input_iter',['../d6/da7/structnlohmann_1_1ordered__map.html#a89cc338e8466e74baaa138664c79ee98',1,'nlohmann::ordered_map']]], + ['reset',['reset',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a3bda093837339813916d11fb6e396606',1,'nlohmann::detail::lexer']]], + ['result',['result',['../da/de8/classnlohmann_1_1json__pointer.html#ae3d35f4085faec07b87c88ba0dae457d',1,'nlohmann::json_pointer::result()'],['../da/de8/classnlohmann_1_1json__pointer.html#a8473b794a810d3fdb46cf985bfa9e2bb',1,'nlohmann::json_pointer::result()']]], + ['reverse_5fiterator',['reverse_iterator',['../d9/dcc/classnlohmann_1_1basic__json.html#a5b8c0ebedd920b507f4f7ff4e19bf3c6',1,'nlohmann::basic_json']]], + ['root',['root',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aef0477277389e399d7128898841b71c0',1,'nlohmann::detail::json_sax_dom_parser::root()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a7b12037ca38be3ddec09c42bd71080cc',1,'nlohmann::detail::json_sax_dom_callback_parser::root()']]] ]; diff --git a/docs/search/all_13.js b/docs/search/all_13.js index 0e99e971..085c17ea 100644 --- a/docs/search/all_13.js +++ b/docs/search/all_13.js @@ -1,6 +1,100 @@ var searchData= [ - ['wdesc',['wdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ad26bd872d417f6a9bff65768bb02e05f',1,'cudnn_frontend::Operation_v8']]], - ['what',['what',['../d9/dca/classcudnn__frontend_1_1cudnnException.html#a4f35e3466ff6ce0875631b810364364b',1,'cudnn_frontend::cudnnException']]], - ['workspace',['workspace',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a0f8d91939842bb9003fe71280f0b230c',1,'cudnn_frontend::VariantPack_v8']]] + ['sax',['sax',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aba4d89d9d38235f72f60332d6c385222',1,'nlohmann::detail::binary_reader']]], + ['sax_5fparse',['sax_parse',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ab4afd9ee276bbb15a0f898061aad94dd',1,'nlohmann::detail::binary_reader::sax_parse()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a073b8313a5194aac3a7d5da0d935788c',1,'nlohmann::detail::parser::sax_parse()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a12b382c6407da5543827ce4b24bb5008',1,'nlohmann::basic_json::sax_parse(InputType &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ab62241c2694a054818edf2f66d72f113',1,'nlohmann::basic_json::sax_parse(IteratorType first, IteratorType last, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aef9ef0a817ecde8bf270653e8706c150',1,'nlohmann::basic_json::sax_parse(detail::span_input_adapter &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)']]], + ['sax_5fparse_5finternal',['sax_parse_internal',['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a678fdebccc8ddd3242c67b6bce2f8f1a',1,'nlohmann::detail::parser']]], + ['sb',['sb',['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#aa94582dc8262cf35dfcfbe7b7fcd6c6c',1,'nlohmann::detail::input_stream_adapter']]], + ['scan',['scan',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a40320a8fef5f1f03b60c8b2f2f40af4d',1,'nlohmann::detail::lexer']]], + ['scan_5fcomment',['scan_comment',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#afdc68706ad20be93977cd0f97043ea7f',1,'nlohmann::detail::lexer']]], + ['scan_5fliteral',['scan_literal',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ad89dec0ac0f4e851925a0499e043b18b',1,'nlohmann::detail::lexer']]], + ['scan_5fnumber',['scan_number',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#aab51a28e32c1957329141baff8eda1c4',1,'nlohmann::detail::lexer']]], + ['scan_5fstring',['scan_string',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ab6352978e03ebcbc3cd618cd17142f26',1,'nlohmann::detail::lexer']]], + ['serializer',['serializer',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html',1,'nlohmann::detail::serializer< BasicJsonType >'],['../d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html#ac0718a48961f28e32604e1b16c6f2e8d',1,'nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer()'],['../df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html#a4bcee5e52902d3011df08cf0233e5e10',1,'nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer()'],['../d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html#a7af8dd95a01e7ca32f10075c9934b107',1,'nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer()'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ac010525281d97867ee842da37294fe83',1,'nlohmann::detail::serializer::serializer(output_adapter_t< char > s, const char ichar, error_handler_t error_handler_=error_handler_t::strict)'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ae3771351ec4cb892bec707edeb56dc31',1,'nlohmann::detail::serializer::serializer(const serializer &)=delete'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a28081304e70cca6b3042c101ee5c498c',1,'nlohmann::detail::serializer::serializer(serializer &&)=delete']]], + ['set_5fbegin',['set_begin',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a9d9b005906106e12aed738f97d7fee42',1,'nlohmann::detail::primitive_iterator_t']]], + ['set_5fend',['set_end',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#ad26a823483846a12d890c3feed3097eb',1,'nlohmann::detail::primitive_iterator_t::set_end()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a23e50ad4c13aa62d9ac7f60a123823ee',1,'nlohmann::detail::iter_impl::set_end()']]], + ['set_5ferror',['set_error',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a1748a5c560905314930c37b2ed1a54d2',1,'cudnn_frontend::BackendDescriptor']]], + ['set_5ferror_5fand_5fthrow_5fexception',['set_error_and_throw_exception',['../df/de1/namespacecudnn__frontend.html#a011f392961f07ab6de46a080e9a652a2',1,'cudnn_frontend']]], + ['set_5fparent',['set_parent',['../d9/dcc/classnlohmann_1_1basic__json.html#aee080f037758ca55531e98ce93097d4c',1,'nlohmann::basic_json']]], + ['set_5fparents',['set_parents',['../d9/dcc/classnlohmann_1_1basic__json.html#ade91330092a38c86ae056cca64a3647e',1,'nlohmann::basic_json::set_parents()'],['../d9/dcc/classnlohmann_1_1basic__json.html#accbd22113420ad6a31e375ceedc7334e',1,'nlohmann::basic_json::set_parents(iterator it, typename iterator::difference_type count)']]], + ['set_5fstatus',['set_status',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a3ef02443f20b90223baf5f1922505eab',1,'cudnn_frontend::BackendDescriptor']]], + ['set_5fsubtype',['set_subtype',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a63227e70c8b976fd6f65bb2d2d7dd021',1,'nlohmann::byte_container_with_subtype']]], + ['setalignment',['setAlignment',['../d3/d3c/group__TensorBuilder__v8.html#ga385ec2c39e6386af7421f27330ed128b',1,'cudnn_frontend::TensorBuilder_v8']]], + ['setalpha',['setAlpha',['../d3/d92/group__OperationBuilder__v8.html#gab4241b96e7374d821681e97259d39d83',1,'cudnn_frontend::OperationBuilder_v8::setAlpha(float alpha) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga3c63744504f65383ce0b847bea804e3f',1,'cudnn_frontend::OperationBuilder_v8::setAlpha(double alpha) -> OperationBuilder_v8 &']]], + ['setalpha2',['setAlpha2',['../d3/d92/group__OperationBuilder__v8.html#ga06cdcfeda1b702412be41addd73bb947',1,'cudnn_frontend::OperationBuilder_v8::setAlpha2(float alpha) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga459671e9d26640528fcf683aaeef05df',1,'cudnn_frontend::OperationBuilder_v8::setAlpha2(double alpha) -> OperationBuilder_v8 &']]], + ['setamatdesc',['setaMatDesc',['../d3/d92/group__OperationBuilder__v8.html#ga095c52c8f1b01ebb224265f9000195c0',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setbdesc',['setbDesc',['../d3/d92/group__OperationBuilder__v8.html#ga17475846760b10ffdfa536cd92a5b135',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setbeta',['setBeta',['../d3/d92/group__OperationBuilder__v8.html#ga65a9ad73912ff46becc93ee451da6af5',1,'cudnn_frontend::OperationBuilder_v8::setBeta(float beta) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga29752062b7308c8da0e625eb35431652',1,'cudnn_frontend::OperationBuilder_v8::setBeta(double beta) -> OperationBuilder_v8 &']]], + ['setbmatdesc',['setbMatDesc',['../d3/d92/group__OperationBuilder__v8.html#gaa8eed29a0181e044ea0263ba655127ec',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setcdesc',['setcDesc',['../d3/d92/group__OperationBuilder__v8.html#gaa82e018b6a9d514ad912b922f43adad2',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setchoice',['setChoice',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a542f95d42a6d118e3de1726720c12278',1,'cudnn_frontend::Engine_v8::Knob']]], + ['setclipping',['setClipping',['../d2/db5/group__PointWiseDescBuilder__v8.html#ga124ebb4a416c645cd0b68f59545c62a8',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['setcmatdesc',['setcMatDesc',['../d3/d92/group__OperationBuilder__v8.html#gaaf9d7cbc65c7c7526a6f15d4ad2952fa',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setdatapointers',['setDataPointers',['../d5/def/group__VariantPackBuilder__v8.html#ga79c6def790139cb04aff8c600559b802',1,'cudnn_frontend::VariantPackBuilder_v8::setDataPointers(int64_t num_ptr, void **ptrs) -> VariantPackBuilder_v8 &'],['../d5/def/group__VariantPackBuilder__v8.html#ga14d3ac479fd01c48a97583adfb567090',1,'cudnn_frontend::VariantPackBuilder_v8::setDataPointers(std::set< std::pair< uint64_t, void *>> const &data_pointers) -> VariantPackBuilder_v8 &']]], + ['setdatatype',['setDataType',['../d3/ddd/group__ConvDescBuilder__v8.html#gad8de00b0e7a86bdda61749e7572a35ac',1,'cudnn_frontend::ConvDescBuilder_v8::setDataType()'],['../d3/d3c/group__TensorBuilder__v8.html#ga98275e4d36e37ef5d73f13bd80f164a3',1,'cudnn_frontend::TensorBuilder_v8::setDataType()']]], + ['setdilation',['setDilation',['../d3/ddd/group__ConvDescBuilder__v8.html#gaa41e2cbbebc9d2fd19fa990a48b39d08',1,'cudnn_frontend::ConvDescBuilder_v8']]], + ['setdim',['setDim',['../d3/d3c/group__TensorBuilder__v8.html#gae828806e2d76ca3eb6c4e289f2e93a96',1,'cudnn_frontend::TensorBuilder_v8']]], + ['setdwdesc',['setdwDesc',['../d3/d92/group__OperationBuilder__v8.html#ga5e5d463d5531a9378280fa4b1aee6f63',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setdxdesc',['setdxDesc',['../d3/d92/group__OperationBuilder__v8.html#ga35fa5c453a6cd989f35e47c29e6ec665',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setdydesc',['setdyDesc',['../d3/d92/group__OperationBuilder__v8.html#ga08f3d4cb5138174127d0f6899f7bc53b',1,'cudnn_frontend::OperationBuilder_v8::setdyDesc(ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga9e4a1e9a233b44cca5b65f0af172b001',1,'cudnn_frontend::OperationBuilder_v8::setdyDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &']]], + ['setelualpha',['setEluAlpha',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a8bdbf27c37334f5b61a65eb1bd4b6a98',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['setengine',['setEngine',['../d2/dbb/group__EngineConfigBuilder__v8.html#ga9673b31268901dfcb97896958687a42a',1,'cudnn_frontend::EngineConfigBuilder_v8']]], + ['setengineconfig',['setEngineConfig',['../d4/de1/group__ExecutionPlanBuilder__v8.html#gac5c23cff8c1424f71ef2cee2dc66cd3c',1,'cudnn_frontend::ExecutionPlanBuilder_v8::setEngineConfig(EngineConfig_v8 const &engine_config_) -> ExecutionPlanBuilder_v8 &'],['../d4/de1/group__ExecutionPlanBuilder__v8.html#gae0f92d5445da53253ff3460ac6aefffa',1,'cudnn_frontend::ExecutionPlanBuilder_v8::setEngineConfig(ManagedOpaqueDescriptor &desc, std::string const &opGraphTag_="") -> ExecutionPlanBuilder_v8 &']]], + ['setglobalengineidx',['setGlobalEngineIdx',['../d3/d09/group__EngineBuilder__v8.html#ga2b171d44da46865d536236bb01103005',1,'cudnn_frontend::EngineBuilder_v8']]], + ['sethandle',['setHandle',['../d4/de1/group__ExecutionPlanBuilder__v8.html#ga4166679391fc2df54e25964c03ae6e8e',1,'cudnn_frontend::ExecutionPlanBuilder_v8::setHandle()'],['../d2/df5/group__OperationGraphBuilder__v8.html#ga5b5d8a3121e92a8a7d47341b424298f8',1,'cudnn_frontend::OperationGraphBuilder_v8::setHandle()']]], + ['setheurmode',['setHeurMode',['../dc/d99/group__EngineHeuristicsBuilder__v8.html#gaf2d783ca6a663aa50ffed2ccbc164812',1,'cudnn_frontend::EngineHeuristicsBuilder_v8']]], + ['setid',['setId',['../d3/d3c/group__TensorBuilder__v8.html#ga6bdaeab1bff548d375e57936b64fb05a',1,'cudnn_frontend::TensorBuilder_v8']]], + ['setmathmode',['setMathMode',['../d3/ddd/group__ConvDescBuilder__v8.html#ga3b752afba659c8e92e7ad1ca71d62f2f',1,'cudnn_frontend::ConvDescBuilder_v8']]], + ['setmathprecision',['setMathPrecision',['../d9/d08/group__MatMulDescBuilder__v8.html#ga5885f3eb7580cbe0cbe7243c4711c0f2',1,'cudnn_frontend::MatMulDescBuilder_v8::setMathPrecision()'],['../d2/db5/group__PointWiseDescBuilder__v8.html#ga3efa065fc125c5af06bd0a9c543bdb9f',1,'cudnn_frontend::PointWiseDescBuilder_v8::setMathPrecision()'],['../d8/d95/group__ReductionDescBuilder__v8.html#ga1822b91228b5f6b790cd7c2d77402cdb',1,'cudnn_frontend::ReductionDescBuilder_v8::setMathPrecision()']]], + ['setmatmuldesc',['setmatmulDesc',['../d3/d92/group__OperationBuilder__v8.html#ga3ca1f62832f998566c1b07b4b3c71db4',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setmode',['setMode',['../d2/db5/group__PointWiseDescBuilder__v8.html#ga48264536e68f952e92a0bdbaa84d9363',1,'cudnn_frontend::PointWiseDescBuilder_v8::setMode(cudnnPointwiseMode_t mode_) -> PointWiseDescBuilder_v8 &'],['../d2/db5/group__PointWiseDescBuilder__v8.html#gae5240136e19e0a4094036d48c6b1a3b7',1,'cudnn_frontend::PointWiseDescBuilder_v8::setMode(cudnnNanPropagation_t nan_mode_) -> PointWiseDescBuilder_v8 &']]], + ['setndims',['setNDims',['../d3/ddd/group__ConvDescBuilder__v8.html#gaacfcf20b0ed61e89bc92970f7bb7a258',1,'cudnn_frontend::ConvDescBuilder_v8']]], + ['setoperation',['setOperation',['../d4/d6b/group__EngineFallbackListBuilder__v8.html#gaf66485fe1a0faccab971edd0c70f04b4',1,'cudnn_frontend::EngineFallbackListBuilder_v8']]], + ['setoperationgraph',['setOperationGraph',['../d3/d09/group__EngineBuilder__v8.html#ga0ceef322363405504dbdc4d1f3c9949a',1,'cudnn_frontend::EngineBuilder_v8::setOperationGraph(OperationGraph_v8 const &opGraph_) -> EngineBuilder_v8 &'],['../d3/d09/group__EngineBuilder__v8.html#ga7220dab88f9fed1704c9d78d9771be5f',1,'cudnn_frontend::EngineBuilder_v8::setOperationGraph(ManagedOpaqueDescriptor desc_) -> EngineBuilder_v8 &'],['../d4/d6b/group__EngineFallbackListBuilder__v8.html#ga45c7c761a47a7731055ad0f943449610',1,'cudnn_frontend::EngineFallbackListBuilder_v8::setOperationGraph()'],['../dc/d99/group__EngineHeuristicsBuilder__v8.html#ga0554ac9347b7409e46f960b30f18dc68',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::setOperationGraph()'],['../d2/df5/group__OperationGraphBuilder__v8.html#ga4e4cee8d631471478d5de420077a2182',1,'cudnn_frontend::OperationGraphBuilder_v8::setOperationGraph()']]], + ['setpostpadding',['setPostPadding',['../d3/ddd/group__ConvDescBuilder__v8.html#ga44915183cb4dddcf23222faca3f84bba',1,'cudnn_frontend::ConvDescBuilder_v8']]], + ['setprepadding',['setPrePadding',['../d3/ddd/group__ConvDescBuilder__v8.html#gab07bf6292e69d19e6324d3073a86d58c',1,'cudnn_frontend::ConvDescBuilder_v8']]], + ['setpwdesc',['setpwDesc',['../d3/d92/group__OperationBuilder__v8.html#gae6b06877b2e675b2a390f0b122100669',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setreductiondesc',['setreductionDesc',['../d3/d92/group__OperationBuilder__v8.html#ga904279a29c2c5c949a0e487dd573ae0a',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setreductionop',['setReductionOp',['../d8/d95/group__ReductionDescBuilder__v8.html#gab00c3396fedc8b68356c426d19a54cf9',1,'cudnn_frontend::ReductionDescBuilder_v8']]], + ['setrelulowerclip',['setReluLowerClip',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#afdbe0ce3f7fb2f0d23251ccb7507bc69',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['setrelulowerclipslope',['setReluLowerClipSlope',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aa93615adf69e7a87a06d0cea687794a6',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['setreluupperclip',['setReluUpperClip',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a0514e70d05a21a9c46bc66d1e61c28f5',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['setsoftplusbeta',['setSoftplusBeta',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ab692e5a2b3970346f68af33530ef98e8',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['setstrides',['setStrides',['../d3/ddd/group__ConvDescBuilder__v8.html#ga2c481d46d71fe909247f50ba2772b7ce',1,'cudnn_frontend::ConvDescBuilder_v8::setStrides()'],['../d3/d3c/group__TensorBuilder__v8.html#ga3de3d95beb2234dc2a741d23703f8ed2',1,'cudnn_frontend::TensorBuilder_v8::setStrides()']]], + ['setswishbeta',['setSwishBeta',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aad41d0f7b6667383fd9012bc492a13c3',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['setuids',['setUids',['../d5/def/group__VariantPackBuilder__v8.html#gad6dc5c5087c2724ca88cc2668d7f829d',1,'cudnn_frontend::VariantPackBuilder_v8']]], + ['setvirtual',['setVirtual',['../d3/d3c/group__TensorBuilder__v8.html#ga7d5d978de243e47938eb1f224a38d02d',1,'cudnn_frontend::TensorBuilder_v8']]], + ['setwdesc',['setwDesc',['../d3/d92/group__OperationBuilder__v8.html#ga80466e517e980ba4953e085b3d4e3498',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setworkspacepointer',['setWorkspacePointer',['../d5/def/group__VariantPackBuilder__v8.html#ga3a7b9ac8c714db202a8f89a6110675b6',1,'cudnn_frontend::VariantPackBuilder_v8']]], + ['setxdesc',['setxDesc',['../d3/d92/group__OperationBuilder__v8.html#gaefa06fdaae3b28c6ef08a0189e2a3d3a',1,'cudnn_frontend::OperationBuilder_v8::setxDesc(ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga04c2492a5376f1a74a57fb49fa7b3599',1,'cudnn_frontend::OperationBuilder_v8::setxDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &']]], + ['setydesc',['setyDesc',['../d3/d92/group__OperationBuilder__v8.html#ga5910bc2209e1b648c1aa0edce7f11e01',1,'cudnn_frontend::OperationBuilder_v8']]], + ['size',['size',['../d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html#a6024bae596d01193397a7396af3aa19a',1,'nlohmann::detail::integer_sequence::size()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a33c7c8638bb0b12e6d1b69d8106dd2e0',1,'nlohmann::basic_json::size()']]], + ['size_5ftype',['size_type',['../d9/dcc/classnlohmann_1_1basic__json.html#a3ada29bca70b4965f6fd37ec1c8f85f7',1,'nlohmann::basic_json']]], + ['skip_5fbom',['skip_bom',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a7cd7d55de2cd398660bc243c7229caf9',1,'nlohmann::detail::lexer']]], + ['skip_5fwhitespace',['skip_whitespace',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a449f3f3703dfbf8b757e12f002668604',1,'nlohmann::detail::lexer']]], + ['softplus_5fbeta',['softplus_beta',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a346bf4a4ca5e45b0f19dc8f2fb6b6148',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['span_5finput_5fadapter',['span_input_adapter',['../da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html',1,'nlohmann::detail::span_input_adapter'],['../da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html#a3a328a45b2c2c87145106ce4b2d02365',1,'nlohmann::detail::span_input_adapter::span_input_adapter(CharT b, std::size_t l)'],['../da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html#a714c6cf8e15b9af4e1723d9f7f92d4c8',1,'nlohmann::detail::span_input_adapter::span_input_adapter(IteratorType first, IteratorType last)']]], + ['split',['split',['../da/de8/classnlohmann_1_1json__pointer.html#ae01c32c6a071c2e5198d5dfcce290e50',1,'nlohmann::json_pointer']]], + ['start_5farray',['start_array',['../d0/d82/structnlohmann_1_1json__sax.html#a5c53878cf08d463eb4e7ca0270532572',1,'nlohmann::json_sax::start_array()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a056b895d011efaf48ea096c024aca0d4',1,'nlohmann::detail::json_sax_dom_parser::start_array()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a5255b98ba8282e3625968f91cff9d3d0',1,'nlohmann::detail::json_sax_dom_callback_parser::start_array()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a8238e8090cbb4ed8a22cbc97bfb833a5',1,'nlohmann::detail::json_sax_acceptor::start_array()']]], + ['start_5farray_5ffunction_5ft',['start_array_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a80273cecc45765d7b2826ec931fbffdd',1,'nlohmann::detail']]], + ['start_5fobject',['start_object',['../d0/d82/structnlohmann_1_1json__sax.html#a0671528b0debb5a348169d61f0382a0f',1,'nlohmann::json_sax::start_object()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a9929b4cc92d471c49bd0a92802629f90',1,'nlohmann::detail::json_sax_dom_parser::start_object()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a040e60243cc7c18a6078c6b83cdb4a81',1,'nlohmann::detail::json_sax_dom_callback_parser::start_object()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a822bbca11a9fea0aa337018e351755f5',1,'nlohmann::detail::json_sax_acceptor::start_object()']]], + ['start_5fobject_5ffunction_5ft',['start_object_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a5fff1e6dcaabd367d9b1109a5682f9d4',1,'nlohmann::detail']]], + ['state',['state',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a39b0975f219b542d7ca633652e925b4c',1,'nlohmann::detail::serializer']]], + ['static_5fconst',['static_const',['../d1/d9b/structnlohmann_1_1detail_1_1static__const.html',1,'nlohmann::detail']]], + ['status',['status',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a10487abe0a45d35824ec75b0d3894f21',1,'cudnn_frontend::OpaqueBackendPointer::status()'],['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a8a5466c444f2de721118334ac876c6ba',1,'cudnn_frontend::BackendDescriptor::status()']]], + ['str',['str',['../d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html#ae57cf7d5c5ec641e25860bb9fb8e6cb9',1,'nlohmann::detail::output_string_adapter']]], + ['stream',['stream',['../d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html#aacc26af02e1e5a988bc5dbfb723b5562',1,'nlohmann::detail::output_stream_adapter']]], + ['strict',['strict',['../dc/df0/namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa2133fd717402a7966ee88d06f9e0b792',1,'nlohmann::detail']]], + ['stride',['stride',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#ac513728c785a54ef86612a0bd6fa0f1a',1,'cudnn_frontend::ConvDesc_v8::stride()'],['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a8342ab30dbe0e86d8d060983f14aba87',1,'cudnn_frontend::Engine_v8::Knob::stride()']]], + ['string',['string',['../d9/dcc/classnlohmann_1_1basic__json.html#ac32019eb29dc7bb4c326a233e0e2f0cb',1,'nlohmann::basic_json::string()'],['../d0/d82/structnlohmann_1_1json__sax.html#a07eab82f6c82d606787eee9ad73d2bda',1,'nlohmann::json_sax::string()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a851d965082d20a726138f5d0330dc7d8',1,'nlohmann::detail::json_sax_dom_parser::string()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ad94e912a67c7b96158937236805b8b47',1,'nlohmann::detail::json_sax_dom_callback_parser::string()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#aaa69255e757a6ecc4403a2aa4931fc60',1,'nlohmann::detail::json_sax_acceptor::string()'],['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985ab45cffe084dd3d20d928bee85e7b0f21',1,'nlohmann::detail::string()']]], + ['string_5fbuffer',['string_buffer',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a9c9b7ca63a66e59e5e7ffe8a2acf5c8f',1,'nlohmann::detail::serializer']]], + ['string_5ffunction_5ft',['string_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a27c3fc3bd42ac406f763184aa8ae4cb0',1,'nlohmann::detail']]], + ['string_5ft',['string_t',['../d0/d82/structnlohmann_1_1json__sax.html#ae01977a9f3c5b3667b7a2929ed91061e',1,'nlohmann::json_sax::string_t()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#afd4d961ab2a6b01cbe6e840f7fb90cdc',1,'nlohmann::detail::json_sax_dom_parser::string_t()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a00e7d95d82d5d8a43421526a42a8eabc',1,'nlohmann::detail::json_sax_dom_callback_parser::string_t()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a3a8078bbf865ec355106f6048241609a',1,'nlohmann::detail::json_sax_acceptor::string_t()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#af85c01fd669d529ab93a9e1d80b62015',1,'nlohmann::detail::lexer::string_t()'],['../dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#ad8e2e1427ff43536370b6db6ab83ae50',1,'nlohmann::detail::is_sax::string_t()'],['../d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#a067c98d2145bb54d862f4794ac1287bb',1,'nlohmann::detail::is_sax_static_asserts::string_t()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a823c244e5dbf1a8edae40819f9434237',1,'nlohmann::detail::binary_reader::string_t()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a4c46f613c87af09f56679253dce768e4',1,'nlohmann::detail::parser::string_t()'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a29f2ae7a5c4a8c1dae47b3b2310de8a8',1,'nlohmann::detail::binary_writer::string_t()'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ad08aa54fac1dd0a453320c54137d45ba',1,'nlohmann::detail::serializer::string_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a33593865ffb1860323dcbd52425b90c8',1,'nlohmann::basic_json::string_t()']]], + ['string_5ftype',['string_type',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a1fc63b88a585fa39942007aab69a74e6',1,'nlohmann::detail::iteration_proxy_value']]], + ['strtof',['strtof',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a6d3dffb7bb247a7fd7276d49d3a00dc8',1,'nlohmann::detail::lexer::strtof(float &f, const char *str, char **endptr) noexcept'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ac8455259d8a06acd2a284a5dd7221aea',1,'nlohmann::detail::lexer::strtof(double &f, const char *str, char **endptr) noexcept'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ae01f87db7819a05d0ed17bcb665442e1',1,'nlohmann::detail::lexer::strtof(long double &f, const char *str, char **endptr) noexcept']]], + ['sub',['sub',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#aeb26771af54ad73598c1a0430d65d884',1,'nlohmann::detail::dtoa_impl::diyfp']]], + ['subtype',['subtype',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#ac3ca9d09e55342f9588404e1dc2222f0',1,'nlohmann::byte_container_with_subtype']]], + ['swap',['swap',['../d9/dcc/classnlohmann_1_1basic__json.html#a94295a06e0e7b3867fe83afbee4cb202',1,'nlohmann::basic_json::swap(reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aee0ae36cbfb0336832ebc0374c3c7679',1,'nlohmann::basic_json::swap()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a76126242de262f6d38cadda19e0d13e1',1,'nlohmann::basic_json::swap(array_t &other)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a57b86bdcfc55557dacc36969adb0417e',1,'nlohmann::basic_json::swap(object_t &other)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aac916df9561daf4eaf2372119fe91899',1,'nlohmann::basic_json::swap(string_t &other)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aa242e339ebc7583e114f2167a83f8c90',1,'nlohmann::basic_json::swap(binary_t &other)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a749a1f5091a5e63ccfe919e0aef986af',1,'nlohmann::basic_json::swap(typename binary_t::container_type &other)']]], + ['swap_3c_20nlohmann_3a_3ajson_20_3e',['swap< nlohmann::json >',['../d5/db8/json_8hpp.html#af3f2c23f946bf81b153b863b4acf6bb3',1,'std']]], + ['swish_5fbeta',['swish_beta',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#aff19ca9077ac2dca8a9f78df586e11db',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['switch',['switch',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#abc2f80067020fae59d7fbccf39f1547a',1,'nlohmann::detail::iter_impl']]] ]; diff --git a/docs/search/all_14.js b/docs/search/all_14.js index bea11e8c..c0b7ec52 100644 --- a/docs/search/all_14.js +++ b/docs/search/all_14.js @@ -1,4 +1,32 @@ var searchData= [ - ['xdesc',['xdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a01d1997ae84b86c0565351910bba3416',1,'cudnn_frontend::Operation_v8']]] + ['tensor',['Tensor',['../df/de1/namespacecudnn__frontend.html#aa20fd945a531e0a3a5007e65fe917770',1,'cudnn_frontend']]], + ['tensor_5fv8',['Tensor_v8',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html',1,'cudnn_frontend::Tensor_v8'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a9df78edb662e32a63680281eb33a14a8',1,'cudnn_frontend::Tensor_v8::Tensor_v8(Tensor_v8 &&from)'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ab48b1728d6978407f0bdbf0227de6f82',1,'cudnn_frontend::Tensor_v8::Tensor_v8()=default'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a5f2703668235c18d063174ccca285457',1,'cudnn_frontend::Tensor_v8::Tensor_v8(Tensor_v8 const &)=delete']]], + ['tensorbuilder',['TensorBuilder',['../df/de1/namespacecudnn__frontend.html#a9fea2e22198aaf2ea11a0df46abd0749',1,'cudnn_frontend']]], + ['tensorbuilder_5fv8',['TensorBuilder_v8',['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html',1,'cudnn_frontend::TensorBuilder_v8'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a14f9c4498f4be5b3c2b0a94c708891fb',1,'cudnn_frontend::Tensor_v8::TensorBuilder_v8()'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a9d57810fb6d58f5152e5a1bbc55fc5dd',1,'cudnn_frontend::TensorBuilder_v8::TensorBuilder_v8()=default'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a8f8b7d7da3675d69e7f09bec21735656',1,'cudnn_frontend::TensorBuilder_v8::TensorBuilder_v8(TensorBuilder_v8 &&)=delete'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#abcc771bbe9e1791afc10c686f90c2188',1,'cudnn_frontend::TensorBuilder_v8::TensorBuilder_v8(TensorBuilder_v8 const &)=delete'],['../d3/d3c/group__TensorBuilder__v8.html',1,'(Global Namespace)']]], + ['thousands_5fsep',['thousands_sep',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a78a6ae833bb6cf7f00cb0d51db114b14',1,'nlohmann::detail::serializer']]], + ['throw_5fif',['throw_if',['../df/de1/namespacecudnn__frontend.html#a1690523b8a133acefaeabc725032e21c',1,'cudnn_frontend::throw_if(std::function< bool()> expr, const char *message)'],['../df/de1/namespacecudnn__frontend.html#a6b0bb5ee1f6d6491a7d53a01ae947dee',1,'cudnn_frontend::throw_if(bool expr, const char *message)']]], + ['time_5fms',['time_ms',['../d6/d1b/structcudnn__frontend_1_1executionOption.html#a56b496b09272c352b557d793adc3acf1',1,'cudnn_frontend::executionOption']]], + ['time_5fsorted_5fplan',['time_sorted_plan',['../df/de1/namespacecudnn__frontend.html#a148478701949f58a44912cc61dbda1e4',1,'cudnn_frontend']]], + ['to_5fbson',['to_bson',['../d9/dcc/classnlohmann_1_1basic__json.html#aa62d64781b217372225a0652047d8cf3',1,'nlohmann::basic_json::to_bson(const basic_json &j)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a668e4c2ad9808218a25879700f4aef2b',1,'nlohmann::basic_json::to_bson(const basic_json &j, detail::output_adapter< uint8_t > o)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a9ebed178fb7dad1a574bcb7c361fb1b8',1,'nlohmann::basic_json::to_bson(const basic_json &j, detail::output_adapter< char > o)']]], + ['to_5fcbor',['to_cbor',['../d9/dcc/classnlohmann_1_1basic__json.html#adabcf74c9c868da3e04a5546b7705af4',1,'nlohmann::basic_json::to_cbor(const basic_json &j)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a2becf604016783e5644eaa7782a08683',1,'nlohmann::basic_json::to_cbor(const basic_json &j, detail::output_adapter< uint8_t > o)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a5689672954fd3bc38f2f17e5607064c6',1,'nlohmann::basic_json::to_cbor(const basic_json &j, detail::output_adapter< char > o)']]], + ['to_5fchar_5ftype',['to_char_type',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ab77aa48692bd4e64e4f051ce6aeb6d2d',1,'nlohmann::detail::binary_writer::to_char_type(std::uint8_t x) noexcept'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a5e46f0dd3550901b15cf85265808d1ec',1,'nlohmann::detail::binary_writer::to_char_type(std::uint8_t x) noexcept'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ab77aa48692bd4e64e4f051ce6aeb6d2d',1,'nlohmann::detail::binary_writer::to_char_type(std::uint8_t x) noexcept'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a2c2b2132ce56b3b45593374b622baa67',1,'nlohmann::detail::binary_writer::to_char_type(InputCharType x) noexcept']]], + ['to_5fchars',['to_chars',['../dc/df0/namespacenlohmann_1_1detail.html#a6cca370ac6c99294dbe4fe24716a57dd',1,'nlohmann::detail']]], + ['to_5fjson',['to_json',['../dc/dc7/structnlohmann_1_1adl__serializer.html#afdcc8f0204ce8ac7d28a5403f6e1f0e7',1,'nlohmann::adl_serializer::to_json()'],['../dc/df0/namespacenlohmann_1_1detail.html#a1a804b98cbe89b7e44b698f2ca860490',1,'nlohmann::detail::to_json(BasicJsonType &j, T b) noexcept'],['../dc/df0/namespacenlohmann_1_1detail.html#a7356ed05cdbbb080cee80e1211e1c6c9',1,'nlohmann::detail::to_json(BasicJsonType &j, const CompatibleString &s)'],['../dc/df0/namespacenlohmann_1_1detail.html#a4aa1ca6b7c61bf19d1f30ea5b669f68e',1,'nlohmann::detail::to_json(BasicJsonType &j, typename BasicJsonType::string_t &&s)'],['../dc/df0/namespacenlohmann_1_1detail.html#a22bffdc8bc7e43af380ba2050696b230',1,'nlohmann::detail::to_json(BasicJsonType &j, FloatType val) noexcept'],['../dc/df0/namespacenlohmann_1_1detail.html#ae5fd66b5517b3b5a6c6b9fd9f29ba8dc',1,'nlohmann::detail::to_json(BasicJsonType &j, CompatibleNumberUnsignedType val) noexcept'],['../dc/df0/namespacenlohmann_1_1detail.html#a91fe576be579c8c2fdd14610605c6dd2',1,'nlohmann::detail::to_json(BasicJsonType &j, CompatibleNumberIntegerType val) noexcept'],['../dc/df0/namespacenlohmann_1_1detail.html#a0c8b159dba71981d6c555d284cf6e2bf',1,'nlohmann::detail::to_json(BasicJsonType &j, EnumType e) noexcept'],['../dc/df0/namespacenlohmann_1_1detail.html#aeca6fb5fede5ed1e12a4420d98a5692b',1,'nlohmann::detail::to_json(BasicJsonType &j, const std::vector< bool > &e)'],['../dc/df0/namespacenlohmann_1_1detail.html#a3afebc132c5ff83f9cd160e52030fdfd',1,'nlohmann::detail::to_json(BasicJsonType &j, const CompatibleArrayType &arr)'],['../dc/df0/namespacenlohmann_1_1detail.html#a22191081208b226e3875e1118107c281',1,'nlohmann::detail::to_json(BasicJsonType &j, const typename BasicJsonType::binary_t &bin)'],['../dc/df0/namespacenlohmann_1_1detail.html#a7f7c7b9760161b774cdc0b4b838fae64',1,'nlohmann::detail::to_json(BasicJsonType &j, const std::valarray< T > &arr)'],['../dc/df0/namespacenlohmann_1_1detail.html#aa0fd1b5788e9ba37e31da43dda738cb5',1,'nlohmann::detail::to_json(BasicJsonType &j, typename BasicJsonType::array_t &&arr)'],['../dc/df0/namespacenlohmann_1_1detail.html#a24c9c12f3839c94e09532f08de85e949',1,'nlohmann::detail::to_json(BasicJsonType &j, const CompatibleObjectType &obj)'],['../dc/df0/namespacenlohmann_1_1detail.html#ac9f7a5542851c61d93740148eaec509f',1,'nlohmann::detail::to_json(BasicJsonType &j, typename BasicJsonType::object_t &&obj)'],['../dc/df0/namespacenlohmann_1_1detail.html#a20ea5175c8999fc8b673e46b892f71f6',1,'nlohmann::detail::to_json(BasicJsonType &j, const T(&arr)[N])'],['../dc/df0/namespacenlohmann_1_1detail.html#ab64eeb55b44db44eb8e9070229eb97df',1,'nlohmann::detail::to_json(BasicJsonType &j, const std::pair< T1, T2 > &p)'],['../dc/df0/namespacenlohmann_1_1detail.html#aaa77b0c9745130b77733a92a1a2e82ec',1,'nlohmann::detail::to_json(BasicJsonType &j, const T &b)']]], + ['to_5fjson_5ffn',['to_json_fn',['../d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.html',1,'nlohmann::detail']]], + ['to_5fjson_5ffunction',['to_json_function',['../dc/df0/namespacenlohmann_1_1detail.html#af846b6cf2f926009ff3a7a61495ca383',1,'nlohmann::detail']]], + ['to_5fjson_5ftuple_5fimpl',['to_json_tuple_impl',['../dc/df0/namespacenlohmann_1_1detail.html#a510dfa15b01e9a8afe31600a27b28199',1,'nlohmann::detail']]], + ['to_5fmsgpack',['to_msgpack',['../d9/dcc/classnlohmann_1_1basic__json.html#a99b15bcaee410426b937eacc6e47d771',1,'nlohmann::basic_json::to_msgpack(const basic_json &j)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aa8fe46eda86f6f92c5599c20b6c81819',1,'nlohmann::basic_json::to_msgpack(const basic_json &j, detail::output_adapter< uint8_t > o)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aca5dc0fca52131f3a634372120abfbe7',1,'nlohmann::basic_json::to_msgpack(const basic_json &j, detail::output_adapter< char > o)']]], + ['to_5fstring',['to_string',['../da/de8/classnlohmann_1_1json__pointer.html#a3d4b15d32d096e3776c5d2c773b524f5',1,'nlohmann::json_pointer::to_string()'],['../d3/d9b/namespacenlohmann.html#a6ce645a0b8717757e096a5b5773b7a16',1,'nlohmann::to_string()']]], + ['to_5fubjson',['to_ubjson',['../d9/dcc/classnlohmann_1_1basic__json.html#a25355b9719db23b189fb5f6a8f4f16c4',1,'nlohmann::basic_json::to_ubjson(const basic_json &j, const bool use_size=false, const bool use_type=false)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a19dad92c4fe9e6a289a93195e1230e97',1,'nlohmann::basic_json::to_ubjson(const basic_json &j, detail::output_adapter< uint8_t > o, const bool use_size=false, const bool use_type=false)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a6d133cf7b2e729e9e215edeba5726116',1,'nlohmann::basic_json::to_ubjson(const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false)']]], + ['token_5fbuffer',['token_buffer',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ac4eaf39567bd5f0750e5d7e913fb474d',1,'nlohmann::detail::lexer']]], + ['token_5fstring',['token_string',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a94aec416b883f742ba7f20bd16adb3c3',1,'nlohmann::detail::lexer']]], + ['token_5ftype',['token_type',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454',1,'nlohmann::detail::lexer_base::token_type()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a986907dff5ceb4fa06aa8ff301822726',1,'nlohmann::detail::lexer::token_type()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a5cb5ea47f09f116e71a908c556325710',1,'nlohmann::detail::parser::token_type()']]], + ['token_5ftype_5fname',['token_type_name',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#ad214d59300605f9d3a4a32c8917aa608',1,'nlohmann::detail::lexer_base']]], + ['traits',['traits',['../d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html#a1cbceaaa83a3ad294c3cb66b9df48e78',1,'nlohmann::detail::is_iterator_traits< iterator_traits< T > >']]], + ['tuple_5felement_3c_20n_2c_20_3a_3anlohmann_3a_3adetail_3a_3aiteration_5fproxy_5fvalue_3c_20iteratortype_20_3e_20_3e',['tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >',['../dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html',1,'std']]], + ['tuple_5fsize_3c_3a_3anlohmann_3a_3adetail_3a_3aiteration_5fproxy_5fvalue_3c_20iteratortype_20_3e_20_3e',['tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >',['../da/d86/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html',1,'std']]], + ['type',['type',['../db/d0a/classstd_1_1conditional_1_1type.html',1,'type'],['../de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.html#a75d2738748868859f358e87d3b89f6fc',1,'nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 >::type()'],['../d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.html#a92558ed5df85e65e1a68ec1de14e2a7c',1,'nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 >::type()'],['../d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.html#a1d6f2c7fb3fa065bf8cf6e6e3544dcef',1,'nlohmann::detail::utility_internal::Gen::type()'],['../d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.html#aa0c393a15d2fb6a2de5b93facb192f8f',1,'nlohmann::detail::utility_internal::Gen< T, 0 >::type()'],['../d3/d72/structnlohmann_1_1detail_1_1make__void.html#a8961e24ae3b2cb65ec47d1ce805d94e4',1,'nlohmann::detail::make_void::type()'],['../dd/d10/structnlohmann_1_1detail_1_1detector.html#a0cd69423587748bf3d3d702cc7b7c2ce',1,'nlohmann::detail::detector::type()'],['../d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html#a5afd6a40e94dde21d120ac646468c495',1,'nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >::type()'],['../dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html#ace1dfdb74841c2f58c064a50598188fd',1,'std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >::type()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a5b7c4b35a0ad9f97474912a08965d7ad',1,'nlohmann::basic_json::type()']]], + ['type_5ferror',['type_error',['../da/d1c/classnlohmann_1_1detail_1_1type__error.html',1,'nlohmann::detail::type_error'],['../d9/dcc/classnlohmann_1_1basic__json.html#ace5bf851eafe85bd6332f978991bc11c',1,'nlohmann::basic_json::type_error()'],['../da/d1c/classnlohmann_1_1detail_1_1type__error.html#aa01edaa0bf18b853368f0b900e485cd7',1,'nlohmann::detail::type_error::type_error()']]], + ['type_5fname',['type_name',['../d9/dcc/classnlohmann_1_1basic__json.html#a459dbfcd47bd632ca82ca8ff8db278c8',1,'nlohmann::basic_json']]] ]; diff --git a/docs/search/all_15.js b/docs/search/all_15.js index dde68e86..07d666e7 100644 --- a/docs/search/all_15.js +++ b/docs/search/all_15.js @@ -1,4 +1,20 @@ var searchData= [ - ['ydesc',['ydesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a81e9b10c7231ba9ffba37f7fab531a69',1,'cudnn_frontend::Operation_v8']]] + ['ubjson',['ubjson',['../dc/df0/namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40a4537f20910e85437f6d07701864084e8',1,'nlohmann::detail']]], + ['ubjson_5fprefix',['ubjson_prefix',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a4c129249a5aee8e4ec8add6c6184e4f7',1,'nlohmann::detail::binary_writer']]], + ['uid',['uid',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a5c3371913fd88b20557bcc4d8ef93219',1,'cudnn_frontend::VariantPack_v8']]], + ['uncvref_5ft',['uncvref_t',['../dc/df0/namespacenlohmann_1_1detail.html#a53a082eedad9f4729fcd8fed552a21f7',1,'nlohmann::detail']]], + ['undumped_5fchars',['undumped_chars',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a814f27bba20f0e109d0dbcaa4a399415',1,'nlohmann::detail::serializer']]], + ['unescape',['unescape',['../dc/df0/namespacenlohmann_1_1detail.html#a0b76dc40f2f2c2f983b6b7f74976cc89',1,'nlohmann::detail']]], + ['unexpect_5feof',['unexpect_eof',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a61a0bd8bbe7b560bd429fa990ba3ba1a',1,'nlohmann::detail::binary_reader']]], + ['unflatten',['unflatten',['../da/de8/classnlohmann_1_1json__pointer.html#a920065221e3c81676c3211c100d024a7',1,'nlohmann::json_pointer::unflatten()'],['../d9/dcc/classnlohmann_1_1basic__json.html#adea158bff8642202420898f6322da479',1,'nlohmann::basic_json::unflatten()']]], + ['unget',['unget',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ab5811afe1c3efb0b769f7733b8373c6f',1,'nlohmann::detail::lexer']]], + ['uninitialized',['uninitialized',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a42dd1a73d072bb6bf3f494f22b15db8e',1,'nlohmann::detail::lexer_base']]], + ['update',['update',['../d9/dcc/classnlohmann_1_1basic__json.html#a377819905d567f6f523dcbc592cb6356',1,'nlohmann::basic_json::update(const_reference j)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a9f9e5f668474280acc9bd7f5410b9392',1,'nlohmann::basic_json::update(const_iterator first, const_iterator last)']]], + ['upper_5fclip',['upper_clip',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#afcb75336d3b99afcec3bb947c1f1a0e8',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['utf8_5faccept',['UTF8_ACCEPT',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a2311a8c756c4a119aa82cd55301d13bc',1,'nlohmann::detail::serializer']]], + ['utf8_5fbytes',['utf8_bytes',['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#af6bded96214b2fe8edd142d92141550e',1,'nlohmann::detail::wide_string_input_adapter']]], + ['utf8_5fbytes_5ffilled',['utf8_bytes_filled',['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a8966550e615e62978b01d3a252b9c649',1,'nlohmann::detail::wide_string_input_adapter']]], + ['utf8_5fbytes_5findex',['utf8_bytes_index',['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a2a1884713fedff6c17cdbbe63070d1ac',1,'nlohmann::detail::wide_string_input_adapter']]], + ['utf8_5freject',['UTF8_REJECT',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a833bd5805e4380549f4e21c304820d6d',1,'nlohmann::detail::serializer']]] ]; diff --git a/docs/search/all_16.js b/docs/search/all_16.js index 89884ee0..f35121e1 100644 --- a/docs/search/all_16.js +++ b/docs/search/all_16.js @@ -1,27 +1,20 @@ var searchData= [ - ['_7econvdesc_5fv8',['~ConvDesc_v8',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a0d930ada709a855c86b2857a1b155d02',1,'cudnn_frontend::ConvDesc_v8']]], - ['_7econvdescbuilder_5fv8',['~ConvDescBuilder_v8',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#ae75d5fd1c3fb6b51072f2c9b211477eb',1,'cudnn_frontend::ConvDescBuilder_v8']]], - ['_7eengine_5fv8',['~Engine_v8',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#af58a8aa09f22e048d51e619e36b4cbef',1,'cudnn_frontend::Engine_v8']]], - ['_7eenginebuilder_5fv8',['~EngineBuilder_v8',['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a8a300ec39fc764b86058acf8a9406d89',1,'cudnn_frontend::EngineBuilder_v8']]], - ['_7eengineconfig_5fv8',['~EngineConfig_v8',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a058e432452f5cd570cbf4e69d7d53eea',1,'cudnn_frontend::EngineConfig_v8']]], - ['_7eengineconfigbuilder_5fv8',['~EngineConfigBuilder_v8',['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a49eedc731d95df1f21e353a9a9511cfd',1,'cudnn_frontend::EngineConfigBuilder_v8']]], - ['_7eenginefallbacklist_5fv8',['~EngineFallbackList_v8',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a62dd89e142b11917507a48b2ac3dd047',1,'cudnn_frontend::EngineFallbackList_v8']]], - ['_7eenginefallbacklistbuilder_5fv8',['~EngineFallbackListBuilder_v8',['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a28651c04cd22f3ebe037b99627ddbd62',1,'cudnn_frontend::EngineFallbackListBuilder_v8']]], - ['_7eengineheuristics_5fv8',['~EngineHeuristics_v8',['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a2261e27dacfdad755d625692aa20f290',1,'cudnn_frontend::EngineHeuristics_v8']]], - ['_7eengineheuristicsbuilder_5fv8',['~EngineHeuristicsBuilder_v8',['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a8740e967b981abf94dc2c53eb8786ceb',1,'cudnn_frontend::EngineHeuristicsBuilder_v8']]], - ['_7eexecutionplan_5fv8',['~ExecutionPlan_v8',['../d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#a8a8ac13b1c639dd9b87c280a598446af',1,'cudnn_frontend::ExecutionPlan_v8']]], - ['_7eexecutionplanbuilder_5fv8',['~ExecutionPlanBuilder_v8',['../d7/d0d/group__ExecutionPlanQuery.html#gae3f841de1b6461b31bf7967734a70a8a',1,'cudnn_frontend::ExecutionPlanBuilder_v8']]], - ['_7ematmuldesc_5fv8',['~MatMulDesc_v8',['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ad27b038b19b218067bd30e60d94fd672',1,'cudnn_frontend::MatMulDesc_v8']]], - ['_7ematmuldescbuilder_5fv8',['~MatMulDescBuilder_v8',['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a3f5790e5ada9a1785d9daf4246ea8de3',1,'cudnn_frontend::MatMulDescBuilder_v8']]], - ['_7eopaquebackendpointer',['~OpaqueBackendPointer',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a9f549dd95873ac3a02689ef97f4a6c75',1,'cudnn_frontend::OpaqueBackendPointer']]], - ['_7eoperation_5fv8',['~Operation_v8',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a67d82f53ecbdfe2416d2a26410138d78',1,'cudnn_frontend::Operation_v8']]], - ['_7eoperationgraph_5fv8',['~OperationGraph_v8',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#aeb42611a38c4951e66cd23108d53353c',1,'cudnn_frontend::OperationGraph_v8']]], - ['_7eoperationgraphbuilder_5fv8',['~OperationGraphBuilder_v8',['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a45e8a324d62146f592b049f51d2e4552',1,'cudnn_frontend::OperationGraphBuilder_v8']]], - ['_7epointwisedesc_5fv8',['~PointWiseDesc_v8',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a44917fdd66ea262687c0f0af3ef3b424',1,'cudnn_frontend::PointWiseDesc_v8']]], - ['_7epointwisedescbuilder_5fv8',['~PointWiseDescBuilder_v8',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#af976fab4a7726609a1b10dc2a8bcdf65',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['_7etensor_5fv8',['~Tensor_v8',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a5a402bf5c68021711d9d9ec8fd4c1001',1,'cudnn_frontend::Tensor_v8']]], - ['_7etensorbuilder_5fv8',['~TensorBuilder_v8',['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a2c9dcbe8acfe079ad14801c7cda0fe29',1,'cudnn_frontend::TensorBuilder_v8']]], - ['_7evariantpack_5fv8',['~VariantPack_v8',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a55a7b12efe39ed7a24631ed05630721d',1,'cudnn_frontend::VariantPack_v8']]], - ['_7evariantpackbuilder_5fv8',['~VariantPackBuilder_v8',['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a27a6e5a2602262c35a8ea8533ef5a635',1,'cudnn_frontend::VariantPackBuilder_v8']]] + ['v',['v',['../d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html#a9b1ed9fba14e671ae1abb6692560ef3f',1,'nlohmann::detail::output_vector_adapter']]], + ['value',['value',['../d1/d9b/structnlohmann_1_1detail_1_1static__const.html#a6bb7ab2ddd6abc41fb4ffb7c6dfa237e',1,'nlohmann::detail::static_const::value()'],['../de/dbc/structnlohmann_1_1detail_1_1is__getable.html#a2150b5b5398683147928a61c99cd0070',1,'nlohmann::detail::is_getable::value()'],['../d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html#a4d1c8c5e3080360d4ba3d4701b00d442',1,'nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value()'],['../df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html#a5d5bc2b9f1c107696d64d92cf6b5d0d7',1,'nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value()'],['../d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html#a25600efc3dbab20cebe1a90f97505d6a',1,'nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value()'],['../d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html#ac2711760b352b8921accc6609957dc90',1,'nlohmann::detail::is_iterator_traits< iterator_traits< T > >::value()'],['../d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html#a74b723d759119148c44a5e0899956a72',1,'nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >::value()'],['../d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html#a50418a0a88d63afbf7246af49f3e554c',1,'nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >::value()'],['../d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html#adac1e17a2ddf9ac94be736e96e8943a9',1,'nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >::value()'],['../df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html#a3aeae0de0fc37bd5acf3c9d39b132678',1,'nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >::value()'],['../dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html#ab4a4e921f0676b2e25d1031ca486ddee',1,'nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >::value()'],['../db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.html#a6ae337e4735fd1e84675a7a0eabc09aa',1,'nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >::value()'],['../d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html#a8fd20d5e7d65d14b4e9f4ee181a3aded',1,'nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >::value()'],['../d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html#a1e4cacef2d41bdc682a1e2946edb0a41',1,'nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >::value()'],['../dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#a8ab7e51087000e948b4a2492257484dc',1,'nlohmann::detail::is_sax::value()'],['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#ab8e33bd01c285a1a80b737a1905ceb97',1,'nlohmann::detail::iteration_proxy_value::value()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ab447c50354c6611fa2ae0100ac17845c',1,'nlohmann::detail::iter_impl::value()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#ae22803d442d483041d17239615f83b58',1,'nlohmann::detail::json_reverse_iterator::value()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a11641b35219676b225d9bd15c7677659',1,'nlohmann::basic_json::value(const typename object_t::key_type &key, const ValueType &default_value) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#adcfdefe95d5c2471a5c97e911d46ee88',1,'nlohmann::basic_json::value(const typename object_t::key_type &key, const char *default_value) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a36bd6765ccd8aeeeb4e49a766ba639df',1,'nlohmann::basic_json::value(const json_pointer &ptr, const ValueType &default_value) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a4658a584571c4180656f5268969ed0a1',1,'nlohmann::basic_json::value(const json_pointer &ptr, const char *default_value) const'],['../dc/df0/namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa2063c1608d6e0baf80249c42e2be5804',1,'nlohmann::detail::value()']]], + ['value_5ffloat',['value_float',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a0d74bb18ba7d32ea7e7c9d9a7d6c2e70',1,'nlohmann::detail::lexer::value_float()'],['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a0d2671a6f81efb91e77f6ac3bdb11443',1,'nlohmann::detail::lexer_base::value_float()']]], + ['value_5finteger',['value_integer',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a5134de850fab8f41474a36ae07998088',1,'nlohmann::detail::lexer::value_integer()'],['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a5064b6655d88a50ae16665cf7751c0ee',1,'nlohmann::detail::lexer_base::value_integer()']]], + ['value_5fref',['value_ref',['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a45391e581543480fc02007de08d95705',1,'nlohmann::detail::json_ref']]], + ['value_5fseparator',['value_separator',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a745373036100d7392ad62c617cab59af',1,'nlohmann::detail::lexer_base']]], + ['value_5fstring',['value_string',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a2b490e8bf366b4cbe3ebd99b26ce15ce',1,'nlohmann::detail::lexer_base']]], + ['value_5ft',['value_t',['../dd/d10/structnlohmann_1_1detail_1_1detector.html#a5a132aab543d1706e2439268faf8d487',1,'nlohmann::detail::detector::value_t()'],['../d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html#ab748f9f00bb31bee4978a033589f8c85',1,'nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >::value_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ac68cb65a7f3517f0c5b1d3a4967406ad',1,'nlohmann::basic_json::value_t()'],['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985',1,'nlohmann::detail::value_t()']]], + ['value_5ftype',['value_type',['../d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html#a0220e7e5f85f91c6b7a930e469cda5c5',1,'nlohmann::detail::integer_sequence::value_type()'],['../d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#ac70fcab4cacd8b386c3f2b056885e15e',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::value_type()'],['../da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a443e6a62f5fb2c545fc71c751b98ca8d',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::value_type()'],['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a5e90a5810cc1bb6c1000eabbfdfe7b9e',1,'nlohmann::detail::iteration_proxy_value::value_type()'],['../d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html#a830339a3ad86d82d32a67f9c180523b1',1,'nlohmann::detail::is_iterator_of_multibyte::value_type()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ab35586a44f2222272c5346baa3013f67',1,'nlohmann::detail::iter_impl::value_type()'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a78d76cf288141049568c0d670ed670ef',1,'nlohmann::detail::json_ref::value_type()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a57c816a20c1d3ccc9bbc2972829da847',1,'nlohmann::basic_json::value_type()']]], + ['value_5ftype_5ft',['value_type_t',['../dc/df0/namespacenlohmann_1_1detail.html#af91beae90c2fb0f931079b3d50a343bc',1,'nlohmann::detail']]], + ['value_5funsigned',['value_unsigned',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ae84cbf312215c15d79783380b1592f74',1,'nlohmann::detail::lexer::value_unsigned()'],['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454aaf1f040fcd2f674d2e5893d7a731078f',1,'nlohmann::detail::lexer_base::value_unsigned()']]], + ['variantpack',['VariantPack',['../df/de1/namespacecudnn__frontend.html#ad6ac8113b406ee2b6f20eff4dd2b4e01',1,'cudnn_frontend']]], + ['variantpack_5fv8',['VariantPack_v8',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html',1,'cudnn_frontend::VariantPack_v8'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#aa9ce6c30e5e3c2df4d1e9fe2fb4cd6f5',1,'cudnn_frontend::VariantPack_v8::VariantPack_v8(VariantPack_v8 &&from)'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#ab2712c9ad5eeaf561408d7245938d0c6',1,'cudnn_frontend::VariantPack_v8::VariantPack_v8()=default'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a7d3416a4e2f6a67e1988e3b3cb77e88b',1,'cudnn_frontend::VariantPack_v8::VariantPack_v8(VariantPack_v8 const &)=delete']]], + ['variantpackbuilder',['VariantPackBuilder',['../df/de1/namespacecudnn__frontend.html#ab5b844f5de8ad3c056f0cb1cd0fb3ac1',1,'cudnn_frontend']]], + ['variantpackbuilder_5fv8',['VariantPackBuilder_v8',['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html',1,'cudnn_frontend::VariantPackBuilder_v8'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a8fcb5ec8a09de5a6f1f326f2e623cbdf',1,'cudnn_frontend::VariantPack_v8::VariantPackBuilder_v8()'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a7690f854d9e6fc2d4df059fca0e91c6a',1,'cudnn_frontend::VariantPackBuilder_v8::VariantPackBuilder_v8()=default'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a16d853685d603472bf260e500f55c145',1,'cudnn_frontend::VariantPackBuilder_v8::VariantPackBuilder_v8(VariantPackBuilder_v8 &&)=delete'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#ac7a523746975d15fd8dc54af0764dcb0',1,'cudnn_frontend::VariantPackBuilder_v8::VariantPackBuilder_v8(VariantPackBuilder_v8 const &)=delete'],['../d5/def/group__VariantPackBuilder__v8.html',1,'(Global Namespace)']]], + ['void',['void',['../dc/df0/namespacenlohmann_1_1detail.html#a59fca69799f6b9e366710cb9043aa77d',1,'nlohmann::detail']]], + ['void_5ft',['void_t',['../dc/df0/namespacenlohmann_1_1detail.html#a92a167c49c6697b6ffe4f79492c705e5',1,'nlohmann::detail']]] ]; diff --git a/docs/search/all_17.html b/docs/search/all_17.html new file mode 100644 index 00000000..5ca9efdc --- /dev/null +++ b/docs/search/all_17.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/all_17.js b/docs/search/all_17.js new file mode 100644 index 00000000..74e850cd --- /dev/null +++ b/docs/search/all_17.js @@ -0,0 +1,32 @@ +var searchData= +[ + ['w',['w',['../df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html#ad1668c60aeade5f2557fafed8b8aee1a',1,'nlohmann::detail::dtoa_impl::boundaries']]], + ['wdesc',['wdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ad26bd872d417f6a9bff65768bb02e05f',1,'cudnn_frontend::Operation_v8']]], + ['what',['what',['../de/df2/classnlohmann_1_1detail_1_1exception.html#a0672c25ecdf14d1a071d4d6478a65af0',1,'nlohmann::detail::exception::what()'],['../d9/dca/classcudnn__frontend_1_1cudnnException.html#a4f35e3466ff6ce0875631b810364364b',1,'cudnn_frontend::cudnnException::what()']]], + ['wide_5fstring_5finput_5fadapter',['wide_string_input_adapter',['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html',1,'nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >'],['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#aa12146f16f0a22ae3d23bd4af7460fcd',1,'nlohmann::detail::wide_string_input_adapter::wide_string_input_adapter()']]], + ['wide_5fstring_5finput_5fhelper',['wide_string_input_helper',['../d2/d2c/structnlohmann_1_1detail_1_1wide__string__input__helper.html',1,'nlohmann::detail::wide_string_input_helper< BaseInputAdapter, T >'],['../d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#ab86106ba230f1542b94dcd96e6ab3221',1,'nlohmann::detail::iterator_input_adapter::wide_string_input_helper()']]], + ['wide_5fstring_5finput_5fhelper_3c_20baseinputadapter_2c_202_20_3e',['wide_string_input_helper< BaseInputAdapter, 2 >',['../df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html',1,'nlohmann::detail']]], + ['wide_5fstring_5finput_5fhelper_3c_20baseinputadapter_2c_204_20_3e',['wide_string_input_helper< BaseInputAdapter, 4 >',['../d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html',1,'nlohmann::detail']]], + ['workspace',['workspace',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a0f8d91939842bb9003fe71280f0b230c',1,'cudnn_frontend::VariantPack_v8']]], + ['write_5fbson',['write_bson',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a9ffc566db5219b473762462234b47db9',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5farray',['write_bson_array',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a025212bd170253638b9f05b3b6aa5bf9',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5fbinary',['write_bson_binary',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a97d34d9a70ddc06ae782c55454df42bc',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5fboolean',['write_bson_boolean',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ae099435e1df3096e0fc78333282f8f67',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5fdouble',['write_bson_double',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a263ec18815467bb9919021ef126919ca',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5felement',['write_bson_element',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a7ff58bf1a80018148bed860667ffca07',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5fentry_5fheader',['write_bson_entry_header',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a1b5b7f5c03b1f8b1f59ea61db9634108',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5finteger',['write_bson_integer',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a553ad4dbdf27238eef90867e4bf2f3e5',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5fnull',['write_bson_null',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a9927c1110b18661e0224a76156e5a7a9',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5fobject',['write_bson_object',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a29b3e0f83a8e5f2307804023109ba2c9',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5fobject_5fentry',['write_bson_object_entry',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a6231302930265eccb3f56c378f7b0661',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5fstring',['write_bson_string',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a5e6574416915208fc035b57338ae3252',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5funsigned',['write_bson_unsigned',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ac274e3d7a803e7223bb1a4fcb7cd594c',1,'nlohmann::detail::binary_writer']]], + ['write_5fcbor',['write_cbor',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#aa0ab8d27fd88a33a2f801413ac4c7fbc',1,'nlohmann::detail::binary_writer']]], + ['write_5fcharacter',['write_character',['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#a3381896fe1be557f591de2e917cdc7d5',1,'nlohmann::detail::output_adapter_protocol::write_character()'],['../d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html#af6a22d4210bb7bc2da66021300ddd6db',1,'nlohmann::detail::output_vector_adapter::write_character()'],['../d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html#a6e2698c76b200b2d8fac6cebfc43a245',1,'nlohmann::detail::output_stream_adapter::write_character()'],['../d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html#a2d76cc6c88ddbc196a63fcfcac9ee7d1',1,'nlohmann::detail::output_string_adapter::write_character()']]], + ['write_5fcharacters',['write_characters',['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#a2f410a164e0eda17cf6561114b0eee4a',1,'nlohmann::detail::output_adapter_protocol::write_characters()'],['../d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html#ad6f6c461dec7bedd5359454dc22fc9aa',1,'nlohmann::detail::output_vector_adapter::write_characters()'],['../d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html#ad61375497a7d03cb0bdcddfdaad185d0',1,'nlohmann::detail::output_stream_adapter::write_characters()'],['../d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html#ab5ea4da075305d225dfd84ad997e8747',1,'nlohmann::detail::output_string_adapter::write_characters()']]], + ['write_5fcompact_5ffloat',['write_compact_float',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ae69dc3c5b2e8c1c8e461779cddb87436',1,'nlohmann::detail::binary_writer']]], + ['write_5fmsgpack',['write_msgpack',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ae4e0852b64102ce4b07d99f08f828b7c',1,'nlohmann::detail::binary_writer']]], + ['write_5fnumber',['write_number',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a6e11b7227fcecc25a548ed45507b7d1c',1,'nlohmann::detail::binary_writer']]], + ['write_5fnumber_5fwith_5fubjson_5fprefix',['write_number_with_ubjson_prefix',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a0ea6745f944c0c61672146886b4ee90f',1,'nlohmann::detail::binary_writer::write_number_with_ubjson_prefix(const NumberType n, const bool add_prefix)'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a0ea6745f944c0c61672146886b4ee90f',1,'nlohmann::detail::binary_writer::write_number_with_ubjson_prefix(const NumberType n, const bool add_prefix)'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a0ea6745f944c0c61672146886b4ee90f',1,'nlohmann::detail::binary_writer::write_number_with_ubjson_prefix(const NumberType n, const bool add_prefix)']]], + ['write_5fubjson',['write_ubjson',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a0f6c65053d859269f88eb4ebb0cd7060',1,'nlohmann::detail::binary_writer']]] +]; diff --git a/docs/search/all_18.html b/docs/search/all_18.html new file mode 100644 index 00000000..069edeb7 --- /dev/null +++ b/docs/search/all_18.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/all_18.js b/docs/search/all_18.js new file mode 100644 index 00000000..bea11e8c --- /dev/null +++ b/docs/search/all_18.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['xdesc',['xdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a01d1997ae84b86c0565351910bba3416',1,'cudnn_frontend::Operation_v8']]] +]; diff --git a/docs/search/all_19.html b/docs/search/all_19.html new file mode 100644 index 00000000..4fdfe460 --- /dev/null +++ b/docs/search/all_19.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/all_19.js b/docs/search/all_19.js new file mode 100644 index 00000000..dde68e86 --- /dev/null +++ b/docs/search/all_19.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ydesc',['ydesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a81e9b10c7231ba9ffba37f7fab531a69',1,'cudnn_frontend::Operation_v8']]] +]; diff --git a/docs/search/all_1a.html b/docs/search/all_1a.html new file mode 100644 index 00000000..8c85d9dd --- /dev/null +++ b/docs/search/all_1a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/all_1a.js b/docs/search/all_1a.js new file mode 100644 index 00000000..5916357e --- /dev/null +++ b/docs/search/all_1a.js @@ -0,0 +1,42 @@ +var searchData= +[ + ['_7ebasic_5fjson',['~basic_json',['../d9/dcc/classnlohmann_1_1basic__json.html#a60b643c02a19fa52f99db8215ff58e0f',1,'nlohmann::basic_json']]], + ['_7ebinary_5freader',['~binary_reader',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a359031cba136452d9030ed9ab4517b74',1,'nlohmann::detail::binary_reader']]], + ['_7econvdesc_5fv8',['~ConvDesc_v8',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a0d930ada709a855c86b2857a1b155d02',1,'cudnn_frontend::ConvDesc_v8']]], + ['_7econvdescbuilder_5fv8',['~ConvDescBuilder_v8',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#ae75d5fd1c3fb6b51072f2c9b211477eb',1,'cudnn_frontend::ConvDescBuilder_v8']]], + ['_7eengine_5fv8',['~Engine_v8',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#af58a8aa09f22e048d51e619e36b4cbef',1,'cudnn_frontend::Engine_v8']]], + ['_7eenginebuilder_5fv8',['~EngineBuilder_v8',['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a8a300ec39fc764b86058acf8a9406d89',1,'cudnn_frontend::EngineBuilder_v8']]], + ['_7eengineconfig_5fv8',['~EngineConfig_v8',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a058e432452f5cd570cbf4e69d7d53eea',1,'cudnn_frontend::EngineConfig_v8']]], + ['_7eengineconfigbuilder_5fv8',['~EngineConfigBuilder_v8',['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a49eedc731d95df1f21e353a9a9511cfd',1,'cudnn_frontend::EngineConfigBuilder_v8']]], + ['_7eenginefallbacklist_5fv8',['~EngineFallbackList_v8',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a62dd89e142b11917507a48b2ac3dd047',1,'cudnn_frontend::EngineFallbackList_v8']]], + ['_7eenginefallbacklistbuilder_5fv8',['~EngineFallbackListBuilder_v8',['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a28651c04cd22f3ebe037b99627ddbd62',1,'cudnn_frontend::EngineFallbackListBuilder_v8']]], + ['_7eengineheuristics_5fv8',['~EngineHeuristics_v8',['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a2261e27dacfdad755d625692aa20f290',1,'cudnn_frontend::EngineHeuristics_v8']]], + ['_7eengineheuristicsbuilder_5fv8',['~EngineHeuristicsBuilder_v8',['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a8740e967b981abf94dc2c53eb8786ceb',1,'cudnn_frontend::EngineHeuristicsBuilder_v8']]], + ['_7eexecutionplan_5fv8',['~ExecutionPlan_v8',['../d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#a8a8ac13b1c639dd9b87c280a598446af',1,'cudnn_frontend::ExecutionPlan_v8']]], + ['_7eexecutionplanbuilder_5fv8',['~ExecutionPlanBuilder_v8',['../d7/d0d/group__ExecutionPlanQuery.html#gae3f841de1b6461b31bf7967734a70a8a',1,'cudnn_frontend::ExecutionPlanBuilder_v8']]], + ['_7efile_5finput_5fadapter',['~file_input_adapter',['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a6977a9d721de8181253d8431a335ba63',1,'nlohmann::detail::file_input_adapter']]], + ['_7einput_5fstream_5fadapter',['~input_stream_adapter',['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a1d29416acc75b02bfaf251d9d8ef8f36',1,'nlohmann::detail::input_stream_adapter']]], + ['_7eiter_5fimpl',['~iter_impl',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a3fc5c9a782628d91047aa35f40bb7fdc',1,'nlohmann::detail::iter_impl']]], + ['_7ejson_5fref',['~json_ref',['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a8bcd4cfcafe952ce5140f8cb35ebe2f6',1,'nlohmann::detail::json_ref']]], + ['_7ejson_5fsax',['~json_sax',['../d0/d82/structnlohmann_1_1json__sax.html#af31bacfa81aa7818d8639d1da65c8eb5',1,'nlohmann::json_sax']]], + ['_7ejson_5fsax_5fdom_5fcallback_5fparser',['~json_sax_dom_callback_parser',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a54ffcdfb0a8c5c9a876cd003b404ef4b',1,'nlohmann::detail::json_sax_dom_callback_parser']]], + ['_7ejson_5fsax_5fdom_5fparser',['~json_sax_dom_parser',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a4b93deb5c1d716dcfb33b3ed8a00ac4d',1,'nlohmann::detail::json_sax_dom_parser']]], + ['_7elexer',['~lexer',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ac0557f111d82f7729a93ee9b40b31402',1,'nlohmann::detail::lexer']]], + ['_7ematmuldesc_5fv8',['~MatMulDesc_v8',['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ad27b038b19b218067bd30e60d94fd672',1,'cudnn_frontend::MatMulDesc_v8']]], + ['_7ematmuldescbuilder_5fv8',['~MatMulDescBuilder_v8',['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a3f5790e5ada9a1785d9daf4246ea8de3',1,'cudnn_frontend::MatMulDescBuilder_v8']]], + ['_7enonesuch',['~nonesuch',['../da/d31/structnlohmann_1_1detail_1_1nonesuch.html#a7b1119845860e548b67f1644a2084373',1,'nlohmann::detail::nonesuch']]], + ['_7eopaquebackendpointer',['~OpaqueBackendPointer',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a9f549dd95873ac3a02689ef97f4a6c75',1,'cudnn_frontend::OpaqueBackendPointer']]], + ['_7eoperation_5fv8',['~Operation_v8',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a67d82f53ecbdfe2416d2a26410138d78',1,'cudnn_frontend::Operation_v8']]], + ['_7eoperationgraph_5fv8',['~OperationGraph_v8',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#aeb42611a38c4951e66cd23108d53353c',1,'cudnn_frontend::OperationGraph_v8']]], + ['_7eoperationgraphbuilder_5fv8',['~OperationGraphBuilder_v8',['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a45e8a324d62146f592b049f51d2e4552',1,'cudnn_frontend::OperationGraphBuilder_v8']]], + ['_7eoutput_5fadapter_5fprotocol',['~output_adapter_protocol',['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#ad71cdc057030f8a775a191face25061a',1,'nlohmann::detail::output_adapter_protocol']]], + ['_7epointwisedesc_5fv8',['~PointWiseDesc_v8',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a44917fdd66ea262687c0f0af3ef3b424',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['_7epointwisedescbuilder_5fv8',['~PointWiseDescBuilder_v8',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#af976fab4a7726609a1b10dc2a8bcdf65',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['_7ereductiondesc_5fv8',['~ReductionDesc_v8',['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a2f878e63e294f06ac57a614db0a6c749',1,'cudnn_frontend::ReductionDesc_v8']]], + ['_7ereductiondescbuilder_5fv8',['~ReductionDescBuilder_v8',['../d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a76e541ac766ba434f144ce05c172c9eb',1,'cudnn_frontend::ReductionDescBuilder_v8']]], + ['_7eserializer',['~serializer',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#aa6c62b51cbebb185307df851dc0167f0',1,'nlohmann::detail::serializer']]], + ['_7etensor_5fv8',['~Tensor_v8',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a5a402bf5c68021711d9d9ec8fd4c1001',1,'cudnn_frontend::Tensor_v8']]], + ['_7etensorbuilder_5fv8',['~TensorBuilder_v8',['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a2c9dcbe8acfe079ad14801c7cda0fe29',1,'cudnn_frontend::TensorBuilder_v8']]], + ['_7evariantpack_5fv8',['~VariantPack_v8',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a55a7b12efe39ed7a24631ed05630721d',1,'cudnn_frontend::VariantPack_v8']]], + ['_7evariantpackbuilder_5fv8',['~VariantPackBuilder_v8',['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a27a6e5a2602262c35a8ea8533ef5a635',1,'cudnn_frontend::VariantPackBuilder_v8']]] +]; diff --git a/docs/search/all_2.js b/docs/search/all_2.js index 5aa0d03d..bf6acb26 100644 --- a/docs/search/all_2.js +++ b/docs/search/all_2.js @@ -1,39 +1,28 @@ var searchData= [ - ['cdesc',['cdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a19856fbb973574342efedc43134af3a7',1,'cudnn_frontend::Operation_v8']]], - ['choice',['choice',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aee3bbc2a558893309d6882a0e30d439a',1,'cudnn_frontend::Engine_v8::Knob']]], - ['cmatdesc',['cmatdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#adea4f5ef82e61fc375fd2c3ee8e92147',1,'cudnn_frontend::Operation_v8']]], - ['computetag',['computeTag',['../d7/d0d/group__ExecutionPlanQuery.html#ga8a6517102f5c12e63e4417324a03180b',1,'cudnn_frontend::ExecutionPlan_v8']]], - ['convdesc',['ConvDesc',['../df/de1/namespacecudnn__frontend.html#ae24bc7541c87c642cdef8eaf83c8eacc',1,'cudnn_frontend']]], - ['convdesc_5fv8',['ConvDesc_v8',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html',1,'cudnn_frontend::ConvDesc_v8'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a592e3a28fd7a8b2553789801d9bd276c',1,'cudnn_frontend::ConvDesc_v8::ConvDesc_v8(ConvDesc_v8 &&from)'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a5c892fb76fbf9e4bfffdb5288f9d60ad',1,'cudnn_frontend::ConvDesc_v8::ConvDesc_v8()=default'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a061ef887bdf383d416ee143a35d5c334',1,'cudnn_frontend::ConvDesc_v8::ConvDesc_v8(ConvDesc_v8 const &)=delete']]], - ['convdescbuilder',['ConvDescBuilder',['../df/de1/namespacecudnn__frontend.html#a91b5e4e82a18d2212ad6be6d5398752c',1,'cudnn_frontend']]], - ['convdescbuilder_5fv8',['ConvDescBuilder_v8',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html',1,'cudnn_frontend::ConvDescBuilder_v8'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a00c454e18392653a023f75275553a4e7',1,'cudnn_frontend::ConvDesc_v8::ConvDescBuilder_v8()'],['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#ae7b3fb50c7866c50ac1a170e137f38af',1,'cudnn_frontend::ConvDescBuilder_v8::ConvDescBuilder_v8()=default'],['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a314369f1ea702c92d184b3ba66085468',1,'cudnn_frontend::ConvDescBuilder_v8::ConvDescBuilder_v8(ConvDescBuilder_v8 &&)=delete'],['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a99c1c90149cee07a26124fe32bdcfe03',1,'cudnn_frontend::ConvDescBuilder_v8::ConvDescBuilder_v8(ConvDescBuilder_v8 const &)=delete'],['../d3/ddd/group__ConvDescBuilder__v8.html',1,'(Global Namespace)']]], - ['cudnn_5fbackend_5fbase_2eh',['cudnn_backend_base.h',['../dc/d11/cudnn__backend__base_8h.html',1,'']]], - ['cudnn_5ffind_5fsample_5fmedian_5fof_5fthree',['CUDNN_FIND_SAMPLE_MEDIAN_OF_THREE',['../df/de1/namespacecudnn__frontend.html#ab3748fa00b36beec790db7201fdd2ef3a903bfd2e4d1b8ab2a7197be752c618a6',1,'cudnn_frontend']]], - ['cudnn_5ffind_5fsample_5fonce',['CUDNN_FIND_SAMPLE_ONCE',['../df/de1/namespacecudnn__frontend.html#ab3748fa00b36beec790db7201fdd2ef3ac8ab707d81df65503b6b0ecc67675158',1,'cudnn_frontend']]], - ['cudnn_5ffind_5fsample_5ftill_5fstable',['CUDNN_FIND_SAMPLE_TILL_STABLE',['../df/de1/namespacecudnn__frontend.html#ab3748fa00b36beec790db7201fdd2ef3a8199dfa6701edb38f52a74d9e229b43d',1,'cudnn_frontend']]], - ['cudnn_5ffrontend',['cudnn_frontend',['../df/de1/namespacecudnn__frontend.html',1,'']]], - ['cudnn_5ffrontend_2eh',['cudnn_frontend.h',['../de/d0c/cudnn__frontend_8h.html',1,'']]], - ['cudnn_5ffrontend_5fconvdesc_2eh',['cudnn_frontend_ConvDesc.h',['../d1/de7/cudnn__frontend__ConvDesc_8h.html',1,'']]], - ['cudnn_5ffrontend_5fengine_2eh',['cudnn_frontend_Engine.h',['../de/d6d/cudnn__frontend__Engine_8h.html',1,'']]], - ['cudnn_5ffrontend_5fengineconfig_2eh',['cudnn_frontend_EngineConfig.h',['../d6/d67/cudnn__frontend__EngineConfig_8h.html',1,'']]], - ['cudnn_5ffrontend_5fengineconfiggenerator_2eh',['cudnn_frontend_EngineConfigGenerator.h',['../de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html',1,'']]], - ['cudnn_5ffrontend_5fenginefallbacklist_2eh',['cudnn_frontend_EngineFallbackList.h',['../df/d3e/cudnn__frontend__EngineFallbackList_8h.html',1,'']]], - ['cudnn_5ffrontend_5fexecutionplan_2eh',['cudnn_frontend_ExecutionPlan.h',['../d6/d51/cudnn__frontend__ExecutionPlan_8h.html',1,'']]], - ['cudnn_5ffrontend_5ffilters_2eh',['cudnn_frontend_Filters.h',['../d5/d36/cudnn__frontend__Filters_8h.html',1,'']]], - ['cudnn_5ffrontend_5ffind_5fplan_2eh',['cudnn_frontend_find_plan.h',['../d3/d6b/cudnn__frontend__find__plan_8h.html',1,'']]], - ['cudnn_5ffrontend_5fget_5fplan_2eh',['cudnn_frontend_get_plan.h',['../d2/d3b/cudnn__frontend__get__plan_8h.html',1,'']]], - ['cudnn_5ffrontend_5fheuristics_2eh',['cudnn_frontend_Heuristics.h',['../db/d66/cudnn__frontend__Heuristics_8h.html',1,'']]], - ['cudnn_5ffrontend_5fmatmuldesc_2eh',['cudnn_frontend_MatMulDesc.h',['../d6/d32/cudnn__frontend__MatMulDesc_8h.html',1,'']]], - ['cudnn_5ffrontend_5foperation_2eh',['cudnn_frontend_Operation.h',['../da/d5a/cudnn__frontend__Operation_8h.html',1,'']]], - ['cudnn_5ffrontend_5foperationgraph_2eh',['cudnn_frontend_OperationGraph.h',['../db/d7d/cudnn__frontend__OperationGraph_8h.html',1,'']]], - ['cudnn_5ffrontend_5fpointwisedesc_2eh',['cudnn_frontend_PointWiseDesc.h',['../da/d5f/cudnn__frontend__PointWiseDesc_8h.html',1,'']]], - ['cudnn_5ffrontend_5ftensor_2eh',['cudnn_frontend_Tensor.h',['../d3/d98/cudnn__frontend__Tensor_8h.html',1,'']]], - ['cudnn_5ffrontend_5futils_2eh',['cudnn_frontend_utils.h',['../df/d17/cudnn__frontend__utils_8h.html',1,'']]], - ['cudnn_5ffrontend_5fvariantpack_2eh',['cudnn_frontend_VariantPack.h',['../df/dc0/cudnn__frontend__VariantPack_8h.html',1,'']]], - ['cudnnexception',['cudnnException',['../d9/dca/classcudnn__frontend_1_1cudnnException.html',1,'cudnn_frontend::cudnnException'],['../d9/dca/classcudnn__frontend_1_1cudnnException.html#aa80c45a57ca091770572aaa5a1f7e322',1,'cudnn_frontend::cudnnException::cudnnException()']]], - ['cudnnfindplan',['cudnnFindPlan',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#abd7cdd3a218623ffc5dfcbf9343aef85',1,'cudnn_frontend::EngineConfigGenerator']]], - ['cudnnfindsamplingtechnique',['CudnnFindSamplingTechnique',['../df/de1/namespacecudnn__frontend.html#ab3748fa00b36beec790db7201fdd2ef3',1,'cudnn_frontend']]], - ['cudnngetplan',['cudnnGetPlan',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#ad6ca7e7263ed9b7597f94ca45505642f',1,'cudnn_frontend::EngineConfigGenerator']]], - ['cudnn_20frontend_20api',['CUDNN FRONTEND API',['../index.html',1,'']]] + ['accept',['accept',['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a39784a586867c05388cb0adca0fd72b5',1,'nlohmann::detail::parser::accept()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a32872afe5bfd040777e3e2bb85f0ca55',1,'nlohmann::basic_json::accept(InputType &&i, const bool ignore_comments=false)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a47fb596473649332185aedb0a8a6ccc5',1,'nlohmann::basic_json::accept(IteratorType first, IteratorType last, const bool ignore_comments=false)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a6d9e85910b91d02f6807b69b61690a4b',1,'nlohmann::basic_json::accept(detail::span_input_adapter &&i, const bool ignore_comments=false)']]], + ['adapter_5ftype',['adapter_type',['../d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a264935c57ca29dfb5153ade55266d1fa',1,'nlohmann::detail::iterator_input_adapter_factory::adapter_type()'],['../da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#ae9fc94b1b95c5d4afd1ab3f9ccb93c1a',1,'nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::adapter_type()'],['../d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html#aa801458464e2dc726530463d35310abf',1,'nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >::adapter_type()']]], + ['add',['add',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a36ffc3c33c3aea18291ead7a30fa7cc6',1,'nlohmann::detail::lexer']]], + ['adl_5fserializer',['adl_serializer',['../dc/dc7/structnlohmann_1_1adl__serializer.html',1,'nlohmann']]], + ['alignment',['alignment',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a1f41a9f80b8a3b35aed7948e264b0d79',1,'cudnn_frontend::Tensor_v8']]], + ['allocator_5ftype',['allocator_type',['../d9/dcc/classnlohmann_1_1basic__json.html#ad38ae80f1e99d4b1f33c99fea4611457',1,'nlohmann::basic_json']]], + ['allow_5fexceptions',['allow_exceptions',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad0953e8d888339421d909d9016bc6e2c',1,'nlohmann::detail::json_sax_dom_parser::allow_exceptions()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a0a1390c23e2a3da774d75c050f9b3f13',1,'nlohmann::detail::json_sax_dom_callback_parser::allow_exceptions()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#ab0dbaeaa6df00631072f902068c57750',1,'nlohmann::detail::parser::allow_exceptions()']]], + ['alpha2_5fd',['alpha2_d',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f533db7bc67978d1ec1a475f4ab9e1c',1,'cudnn_frontend::Operation_v8']]], + ['alpha2_5fs',['alpha2_s',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4003061754cc4b0003a72cc474fca8d9',1,'cudnn_frontend::Operation_v8']]], + ['alpha_5fd',['alpha_d',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#aee00f6897786ce0f16963a7d2f57a2f8',1,'cudnn_frontend::Operation_v8']]], + ['alpha_5fs',['alpha_s',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4a71d73a1231c39e51a74f750586a733',1,'cudnn_frontend::Operation_v8']]], + ['alphabetatype',['alphabetaType',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0414d5eb022c25584d60491f416e6449',1,'cudnn_frontend::Operation_v8']]], + ['amatdesc',['amatdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ae0e0256b292acd560accc1c02a6e393b',1,'cudnn_frontend::Operation_v8']]], + ['anchor',['anchor',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a073741b6536b7a5166467a5515bc59cb',1,'nlohmann::detail::iteration_proxy_value']]], + ['append_5fexponent',['append_exponent',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#ad90f19ed10d8133b727df4b9bc5ddf5c',1,'nlohmann::detail::dtoa_impl']]], + ['array',['array',['../d9/dcc/classnlohmann_1_1basic__json.html#ad2b075c694e4564c9742d2c8db7c7c5f',1,'nlohmann::basic_json::array()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a2c8d8f5741aedadac8f3bffd8f2ce13e',1,'nlohmann::basic_json::array(initializer_list_t init={})'],['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985af1f713c9e000f5d3f280adbd124df4f5',1,'nlohmann::detail::array()']]], + ['array_5fend',['array_end',['../dc/df0/namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa49642fb732aa2e112188fba1f9d3ef7f',1,'nlohmann::detail']]], + ['array_5findex',['array_index',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#ad3d18c83aff5e9f4bdbf99385b29a39a',1,'nlohmann::detail::iteration_proxy_value::array_index()'],['../da/de8/classnlohmann_1_1json__pointer.html#ae28e4b79b9d4fac9e6dca29f47f946fa',1,'nlohmann::json_pointer::array_index()']]], + ['array_5findex_5flast',['array_index_last',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#aac6e7cc0c17242a0a42c14d1e714747c',1,'nlohmann::detail::iteration_proxy_value']]], + ['array_5findex_5fstr',['array_index_str',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#ab0b34133f45a3610070492d32978f2ea',1,'nlohmann::detail::iteration_proxy_value']]], + ['array_5fiterator',['array_iterator',['../d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html#a8294a6e6f01b58e1cce8fbae66a50b5d',1,'nlohmann::detail::internal_iterator']]], + ['array_5fstart',['array_start',['../dc/df0/namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aaa4388a3d92419edbb1c6efd4d52461f3',1,'nlohmann::detail']]], + ['array_5ft',['array_t',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aef02cf75b1cb199286fd2f666c60e38e',1,'nlohmann::detail::iter_impl::array_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a858c1cf8407bc06494e3a1114a3b73e7',1,'nlohmann::basic_json::array_t()']]], + ['assert_5finvariant',['assert_invariant',['../d9/dcc/classnlohmann_1_1basic__json.html#a2ef98c6797810a551296191fc72e2b9e',1,'nlohmann::basic_json']]], + ['at',['at',['../d6/da7/structnlohmann_1_1ordered__map.html#ab7b4bb185fe7ea84f8f5f32fd230ff91',1,'nlohmann::ordered_map::at(const Key &key)'],['../d6/da7/structnlohmann_1_1ordered__map.html#a8b7f27215180385b9b1e98adc4dd8ae7',1,'nlohmann::ordered_map::at(const Key &key) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a52b18a5b7e68652c65b070900c438c6e',1,'nlohmann::basic_json::at(size_type idx)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aeb18fe2b8a5dbff4ccf2848de854c3ac',1,'nlohmann::basic_json::at(size_type idx) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a239e942da82f2597d0cf5ec806f5bc0d',1,'nlohmann::basic_json::at(const typename object_t::key_type &key)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a229964ee10c92ba89ae4fba786fe6b50',1,'nlohmann::basic_json::at(const typename object_t::key_type &key) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#aa014a978f8b6c085db8825faa8dad320',1,'nlohmann::basic_json::at(const json_pointer &ptr)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a8284b9c1d4d0830151eaa000f907b2e6',1,'nlohmann::basic_json::at(const json_pointer &ptr) const']]] ]; diff --git a/docs/search/all_3.js b/docs/search/all_3.js index 0c0eef25..0807f5f3 100644 --- a/docs/search/all_3.js +++ b/docs/search/all_3.js @@ -1,10 +1,42 @@ var searchData= [ - ['data_5fpointers',['data_pointers',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a3a03ddd893f41a9ce6ca674bbfae7434',1,'cudnn_frontend::VariantPack_v8']]], - ['data_5ftype',['data_type',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a4a0249ac1d094f9a70967dd69b824f2e',1,'cudnn_frontend::ConvDesc_v8::data_type()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ae9a3d128db54fa92d392e77044f30ca9',1,'cudnn_frontend::Tensor_v8::data_type()']]], - ['describe',['describe',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#ab652fb3e9a58092fbb137b0e959a9478',1,'cudnn_frontend::BackendDescriptor::describe()'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a0d36a97abb2d36a0148ce8e8833baff8',1,'cudnn_frontend::ConvDesc_v8::describe()'],['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a3f60f9ba0e35cb0bccbf3524def69db2',1,'cudnn_frontend::Engine_v8::Knob::describe()'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a052463f45fef3bb98e2822ba0fccdb8e',1,'cudnn_frontend::Engine_v8::describe()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#aefd7d8d3da71ce0dddca0f6a85fd1c80',1,'cudnn_frontend::EngineConfig_v8::describe()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a3509dd7589fed7a699874170cec6dd9f',1,'cudnn_frontend::EngineFallbackList_v8::describe()'],['../d7/d0d/group__ExecutionPlanQuery.html#gad80aa2980d915449d05db4c71041e2e0',1,'cudnn_frontend::ExecutionPlan_v8::describe()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#ac223cc9438a0442bd3b48881f71a4b40',1,'cudnn_frontend::EngineHeuristics_v8::describe()'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a2931e4d0b21e6986a3f5a1697ca4bae0',1,'cudnn_frontend::MatMulDesc_v8::describe()'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a3425a8550eb9f622dc4101d3d5d2c0e1',1,'cudnn_frontend::Operation_v8::describe()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#acd0b5f47407184b0b26bf4d4b5d0ce32',1,'cudnn_frontend::OperationGraph_v8::describe()'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a66ada0a9313ced7ed2801097ef523de8',1,'cudnn_frontend::PointWiseDesc_v8::describe()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a79cc1a752e6df2001b853f8c189b1f1f',1,'cudnn_frontend::Tensor_v8::describe()'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a7ba1c4736d3b0f187dc06344ca4e2032',1,'cudnn_frontend::VariantPack_v8::describe()']]], - ['dilation',['dilation',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a81e03a2a385d24a2faaf3db249580ac6',1,'cudnn_frontend::ConvDesc_v8']]], - ['dwdesc',['dwdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f565db1b8b85ea43d60631cd3414f47',1,'cudnn_frontend::Operation_v8']]], - ['dxdesc',['dxdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f30409838436d0c4dea5271af86f9b7',1,'cudnn_frontend::Operation_v8']]], - ['dydesc',['dydesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#adf6b55205eac4c52c0ab70e4758e33da',1,'cudnn_frontend::Operation_v8']]] + ['b1',['B1',['../d3/ddb/classB1.html',1,'']]], + ['back',['back',['../da/de8/classnlohmann_1_1json__pointer.html#a213bc67c32a30c68ac6bf06f5195d482',1,'nlohmann::json_pointer::back()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a30914ad0767ccdc3633f88a906ed7dfa',1,'nlohmann::basic_json::back()'],['../d9/dcc/classnlohmann_1_1basic__json.html#aac965b84ea43ccd8aef9caefef02794a',1,'nlohmann::basic_json::back() const']]], + ['backenddescriptor',['BackendDescriptor',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html',1,'cudnn_frontend::BackendDescriptor'],['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a8aa93686ca88410fc048b05155148183',1,'cudnn_frontend::BackendDescriptor::BackendDescriptor(ManagedOpaqueDescriptor pointer_, cudnnStatus_t status_, std::string err_msg_)'],['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a5765369a5739c2ea81c4f39ce2d1c46e',1,'cudnn_frontend::BackendDescriptor::BackendDescriptor()=default']]], + ['base_5fadapter',['base_adapter',['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a6951ed130bc49fbee6e434b62ed187ac',1,'nlohmann::detail::wide_string_input_adapter']]], + ['base_5fadapter_5ftype',['base_adapter_type',['../da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#afd0218fc0657b5e04ab81ccc9dcda03d',1,'nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >']]], + ['base_5fiterator',['base_iterator',['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a6b2ef1d632fe49bfcc22fbd1abd62395',1,'nlohmann::detail::json_reverse_iterator']]], + ['basic_5fjson',['basic_json',['../d9/dcc/classnlohmann_1_1basic__json.html',1,'nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >'],['../da/de8/classnlohmann_1_1json__pointer.html#ada3100cdb8700566051828f1355fa745',1,'nlohmann::json_pointer::basic_json()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a19734fbc9c97d536832892ddacd6b62a',1,'nlohmann::basic_json::basic_json(const value_t v)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ace6fbaf6c64f60b61922b5c9d3e61aa6',1,'nlohmann::basic_json::basic_json(std::nullptr_t=nullptr) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a232bddcef573bde8777a6a87da0048dd',1,'nlohmann::basic_json::basic_json(CompatibleType &&val) noexcept(noexcept(//NOLINT(bugprone-forwarding-reference-overload, bugprone-exception-escape) JSONSerializer< U >::to_json(std::declval< basic_json_t &>(), std::forward< CompatibleType >(val))))'],['../d9/dcc/classnlohmann_1_1basic__json.html#a40738eb9cb8c5a9ca14ae4b697c29f8e',1,'nlohmann::basic_json::basic_json(const BasicJsonType &val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aeac617faf3448d6d2cb33a020be01d37',1,'nlohmann::basic_json::basic_json(initializer_list_t init, bool type_deduction=true, value_t manual_type=value_t::array)'],['../d9/dcc/classnlohmann_1_1basic__json.html#afbccea367512a87b5d76e2bd92c5cc85',1,'nlohmann::basic_json::basic_json(size_type cnt, const basic_json &val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a23e540f473d32f1cf5d3243ea3ad495e',1,'nlohmann::basic_json::basic_json(InputIT first, InputIT last)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a28524e9c443076ea6dccff8e391354ed',1,'nlohmann::basic_json::basic_json(const JsonRef &ref)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a603be713183ad63dd8c9e1052c606004',1,'nlohmann::basic_json::basic_json(const basic_json &other)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a642afd9d8886e0dedfc0d5cee2baf57f',1,'nlohmann::basic_json::basic_json(basic_json &&other) noexcept']]], + ['basic_5fjson_5ft',['basic_json_t',['../d9/dcc/classnlohmann_1_1basic__json.html#a125c0afa5f3599949b0589ef7b4aa322',1,'nlohmann::basic_json']]], + ['basicjsontype',['BasicJsonType',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#abf18f18793f84b0222aebb5a2a87da7a',1,'nlohmann::detail::iter_impl::BasicJsonType()'],['../da/de8/classnlohmann_1_1json__pointer.html#a0f3376aebd6c88555d12f34480f93741',1,'nlohmann::json_pointer::BasicJsonType()']]], + ['bchoices',['bChoices',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a04aedaff21f829caa98aacb68b51dcf1',1,'cudnn_frontend::EngineConfig_v8']]], + ['bdesc',['bdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a1305e0cdaeb029fd52eb189254afe18c',1,'cudnn_frontend::Operation_v8']]], + ['begin',['begin',['../db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html#a379f86709d340c4ab1995539b8af623d',1,'nlohmann::detail::iteration_proxy::begin()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a23b495b4c282e4afacf382f5b49af7c7',1,'nlohmann::basic_json::begin() noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a4f147be16fcde9f510c4aac89ab511c9',1,'nlohmann::basic_json::begin() const noexcept']]], + ['begin_5farray',['begin_array',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a16c226b4425b68560fea322b46dabe01',1,'nlohmann::detail::lexer_base']]], + ['begin_5fobject',['begin_object',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a9a9ffd53b6869d4eca271b1ed5b57fe8',1,'nlohmann::detail::lexer_base']]], + ['begin_5fvalue',['begin_value',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#afcb3bcf9da8aa95bd82067d1a67c2326',1,'nlohmann::detail::primitive_iterator_t']]], + ['beta_5fd',['beta_d',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a1118f19807c9f58cc1d0892bdb1f8c94',1,'cudnn_frontend::Operation_v8']]], + ['beta_5fs',['beta_s',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0f14ddfbaae6e62375c46dd0d5ed993d',1,'cudnn_frontend::Operation_v8']]], + ['binary',['binary',['../d9/dcc/classnlohmann_1_1basic__json.html#a9a4a1bb634091c7ebd66c4e989ed469d',1,'nlohmann::basic_json::binary()'],['../d0/d82/structnlohmann_1_1json__sax.html#a38c2dbde07138cc436ea7fbf22c1e92d',1,'nlohmann::json_sax::binary()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#acc05c450d515f0f95c37401bf23c8db3',1,'nlohmann::detail::json_sax_dom_parser::binary()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a66f5515cddef5074c9499f21c26ac099',1,'nlohmann::detail::json_sax_dom_callback_parser::binary()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a3d193985aac764f99398e3ae8ba0c5db',1,'nlohmann::detail::json_sax_acceptor::binary()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a3d255dbe024ce2d0fdfb1b4837629091',1,'nlohmann::basic_json::binary(const typename binary_t::container_type &init)'],['../d9/dcc/classnlohmann_1_1basic__json.html#acd2c506b279049f7d92ad7ae10a2f12b',1,'nlohmann::basic_json::binary(const typename binary_t::container_type &init, std::uint8_t subtype)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ab085777bbfbfac5a472120b991ef5cf3',1,'nlohmann::basic_json::binary(typename binary_t::container_type &&init)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a012e375f4016b89444c528ed46cce3af',1,'nlohmann::basic_json::binary(typename binary_t::container_type &&init, std::uint8_t subtype)'],['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a9d7183f16acce70658f686ae7f1a4d20',1,'nlohmann::detail::binary()']]], + ['binary_5fchar_5ft',['binary_char_t',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#aaaec32f2fec57db422019a11994f7bb5',1,'nlohmann::detail::serializer']]], + ['binary_5ffunction_5ft',['binary_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a4948bef216c2594dae7921d9c4045455',1,'nlohmann::detail']]], + ['binary_5freader',['binary_reader',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html',1,'nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >'],['../d9/dcc/classnlohmann_1_1basic__json.html#a6c26be4635e562ebae8b9a142f9538b4',1,'nlohmann::basic_json::binary_reader()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a2aee4c3507eca623f7cec32544fdc5b2',1,'nlohmann::detail::binary_reader::binary_reader(InputAdapterType &&adapter) noexcept'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ab29d56b1e980a7b9a3383cf1ce862d1b',1,'nlohmann::detail::binary_reader::binary_reader(const binary_reader &)=delete'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#acca2c4076df85f27dc1c904475e05c26',1,'nlohmann::detail::binary_reader::binary_reader(binary_reader &&)=default']]], + ['binary_5ft',['binary_t',['../d0/d82/structnlohmann_1_1json__sax.html#a0ef406ba81eef08aadf4a9ef48d742bd',1,'nlohmann::json_sax::binary_t()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a188c267325965fdbe487ce68ab5496aa',1,'nlohmann::detail::json_sax_dom_parser::binary_t()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a5af8493f830eeb1a79c69fc39ed54ef8',1,'nlohmann::detail::json_sax_dom_callback_parser::binary_t()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a56346d95ee4e539eaded2e6826fecf66',1,'nlohmann::detail::json_sax_acceptor::binary_t()'],['../dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#ae6abc30644e683c20f8c2c4d63834fb8',1,'nlohmann::detail::is_sax::binary_t()'],['../d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#adb3ffd1849091f6edb5c2d6e650e4266',1,'nlohmann::detail::is_sax_static_asserts::binary_t()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#acf127bb88e4147fb692edabc2a0f0663',1,'nlohmann::detail::binary_reader::binary_t()'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a3169b4f7abb773ea30348770629c53e8',1,'nlohmann::detail::binary_writer::binary_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ad6c955145bebde84d93991ffed7cd389',1,'nlohmann::basic_json::binary_t()']]], + ['binary_5fwriter',['binary_writer',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html',1,'nlohmann::detail::binary_writer< BasicJsonType, CharType >'],['../d9/dcc/classnlohmann_1_1basic__json.html#ab483f21649bd170f593ec58044cd68a6',1,'nlohmann::basic_json::binary_writer()'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a373289af95a946c19bb4a58a5df71a78',1,'nlohmann::detail::binary_writer::binary_writer()']]], + ['binarytype',['BinaryType',['../d7/d1c/classBinaryType.html',1,'']]], + ['bknobs',['bKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ab2d9ce46cd037407a5c9ec655ad0a25d',1,'cudnn_frontend::Engine_v8']]], + ['bmatdesc',['bmatdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0945c6296efc14ffc41122aaae3946b8',1,'cudnn_frontend::Operation_v8']]], + ['boolean',['boolean',['../d9/dcc/classnlohmann_1_1basic__json.html#a7386443608348fa4b451f033a1439074',1,'nlohmann::basic_json::boolean()'],['../d0/d82/structnlohmann_1_1json__sax.html#a82ed080814fa656191a537284bb0c575',1,'nlohmann::json_sax::boolean()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a476c4634b93546a1a555725e551c2b33',1,'nlohmann::detail::json_sax_dom_parser::boolean()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ab7d8db672189164a8c0731e65ada1b45',1,'nlohmann::detail::json_sax_dom_callback_parser::boolean()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a3f5fe42a9b195de8d251d6d98d5ee92c',1,'nlohmann::detail::json_sax_acceptor::boolean()'],['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a84e2c64f38f78ba3ea5c905ab5a2da27',1,'nlohmann::detail::boolean()']]], + ['boolean_5ffunction_5ft',['boolean_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a45ec87326503b8884b664a9ef23a6c99',1,'nlohmann::detail']]], + ['boolean_5ft',['boolean_t',['../d9/dcc/classnlohmann_1_1basic__json.html#a44fd1a12c9c54623c942b430e7a72937',1,'nlohmann::basic_json']]], + ['boundaries',['boundaries',['../df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html',1,'nlohmann::detail::dtoa_impl']]], + ['bson',['bson',['../dc/df0/namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40a0b6879b186bfb2b1ec65d2460e4eccd4',1,'nlohmann::detail']]], + ['btensor_5fdima',['btensor_dimA',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a7419041bb3bf934f8e9f851fa63acabd',1,'cudnn_frontend::Tensor_v8']]], + ['btensor_5fstra',['btensor_strA',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ae4842fc7fcb87f5b60228fb6fa391b61',1,'cudnn_frontend::Tensor_v8']]], + ['build',['build',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a01f709a3efafaca70de6565817c43beb',1,'cudnn_frontend::ConvDescBuilder_v8::build()'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a010b99c39d63121be78ec847fff433f8',1,'cudnn_frontend::EngineBuilder_v8::build()'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a639e1514ea8f283720e49fc18d7ad673',1,'cudnn_frontend::EngineConfigBuilder_v8::build()'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#aae1a36ace3278dbedcf0d743a7744d98',1,'cudnn_frontend::EngineFallbackListBuilder_v8::build()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga5ff39f2019a5a3fe8062bf887707877c',1,'cudnn_frontend::ExecutionPlanBuilder_v8::build()'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#ab3ff1b538521fdea588d8ac155f6e88c',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::build()'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#addc153acf5600781659a1a2ba891e59c',1,'cudnn_frontend::MatMulDescBuilder_v8::build()'],['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#aa0df558c603d8316dd3eb2d5bfd67c9d',1,'cudnn_frontend::OperationBuilder_v8::build()'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#ac78945f424f254f0060d4c2e1184cf1f',1,'cudnn_frontend::OperationGraphBuilder_v8::build()'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a5de642e4141705f8e06c4bf566f1d332',1,'cudnn_frontend::PointWiseDescBuilder_v8::build()'],['../d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a84355923606ae86f66264fbcc5c305ad',1,'cudnn_frontend::ReductionDescBuilder_v8::build()'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a32876941f964b3fad2d123b9081b0af7',1,'cudnn_frontend::TensorBuilder_v8::build()'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#abf794751941aa252c19e1879306375d3',1,'cudnn_frontend::VariantPackBuilder_v8::build()']]], + ['buildknobs',['buildKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a0e6d7c12c261ad6c2f08e1249397b696',1,'cudnn_frontend::Engine_v8']]], + ['byte',['byte',['../d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#a9505aaa1ca943be927eec7cc579592ff',1,'nlohmann::detail::parse_error']]], + ['byte_5fcontainer_5fwith_5fsubtype',['byte_container_with_subtype',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html',1,'nlohmann::byte_container_with_subtype< BinaryType >'],['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a89c78caf8c7b54dc1bcfa4b0b23d2fc8',1,'nlohmann::byte_container_with_subtype::byte_container_with_subtype() noexcept(noexcept(container_type()))'],['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a640b6dd55847e86dbb936f97b946170e',1,'nlohmann::byte_container_with_subtype::byte_container_with_subtype(const container_type &b) noexcept(noexcept(container_type(b)))'],['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a73dcae1798eab1b496936bfae7b4b9c0',1,'nlohmann::byte_container_with_subtype::byte_container_with_subtype(container_type &&b) noexcept(noexcept(container_type(std::move(b))))'],['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a9bd3e08ec6d3ed9014ad7d83eca5e3b3',1,'nlohmann::byte_container_with_subtype::byte_container_with_subtype(const container_type &b, std::uint8_t subtype_) noexcept(noexcept(container_type(b)))'],['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#aa9e66c61f46afdd9a9c3617967c4c797',1,'nlohmann::byte_container_with_subtype::byte_container_with_subtype(container_type &&b, std::uint8_t subtype_) noexcept(noexcept(container_type(std::move(b))))']]], + ['bytes',['bytes',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a4239a42672c7378a6b449ee010e6dace',1,'nlohmann::detail::serializer']]], + ['bytes_5fafter_5flast_5faccept',['bytes_after_last_accept',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a9ae3daaea1941fd02d4c3c1b0f5fbe68',1,'nlohmann::detail::serializer']]] ]; diff --git a/docs/search/all_4.js b/docs/search/all_4.js index 814d74f2..71019785 100644 --- a/docs/search/all_4.js +++ b/docs/search/all_4.js @@ -1,34 +1,89 @@ var searchData= [ - ['elu_5falpha',['elu_alpha',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a246795e9bc43f846f701ae4214953412',1,'cudnn_frontend::PointWiseDesc_v8']]], - ['engine',['engine',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ac102dce4f496c358a15ca753362fc4b7',1,'cudnn_frontend::EngineConfig_v8::engine()'],['../df/de1/namespacecudnn__frontend.html#a1ed8c535fea949a10acd26e279cc28a1',1,'cudnn_frontend::Engine()']]], - ['engine_5fconfig',['engine_config',['../d7/d0d/group__ExecutionPlanQuery.html#ga5e3dd6d441474ac5ab94aaaf9c45bc5b',1,'cudnn_frontend::ExecutionPlan_v8']]], - ['engine_5fconfig_5fgenerators',['engine_config_generators',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a1a06febdf947e151276bf09947c62436',1,'cudnn_frontend::EngineConfigGenerator']]], - ['engine_5fv8',['Engine_v8',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html',1,'cudnn_frontend::Engine_v8'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#afc5da140bcc7be57dc81f7fc5a589744',1,'cudnn_frontend::Engine_v8::Engine_v8()=default'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a63620960db3192066b7eb5f563841f1b',1,'cudnn_frontend::Engine_v8::Engine_v8(Engine_v8 const &)=delete'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a7609e82ac3dc04b67e9e73beb0f7cdae',1,'cudnn_frontend::Engine_v8::Engine_v8(Engine_v8 &&from)']]], - ['enginebuilder',['EngineBuilder',['../df/de1/namespacecudnn__frontend.html#a4f90ec150d149f8f0751daa3ad625839',1,'cudnn_frontend']]], - ['enginebuilder_5fv8',['EngineBuilder_v8',['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html',1,'cudnn_frontend::EngineBuilder_v8'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ae5d0c105971ce443fe6fb62884d7b2d2',1,'cudnn_frontend::Engine_v8::EngineBuilder_v8()'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a21b687e5455f4bc727210ac2da46d7b3',1,'cudnn_frontend::EngineBuilder_v8::EngineBuilder_v8()=default'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a033fb0022860f23e76ca1529da165bfc',1,'cudnn_frontend::EngineBuilder_v8::EngineBuilder_v8(EngineBuilder_v8 &&)=delete'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a7f5a24e27ff497bd44fd93fb700d5424',1,'cudnn_frontend::EngineBuilder_v8::EngineBuilder_v8(EngineBuilder_v8 const &)=delete'],['../d3/d09/group__EngineBuilder__v8.html',1,'(Global Namespace)']]], - ['engineconfig',['EngineConfig',['../df/de1/namespacecudnn__frontend.html#a2559dec72130bbdc95c02fb0df79fd42',1,'cudnn_frontend']]], - ['engineconfig_5fv8',['EngineConfig_v8',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html',1,'cudnn_frontend::EngineConfig_v8'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a16d46ab109f54fe4ef0863fddcc66e42',1,'cudnn_frontend::EngineConfig_v8::EngineConfig_v8(EngineConfig_v8 &&from)'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ab761cb8a8a38495e913395fa872afb3e',1,'cudnn_frontend::EngineConfig_v8::EngineConfig_v8()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#acf7eccfed045156beab03a2db0c31dd8',1,'cudnn_frontend::EngineConfig_v8::EngineConfig_v8(EngineConfig_v8 const &)=delete']]], - ['engineconfigbuilder',['EngineConfigBuilder',['../df/de1/namespacecudnn__frontend.html#ac46e1785757fde7c10e3d527f697fde8',1,'cudnn_frontend']]], - ['engineconfigbuilder_5fv8',['EngineConfigBuilder_v8',['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html',1,'cudnn_frontend::EngineConfigBuilder_v8'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a9b1cd07d3023dc3130d5eae560558cdb',1,'cudnn_frontend::EngineConfig_v8::EngineConfigBuilder_v8()'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a49a8a25759e78e7a2c77c55f0b54696b',1,'cudnn_frontend::EngineConfigBuilder_v8::EngineConfigBuilder_v8()=default'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a3deb5e1f20c028b8bb39406cca743e43',1,'cudnn_frontend::EngineConfigBuilder_v8::EngineConfigBuilder_v8(EngineConfigBuilder_v8 &&)=delete'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a17fca0597527c1f6acffa73ddaeedc03',1,'cudnn_frontend::EngineConfigBuilder_v8::EngineConfigBuilder_v8(EngineConfigBuilder_v8 const &)=delete'],['../d2/dbb/group__EngineConfigBuilder__v8.html',1,'(Global Namespace)']]], - ['engineconfiggenerator',['EngineConfigGenerator',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html',1,'cudnn_frontend::EngineConfigGenerator'],['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a322221ec9a28f1f48c5a3edf60adff1d',1,'cudnn_frontend::EngineConfigGenerator::EngineConfigGenerator()']]], - ['engineconfiglist',['EngineConfigList',['../df/de1/namespacecudnn__frontend.html#a84a5f004bdf17747bf7cf45d6fc754cd',1,'cudnn_frontend']]], - ['enginefallbacklist',['EngineFallbackList',['../df/de1/namespacecudnn__frontend.html#a61fbd4506f1249c686164fb33d858999',1,'cudnn_frontend']]], - ['enginefallbacklist_5fv8',['EngineFallbackList_v8',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html',1,'cudnn_frontend::EngineFallbackList_v8'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#adfa074bcaaf2b0297a9c740a3e3706b7',1,'cudnn_frontend::EngineFallbackList_v8::EngineFallbackList_v8(EngineFallbackList_v8 &&from)'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#abb40ba38f035c1e9bd20304f32f90256',1,'cudnn_frontend::EngineFallbackList_v8::EngineFallbackList_v8()=default'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9c9a8cc39a38b449b1f044d407168905',1,'cudnn_frontend::EngineFallbackList_v8::EngineFallbackList_v8(EngineFallbackList_v8 const &)=delete']]], - ['enginefallbacklistbuilder',['EngineFallbackListBuilder',['../df/de1/namespacecudnn__frontend.html#aeb6699f494fa895d402898dae554f5a9',1,'cudnn_frontend']]], - ['enginefallbacklistbuilder_5fv8',['EngineFallbackListBuilder_v8',['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html',1,'cudnn_frontend::EngineFallbackListBuilder_v8'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#ae2c71646b56855f59ed1a267f06d5a7c',1,'cudnn_frontend::EngineFallbackList_v8::EngineFallbackListBuilder_v8()'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#ae955fa571b31ffc3da0ca6293d089642',1,'cudnn_frontend::EngineFallbackListBuilder_v8::EngineFallbackListBuilder_v8()=default'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a3dda7b1b97beb027718b7809702967b5',1,'cudnn_frontend::EngineFallbackListBuilder_v8::EngineFallbackListBuilder_v8(EngineFallbackListBuilder_v8 &&)=delete'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#ad3e10ca860311b1b554507615c46b9ad',1,'cudnn_frontend::EngineFallbackListBuilder_v8::EngineFallbackListBuilder_v8(EngineFallbackListBuilder_v8 const &)=delete'],['../d4/d6b/group__EngineFallbackListBuilder__v8.html',1,'(Global Namespace)']]], - ['engineheuristics',['EngineHeuristics',['../df/de1/namespacecudnn__frontend.html#a147bbd62e1c7c6b3fbc6869ab776b125',1,'cudnn_frontend']]], - ['engineheuristics_5fv8',['EngineHeuristics_v8',['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html',1,'cudnn_frontend::EngineHeuristics_v8'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a298d4a89c8e9ed80526a6cccf33d716c',1,'cudnn_frontend::EngineHeuristics_v8::EngineHeuristics_v8(EngineHeuristics_v8 &&from)'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#aaa983e31e1a22bfebb639865e4514d82',1,'cudnn_frontend::EngineHeuristics_v8::EngineHeuristics_v8()=default'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a496a7e3160046bdf73289fbec51423a3',1,'cudnn_frontend::EngineHeuristics_v8::EngineHeuristics_v8(EngineHeuristics_v8 const &)=delete']]], - ['engineheuristicsbuilder',['EngineHeuristicsBuilder',['../df/de1/namespacecudnn__frontend.html#aae6a627b67858b15afbc5656afa88123',1,'cudnn_frontend']]], - ['engineheuristicsbuilder_5fv8',['EngineHeuristicsBuilder_v8',['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html',1,'cudnn_frontend::EngineHeuristicsBuilder_v8'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a44df29e58afe4b8fdc894574eb5efb9e',1,'cudnn_frontend::EngineHeuristics_v8::EngineHeuristicsBuilder_v8()'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a5667e4567520189eaa96fcd6e934cb29',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::EngineHeuristicsBuilder_v8()=default'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#af5318bb3e2700f53e299f8526e7a524f',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::EngineHeuristicsBuilder_v8(EngineHeuristicsBuilder_v8 &&)=delete'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a19d632b9f96c91bad2b18446cf32f491',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::EngineHeuristicsBuilder_v8(EngineHeuristicsBuilder_v8 const &)=delete'],['../dc/d99/group__EngineHeuristicsBuilder__v8.html',1,'(Global Namespace)']]], - ['engineheuristicsquery',['EngineHeuristicsQuery',['../d6/d46/group__EngineHeuristicsQuery.html',1,'']]], - ['err_5fmsg',['err_msg',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a0d416655dab2b5a675fecb5df9ea8521',1,'cudnn_frontend::BackendDescriptor']]], - ['executionoption',['executionOption',['../d6/d1b/structcudnn__frontend_1_1executionOption.html',1,'cudnn_frontend']]], - ['executionoptions_5ft',['executionOptions_t',['../df/de1/namespacecudnn__frontend.html#ad5f0f0c892b009e34aa59f67de1b5535',1,'cudnn_frontend']]], - ['executionplan',['ExecutionPlan',['../df/de1/namespacecudnn__frontend.html#a984c10aa29daac796444bda66bdef26e',1,'cudnn_frontend']]], - ['executionplan_5fv8',['ExecutionPlan_v8',['../d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html',1,'cudnn_frontend::ExecutionPlan_v8'],['../d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#ac388ed7f6911f704ed2618a3867fad72',1,'cudnn_frontend::ExecutionPlan_v8::ExecutionPlan_v8(ExecutionPlan_v8 &&from)'],['../d7/d0d/group__ExecutionPlanQuery.html#ga2c011aa14563ef96417ce599f0c83d89',1,'cudnn_frontend::ExecutionPlan_v8::ExecutionPlan_v8()=default'],['../d7/d0d/group__ExecutionPlanQuery.html#ga51c4b75729ab066f0686729896741c5d',1,'cudnn_frontend::ExecutionPlan_v8::ExecutionPlan_v8(ExecutionPlan_v8 const &)=delete']]], - ['executionplanbuilder',['ExecutionPlanBuilder',['../df/de1/namespacecudnn__frontend.html#aa508b66c4de02f4aacae8029dbe422eb',1,'cudnn_frontend']]], - ['executionplanbuilder_5fv8',['ExecutionPlanBuilder_v8',['../d1/d74/classcudnn__frontend_1_1ExecutionPlanBuilder__v8.html',1,'cudnn_frontend::ExecutionPlanBuilder_v8'],['../d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#a00c29ad02430927df9260c7e57ae7c7a',1,'cudnn_frontend::ExecutionPlan_v8::ExecutionPlanBuilder_v8()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga8e48fb375271599c83f57922d9f8c89e',1,'cudnn_frontend::ExecutionPlanBuilder_v8::ExecutionPlanBuilder_v8()=default'],['../d7/d0d/group__ExecutionPlanQuery.html#ga60147aa715352906e32cbb87558cb0ae',1,'cudnn_frontend::ExecutionPlanBuilder_v8::ExecutionPlanBuilder_v8(ExecutionPlanBuilder_v8 &&)=delete'],['../d7/d0d/group__ExecutionPlanQuery.html#ga2b84d3619b5bd9ca0faa30c126deb43c',1,'cudnn_frontend::ExecutionPlanBuilder_v8::ExecutionPlanBuilder_v8(ExecutionPlanBuilder_v8 const &)=delete'],['../d4/de1/group__ExecutionPlanBuilder__v8.html',1,'(Global Namespace)']]], - ['executionplanquery',['ExecutionPlanQuery',['../d7/d0d/group__ExecutionPlanQuery.html',1,'']]], - ['executionplans_5ft',['executionPlans_t',['../df/de1/namespacecudnn__frontend.html#a560644a5c1e6016c509a379ca6e03f05',1,'cudnn_frontend']]] + ['cached_5fpower',['cached_power',['../d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html',1,'nlohmann::detail::dtoa_impl']]], + ['calc_5fbson_5farray_5fsize',['calc_bson_array_size',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#af08f9302a02516ff8cf358a99aaa1ddf',1,'nlohmann::detail::binary_writer']]], + ['calc_5fbson_5fbinary_5fsize',['calc_bson_binary_size',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a9dd6062fd249a695e0f93d558dba4685',1,'nlohmann::detail::binary_writer']]], + ['calc_5fbson_5felement_5fsize',['calc_bson_element_size',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a1e4372c5984184eb5bcc09af1fcc2ee0',1,'nlohmann::detail::binary_writer']]], + ['calc_5fbson_5fentry_5fheader_5fsize',['calc_bson_entry_header_size',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a11637a023d22e57a7e7aff3f98b10f84',1,'nlohmann::detail::binary_writer']]], + ['calc_5fbson_5finteger_5fsize',['calc_bson_integer_size',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#aeab70c895931b96ea598306b37eca271',1,'nlohmann::detail::binary_writer']]], + ['calc_5fbson_5fobject_5fsize',['calc_bson_object_size',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#acc6f1cc1fd370ee84ebc8cf7b8712840',1,'nlohmann::detail::binary_writer']]], + ['calc_5fbson_5fstring_5fsize',['calc_bson_string_size',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#aea44fd97a5cb9b4f175e66e3e4fdf158',1,'nlohmann::detail::binary_writer']]], + ['calc_5fbson_5funsigned_5fsize',['calc_bson_unsigned_size',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#aa1d6bb9f3af16f07ce2440c354b5787b',1,'nlohmann::detail::binary_writer']]], + ['callback',['callback',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a46a72dffd5be4a25602af00f0033c126',1,'nlohmann::detail::json_sax_dom_callback_parser::callback()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a6bf70a72a1632ef55c0068557b1be37a',1,'nlohmann::detail::parser::callback()']]], + ['cbegin',['cbegin',['../d9/dcc/classnlohmann_1_1basic__json.html#ae508c13e3ad6ce445bcaf24a2bc7d039',1,'nlohmann::basic_json']]], + ['cbor',['cbor',['../dc/df0/namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40aaf9de350d652f0c9055ddab514bd23ea',1,'nlohmann::detail']]], + ['cbor_5ftag_5fhandler_5ft',['cbor_tag_handler_t',['../d9/dcc/classnlohmann_1_1basic__json.html#a54951d14f0dd10cc3cfdaa24f8bfd15c',1,'nlohmann::basic_json::cbor_tag_handler_t()'],['../dc/df0/namespacenlohmann_1_1detail.html#a58bb1ef1a9ad287a9cfaf1855784d9ac',1,'nlohmann::detail::cbor_tag_handler_t()']]], + ['cdesc',['cdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a19856fbb973574342efedc43134af3a7',1,'cudnn_frontend::Operation_v8']]], + ['cend',['cend',['../d9/dcc/classnlohmann_1_1basic__json.html#a3017cf0f1a4673e904e34cfef62e7758',1,'nlohmann::basic_json']]], + ['char_5fint_5ftype',['char_int_type',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a46612a81a07dbbc6daef870ca4f959e4',1,'nlohmann::detail::lexer::char_int_type()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aa12ade9a8c0acaebef6399e3d446b970',1,'nlohmann::detail::binary_reader::char_int_type()']]], + ['char_5ftype',['char_type',['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#ac853c96c60f93dc97433dacd98179f35',1,'nlohmann::detail::file_input_adapter::char_type()'],['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a72f0713587f6bb3f3fbaae7d34c0ca39',1,'nlohmann::detail::input_stream_adapter::char_type()'],['../d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a7cc60e68767005322ab4b692c9dff283',1,'nlohmann::detail::iterator_input_adapter::char_type()'],['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a7b9f8684206b5dadf0e96986577dfc24',1,'nlohmann::detail::wide_string_input_adapter::char_type()'],['../d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a1439c0eda85f5f67199374d3254b8f2a',1,'nlohmann::detail::iterator_input_adapter_factory::char_type()'],['../da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#aff521be1855964b6ec371eed2ca2590f',1,'nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::char_type()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a98c69ad433d971104288baef813b2c68',1,'nlohmann::detail::lexer::char_type()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#abc20ff256868de6791b3646ab33fff76',1,'nlohmann::detail::binary_reader::char_type()']]], + ['chars_5fread',['chars_read',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aa03c779d4512b5764895dc341b0ef902',1,'nlohmann::detail::binary_reader']]], + ['chars_5fread_5fcurrent_5fline',['chars_read_current_line',['../d6/d02/structnlohmann_1_1detail_1_1position__t.html#a74df94563dd32102152ceb8c6d9041d8',1,'nlohmann::detail::position_t']]], + ['chars_5fread_5ftotal',['chars_read_total',['../d6/d02/structnlohmann_1_1detail_1_1position__t.html#a94cf85cd91d478c20ae143eba906ea1a',1,'nlohmann::detail::position_t']]], + ['check_5ferrata',['check_errata',['../df/de1/namespacecudnn__frontend.html#a8f4ddfcd38f15524ff0a35e14d21664c',1,'cudnn_frontend']]], + ['check_5frule',['check_rule',['../df/de1/namespacecudnn__frontend.html#a91f2627793be5d51db9b1473275d803d',1,'cudnn_frontend']]], + ['choice',['choice',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aee3bbc2a558893309d6882a0e30d439a',1,'cudnn_frontend::Engine_v8::Knob']]], + ['clear',['clear',['../d9/dcc/classnlohmann_1_1basic__json.html#a946cc8f30d8b1d6609b57387b647fe53',1,'nlohmann::basic_json']]], + ['clear_5fsubtype',['clear_subtype',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a7b122b28ff2b8680557ca44ac9748e49',1,'nlohmann::byte_container_with_subtype']]], + ['cmatdesc',['cmatdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#adea4f5ef82e61fc375fd2c3ee8e92147',1,'cudnn_frontend::Operation_v8']]], + ['combine',['combine',['../dc/df0/namespacenlohmann_1_1detail.html#a66eb4d912b6f872d6983f7d0826f32c6',1,'nlohmann::detail']]], + ['compatiblelimits',['CompatibleLimits',['../d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html#a24d97696ca33fba8096e452b1901a8e6',1,'nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >']]], + ['compute_5fboundaries',['compute_boundaries',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#a22b6e37654ac93c6d0d9c06ec1bf5ded',1,'nlohmann::detail::dtoa_impl']]], + ['computetag',['computeTag',['../d7/d0d/group__ExecutionPlanQuery.html#ga8a6517102f5c12e63e4417324a03180b',1,'cudnn_frontend::ExecutionPlan_v8']]], + ['conjunction',['conjunction',['../dd/dde/structnlohmann_1_1detail_1_1conjunction.html',1,'nlohmann::detail']]], + ['conjunction_3c_20b1_20_3e',['conjunction< B1 >',['../d1/d96/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4.html',1,'nlohmann::detail']]], + ['conjunction_3c_20b1_2c_20bn_2e_2e_2e_20_3e',['conjunction< B1, Bn... >',['../d5/db0/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4.html',1,'nlohmann::detail']]], + ['conjunction_3c_20is_5fconstructible_3c_20t1_2c_20args_20_3e_2e_2e_2e_20_3e',['conjunction< is_constructible< T1, Args >... >',['../dd/dde/structnlohmann_1_1detail_1_1conjunction.html',1,'nlohmann::detail']]], + ['conjunction_3c_20is_5fdefault_5fconstructible_3c_20t1_20_3e_2c_20is_5fdefault_5fconstructible_3c_20t2_20_3e_20_3e',['conjunction< is_default_constructible< T1 >, is_default_constructible< T2 > >',['../dd/dde/structnlohmann_1_1detail_1_1conjunction.html',1,'nlohmann::detail']]], + ['conjunction_3c_20is_5fdefault_5fconstructible_3c_20ts_20_3e_2e_2e_2e_20_3e',['conjunction< is_default_constructible< Ts >... >',['../dd/dde/structnlohmann_1_1detail_1_1conjunction.html',1,'nlohmann::detail']]], + ['const_5fiterator',['const_iterator',['../d9/dcc/classnlohmann_1_1basic__json.html#aebd2cfa7e4ded4e97cde9269bfeeea38',1,'nlohmann::basic_json']]], + ['const_5fpointer',['const_pointer',['../d9/dcc/classnlohmann_1_1basic__json.html#a4108c5148f1d7cf13c2681e22f141a10',1,'nlohmann::basic_json']]], + ['const_5freference',['const_reference',['../d9/dcc/classnlohmann_1_1basic__json.html#ab8a1c33ee7b154fc41ca2545aa9724e6',1,'nlohmann::basic_json']]], + ['const_5freverse_5fiterator',['const_reverse_iterator',['../d9/dcc/classnlohmann_1_1basic__json.html#aa7dba16ed9ee97380aeb17a207dd919a',1,'nlohmann::basic_json']]], + ['construct',['construct',['../d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html#a867122bcf0856c757bd6bcbfb8be74bc',1,'nlohmann::detail::external_constructor< value_t::boolean >::construct()'],['../da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html#ad88d0b4b7ea01ea20e12cc1b82fe0d92',1,'nlohmann::detail::external_constructor< value_t::string >::construct(BasicJsonType &j, const typename BasicJsonType::string_t &s)'],['../da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html#a74f56b9ca1d4e8db9751353d76668322',1,'nlohmann::detail::external_constructor< value_t::string >::construct(BasicJsonType &j, typename BasicJsonType::string_t &&s)'],['../da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html#a8822d43f0e20c5a28be329f9ca7de6c4',1,'nlohmann::detail::external_constructor< value_t::string >::construct(BasicJsonType &j, const CompatibleStringType &str)'],['../d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html#a0ff0da4f9a4d27955961477102c50a27',1,'nlohmann::detail::external_constructor< value_t::binary >::construct(BasicJsonType &j, const typename BasicJsonType::binary_t &b)'],['../d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html#a1c478157dc8bad20f09572c5b2406150',1,'nlohmann::detail::external_constructor< value_t::binary >::construct(BasicJsonType &j, typename BasicJsonType::binary_t &&b)'],['../d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html#a669df5a4d258b588e67f747c6d656cdb',1,'nlohmann::detail::external_constructor< value_t::number_float >::construct()'],['../d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html#a17969b14852f43e04353858c87b0f539',1,'nlohmann::detail::external_constructor< value_t::number_unsigned >::construct()'],['../dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html#a7c3949672ddb45095cc2527635feef0b',1,'nlohmann::detail::external_constructor< value_t::number_integer >::construct()'],['../d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#abfb2a6eec0bc21e8a7438546aebc55d8',1,'nlohmann::detail::external_constructor< value_t::array >::construct(BasicJsonType &j, const typename BasicJsonType::array_t &arr)'],['../d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a50474d6624957a630a1d398cac1e7bfa',1,'nlohmann::detail::external_constructor< value_t::array >::construct(BasicJsonType &j, typename BasicJsonType::array_t &&arr)'],['../d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a110f50fd5378da876d9a6d6a8d945e37',1,'nlohmann::detail::external_constructor< value_t::array >::construct(BasicJsonType &j, const CompatibleArrayType &arr)'],['../d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a4ebb19b1cb84b4cb224a4c5322e16f14',1,'nlohmann::detail::external_constructor< value_t::array >::construct(BasicJsonType &j, const std::vector< bool > &arr)'],['../d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a1b9226304e6492141080b4ebf228ddac',1,'nlohmann::detail::external_constructor< value_t::array >::construct(BasicJsonType &j, const std::valarray< T > &arr)'],['../d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html#a3a369c5d49596dd4411e368425f9ac7a',1,'nlohmann::detail::external_constructor< value_t::object >::construct(BasicJsonType &j, const typename BasicJsonType::object_t &obj)'],['../d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html#a1e044961affbd6417386d6e9f1d545e9',1,'nlohmann::detail::external_constructor< value_t::object >::construct(BasicJsonType &j, typename BasicJsonType::object_t &&obj)'],['../d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html#a91f89abe0ec4dec59099b691682ff927',1,'nlohmann::detail::external_constructor< value_t::object >::construct(BasicJsonType &j, const CompatibleObjectType &obj)']]], + ['container',['Container',['../d6/da7/structnlohmann_1_1ordered__map.html#a0cabe346c38a4f1ab1b8a396fbd2bbe2',1,'nlohmann::ordered_map::Container()'],['../db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html#a88c0532ba4a5de1d527b18053b24fd19',1,'nlohmann::detail::iteration_proxy::container()']]], + ['container_5finput_5fadapter_5ffactory',['container_input_adapter_factory',['../d1/d62/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory.html',1,'nlohmann::detail::container_input_adapter_factory_impl']]], + ['container_5finput_5fadapter_5ffactory_3c_20containertype_2c_20void_5ft_3c_20decltype_28begin_28std_3a_3adeclval_3c_20containertype_20_3e_28_29_29_2c_20end_28std_3a_3adeclval_3c_20containertype_20_3e_28_29_29_29_3e_20_3e',['container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >',['../d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html',1,'nlohmann::detail::container_input_adapter_factory_impl']]], + ['container_5ftype',['container_type',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a4d27e8633c5a5e3b49dd4ccb06515713',1,'nlohmann::byte_container_with_subtype']]], + ['contains',['contains',['../da/de8/classnlohmann_1_1json__pointer.html#a90d38e45e2d3add52d824bc55da8f772',1,'nlohmann::json_pointer::contains()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a02c9bc4d0f33b7dec20b2798301d6971',1,'nlohmann::basic_json::contains(KeyT &&key) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#adb82c1f34c73486e013da71ae369e597',1,'nlohmann::basic_json::contains(const json_pointer &ptr) const']]], + ['contiguous_5fbytes_5finput_5fadapter',['contiguous_bytes_input_adapter',['../dc/df0/namespacenlohmann_1_1detail.html#abc51edd46a1d1a0ff06a19f08ceff563',1,'nlohmann::detail']]], + ['convdesc',['ConvDesc',['../df/de1/namespacecudnn__frontend.html#ae24bc7541c87c642cdef8eaf83c8eacc',1,'cudnn_frontend']]], + ['convdesc_5fv8',['ConvDesc_v8',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html',1,'cudnn_frontend::ConvDesc_v8'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a592e3a28fd7a8b2553789801d9bd276c',1,'cudnn_frontend::ConvDesc_v8::ConvDesc_v8(ConvDesc_v8 &&from)'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a5c892fb76fbf9e4bfffdb5288f9d60ad',1,'cudnn_frontend::ConvDesc_v8::ConvDesc_v8()=default'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a061ef887bdf383d416ee143a35d5c334',1,'cudnn_frontend::ConvDesc_v8::ConvDesc_v8(ConvDesc_v8 const &)=delete']]], + ['convdescbuilder',['ConvDescBuilder',['../df/de1/namespacecudnn__frontend.html#a91b5e4e82a18d2212ad6be6d5398752c',1,'cudnn_frontend']]], + ['convdescbuilder_5fv8',['ConvDescBuilder_v8',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html',1,'cudnn_frontend::ConvDescBuilder_v8'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a00c454e18392653a023f75275553a4e7',1,'cudnn_frontend::ConvDesc_v8::ConvDescBuilder_v8()'],['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#ae7b3fb50c7866c50ac1a170e137f38af',1,'cudnn_frontend::ConvDescBuilder_v8::ConvDescBuilder_v8()=default'],['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a314369f1ea702c92d184b3ba66085468',1,'cudnn_frontend::ConvDescBuilder_v8::ConvDescBuilder_v8(ConvDescBuilder_v8 &&)=delete'],['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a99c1c90149cee07a26124fe32bdcfe03',1,'cudnn_frontend::ConvDescBuilder_v8::ConvDescBuilder_v8(ConvDescBuilder_v8 const &)=delete'],['../d3/ddd/group__ConvDescBuilder__v8.html',1,'(Global Namespace)']]], + ['count',['count',['../d6/da7/structnlohmann_1_1ordered__map.html#aee2c188dcc802d6b28910f707a5e637b',1,'nlohmann::ordered_map::count()'],['../d9/dcc/classnlohmann_1_1basic__json.html#aba5ec6d1e37eda6b11eba491a1e5237e',1,'nlohmann::basic_json::count()']]], + ['crbegin',['crbegin',['../d9/dcc/classnlohmann_1_1basic__json.html#a044298d189bdf7e4b36492de9811ddd6',1,'nlohmann::basic_json']]], + ['create',['create',['../d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#ae77bd584cb9101140790219af7fec1ce',1,'nlohmann::detail::parse_error::create(int id_, const position_t &pos, const std::string &what_arg, const BasicJsonType &context)'],['../d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#a90fbaaeeb00838e65b8d04885017ef0c',1,'nlohmann::detail::parse_error::create(int id_, std::size_t byte_, const std::string &what_arg, const BasicJsonType &context)'],['../d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html#a34104b98ab00564e564176b4d2ba7c3c',1,'nlohmann::detail::invalid_iterator::create()'],['../da/d1c/classnlohmann_1_1detail_1_1type__error.html#a838a5e301cf97289c2d106b9ace1470f',1,'nlohmann::detail::type_error::create()'],['../d2/d67/classnlohmann_1_1detail_1_1out__of__range.html#a238f1bda3b6c92b5970fbf9187ccd325',1,'nlohmann::detail::out_of_range::create()'],['../d5/d1b/classnlohmann_1_1detail_1_1other__error.html#a3a25fa67a0ec36b5d36cbc4424eb901d',1,'nlohmann::detail::other_error::create()'],['../d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a1d3a80249cf837448966319310be9ec4',1,'nlohmann::detail::iterator_input_adapter_factory::create()'],['../da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#aae2354d80ae95214a9da99c495003f6c',1,'nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::create()'],['../d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html#a282eae71ce3b7a4249c6bc06da8b2670',1,'nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >::create()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ac53c5c09feafe34cc8a3a9f0b90f4792',1,'nlohmann::basic_json::create()']]], + ['crend',['crend',['../d9/dcc/classnlohmann_1_1basic__json.html#a223480466a0922267d680ec8f0722d58',1,'nlohmann::basic_json']]], + ['cudnn_5fbackend_5fbase_2eh',['cudnn_backend_base.h',['../dc/d11/cudnn__backend__base_8h.html',1,'']]], + ['cudnn_5ffind_5fsample_5fmedian_5fof_5fthree',['CUDNN_FIND_SAMPLE_MEDIAN_OF_THREE',['../df/de1/namespacecudnn__frontend.html#ab3748fa00b36beec790db7201fdd2ef3a903bfd2e4d1b8ab2a7197be752c618a6',1,'cudnn_frontend']]], + ['cudnn_5ffind_5fsample_5fonce',['CUDNN_FIND_SAMPLE_ONCE',['../df/de1/namespacecudnn__frontend.html#ab3748fa00b36beec790db7201fdd2ef3ac8ab707d81df65503b6b0ecc67675158',1,'cudnn_frontend']]], + ['cudnn_5ffind_5fsample_5ftill_5fstable',['CUDNN_FIND_SAMPLE_TILL_STABLE',['../df/de1/namespacecudnn__frontend.html#ab3748fa00b36beec790db7201fdd2ef3a8199dfa6701edb38f52a74d9e229b43d',1,'cudnn_frontend']]], + ['cudnn_5ffrontend',['cudnn_frontend',['../df/de1/namespacecudnn__frontend.html',1,'']]], + ['cudnn_5ffrontend_2eh',['cudnn_frontend.h',['../de/d0c/cudnn__frontend_8h.html',1,'']]], + ['cudnn_5ffrontend_5fconvdesc_2eh',['cudnn_frontend_ConvDesc.h',['../d1/de7/cudnn__frontend__ConvDesc_8h.html',1,'']]], + ['cudnn_5ffrontend_5fengine_2eh',['cudnn_frontend_Engine.h',['../de/d6d/cudnn__frontend__Engine_8h.html',1,'']]], + ['cudnn_5ffrontend_5fengineconfig_2eh',['cudnn_frontend_EngineConfig.h',['../d6/d67/cudnn__frontend__EngineConfig_8h.html',1,'']]], + ['cudnn_5ffrontend_5fengineconfiggenerator_2eh',['cudnn_frontend_EngineConfigGenerator.h',['../de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html',1,'']]], + ['cudnn_5ffrontend_5fenginefallbacklist_2eh',['cudnn_frontend_EngineFallbackList.h',['../df/d3e/cudnn__frontend__EngineFallbackList_8h.html',1,'']]], + ['cudnn_5ffrontend_5ferrata_2eh',['cudnn_frontend_Errata.h',['../db/d7e/cudnn__frontend__Errata_8h.html',1,'']]], + ['cudnn_5ffrontend_5fexecutionplan_2eh',['cudnn_frontend_ExecutionPlan.h',['../d6/d51/cudnn__frontend__ExecutionPlan_8h.html',1,'']]], + ['cudnn_5ffrontend_5ffilters_2eh',['cudnn_frontend_Filters.h',['../d5/d36/cudnn__frontend__Filters_8h.html',1,'']]], + ['cudnn_5ffrontend_5ffind_5fplan_2eh',['cudnn_frontend_find_plan.h',['../d3/d6b/cudnn__frontend__find__plan_8h.html',1,'']]], + ['cudnn_5ffrontend_5fget_5fplan_2eh',['cudnn_frontend_get_plan.h',['../d2/d3b/cudnn__frontend__get__plan_8h.html',1,'']]], + ['cudnn_5ffrontend_5fheuristics_2eh',['cudnn_frontend_Heuristics.h',['../db/d66/cudnn__frontend__Heuristics_8h.html',1,'']]], + ['cudnn_5ffrontend_5fmatmuldesc_2eh',['cudnn_frontend_MatMulDesc.h',['../d6/d32/cudnn__frontend__MatMulDesc_8h.html',1,'']]], + ['cudnn_5ffrontend_5foperation_2eh',['cudnn_frontend_Operation.h',['../da/d5a/cudnn__frontend__Operation_8h.html',1,'']]], + ['cudnn_5ffrontend_5foperationgraph_2eh',['cudnn_frontend_OperationGraph.h',['../db/d7d/cudnn__frontend__OperationGraph_8h.html',1,'']]], + ['cudnn_5ffrontend_5fpointwisedesc_2eh',['cudnn_frontend_PointWiseDesc.h',['../da/d5f/cudnn__frontend__PointWiseDesc_8h.html',1,'']]], + ['cudnn_5ffrontend_5freductiondesc_2eh',['cudnn_frontend_ReductionDesc.h',['../db/da7/cudnn__frontend__ReductionDesc_8h.html',1,'']]], + ['cudnn_5ffrontend_5ftensor_2eh',['cudnn_frontend_Tensor.h',['../d3/d98/cudnn__frontend__Tensor_8h.html',1,'']]], + ['cudnn_5ffrontend_5futils_2eh',['cudnn_frontend_utils.h',['../df/d17/cudnn__frontend__utils_8h.html',1,'']]], + ['cudnn_5ffrontend_5fvariantpack_2eh',['cudnn_frontend_VariantPack.h',['../df/dc0/cudnn__frontend__VariantPack_8h.html',1,'']]], + ['cudnnexception',['cudnnException',['../d9/dca/classcudnn__frontend_1_1cudnnException.html',1,'cudnn_frontend::cudnnException'],['../d9/dca/classcudnn__frontend_1_1cudnnException.html#aa80c45a57ca091770572aaa5a1f7e322',1,'cudnn_frontend::cudnnException::cudnnException()']]], + ['cudnnfindplan',['cudnnFindPlan',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#abd7cdd3a218623ffc5dfcbf9343aef85',1,'cudnn_frontend::EngineConfigGenerator']]], + ['cudnnfindsamplingtechnique',['CudnnFindSamplingTechnique',['../df/de1/namespacecudnn__frontend.html#ab3748fa00b36beec790db7201fdd2ef3',1,'cudnn_frontend']]], + ['cudnngetplan',['cudnnGetPlan',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#ad6ca7e7263ed9b7597f94ca45505642f',1,'cudnn_frontend::EngineConfigGenerator']]], + ['current',['current',['../d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a8abccad27590d381a94e474b16161938',1,'nlohmann::detail::iterator_input_adapter::current()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a40bd85d91d377ade9ccb910e35776c22',1,'nlohmann::detail::lexer::current()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ab47df98119524e9c7d9ff0b820913883',1,'nlohmann::detail::binary_reader::current()']]], + ['cudnn_20frontend_20api',['CUDNN FRONTEND API',['../index.html',1,'']]] ]; diff --git a/docs/search/all_5.js b/docs/search/all_5.js index f0858934..a07524ea 100644 --- a/docs/search/all_5.js +++ b/docs/search/all_5.js @@ -1,4 +1,27 @@ var searchData= [ - ['filter',['filter',['../df/de1/namespacecudnn__frontend.html#a0f52559baeb4e9ee8835d95ea50a875e',1,'cudnn_frontend::filter(Predicate pred, executionPlans_t &plans) -> executionPlans_t'],['../df/de1/namespacecudnn__frontend.html#a4d18e44a57e30f9bf29157f742ba9c65',1,'cudnn_frontend::filter(EngineConfigList &from, EngineConfigList &to, std::function< bool(cudnnBackendDescriptor_t)> filter_fn)']]] + ['data_5fpointers',['data_pointers',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a3a03ddd893f41a9ce6ca674bbfae7434',1,'cudnn_frontend::VariantPack_v8']]], + ['data_5ftype',['data_type',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a4a0249ac1d094f9a70967dd69b824f2e',1,'cudnn_frontend::ConvDesc_v8::data_type()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ae9a3d128db54fa92d392e77044f30ca9',1,'cudnn_frontend::Tensor_v8::data_type()']]], + ['decimal_5fpoint',['decimal_point',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a311e5d6f4b31d5be0eb3c0cb20b6965a',1,'nlohmann::detail::serializer']]], + ['decimal_5fpoint_5fchar',['decimal_point_char',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a6f2fd5b4b6b153f11fc8f77213350073',1,'nlohmann::detail::lexer']]], + ['deprecated_20list',['Deprecated List',['../da/d58/deprecated.html',1,'']]], + ['describe',['describe',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#ab652fb3e9a58092fbb137b0e959a9478',1,'cudnn_frontend::BackendDescriptor::describe()'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a0d36a97abb2d36a0148ce8e8833baff8',1,'cudnn_frontend::ConvDesc_v8::describe()'],['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a3f60f9ba0e35cb0bccbf3524def69db2',1,'cudnn_frontend::Engine_v8::Knob::describe()'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a052463f45fef3bb98e2822ba0fccdb8e',1,'cudnn_frontend::Engine_v8::describe()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#aefd7d8d3da71ce0dddca0f6a85fd1c80',1,'cudnn_frontend::EngineConfig_v8::describe()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a3509dd7589fed7a699874170cec6dd9f',1,'cudnn_frontend::EngineFallbackList_v8::describe()'],['../d7/d0d/group__ExecutionPlanQuery.html#gad80aa2980d915449d05db4c71041e2e0',1,'cudnn_frontend::ExecutionPlan_v8::describe()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#ac223cc9438a0442bd3b48881f71a4b40',1,'cudnn_frontend::EngineHeuristics_v8::describe()'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a2931e4d0b21e6986a3f5a1697ca4bae0',1,'cudnn_frontend::MatMulDesc_v8::describe()'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a3425a8550eb9f622dc4101d3d5d2c0e1',1,'cudnn_frontend::Operation_v8::describe()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#acd0b5f47407184b0b26bf4d4b5d0ce32',1,'cudnn_frontend::OperationGraph_v8::describe()'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a66ada0a9313ced7ed2801097ef523de8',1,'cudnn_frontend::PointWiseDesc_v8::describe()'],['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#ad4d7570552aaf140e380e7a44e7785af',1,'cudnn_frontend::ReductionDesc_v8::describe()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a79cc1a752e6df2001b853f8c189b1f1f',1,'cudnn_frontend::Tensor_v8::describe()'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a7ba1c4736d3b0f187dc06344ca4e2032',1,'cudnn_frontend::VariantPack_v8::describe()']]], + ['destroy',['destroy',['../d9/dcc/classnlohmann_1_1basic__json.html#adca9bb93a7bfa43bdae38dd8493cc042',1,'nlohmann::basic_json']]], + ['detected_5for',['detected_or',['../dc/df0/namespacenlohmann_1_1detail.html#a240ce21919ab08e8a6cb3a5cfa412bce',1,'nlohmann::detail']]], + ['detected_5for_5ft',['detected_or_t',['../dc/df0/namespacenlohmann_1_1detail.html#a7ac5b8ef0363101275a2827b3b117dcf',1,'nlohmann::detail']]], + ['detected_5ft',['detected_t',['../dc/df0/namespacenlohmann_1_1detail.html#a37e97a32d0b94ce5f745427e4e40204d',1,'nlohmann::detail']]], + ['detector',['detector',['../dd/d10/structnlohmann_1_1detail_1_1detector.html',1,'nlohmann::detail']]], + ['detector_3c_20default_2c_20void_5ft_3c_20op_3c_20args_2e_2e_2e_20_3e_20_3e_2c_20op_2c_20args_2e_2e_2e_20_3e',['detector< Default, void_t< Op< Args... > >, Op, Args... >',['../d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html',1,'nlohmann::detail']]], + ['diagnostics',['diagnostics',['../de/df2/classnlohmann_1_1detail_1_1exception.html#aa353a7dba4fd179f7224b8a2a238a264',1,'nlohmann::detail::exception']]], + ['diff',['diff',['../d9/dcc/classnlohmann_1_1basic__json.html#a1c1f21327df91a4dd6c5f5a107240385',1,'nlohmann::basic_json']]], + ['difference_5ftype',['difference_type',['../d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#a1ce16c1c8c1d6a195f5a3d3ad31820f0',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::difference_type()'],['../da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#ae7be99eb434f5b5f34692874c272b759',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::difference_type()'],['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#ada6b4e6d55d8ed7ac79e49a03e9d1fe2',1,'nlohmann::detail::iteration_proxy_value::difference_type()'],['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#af3db0d5c90de427d51645fe73a015553',1,'nlohmann::detail::primitive_iterator_t::difference_type()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a2f7ea9f7022850809c60fc3263775840',1,'nlohmann::detail::iter_impl::difference_type()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a9ab55987c05ec6427ad36082e351cc45',1,'nlohmann::detail::json_reverse_iterator::difference_type()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a3d20d11e5dfe95084a76f62eca54fadd',1,'nlohmann::basic_json::difference_type()']]], + ['difference_5ftype_5ft',['difference_type_t',['../dc/df0/namespacenlohmann_1_1detail.html#a3603b59a17d1c5e15050743b847992f2',1,'nlohmann::detail']]], + ['dilation',['dilation',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a81e03a2a385d24a2faaf3db249580ac6',1,'cudnn_frontend::ConvDesc_v8']]], + ['discarded',['discarded',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a8997ee6dc3bd39116b951465b946445e',1,'nlohmann::detail::json_sax_dom_callback_parser::discarded()'],['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a94708897ec9db8647dfe695714c98e46',1,'nlohmann::detail::discarded()']]], + ['diyfp',['diyfp',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html',1,'nlohmann::detail::dtoa_impl::diyfp'],['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#ad8798a8823a49c8412f0fada9892c918',1,'nlohmann::detail::dtoa_impl::diyfp::diyfp()']]], + ['dump',['dump',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a95460ebd1a535a543e5a0ec52e00f48b',1,'nlohmann::detail::serializer::dump()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a476756fb08e7f2416aad116d137977f4',1,'nlohmann::basic_json::dump()']]], + ['dwdesc',['dwdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f565db1b8b85ea43d60631cd3414f47',1,'cudnn_frontend::Operation_v8']]], + ['dxdesc',['dxdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f30409838436d0c4dea5271af86f9b7',1,'cudnn_frontend::Operation_v8']]], + ['dydesc',['dydesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#adf6b55205eac4c52c0ab70e4758e33da',1,'cudnn_frontend::Operation_v8']]], + ['external_5fconstructor',['external_constructor',['../d9/dcc/classnlohmann_1_1basic__json.html#a6275ed57bae6866cdf5db5370a7ad47c',1,'nlohmann::basic_json']]] ]; diff --git a/docs/search/all_6.js b/docs/search/all_6.js index c8bfbdad..7900fbe4 100644 --- a/docs/search/all_6.js +++ b/docs/search/all_6.js @@ -1,27 +1,71 @@ var searchData= [ - ['generate_5fengine_5fconfig',['generate_engine_config',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a4b07b958f03daf033c30b9182fee372b',1,'cudnn_frontend::EngineConfigGenerator']]], - ['generatorsource',['GeneratorSource',['../df/de1/namespacecudnn__frontend.html#a53716729f10b4064fb41dec9dd32ffd6',1,'cudnn_frontend']]], - ['get_5fbackend_5fdescriptor',['get_backend_descriptor',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#ac1700c7d96af0250e5721f5e5f9d95bc',1,'cudnn_frontend::OpaqueBackendPointer']]], - ['get_5fdesc',['get_desc',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a57c83e78374bac747b5660fb271b947a',1,'cudnn_frontend::BackendDescriptor']]], - ['get_5ferror',['get_error',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#abfde0f34b0bf49c45d3d9c0408284f6f',1,'cudnn_frontend::BackendDescriptor']]], - ['get_5ffallback_5fengine_5flist',['get_fallback_engine_list',['../df/de1/namespacecudnn__frontend.html#ad365eee23138df472d716d9dbf119f0e',1,'cudnn_frontend']]], - ['get_5fraw_5fdesc',['get_raw_desc',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a3aa1ab42ab96471092185f15e22c1e9f',1,'cudnn_frontend::BackendDescriptor']]], - ['get_5fstatus',['get_status',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#abd4f69554da364008f3780e9dc3a5bfc',1,'cudnn_frontend::OpaqueBackendPointer::get_status()'],['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#af34344e365e6422ee86955349bf80b49',1,'cudnn_frontend::BackendDescriptor::get_status()']]], - ['getchoice',['getChoice',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a4c0a920d14a719e99fce3d64a6eb0980',1,'cudnn_frontend::Engine_v8::Knob']]], - ['getengineconfig',['getEngineConfig',['../d6/d46/group__EngineHeuristicsQuery.html#ga1171cb5ce50baf0fab19fc458d4565b5',1,'cudnn_frontend::EngineHeuristics_v8']]], - ['getengineconfigcount',['getEngineConfigCount',['../d6/d46/group__EngineHeuristicsQuery.html#ga10121605fc82ed225537210825fa3836',1,'cudnn_frontend::EngineHeuristics_v8']]], - ['getenginecount',['getEngineCount',['../d1/df7/group__OperationGraphQuery.html#ga7a7a8d03f5a3aa54f14b83be4abe2a26',1,'cudnn_frontend::OperationGraph_v8']]], - ['getfallbacklist',['getFallbackList',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a56ad23cee30cbe70209ce6399a69d541',1,'cudnn_frontend::EngineFallbackList_v8']]], - ['getfinalizedknobs',['getFinalizedKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a837d8adc86f08ca31f42437512a30752',1,'cudnn_frontend::Engine_v8']]], - ['getknobtype',['getKnobType',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a75ea7ec76b08688da99e6bd3664083c8',1,'cudnn_frontend::Engine_v8::Knob']]], - ['getmaxvalue',['getMaxValue',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a4fe794b42a0ee5ba71b8ca8c797d1dbe',1,'cudnn_frontend::Engine_v8::Knob']]], - ['getminvalue',['getMinValue',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#af3fdf6b0da493544a003913bdf524449',1,'cudnn_frontend::Engine_v8::Knob']]], - ['getoutputtensor',['getOutputTensor',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ae5cba10d789e4d08b45339a702ba75f3',1,'cudnn_frontend::Operation_v8']]], - ['getpointwisemode',['getPointWiseMode',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a963d8bd60aa5d7c5385d5d41595c2cf3',1,'cudnn_frontend::PointWiseDesc_v8']]], - ['getportcount',['getPortCount',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a81b0fa4b9ff8bfd2c23ae704f7211962',1,'cudnn_frontend::PointWiseDesc_v8']]], - ['getstride',['getStride',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#adc0dd9d11771a040a8f5191bef00cdb5',1,'cudnn_frontend::Engine_v8::Knob']]], - ['getsupportedknobs',['getSupportedKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a6804e842fb698ebc12fccfece3f33b01',1,'cudnn_frontend::Engine_v8']]], - ['gettag',['getTag',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#af299a1692584215c649b3563fdb3abae',1,'cudnn_frontend::Engine_v8::getTag()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a1c7175f7d3cc7224496f276df36036aa',1,'cudnn_frontend::EngineConfig_v8::getTag()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga2ff1340409f8834fe9ae68ff4c00281a',1,'cudnn_frontend::ExecutionPlan_v8::getTag()'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ab2692d9f28861a73d590a53f979d26fa',1,'cudnn_frontend::Operation_v8::getTag()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a19fd5ed99ab4053c8a178bd33843460a',1,'cudnn_frontend::OperationGraph_v8::getTag()']]], - ['getworkspacesize',['getWorkspaceSize',['../d7/d0d/group__ExecutionPlanQuery.html#ga00d10a076c22e86354a789852c56c22f',1,'cudnn_frontend::ExecutionPlan_v8']]] + ['e',['e',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#ae22e170815983961447c429f324c944d',1,'nlohmann::detail::dtoa_impl::diyfp::e()'],['../d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html#a9e89bc89bb7bf4361f43ea27eed91d23',1,'nlohmann::detail::dtoa_impl::cached_power::e()']]], + ['else',['else',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ae510f640d26ce0f7d5eb8191b31591c0',1,'nlohmann::detail::serializer']]], + ['elu_5falpha',['elu_alpha',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a246795e9bc43f846f701ae4214953412',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['emplace',['emplace',['../d6/da7/structnlohmann_1_1ordered__map.html#a38834c948b844033caa7d5c76fee5866',1,'nlohmann::ordered_map::emplace()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ac479e609cbd03948bd3e85fb441b66e5',1,'nlohmann::basic_json::emplace()']]], + ['emplace_5fback',['emplace_back',['../d9/dcc/classnlohmann_1_1basic__json.html#a15c0a5db4fb12d49433801bbe6436bfb',1,'nlohmann::basic_json']]], + ['empty',['empty',['../d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#ace7ba18b59cde50cbc53687034f649be',1,'nlohmann::detail::iterator_input_adapter::empty()'],['../da/de8/classnlohmann_1_1json__pointer.html#a649252bda4a2e75a0915b11a25d8bcc3',1,'nlohmann::json_pointer::empty()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a5c99855f3e35ff35558cb46139b785f8',1,'nlohmann::basic_json::empty()']]], + ['empty_5fstr',['empty_str',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a298dae04e3c0a64719752c16754d1d71',1,'nlohmann::detail::iteration_proxy_value']]], + ['enable_5fif_5ft',['enable_if_t',['../dc/df0/namespacenlohmann_1_1detail.html#a02bcbc878bee413f25b985ada771aa9c',1,'nlohmann::detail']]], + ['end',['end',['../d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a8aa29994ca6fdc0f8c96abf9151738ab',1,'nlohmann::detail::iterator_input_adapter::end()'],['../db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html#a90091f8492d23576edef72c5e8b9d4cf',1,'nlohmann::detail::iteration_proxy::end()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a931267ec3f09eb67e4382f321b2c52bc',1,'nlohmann::basic_json::end() noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a82b5b96f86879a3bac0c713d33178551',1,'nlohmann::basic_json::end() const noexcept']]], + ['end_5farray',['end_array',['../d0/d82/structnlohmann_1_1json__sax.html#a235ee975617f28e6a996d1e36a282312',1,'nlohmann::json_sax::end_array()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#af7cb5e5fe06ea908b0ce4ed762919759',1,'nlohmann::detail::json_sax_dom_parser::end_array()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#aa64e7a650952174037d32028de582c12',1,'nlohmann::detail::json_sax_dom_callback_parser::end_array()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a22ef94ca5476a9563dcaca15b7d6e654',1,'nlohmann::detail::json_sax_acceptor::end_array()'],['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a2f3e68e7f111a1e5c7728742b3ca2b7f',1,'nlohmann::detail::lexer_base::end_array()']]], + ['end_5farray_5ffunction_5ft',['end_array_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#aec53c029383b34a72182210e58fadb79',1,'nlohmann::detail']]], + ['end_5fobject',['end_object',['../d0/d82/structnlohmann_1_1json__sax.html#ad0c722d53ff97be700ccf6a9468bd456',1,'nlohmann::json_sax::end_object()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a88de4907ad5668d0358af2135236101f',1,'nlohmann::detail::json_sax_dom_parser::end_object()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ae75d313d6d1b9c29508e740a10fefa18',1,'nlohmann::detail::json_sax_dom_callback_parser::end_object()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a919645fd1827a561a994d70a435e3f19',1,'nlohmann::detail::json_sax_acceptor::end_object()'],['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a7d5b4427866814de4d8f132721d59c87',1,'nlohmann::detail::lexer_base::end_object()']]], + ['end_5fobject_5ffunction_5ft',['end_object_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#af52d6d2521c386998ae940d118182ebc',1,'nlohmann::detail']]], + ['end_5fof_5finput',['end_of_input',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454aca11f56dd477c09e06583dbdcda0985f',1,'nlohmann::detail::lexer_base']]], + ['end_5fvalue',['end_value',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aa37c37da44f19e6ec1d7d4a9910511c7',1,'nlohmann::detail::primitive_iterator_t']]], + ['engine',['engine',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ac102dce4f496c358a15ca753362fc4b7',1,'cudnn_frontend::EngineConfig_v8::engine()'],['../df/de1/namespacecudnn__frontend.html#a1ed8c535fea949a10acd26e279cc28a1',1,'cudnn_frontend::Engine()']]], + ['engine_5fconfig',['engine_config',['../d7/d0d/group__ExecutionPlanQuery.html#ga5e3dd6d441474ac5ab94aaaf9c45bc5b',1,'cudnn_frontend::ExecutionPlan_v8']]], + ['engine_5fconfig_5fgenerators',['engine_config_generators',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a1a06febdf947e151276bf09947c62436',1,'cudnn_frontend::EngineConfigGenerator']]], + ['engine_5fv8',['Engine_v8',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html',1,'cudnn_frontend::Engine_v8'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#afc5da140bcc7be57dc81f7fc5a589744',1,'cudnn_frontend::Engine_v8::Engine_v8()=default'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a63620960db3192066b7eb5f563841f1b',1,'cudnn_frontend::Engine_v8::Engine_v8(Engine_v8 const &)=delete'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a7609e82ac3dc04b67e9e73beb0f7cdae',1,'cudnn_frontend::Engine_v8::Engine_v8(Engine_v8 &&from)']]], + ['enginebuilder',['EngineBuilder',['../df/de1/namespacecudnn__frontend.html#a4f90ec150d149f8f0751daa3ad625839',1,'cudnn_frontend']]], + ['enginebuilder_5fv8',['EngineBuilder_v8',['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html',1,'cudnn_frontend::EngineBuilder_v8'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ae5d0c105971ce443fe6fb62884d7b2d2',1,'cudnn_frontend::Engine_v8::EngineBuilder_v8()'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a21b687e5455f4bc727210ac2da46d7b3',1,'cudnn_frontend::EngineBuilder_v8::EngineBuilder_v8()=default'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a033fb0022860f23e76ca1529da165bfc',1,'cudnn_frontend::EngineBuilder_v8::EngineBuilder_v8(EngineBuilder_v8 &&)=delete'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a7f5a24e27ff497bd44fd93fb700d5424',1,'cudnn_frontend::EngineBuilder_v8::EngineBuilder_v8(EngineBuilder_v8 const &)=delete'],['../d3/d09/group__EngineBuilder__v8.html',1,'(Global Namespace)']]], + ['engineconfig',['EngineConfig',['../df/de1/namespacecudnn__frontend.html#a2559dec72130bbdc95c02fb0df79fd42',1,'cudnn_frontend']]], + ['engineconfig_5fv8',['EngineConfig_v8',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html',1,'cudnn_frontend::EngineConfig_v8'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a16d46ab109f54fe4ef0863fddcc66e42',1,'cudnn_frontend::EngineConfig_v8::EngineConfig_v8(EngineConfig_v8 &&from)'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ab761cb8a8a38495e913395fa872afb3e',1,'cudnn_frontend::EngineConfig_v8::EngineConfig_v8()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#acf7eccfed045156beab03a2db0c31dd8',1,'cudnn_frontend::EngineConfig_v8::EngineConfig_v8(EngineConfig_v8 const &)=delete']]], + ['engineconfigbuilder',['EngineConfigBuilder',['../df/de1/namespacecudnn__frontend.html#ac46e1785757fde7c10e3d527f697fde8',1,'cudnn_frontend']]], + ['engineconfigbuilder_5fv8',['EngineConfigBuilder_v8',['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html',1,'cudnn_frontend::EngineConfigBuilder_v8'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a9b1cd07d3023dc3130d5eae560558cdb',1,'cudnn_frontend::EngineConfig_v8::EngineConfigBuilder_v8()'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a49a8a25759e78e7a2c77c55f0b54696b',1,'cudnn_frontend::EngineConfigBuilder_v8::EngineConfigBuilder_v8()=default'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a3deb5e1f20c028b8bb39406cca743e43',1,'cudnn_frontend::EngineConfigBuilder_v8::EngineConfigBuilder_v8(EngineConfigBuilder_v8 &&)=delete'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a17fca0597527c1f6acffa73ddaeedc03',1,'cudnn_frontend::EngineConfigBuilder_v8::EngineConfigBuilder_v8(EngineConfigBuilder_v8 const &)=delete'],['../d2/dbb/group__EngineConfigBuilder__v8.html',1,'(Global Namespace)']]], + ['engineconfiggenerator',['EngineConfigGenerator',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html',1,'cudnn_frontend::EngineConfigGenerator'],['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a322221ec9a28f1f48c5a3edf60adff1d',1,'cudnn_frontend::EngineConfigGenerator::EngineConfigGenerator()']]], + ['engineconfiglist',['EngineConfigList',['../df/de1/namespacecudnn__frontend.html#a84a5f004bdf17747bf7cf45d6fc754cd',1,'cudnn_frontend']]], + ['enginefallbacklist',['EngineFallbackList',['../df/de1/namespacecudnn__frontend.html#a61fbd4506f1249c686164fb33d858999',1,'cudnn_frontend']]], + ['enginefallbacklist_5fv8',['EngineFallbackList_v8',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html',1,'cudnn_frontend::EngineFallbackList_v8'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#adfa074bcaaf2b0297a9c740a3e3706b7',1,'cudnn_frontend::EngineFallbackList_v8::EngineFallbackList_v8(EngineFallbackList_v8 &&from)'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#abb40ba38f035c1e9bd20304f32f90256',1,'cudnn_frontend::EngineFallbackList_v8::EngineFallbackList_v8()=default'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9c9a8cc39a38b449b1f044d407168905',1,'cudnn_frontend::EngineFallbackList_v8::EngineFallbackList_v8(EngineFallbackList_v8 const &)=delete']]], + ['enginefallbacklistbuilder',['EngineFallbackListBuilder',['../df/de1/namespacecudnn__frontend.html#aeb6699f494fa895d402898dae554f5a9',1,'cudnn_frontend']]], + ['enginefallbacklistbuilder_5fv8',['EngineFallbackListBuilder_v8',['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html',1,'cudnn_frontend::EngineFallbackListBuilder_v8'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#ae2c71646b56855f59ed1a267f06d5a7c',1,'cudnn_frontend::EngineFallbackList_v8::EngineFallbackListBuilder_v8()'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#ae955fa571b31ffc3da0ca6293d089642',1,'cudnn_frontend::EngineFallbackListBuilder_v8::EngineFallbackListBuilder_v8()=default'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a3dda7b1b97beb027718b7809702967b5',1,'cudnn_frontend::EngineFallbackListBuilder_v8::EngineFallbackListBuilder_v8(EngineFallbackListBuilder_v8 &&)=delete'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#ad3e10ca860311b1b554507615c46b9ad',1,'cudnn_frontend::EngineFallbackListBuilder_v8::EngineFallbackListBuilder_v8(EngineFallbackListBuilder_v8 const &)=delete'],['../d4/d6b/group__EngineFallbackListBuilder__v8.html',1,'(Global Namespace)']]], + ['engineheuristics',['EngineHeuristics',['../df/de1/namespacecudnn__frontend.html#a147bbd62e1c7c6b3fbc6869ab776b125',1,'cudnn_frontend']]], + ['engineheuristics_5fv8',['EngineHeuristics_v8',['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html',1,'cudnn_frontend::EngineHeuristics_v8'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a298d4a89c8e9ed80526a6cccf33d716c',1,'cudnn_frontend::EngineHeuristics_v8::EngineHeuristics_v8(EngineHeuristics_v8 &&from)'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#aaa983e31e1a22bfebb639865e4514d82',1,'cudnn_frontend::EngineHeuristics_v8::EngineHeuristics_v8()=default'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a496a7e3160046bdf73289fbec51423a3',1,'cudnn_frontend::EngineHeuristics_v8::EngineHeuristics_v8(EngineHeuristics_v8 const &)=delete']]], + ['engineheuristicsbuilder',['EngineHeuristicsBuilder',['../df/de1/namespacecudnn__frontend.html#aae6a627b67858b15afbc5656afa88123',1,'cudnn_frontend']]], + ['engineheuristicsbuilder_5fv8',['EngineHeuristicsBuilder_v8',['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html',1,'cudnn_frontend::EngineHeuristicsBuilder_v8'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a44df29e58afe4b8fdc894574eb5efb9e',1,'cudnn_frontend::EngineHeuristics_v8::EngineHeuristicsBuilder_v8()'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a5667e4567520189eaa96fcd6e934cb29',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::EngineHeuristicsBuilder_v8()=default'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#af5318bb3e2700f53e299f8526e7a524f',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::EngineHeuristicsBuilder_v8(EngineHeuristicsBuilder_v8 &&)=delete'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a19d632b9f96c91bad2b18446cf32f491',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::EngineHeuristicsBuilder_v8(EngineHeuristicsBuilder_v8 const &)=delete'],['../dc/d99/group__EngineHeuristicsBuilder__v8.html',1,'(Global Namespace)']]], + ['engineheuristicsquery',['EngineHeuristicsQuery',['../d6/d46/group__EngineHeuristicsQuery.html',1,'']]], + ['ensure_5fascii',['ensure_ascii',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ab4c340f2a5230f766a833366603a0049',1,'nlohmann::detail::serializer']]], + ['erase',['erase',['../d6/da7/structnlohmann_1_1ordered__map.html#a583c8976bbf0c137ff8e2439878f3058',1,'nlohmann::ordered_map::erase(const Key &key)'],['../d6/da7/structnlohmann_1_1ordered__map.html#a26053569acb0a858d87482b2fa3d5dc5',1,'nlohmann::ordered_map::erase(iterator pos)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a494632b69bbe1d0153d3bedad0901b8e',1,'nlohmann::basic_json::erase(IteratorType pos)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a8ac83750e267e37d5d47591eb44cce42',1,'nlohmann::basic_json::erase(IteratorType first, IteratorType last)'],['../d9/dcc/classnlohmann_1_1basic__json.html#af72b1c9d1502b02a49a0cb9db9f980ea',1,'nlohmann::basic_json::erase(const typename object_t::key_type &key)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a221b943d3228488c14225e55f726cc26',1,'nlohmann::basic_json::erase(const size_type idx)']]], + ['err_5fmsg',['err_msg',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a0d416655dab2b5a675fecb5df9ea8521',1,'cudnn_frontend::BackendDescriptor']]], + ['error',['error',['../dc/df0/namespacenlohmann_1_1detail.html#a58bb1ef1a9ad287a9cfaf1855784d9acacb5e100e5a9a3e7f6d1fd97512215282',1,'nlohmann::detail']]], + ['error_5fhandler',['error_handler',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a09d5a046fb0f7cb61977d6e5fbe8b3a1',1,'nlohmann::detail::serializer']]], + ['error_5fhandler_5ft',['error_handler_t',['../d9/dcc/classnlohmann_1_1basic__json.html#a1e7ca76cc3f62626b380be5e18a002d5',1,'nlohmann::basic_json::error_handler_t()'],['../dc/df0/namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967df',1,'nlohmann::detail::error_handler_t()']]], + ['error_5fmessage',['error_message',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a84cbcd8c897c98c2ce04d29a29bf84cc',1,'nlohmann::detail::lexer']]], + ['errored',['errored',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a31ccb472ed855e2f2370fd091d91aad7',1,'nlohmann::detail::json_sax_dom_parser::errored()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ab06baaa640cfaae5846daa7c3594b116',1,'nlohmann::detail::json_sax_dom_callback_parser::errored()']]], + ['escape',['escape',['../dc/df0/namespacenlohmann_1_1detail.html#a9d486a036924098fe1a77de14d23f56c',1,'nlohmann::detail']]], + ['exception',['exception',['../de/df2/classnlohmann_1_1detail_1_1exception.html',1,'nlohmann::detail::exception'],['../d9/dcc/classnlohmann_1_1basic__json.html#a14824c27188d2fee4861806cd5f23d22',1,'nlohmann::basic_json::exception()'],['../de/df2/classnlohmann_1_1detail_1_1exception.html#ae323ad0d53bc724414c2233164e65657',1,'nlohmann::detail::exception::exception()']]], + ['exception_5fmessage',['exception_message',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a9c413c9a1bade1ce345740f4d69156f0',1,'nlohmann::detail::binary_reader::exception_message()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a94e7f8a0f880c20c8a48f591f56cbd85',1,'nlohmann::detail::parser::exception_message()']]], + ['exception_5ft',['exception_t',['../dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#a6efa516f35d544cc8ce9a954f849fed1',1,'nlohmann::detail::is_sax::exception_t()'],['../d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#a34e1bc8ab7adbbab5f7d8c45a964020b',1,'nlohmann::detail::is_sax_static_asserts::exception_t()']]], + ['executionoption',['executionOption',['../d6/d1b/structcudnn__frontend_1_1executionOption.html',1,'cudnn_frontend']]], + ['executionoptions_5ft',['executionOptions_t',['../df/de1/namespacecudnn__frontend.html#ad5f0f0c892b009e34aa59f67de1b5535',1,'cudnn_frontend']]], + ['executionplan',['ExecutionPlan',['../df/de1/namespacecudnn__frontend.html#a984c10aa29daac796444bda66bdef26e',1,'cudnn_frontend']]], + ['executionplan_5fv8',['ExecutionPlan_v8',['../d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html',1,'cudnn_frontend::ExecutionPlan_v8'],['../d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#ac388ed7f6911f704ed2618a3867fad72',1,'cudnn_frontend::ExecutionPlan_v8::ExecutionPlan_v8(ExecutionPlan_v8 &&from)'],['../d7/d0d/group__ExecutionPlanQuery.html#ga2c011aa14563ef96417ce599f0c83d89',1,'cudnn_frontend::ExecutionPlan_v8::ExecutionPlan_v8()=default'],['../d7/d0d/group__ExecutionPlanQuery.html#ga51c4b75729ab066f0686729896741c5d',1,'cudnn_frontend::ExecutionPlan_v8::ExecutionPlan_v8(ExecutionPlan_v8 const &)=delete']]], + ['executionplanbuilder',['ExecutionPlanBuilder',['../df/de1/namespacecudnn__frontend.html#aa508b66c4de02f4aacae8029dbe422eb',1,'cudnn_frontend']]], + ['executionplanbuilder_5fv8',['ExecutionPlanBuilder_v8',['../d1/d74/classcudnn__frontend_1_1ExecutionPlanBuilder__v8.html',1,'cudnn_frontend::ExecutionPlanBuilder_v8'],['../d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#a00c29ad02430927df9260c7e57ae7c7a',1,'cudnn_frontend::ExecutionPlan_v8::ExecutionPlanBuilder_v8()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga8e48fb375271599c83f57922d9f8c89e',1,'cudnn_frontend::ExecutionPlanBuilder_v8::ExecutionPlanBuilder_v8()=default'],['../d7/d0d/group__ExecutionPlanQuery.html#ga60147aa715352906e32cbb87558cb0ae',1,'cudnn_frontend::ExecutionPlanBuilder_v8::ExecutionPlanBuilder_v8(ExecutionPlanBuilder_v8 &&)=delete'],['../d7/d0d/group__ExecutionPlanQuery.html#ga2b84d3619b5bd9ca0faa30c126deb43c',1,'cudnn_frontend::ExecutionPlanBuilder_v8::ExecutionPlanBuilder_v8(ExecutionPlanBuilder_v8 const &)=delete'],['../d4/de1/group__ExecutionPlanBuilder__v8.html',1,'(Global Namespace)']]], + ['executionplanquery',['ExecutionPlanQuery',['../d7/d0d/group__ExecutionPlanQuery.html',1,'']]], + ['executionplans_5ft',['executionPlans_t',['../df/de1/namespacecudnn__frontend.html#a560644a5c1e6016c509a379ca6e03f05',1,'cudnn_frontend']]], + ['extend',['Extend',['../d7/d3c/structnlohmann_1_1detail_1_1utility__internal_1_1Extend.html',1,'nlohmann::detail::utility_internal']]], + ['extend_3c_20integer_5fsequence_3c_20t_2c_20ints_2e_2e_2e_20_3e_2c_20seqsize_2c_200_20_3e',['Extend< integer_sequence< T, Ints... >, SeqSize, 0 >',['../de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.html',1,'nlohmann::detail::utility_internal']]], + ['extend_3c_20integer_5fsequence_3c_20t_2c_20ints_2e_2e_2e_20_3e_2c_20seqsize_2c_201_20_3e',['Extend< integer_sequence< T, Ints... >, SeqSize, 1 >',['../d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.html',1,'nlohmann::detail::utility_internal']]], + ['external_5fconstructor',['external_constructor',['../d2/df4/structnlohmann_1_1detail_1_1external__constructor.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3aarray_20_3e',['external_constructor< value_t::array >',['../d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3abinary_20_3e',['external_constructor< value_t::binary >',['../d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3aboolean_20_3e',['external_constructor< value_t::boolean >',['../d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3anumber_5ffloat_20_3e',['external_constructor< value_t::number_float >',['../d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3anumber_5finteger_20_3e',['external_constructor< value_t::number_integer >',['../dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3anumber_5funsigned_20_3e',['external_constructor< value_t::number_unsigned >',['../d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3aobject_20_3e',['external_constructor< value_t::object >',['../d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3astring_20_3e',['external_constructor< value_t::string >',['../da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html',1,'nlohmann::detail']]] ]; diff --git a/docs/search/all_7.js b/docs/search/all_7.js index d349d54b..068ac30a 100644 --- a/docs/search/all_7.js +++ b/docs/search/all_7.js @@ -1,5 +1,24 @@ var searchData= [ - ['handle',['handle',['../d7/d0d/group__ExecutionPlanQuery.html#ga4c36108c6511420d81fcda5292761726',1,'cudnn_frontend::ExecutionPlan_v8::handle()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#abd35d4e84bb6ee70e8df38de093fc376',1,'cudnn_frontend::OperationGraph_v8::handle()']]], - ['hasnumericalnote',['hasNumericalNote',['../df/de1/namespacecudnn__frontend.html#a75bb541476d93b039f5fd9f9d29242e6',1,'cudnn_frontend']]] + ['f',['f',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#aea90459e340a231ca31d46946803ef51',1,'nlohmann::detail::dtoa_impl::diyfp::f()'],['../d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html#a21ae81f515f5b08d5bf423775ee56074',1,'nlohmann::detail::dtoa_impl::cached_power::f()']]], + ['file_5finput_5fadapter',['file_input_adapter',['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html',1,'nlohmann::detail::file_input_adapter'],['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#aeade050f2793280503be93feff2ece5b',1,'nlohmann::detail::file_input_adapter::file_input_adapter(std::FILE *f) noexcept'],['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a308099b496a0cba2123a06fe99a95d02',1,'nlohmann::detail::file_input_adapter::file_input_adapter(const file_input_adapter &)=delete'],['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a5a35c5bc8d6216ee6e4070fc4b6b0127',1,'nlohmann::detail::file_input_adapter::file_input_adapter(file_input_adapter &&) noexcept=default']]], + ['fill_5fbuffer',['fill_buffer',['../d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html#a0ff95d2f31684b6477abcd783975b7c1',1,'nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >::fill_buffer()'],['../df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html#a293186006f5f8090e337d12571307ced',1,'nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >::fill_buffer()'],['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a1e797f94449c5c3e68ab468d8caf0db6',1,'nlohmann::detail::wide_string_input_adapter::fill_buffer()']]], + ['filter',['filter',['../df/de1/namespacecudnn__frontend.html#a0f52559baeb4e9ee8835d95ea50a875e',1,'cudnn_frontend::filter(Predicate pred, executionPlans_t &plans) -> executionPlans_t'],['../df/de1/namespacecudnn__frontend.html#a4d18e44a57e30f9bf29157f742ba9c65',1,'cudnn_frontend::filter(EngineConfigList &from, EngineConfigList &to, std::function< bool(cudnnBackendDescriptor_t)> filter_fn)']]], + ['find',['find',['../d6/da7/structnlohmann_1_1ordered__map.html#a2486527ac56e07d58946ae9a93a46bc8',1,'nlohmann::ordered_map::find(const Key &key)'],['../d6/da7/structnlohmann_1_1ordered__map.html#a41e6e34fa8a90b96cbe5c71fec10d2ee',1,'nlohmann::ordered_map::find(const Key &key) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#acdf9b3aab82dcf443dd91ca5ec06b80c',1,'nlohmann::basic_json::find(KeyT &&key)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a17a516671c29a69bb2e11ca12030316b',1,'nlohmann::basic_json::find(KeyT &&key) const']]], + ['find_5flargest_5fpow10',['find_largest_pow10',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#a36ded358763b5dbcea9867660fbe4e28',1,'nlohmann::detail::dtoa_impl']]], + ['flatten',['flatten',['../da/de8/classnlohmann_1_1json__pointer.html#ab0d7759d0caa6a0c0187916da28e6ee7',1,'nlohmann::json_pointer::flatten()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ab7aa6e048e659481a036f2d872c7cba6',1,'nlohmann::basic_json::flatten()']]], + ['for',['for',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ab14b8ec1f8102aa4c7e3c349f317654e',1,'nlohmann::detail::serializer']]], + ['format_5fbuffer',['format_buffer',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#ab441f2761e33839ca48bc2225e14a2a9',1,'nlohmann::detail::dtoa_impl']]], + ['from_5fbson',['from_bson',['../d9/dcc/classnlohmann_1_1basic__json.html#a4e02793f2691aa29ab7cb69fddafbf5c',1,'nlohmann::basic_json::from_bson(InputType &&i, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a4118d0ec23d9eeafc236b9524d220e94',1,'nlohmann::basic_json::from_bson(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ae2612581e4788ddffc2f45d5e4cc04fc',1,'nlohmann::basic_json::from_bson(const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a2afe89884edf72412a0624982324755d',1,'nlohmann::basic_json::from_bson(detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)']]], + ['from_5fcbor',['from_cbor',['../d9/dcc/classnlohmann_1_1basic__json.html#a44dd5635fb2da4710f6cd6e42b72773f',1,'nlohmann::basic_json::from_cbor(InputType &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aba4f6fc79cc405fb212ea3d992334e71',1,'nlohmann::basic_json::from_cbor(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a188755c8cda27e2afb03c016c14125d8',1,'nlohmann::basic_json::from_cbor(const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a4a67e47f4bcde55214475f47f8314c1f',1,'nlohmann::basic_json::from_cbor(detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)']]], + ['from_5fjson',['from_json',['../dc/dc7/structnlohmann_1_1adl__serializer.html#a8180f52bf21fc610705bc521f22116ae',1,'nlohmann::adl_serializer::from_json(BasicJsonType &&j, TargetType &val) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), val))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), val), void())'],['../dc/dc7/structnlohmann_1_1adl__serializer.html#a95eddeff6ff0dd0b6b11c4c7a526716d',1,'nlohmann::adl_serializer::from_json(BasicJsonType &&j) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), detail::identity_tag< TargetType > {}))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), detail::identity_tag< TargetType >'],['../dc/df0/namespacenlohmann_1_1detail.html#a1f0395aad0fe853a4539288749d3a603',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename std::nullptr_t &n)'],['../dc/df0/namespacenlohmann_1_1detail.html#a58117f225f43d03e3a0a4a6f3d77c9d9',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::boolean_t &b)'],['../dc/df0/namespacenlohmann_1_1detail.html#ad74d89f77ada7a57eff38b43d4bf2335',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::string_t &s)'],['../dc/df0/namespacenlohmann_1_1detail.html#a2932f2bc2943dac6d51669312f4fc0f5',1,'nlohmann::detail::from_json(const BasicJsonType &j, ConstructibleStringType &s)'],['../dc/df0/namespacenlohmann_1_1detail.html#a7cb5dd7d46a60e65f9a8e0873b3f7dd8',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::number_float_t &val)'],['../dc/df0/namespacenlohmann_1_1detail.html#ace4d5680ba413d9fd897ccb5d9c61a1c',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val)'],['../dc/df0/namespacenlohmann_1_1detail.html#a047d881e611fcac709dc318f730a1732',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::number_integer_t &val)'],['../dc/df0/namespacenlohmann_1_1detail.html#a5440d650150d01e8015133521351b459',1,'nlohmann::detail::from_json(const BasicJsonType &j, EnumType &e)'],['../dc/df0/namespacenlohmann_1_1detail.html#a5cfb765aad92795abd7fda29d017272a',1,'nlohmann::detail::from_json(const BasicJsonType &j, std::forward_list< T, Allocator > &l)'],['../dc/df0/namespacenlohmann_1_1detail.html#a3df497b1d3977f071b488ecac1401517',1,'nlohmann::detail::from_json(const BasicJsonType &j, std::valarray< T > &l)'],['../dc/df0/namespacenlohmann_1_1detail.html#a7deb2db8eed6f1762373dde7a6595760',1,'nlohmann::detail::from_json(const BasicJsonType &j, T(&arr)[N]) -> decltype(j.template get< T >(), void())'],['../dc/df0/namespacenlohmann_1_1detail.html#a14d8cdf544585f1c38eab6a0820e55f7',1,'nlohmann::detail::from_json(const BasicJsonType &j, ConstructibleArrayType &arr) -> decltype(from_json_array_impl(j, arr, priority_tag< 3 >'],['../dc/df0/namespacenlohmann_1_1detail.html#aff04c4dbdf8cb651c9f1528d7b1d39b0',1,'nlohmann::detail::from_json(BasicJsonType &&j, identity_tag< std::array< T, N >> tag) -> decltype(from_json_inplace_array_impl(std::forward< BasicJsonType >(j), tag, make_index_sequence< N >'],['../dc/df0/namespacenlohmann_1_1detail.html#aeabc1adfeb8bcfbdf24c533380d1e773',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::binary_t &bin)'],['../dc/df0/namespacenlohmann_1_1detail.html#a5b24896e5f5db6af06d939dde4b63fe1',1,'nlohmann::detail::from_json(const BasicJsonType &j, ConstructibleObjectType &obj)'],['../dc/df0/namespacenlohmann_1_1detail.html#a839b0ab50d2c9bce669068f56bc41202',1,'nlohmann::detail::from_json(const BasicJsonType &j, ArithmeticType &val)'],['../dc/df0/namespacenlohmann_1_1detail.html#adcd0ecdb8495be20b0434ed0ed65826a',1,'nlohmann::detail::from_json(BasicJsonType &&j, TupleRelated &&t) -> decltype(from_json_tuple_impl(std::forward< BasicJsonType >(j), std::forward< TupleRelated >(t), priority_tag< 3 >'],['../dc/df0/namespacenlohmann_1_1detail.html#ae93147a54d2740228ef16a5e6210ca3e',1,'nlohmann::detail::from_json(const BasicJsonType &j, std::map< Key, Value, Compare, Allocator > &m)'],['../dc/df0/namespacenlohmann_1_1detail.html#aef5c8ea108f4d2b03fb4a635617510de',1,'nlohmann::detail::from_json(const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m)']]], + ['from_5fjson_5farray_5fimpl',['from_json_array_impl',['../dc/df0/namespacenlohmann_1_1detail.html#a40f7bb070a60e8ba14fffb9c117fcbd8',1,'nlohmann::detail::from_json_array_impl(const BasicJsonType &j, typename BasicJsonType::array_t &arr, priority_tag< 3 >)'],['../dc/df0/namespacenlohmann_1_1detail.html#aba0ce45ebb69fd2c7132a00f9a56b503',1,'nlohmann::detail::from_json_array_impl(const BasicJsonType &j, std::array< T, N > &arr, priority_tag< 2 >) -> decltype(j.template get< T >(), void())'],['../dc/df0/namespacenlohmann_1_1detail.html#a7c06b590679604ecb0ea2a3b62bd254b',1,'nlohmann::detail::from_json_array_impl(const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename ConstructibleArrayType::size_type >()), j.template get< typename ConstructibleArrayType::value_type >(), void())'],['../dc/df0/namespacenlohmann_1_1detail.html#a3b306ea5f5176f748572ca5b1c9a4dda',1,'nlohmann::detail::from_json_array_impl(const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 0 >)']]], + ['from_5fjson_5ffn',['from_json_fn',['../d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.html',1,'nlohmann::detail']]], + ['from_5fjson_5ffunction',['from_json_function',['../dc/df0/namespacenlohmann_1_1detail.html#a1711ee5cef66a0523055c8d9f024f322',1,'nlohmann::detail']]], + ['from_5fjson_5finplace_5farray_5fimpl',['from_json_inplace_array_impl',['../dc/df0/namespacenlohmann_1_1detail.html#a8f4713d1d9c1a0a5e1503c2fbafd4e40',1,'nlohmann::detail']]], + ['from_5fjson_5ftuple_5fimpl',['from_json_tuple_impl',['../dc/df0/namespacenlohmann_1_1detail.html#aef618f284e214156fcfa6dfecd1dcdbe',1,'nlohmann::detail::from_json_tuple_impl(BasicJsonType &&j, identity_tag< std::pair< A1, A2 >>, priority_tag< 0 >)'],['../dc/df0/namespacenlohmann_1_1detail.html#af1bc20d589bcfe61a23974cb17a34d6f',1,'nlohmann::detail::from_json_tuple_impl(BasicJsonType &&j, std::pair< A1, A2 > &p, priority_tag< 1 >)'],['../dc/df0/namespacenlohmann_1_1detail.html#a249aceda550177adb6d09382d1377a60',1,'nlohmann::detail::from_json_tuple_impl(BasicJsonType &&j, identity_tag< std::tuple< Args... >>, priority_tag< 2 >)'],['../dc/df0/namespacenlohmann_1_1detail.html#a31838a6c7a461d3a889e6fc40b3a19e6',1,'nlohmann::detail::from_json_tuple_impl(BasicJsonType &&j, std::tuple< Args... > &t, priority_tag< 3 >)']]], + ['from_5fjson_5ftuple_5fimpl_5fbase',['from_json_tuple_impl_base',['../dc/df0/namespacenlohmann_1_1detail.html#aaf1b6ce9b599cd5cde8053c194082ca9',1,'nlohmann::detail']]], + ['from_5fmsgpack',['from_msgpack',['../d9/dcc/classnlohmann_1_1basic__json.html#adbcab52fca1e25b3311ef14e71a57590',1,'nlohmann::basic_json::from_msgpack(InputType &&i, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a94dbeb08bcd13821512957dcbf3f00bd',1,'nlohmann::basic_json::from_msgpack(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a0d69d3102639759d5202a6f764760d23',1,'nlohmann::basic_json::from_msgpack(const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a84b3d89de8e774a2609dc4c0a1273f62',1,'nlohmann::basic_json::from_msgpack(detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)']]], + ['from_5fubjson',['from_ubjson',['../d9/dcc/classnlohmann_1_1basic__json.html#aa81f62db69978b90ff701f05c72e03a7',1,'nlohmann::basic_json::from_ubjson(InputType &&i, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a9dbb422350fed520ce8c1ca8762c0251',1,'nlohmann::basic_json::from_ubjson(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ab6eeda23c34cee79d8d72f1a8691a8de',1,'nlohmann::basic_json::from_ubjson(const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a47201396899371881a46562bffb922da',1,'nlohmann::basic_json::from_ubjson(detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)']]], + ['front',['front',['../d9/dcc/classnlohmann_1_1basic__json.html#a5417ca43ae5e7a3a2f82eee2d915c6ed',1,'nlohmann::basic_json::front()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a5ac8f974c178cf9326b6765e22f50eb6',1,'nlohmann::basic_json::front() const']]] ]; diff --git a/docs/search/all_8.js b/docs/search/all_8.js index 77ab6a86..eef1d19f 100644 --- a/docs/search/all_8.js +++ b/docs/search/all_8.js @@ -1,14 +1,84 @@ var searchData= [ - ['id',['id',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a062e54efdec89943fcb0602cc06dfd28',1,'cudnn_frontend::Tensor_v8']]], - ['idx',['idx',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#aae4b49a84f8ecb114449784e43496521',1,'cudnn_frontend::Engine_v8']]], - ['initialize_5fmanaged_5fbackend_5fpointer',['initialize_managed_backend_pointer',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a070df0d11a52793ce9480dbdcee0c24e',1,'cudnn_frontend::BackendDescriptor']]], - ['is_5fconvolution_5fop',['is_convolution_op',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#ad82e287889be2ebef348a00479ce3bc0',1,'cudnn_frontend::OperationBuilder_v8']]], - ['is_5fgood',['is_good',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#aa9059097bb9161d454c6e17b03ca236c',1,'cudnn_frontend::OpaqueBackendPointer']]], - ['is_5fmatmul_5fop',['is_matmul_op',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#ac806a488b58cc78e338ba96eccee70fd',1,'cudnn_frontend::OperationBuilder_v8']]], - ['is_5fpointwise_5factivation_5fbwd_5fop',['is_pointwise_activation_bwd_op',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ab8c4c8c81e8cebc44cb725f4a4b4add9',1,'cudnn_frontend::Operation_v8']]], - ['is_5fpointwise_5factivation_5ffwd_5fop',['is_pointwise_activation_fwd_op',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a12d0d0fa40152f5205570f40e681795f',1,'cudnn_frontend::Operation_v8']]], - ['is_5fpointwise_5fmath_5fop',['is_pointwise_math_op',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a2e1e0fb15b7df300945cae2347db635a',1,'cudnn_frontend::Operation_v8']]], - ['is_5fpointwise_5fop',['is_pointwise_op',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a98044359c005b796e35fba1a5b689f3d',1,'cudnn_frontend::OperationBuilder_v8']]], - ['isvirtual',['isVirtual',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a611fc05f3c7b6ca90d0e3c0f6ef07d84',1,'cudnn_frontend::Tensor_v8']]] + ['gen',['Gen',['../d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.html',1,'nlohmann::detail::utility_internal']]], + ['gen_3c_20t_2c_200_20_3e',['Gen< T, 0 >',['../d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.html',1,'nlohmann::detail::utility_internal']]], + ['generate_5fengine_5fconfig',['generate_engine_config',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a4b07b958f03daf033c30b9182fee372b',1,'cudnn_frontend::EngineConfigGenerator']]], + ['generatorsource',['GeneratorSource',['../df/de1/namespacecudnn__frontend.html#a53716729f10b4064fb41dec9dd32ffd6',1,'cudnn_frontend']]], + ['get',['get',['../da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html#a478dfb78d0bf28d2665a19fccf221f02',1,'nlohmann::detail::span_input_adapter::get()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a9cd3e4cf04d19be521beb8868c1a2fc9',1,'nlohmann::detail::lexer::get()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ad222095c0b21a87824cb10629299629a',1,'nlohmann::detail::binary_reader::get()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ad8c8d2d107c6952960ba8aa78e009284',1,'nlohmann::basic_json::get() const noexcept(noexcept(std::declval< const basic_json_t &>().template get_impl< ValueType >(detail::priority_tag< 4 > {}))) -> decltype(std::declval< const basic_json_t &>().template get_impl< ValueType >(detail::priority_tag< 4 >'],['../d9/dcc/classnlohmann_1_1basic__json.html#a46bb02ef17ee178984313efbc2c8eb8d',1,'nlohmann::basic_json::get() noexcept -> decltype(std::declval< basic_json_t &>().template get_ptr< PointerType >())'],['../dc/df0/namespacenlohmann_1_1detail.html#acc422c11342b31368f610b6f96fcedc6',1,'nlohmann::detail::get()']]], + ['get_3c_20typename_20constructiblearraytype_3a_3avalue_5ftype_20_3e',['get< typename ConstructibleArrayType::value_type >',['../dc/df0/namespacenlohmann_1_1detail.html#ad9e016d7b6a3cd2847027950aa0aac3b',1,'nlohmann::detail']]], + ['get_5fallocator',['get_allocator',['../d9/dcc/classnlohmann_1_1basic__json.html#afc55e7dca1a243b0d5011564824c0267',1,'nlohmann::basic_json']]], + ['get_5fand_5fcreate',['get_and_create',['../da/de8/classnlohmann_1_1json__pointer.html#a583c726016f440ffe65553935c101ff5',1,'nlohmann::json_pointer']]], + ['get_5farithmetic_5fvalue',['get_arithmetic_value',['../dc/df0/namespacenlohmann_1_1detail.html#a85955b9c6dd31846e4b8e891f78614b6',1,'nlohmann::detail']]], + ['get_5fbackend_5fdescriptor',['get_backend_descriptor',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#ac1700c7d96af0250e5721f5e5f9d95bc',1,'cudnn_frontend::OpaqueBackendPointer']]], + ['get_5fbinary',['get_binary',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a55e13d567a53234573ab3833c0ca32e9',1,'nlohmann::detail::binary_reader::get_binary()'],['../d9/dcc/classnlohmann_1_1basic__json.html#aab19a246f6bcd27c195bed376cf5e138',1,'nlohmann::basic_json::get_binary()'],['../d9/dcc/classnlohmann_1_1basic__json.html#abbfa5532931abd2d9040cbf4d18a2ca7',1,'nlohmann::basic_json::get_binary() const']]], + ['get_5fbson_5fbinary',['get_bson_binary',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a9940f56290b9278c58772eda2931e599',1,'nlohmann::detail::binary_reader']]], + ['get_5fbson_5fcstr',['get_bson_cstr',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a354cbbaaea672c024ac949e1801c4302',1,'nlohmann::detail::binary_reader']]], + ['get_5fbson_5fstring',['get_bson_string',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a23921422802aa472360dd05023e20565',1,'nlohmann::detail::binary_reader']]], + ['get_5fcached_5fpower_5ffor_5fbinary_5fexponent',['get_cached_power_for_binary_exponent',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#adbf329a18c5cf854a3477327afd2200b',1,'nlohmann::detail::dtoa_impl']]], + ['get_5fcbor_5farray',['get_cbor_array',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a3750658328bf3ec3cf23f1626f9ec3af',1,'nlohmann::detail::binary_reader']]], + ['get_5fcbor_5fbinary',['get_cbor_binary',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#acb001d18095dc5bcf7336ae5122b8340',1,'nlohmann::detail::binary_reader']]], + ['get_5fcbor_5ffloat_5fprefix',['get_cbor_float_prefix',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a2b5cb010077da6241a18bb334736464c',1,'nlohmann::detail::binary_writer::get_cbor_float_prefix(float)'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#afe5ac43e05973ba09ee79227bb589b59',1,'nlohmann::detail::binary_writer::get_cbor_float_prefix(double)']]], + ['get_5fcbor_5fobject',['get_cbor_object',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a47092a2195bf9cd3cdb4dda67cc404ed',1,'nlohmann::detail::binary_reader']]], + ['get_5fcbor_5fstring',['get_cbor_string',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a545a44ae4b3fa2b7a61d9e8517fb7154',1,'nlohmann::detail::binary_reader']]], + ['get_5fcharacter',['get_character',['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a300fa4e2da1891e97eb0d85bf14cb022',1,'nlohmann::detail::file_input_adapter::get_character()'],['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#ac6c760c5df3a85b5800b4271c09e8671',1,'nlohmann::detail::input_stream_adapter::get_character()'],['../d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a01706f07681df083c2174d236ff3d643',1,'nlohmann::detail::iterator_input_adapter::get_character()'],['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a50f9436820b9caa9708ea69e2ba0230b',1,'nlohmann::detail::wide_string_input_adapter::get_character()']]], + ['get_5fchecked',['get_checked',['../da/de8/classnlohmann_1_1json__pointer.html#a366d68a67e40d86676d3bdb52e167294',1,'nlohmann::json_pointer::get_checked(BasicJsonType *ptr) const'],['../da/de8/classnlohmann_1_1json__pointer.html#a55a5bbbc3007e479607304a3e8cb9bf5',1,'nlohmann::json_pointer::get_checked(const BasicJsonType *ptr) const']]], + ['get_5fcodepoint',['get_codepoint',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#adcf663a9878f58544790f1b6faad2e42',1,'nlohmann::detail::lexer']]], + ['get_5fdecimal_5fpoint',['get_decimal_point',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a48f74c761ce663cd0d92bf428606b535',1,'nlohmann::detail::lexer']]], + ['get_5fdesc',['get_desc',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a57c83e78374bac747b5660fb271b947a',1,'cudnn_frontend::BackendDescriptor']]], + ['get_5ferror',['get_error',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#abfde0f34b0bf49c45d3d9c0408284f6f',1,'cudnn_frontend::BackendDescriptor']]], + ['get_5ferror_5fmessage',['get_error_message',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a9da0c649f03e8b3f730501d26c876a78',1,'nlohmann::detail::lexer']]], + ['get_5ffallback_5fengine_5flist',['get_fallback_engine_list',['../df/de1/namespacecudnn__frontend.html#af057a1fb628c89d02eb47c7cfa9ce0af',1,'cudnn_frontend']]], + ['get_5fignore_5fnoop',['get_ignore_noop',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a252c1179651d22c5343bcf0b538ed26a',1,'nlohmann::detail::binary_reader']]], + ['get_5fimpl',['get_impl',['../d9/dcc/classnlohmann_1_1basic__json.html#a462f82051df2a68142c2bbd0a2798f56',1,'nlohmann::basic_json::get_impl(boolean_t *) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#ad2e690ffeeff334640da1042c415bf65',1,'nlohmann::basic_json::get_impl(detail::priority_tag< 0 >) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>(), std::declval< ValueType &>())))'],['../d9/dcc/classnlohmann_1_1basic__json.html#ae0558bf35848bc194ffae2ef4d371c2c',1,'nlohmann::basic_json::get_impl(detail::priority_tag< 1 >) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>())))'],['../d9/dcc/classnlohmann_1_1basic__json.html#a6a8e927bfe09a0410baba859cd1a04c1',1,'nlohmann::basic_json::get_impl(detail::priority_tag< 2 >) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#ad5462e42ebf32c2570f5ade93e4bd34e',1,'nlohmann::basic_json::get_impl(detail::priority_tag< 3 >) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a0ace71470cab6d59035de18cea4fe272',1,'nlohmann::basic_json::get_impl(detail::priority_tag< 4 >) const noexcept -> decltype(std::declval< const basic_json_t &>().template get_ptr< PointerType >())'],['../d9/dcc/classnlohmann_1_1basic__json.html#aa17b6729b79846fe460b6905eb8ece5f',1,'nlohmann::basic_json::get_impl(detail::priority_tag< 4 > {})']]], + ['get_5fimpl_5fptr',['get_impl_ptr',['../d9/dcc/classnlohmann_1_1basic__json.html#a8b71cea6588f74f6eab6cc27ae314e5c',1,'nlohmann::basic_json::get_impl_ptr(object_t *) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a7577c2bbaf8da92947b964ae935a57c3',1,'nlohmann::basic_json::get_impl_ptr(const object_t *) const noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a3bbb975975e648f0468a2b96d25debfc',1,'nlohmann::basic_json::get_impl_ptr(array_t *) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#ac59c6abb509fe0160e30800cd84b0091',1,'nlohmann::basic_json::get_impl_ptr(const array_t *) const noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a2c8443b36a3e3c591341a43e8f088c2d',1,'nlohmann::basic_json::get_impl_ptr(string_t *) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#ad968b5c1134f6aa22bd3c995ab227c11',1,'nlohmann::basic_json::get_impl_ptr(const string_t *) const noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a258ec4690664fc0ee2a06a70574995e7',1,'nlohmann::basic_json::get_impl_ptr(boolean_t *) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a60a0febbb5030562424092fd134ce19d',1,'nlohmann::basic_json::get_impl_ptr(const boolean_t *) const noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#ab3ac4d7aa5bf26e70df1fdb2d6a2b207',1,'nlohmann::basic_json::get_impl_ptr(number_integer_t *) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a12b8d90204a45d2cde4b2d22c861c384',1,'nlohmann::basic_json::get_impl_ptr(const number_integer_t *) const noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#aaacd6324154f273268cd75739b219347',1,'nlohmann::basic_json::get_impl_ptr(number_unsigned_t *) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a5cf0d01a7b245c82263cc73bfb070c3f',1,'nlohmann::basic_json::get_impl_ptr(const number_unsigned_t *) const noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a3f8e91583b4d0f16eed6c690f1022a02',1,'nlohmann::basic_json::get_impl_ptr(number_float_t *) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a9ad84afed3e707cd066380b12901f9db',1,'nlohmann::basic_json::get_impl_ptr(const number_float_t *) const noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a5b429e4041392a984ce5b6f85196b570',1,'nlohmann::basic_json::get_impl_ptr(binary_t *) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a38632b8b0c8c7bf4b54bd6fe782c0196',1,'nlohmann::basic_json::get_impl_ptr(const binary_t *) const noexcept']]], + ['get_5fmsgpack_5farray',['get_msgpack_array',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a0ce1d7066597952efb008aaf578b2bd6',1,'nlohmann::detail::binary_reader']]], + ['get_5fmsgpack_5fbinary',['get_msgpack_binary',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a389e550fd397a48121cb82d92bb7475a',1,'nlohmann::detail::binary_reader']]], + ['get_5fmsgpack_5ffloat_5fprefix',['get_msgpack_float_prefix',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ad452d114696407b98abc69b6001c270e',1,'nlohmann::detail::binary_writer::get_msgpack_float_prefix(float)'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a47234a6e7ac9206d43553985f4cacbf2',1,'nlohmann::detail::binary_writer::get_msgpack_float_prefix(double)']]], + ['get_5fmsgpack_5fobject',['get_msgpack_object',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a8bebd21ceef09b6b2562e87861832700',1,'nlohmann::detail::binary_reader']]], + ['get_5fmsgpack_5fstring',['get_msgpack_string',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ad8cba5585327caa550dd5b6dd25a64f8',1,'nlohmann::detail::binary_reader']]], + ['get_5fnumber',['get_number',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ac356c6364fe0273d3303fb7a447f4ef6',1,'nlohmann::detail::binary_reader']]], + ['get_5fnumber_5ffloat',['get_number_float',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#adb1a71f6a3e65ed32c452a318967b61e',1,'nlohmann::detail::lexer']]], + ['get_5fnumber_5finteger',['get_number_integer',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a9535d0c72adbe9fe149853ebad5faee8',1,'nlohmann::detail::lexer']]], + ['get_5fnumber_5funsigned',['get_number_unsigned',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#abfc85ff04fcb1a5a8d8ea299a4c479e5',1,'nlohmann::detail::lexer']]], + ['get_5fposition',['get_position',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a948c80b8bd8a3095b544e4655e1ca37e',1,'nlohmann::detail::lexer']]], + ['get_5fptr',['get_ptr',['../d9/dcc/classnlohmann_1_1basic__json.html#ac3698ce827dcd4f0c81455461709938d',1,'nlohmann::basic_json::get_ptr() noexcept -> decltype(std::declval< basic_json_t &>().get_impl_ptr(std::declval< PointerType >()))'],['../d9/dcc/classnlohmann_1_1basic__json.html#ae4e9a0afab117f1642b90b9607285348',1,'nlohmann::basic_json::get_ptr() const noexcept -> decltype(std::declval< const basic_json_t &>().get_impl_ptr(std::declval< PointerType >()))']]], + ['get_5fraw_5fdesc',['get_raw_desc',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a3aa1ab42ab96471092185f15e22c1e9f',1,'cudnn_frontend::BackendDescriptor']]], + ['get_5fref',['get_ref',['../d9/dcc/classnlohmann_1_1basic__json.html#a14ddc6e0f6d70296bc81f810254076c5',1,'nlohmann::basic_json::get_ref()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a7f0889072c54f1b899689ed6246238e7',1,'nlohmann::basic_json::get_ref() const']]], + ['get_5fref_5fimpl',['get_ref_impl',['../d9/dcc/classnlohmann_1_1basic__json.html#af9091a59efebd38435cbc0583fcda777',1,'nlohmann::basic_json']]], + ['get_5fstatus',['get_status',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#abd4f69554da364008f3780e9dc3a5bfc',1,'cudnn_frontend::OpaqueBackendPointer::get_status()'],['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#af34344e365e6422ee86955349bf80b49',1,'cudnn_frontend::BackendDescriptor::get_status()']]], + ['get_5fstring',['get_string',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a76875bb49a480763f6c48b8586f7e60e',1,'nlohmann::detail::lexer::get_string()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a540919db22df36512f05a88945c13263',1,'nlohmann::detail::binary_reader::get_string()']]], + ['get_5ftemplate_5ffunction',['get_template_function',['../dc/df0/namespacenlohmann_1_1detail.html#ab4d22cdb6521ee3508db496dea66711e',1,'nlohmann::detail']]], + ['get_5fto',['get_to',['../d9/dcc/classnlohmann_1_1basic__json.html#a95c3851acd53eccd620b0d82855c3da1',1,'nlohmann::basic_json::get_to(ValueType &v) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>(), v)))'],['../d9/dcc/classnlohmann_1_1basic__json.html#ac6fd6c12364425e4007ee4d7ecf9fefd',1,'nlohmann::basic_json::get_to(ValueType &v) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a8e29710c587ab852ba851b623d4efa00',1,'nlohmann::basic_json::get_to(T(&v)[N]) const noexcept(noexcept(JSONSerializer< Array >::from_json(std::declval< const basic_json_t &>(), v)))']]], + ['get_5ftoken',['get_token',['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a1212088ee1e23633a76b2ed80514de79',1,'nlohmann::detail::parser']]], + ['get_5ftoken_5fstring',['get_token_string',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ae000b7571480e528dee4b281f63d5b15',1,'nlohmann::detail::lexer::get_token_string()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a7d323283c60a0b89ee5eeadf5cb9a5ad',1,'nlohmann::detail::binary_reader::get_token_string()']]], + ['get_5fubjson_5farray',['get_ubjson_array',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#afb36cb588b795efa513fc95e949493b7',1,'nlohmann::detail::binary_reader']]], + ['get_5fubjson_5ffloat_5fprefix',['get_ubjson_float_prefix',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a6837b20574152f7f645d0f6cd9fafdeb',1,'nlohmann::detail::binary_writer::get_ubjson_float_prefix(float)'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a19eb47a53dbbe28f319532bef25d84e6',1,'nlohmann::detail::binary_writer::get_ubjson_float_prefix(double)']]], + ['get_5fubjson_5fhigh_5fprecision_5fnumber',['get_ubjson_high_precision_number',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a26c694413fb860057e1a839d5422b361',1,'nlohmann::detail::binary_reader']]], + ['get_5fubjson_5fobject',['get_ubjson_object',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#adcf64ad3207f4bf37a5a31c920a385c3',1,'nlohmann::detail::binary_reader']]], + ['get_5fubjson_5fsize_5ftype',['get_ubjson_size_type',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a7b6c2d4c95d56751e233e285a5f1fea7',1,'nlohmann::detail::binary_reader']]], + ['get_5fubjson_5fsize_5fvalue',['get_ubjson_size_value',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aba7ba9ec9a52ad2bee8baff70176aa20',1,'nlohmann::detail::binary_reader']]], + ['get_5fubjson_5fstring',['get_ubjson_string',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a4ae90db51c102e912b7eac83c78733a6',1,'nlohmann::detail::binary_reader']]], + ['get_5fubjson_5fvalue',['get_ubjson_value',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a7e5e0b71548d0649ce4f131280d06c33',1,'nlohmann::detail::binary_reader']]], + ['get_5funchecked',['get_unchecked',['../da/de8/classnlohmann_1_1json__pointer.html#a577512ee6b7f030e8872b4d29fa5c3e5',1,'nlohmann::json_pointer::get_unchecked(BasicJsonType *ptr) const'],['../da/de8/classnlohmann_1_1json__pointer.html#ad6a01f8e1556eef68e5a49b33fef1548',1,'nlohmann::json_pointer::get_unchecked(const BasicJsonType *ptr) const']]], + ['get_5fvalue',['get_value',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#ae952990886ca1756229f916661a8af81',1,'nlohmann::detail::primitive_iterator_t']]], + ['getchoice',['getChoice',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a4c0a920d14a719e99fce3d64a6eb0980',1,'cudnn_frontend::Engine_v8::Knob']]], + ['getengineconfig',['getEngineConfig',['../d6/d46/group__EngineHeuristicsQuery.html#ga1171cb5ce50baf0fab19fc458d4565b5',1,'cudnn_frontend::EngineHeuristics_v8']]], + ['getengineconfigcount',['getEngineConfigCount',['../d6/d46/group__EngineHeuristicsQuery.html#ga10121605fc82ed225537210825fa3836',1,'cudnn_frontend::EngineHeuristics_v8']]], + ['getenginecount',['getEngineCount',['../d1/df7/group__OperationGraphQuery.html#ga7a7a8d03f5a3aa54f14b83be4abe2a26',1,'cudnn_frontend::OperationGraph_v8']]], + ['getfallbacklist',['getFallbackList',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a56ad23cee30cbe70209ce6399a69d541',1,'cudnn_frontend::EngineFallbackList_v8']]], + ['getfinalizedknobs',['getFinalizedKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a837d8adc86f08ca31f42437512a30752',1,'cudnn_frontend::Engine_v8']]], + ['getknobtype',['getKnobType',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a75ea7ec76b08688da99e6bd3664083c8',1,'cudnn_frontend::Engine_v8::Knob']]], + ['getmaxvalue',['getMaxValue',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a4fe794b42a0ee5ba71b8ca8c797d1dbe',1,'cudnn_frontend::Engine_v8::Knob']]], + ['getminvalue',['getMinValue',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#af3fdf6b0da493544a003913bdf524449',1,'cudnn_frontend::Engine_v8::Knob']]], + ['getopcount',['getOpCount',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#aa344863fca30448e6f3e139d69f62080',1,'cudnn_frontend::OperationGraph_v8']]], + ['getoutputtensor',['getOutputTensor',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ae5cba10d789e4d08b45339a702ba75f3',1,'cudnn_frontend::Operation_v8']]], + ['getpointwisemode',['getPointWiseMode',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a963d8bd60aa5d7c5385d5d41595c2cf3',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['getportcount',['getPortCount',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a81b0fa4b9ff8bfd2c23ae704f7211962',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['getstride',['getStride',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#adc0dd9d11771a040a8f5191bef00cdb5',1,'cudnn_frontend::Engine_v8::Knob']]], + ['getsupportedknobs',['getSupportedKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a6804e842fb698ebc12fccfece3f33b01',1,'cudnn_frontend::Engine_v8']]], + ['gettag',['getTag',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#af299a1692584215c649b3563fdb3abae',1,'cudnn_frontend::Engine_v8::getTag()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a1c7175f7d3cc7224496f276df36036aa',1,'cudnn_frontend::EngineConfig_v8::getTag()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga2ff1340409f8834fe9ae68ff4c00281a',1,'cudnn_frontend::ExecutionPlan_v8::getTag()'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ab2692d9f28861a73d590a53f979d26fa',1,'cudnn_frontend::Operation_v8::getTag()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a19fd5ed99ab4053c8a178bd33843460a',1,'cudnn_frontend::OperationGraph_v8::getTag()']]], + ['getworkspacesize',['getWorkspaceSize',['../d7/d0d/group__ExecutionPlanQuery.html#ga00d10a076c22e86354a789852c56c22f',1,'cudnn_frontend::ExecutionPlan_v8']]], + ['grisu2',['grisu2',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#a05b681dcb8569b9784c6dccfadb01633',1,'nlohmann::detail::dtoa_impl::grisu2(char *buf, int &len, int &decimal_exponent, diyfp m_minus, diyfp v, diyfp m_plus)'],['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#aab7a9670a4f4704a5d0347ad7588576b',1,'nlohmann::detail::dtoa_impl::grisu2(char *buf, int &len, int &decimal_exponent, FloatType value)']]], + ['grisu2_5fdigit_5fgen',['grisu2_digit_gen',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#a9b899c72b0e1e3dd46d75c2b4e6bcdfb',1,'nlohmann::detail::dtoa_impl']]], + ['grisu2_5fround',['grisu2_round',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#a5bc841e0bee12fd6489d49cf7bd07bb4',1,'nlohmann::detail::dtoa_impl']]] ]; diff --git a/docs/search/all_9.js b/docs/search/all_9.js index 8eb21254..feb4699a 100644 --- a/docs/search/all_9.js +++ b/docs/search/all_9.js @@ -1,6 +1,15 @@ var searchData= [ - ['knob',['Knob',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html',1,'cudnn_frontend::Engine_v8::Knob'],['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aaf0d313c5491b599537422694eb83b82',1,'cudnn_frontend::Engine_v8::Knob::Knob()']]], - ['knobs',['knobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#add2d5998a38944fd0dba03fce96fe7aa',1,'cudnn_frontend::Engine_v8']]], - ['knobtype',['knobType',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#adc13c98616305cd23d86dc5dc1dfe86e',1,'cudnn_frontend::Engine_v8::Knob']]] + ['handle',['handle',['../d7/d0d/group__ExecutionPlanQuery.html#ga4c36108c6511420d81fcda5292761726',1,'cudnn_frontend::ExecutionPlan_v8::handle()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#abd35d4e84bb6ee70e8df38de093fc376',1,'cudnn_frontend::OperationGraph_v8::handle()']]], + ['handle_5fvalue',['handle_value',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aa1a5e21be350727cf61a101aa5c6796e',1,'nlohmann::detail::json_sax_dom_parser::handle_value()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a875e678e20e75b37b93b80be78fe60e6',1,'nlohmann::detail::json_sax_dom_callback_parser::handle_value()']]], + ['has_5ffrom_5fjson',['has_from_json',['../dc/dac/structnlohmann_1_1detail_1_1has__from__json.html',1,'nlohmann::detail']]], + ['has_5ffrom_5fjson_3c_20basicjsontype_2c_20t_2c_20enable_5fif_5ft_3c_20_21is_5fbasic_5fjson_3c_20t_20_3e_3a_3avalue_20_3e_20_3e',['has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >',['../d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html',1,'nlohmann::detail']]], + ['has_5fnon_5fdefault_5ffrom_5fjson',['has_non_default_from_json',['../d7/d08/structnlohmann_1_1detail_1_1has__non__default__from__json.html',1,'nlohmann::detail']]], + ['has_5fnon_5fdefault_5ffrom_5fjson_3c_20basicjsontype_2c_20t_2c_20enable_5fif_5ft_3c_20_21is_5fbasic_5fjson_3c_20t_20_3e_3a_3avalue_20_3e_20_3e',['has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >',['../df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html',1,'nlohmann::detail']]], + ['has_5fsubtype',['has_subtype',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a9fc42fb07003bf7048c2f1fc79478e02',1,'nlohmann::byte_container_with_subtype']]], + ['has_5fto_5fjson',['has_to_json',['../d9/d6c/structnlohmann_1_1detail_1_1has__to__json.html',1,'nlohmann::detail']]], + ['has_5fto_5fjson_3c_20basicjsontype_2c_20t_2c_20enable_5fif_5ft_3c_20_21is_5fbasic_5fjson_3c_20t_20_3e_3a_3avalue_20_3e_20_3e',['has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >',['../d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html',1,'nlohmann::detail']]], + ['hash',['hash',['../dc/df0/namespacenlohmann_1_1detail.html#a679e5e522ac6afa5d5923292fab450b8',1,'nlohmann::detail']]], + ['hash_3c_20nlohmann_3a_3ajson_20_3e',['hash< nlohmann::json >',['../dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html',1,'std']]], + ['hasnumericalnote',['hasNumericalNote',['../df/de1/namespacecudnn__frontend.html#a75bb541476d93b039f5fd9f9d29242e6',1,'cudnn_frontend']]] ]; diff --git a/docs/search/all_a.js b/docs/search/all_a.js index 5b006f27..94a9a2db 100644 --- a/docs/search/all_a.js +++ b/docs/search/all_a.js @@ -1,5 +1,135 @@ var searchData= [ - ['lower_5fclip',['lower_clip',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a26f1b0f84dc331ca9f1330cf6f425d36',1,'cudnn_frontend::PointWiseDesc_v8']]], - ['lower_5fclip_5fslope',['lower_clip_slope',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ad8731460bbcf7cb2804dd3a9840f276e',1,'cudnn_frontend::PointWiseDesc_v8']]] + ['ia',['ia',['../da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html#a3e223a7784502be20ace441e84f8cf43',1,'nlohmann::detail::span_input_adapter::ia()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a526d001dd91ec55b8032ba98466765c0',1,'nlohmann::detail::lexer::ia()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a548c770e60f2285a931de4b7333c1ab0',1,'nlohmann::detail::binary_reader::ia()']]], + ['id',['id',['../de/df2/classnlohmann_1_1detail_1_1exception.html#a0d4589a3fb54e81646d986c05efa3b9a',1,'nlohmann::detail::exception::id()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a062e54efdec89943fcb0602cc06dfd28',1,'cudnn_frontend::Tensor_v8::id()']]], + ['identity_5ftag',['identity_tag',['../d0/db1/structnlohmann_1_1detail_1_1identity__tag.html',1,'nlohmann::detail']]], + ['idx',['idx',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#aae4b49a84f8ecb114449784e43496521',1,'cudnn_frontend::Engine_v8']]], + ['if',['if',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a6705bbf2de3070ec50a810a32e72309f',1,'nlohmann::detail::serializer']]], + ['ignore',['ignore',['../dc/df0/namespacenlohmann_1_1detail.html#a58bb1ef1a9ad287a9cfaf1855784d9aca567bc1d268f135496de3d5b946b691f3',1,'nlohmann::detail::ignore()'],['../dc/df0/namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa567bc1d268f135496de3d5b946b691f3',1,'nlohmann::detail::ignore()']]], + ['ignore_5fcomments',['ignore_comments',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a11528814930243028ac5b8901f4a17d7',1,'nlohmann::detail::lexer']]], + ['include_5fnlohmann_5fjson_5ffwd_5fhpp_5f',['INCLUDE_NLOHMANN_JSON_FWD_HPP_',['../d5/db8/json_8hpp.html#ae7fdc438c6d6cb1f17c4373bce5a802d',1,'json.hpp']]], + ['indent_5fchar',['indent_char',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a9a55e6b028d09676fe35aefa0c72ea5b',1,'nlohmann::detail::serializer']]], + ['indent_5fstring',['indent_string',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ae9268a10d88a5526e32735a55a132fc6',1,'nlohmann::detail::serializer']]], + ['index_5fsequence',['index_sequence',['../dc/df0/namespacenlohmann_1_1detail.html#a422430dab7adbe4dfcf125dfcfbeffd0',1,'nlohmann::detail']]], + ['index_5fsequence_5ffor',['index_sequence_for',['../dc/df0/namespacenlohmann_1_1detail.html#a24800493c6ec02ce033dcbb47b7fd28e',1,'nlohmann::detail']]], + ['initialize_5fmanaged_5fbackend_5fpointer',['initialize_managed_backend_pointer',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a070df0d11a52793ce9480dbdcee0c24e',1,'cudnn_frontend::BackendDescriptor']]], + ['initializer_5flist_5ft',['initializer_list_t',['../d9/dcc/classnlohmann_1_1basic__json.html#ac569f292a070dfd2f6b69c16e746095a',1,'nlohmann::basic_json']]], + ['input_5fadapter',['input_adapter',['../dc/df0/namespacenlohmann_1_1detail.html#ad11a087dbe66eade5af4056aef9600bf',1,'nlohmann::detail::input_adapter(IteratorType first, IteratorType last)'],['../dc/df0/namespacenlohmann_1_1detail.html#a611bebbfa9ee64dd8fee1e8c4bc3cbf6',1,'nlohmann::detail::input_adapter(const ContainerType &container)'],['../dc/df0/namespacenlohmann_1_1detail.html#a520988513cac994a1dfd16b5859a1ca6',1,'nlohmann::detail::input_adapter(std::FILE *file)'],['../dc/df0/namespacenlohmann_1_1detail.html#af9fa97bf92767dc7f9dfe1abdfb1c6ce',1,'nlohmann::detail::input_adapter(std::istream &stream)'],['../dc/df0/namespacenlohmann_1_1detail.html#aaf150c2591ecac4e821e9036ef847ef8',1,'nlohmann::detail::input_adapter(std::istream &&stream)'],['../dc/df0/namespacenlohmann_1_1detail.html#a690f7e555056ce490bd47dd5cdf9b48d',1,'nlohmann::detail::input_adapter(CharT b)'],['../dc/df0/namespacenlohmann_1_1detail.html#a7908f7aa06f20e6083619d1d4b4eb769',1,'nlohmann::detail::input_adapter(T(&array)[N]) -> decltype(input_adapter(array, array+N))']]], + ['input_5fformat_5ft',['input_format_t',['../d9/dcc/classnlohmann_1_1basic__json.html#a211cf53702226ad9fb3c939a3a3d3689',1,'nlohmann::basic_json::input_format_t()'],['../dc/df0/namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40',1,'nlohmann::detail::input_format_t()']]], + ['input_5fstream_5fadapter',['input_stream_adapter',['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html',1,'nlohmann::detail::input_stream_adapter'],['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#af487152e4606d013eb4ec6a90eaf82ea',1,'nlohmann::detail::input_stream_adapter::input_stream_adapter(std::istream &i)'],['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a5190fe4d0c5ff2e3b348b28ee3bb2218',1,'nlohmann::detail::input_stream_adapter::input_stream_adapter(const input_stream_adapter &)=delete'],['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a0be44ef098e88e8453eb4c31c9b14421',1,'nlohmann::detail::input_stream_adapter::input_stream_adapter(input_stream_adapter &&rhs) noexcept']]], + ['insert',['insert',['../d6/da7/structnlohmann_1_1ordered__map.html#a48eceff729b80f3f4a023b737efccc5b',1,'nlohmann::ordered_map::insert(value_type &&value)'],['../d6/da7/structnlohmann_1_1ordered__map.html#a0241433138719e477a3cbb0c4cf0a243',1,'nlohmann::ordered_map::insert(const value_type &value)'],['../d6/da7/structnlohmann_1_1ordered__map.html#a2c8509f72bc33307661f1a0ed5763f9e',1,'nlohmann::ordered_map::insert(InputIt first, InputIt last)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aeb86e8478e20d95970a8b61ff01dce3b',1,'nlohmann::basic_json::insert(const_iterator pos, const basic_json &val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a9c5b9de8a4a759861cb600b38a6c81b1',1,'nlohmann::basic_json::insert(const_iterator pos, basic_json &&val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a71e197e6cc78c3960011f68a75f8ef22',1,'nlohmann::basic_json::insert(const_iterator pos, size_type cnt, const basic_json &val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a8137d5471edcd71606e42155ed9c23e2',1,'nlohmann::basic_json::insert(const_iterator pos, const_iterator first, const_iterator last)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a856b8764efd21dac4205a00fec82e09a',1,'nlohmann::basic_json::insert(const_iterator pos, initializer_list_t ilist)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a0181d03c6314bedcbad2e92d3676223c',1,'nlohmann::basic_json::insert(const_iterator first, const_iterator last)']]], + ['insert_5fiterator',['insert_iterator',['../d9/dcc/classnlohmann_1_1basic__json.html#ab5c8034e997c5b852b92bdc6a3f70994',1,'nlohmann::basic_json']]], + ['int_5fto_5fstring',['int_to_string',['../dc/df0/namespacenlohmann_1_1detail.html#a3c45286b0a2f15ea0a756cb87a76cf9b',1,'nlohmann::detail']]], + ['integer_5fsequence',['integer_sequence',['../d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html',1,'nlohmann::detail']]], + ['internal_5fiterator',['internal_iterator',['../d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html',1,'nlohmann::detail::internal_iterator< BasicJsonType >'],['../d9/dcc/classnlohmann_1_1basic__json.html#abe6f1016de5097691cbfdbb989267718',1,'nlohmann::basic_json::internal_iterator()']]], + ['internal_5fiterator_3c_20typename_20std_3a_3aremove_5fconst_3c_20basicjsontype_20_3e_3a_3atype_20_3e',['internal_iterator< typename std::remove_const< BasicJsonType >::type >',['../d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html',1,'nlohmann::detail']]], + ['invalid_5fiterator',['invalid_iterator',['../d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html',1,'nlohmann::detail::invalid_iterator'],['../d9/dcc/classnlohmann_1_1basic__json.html#a6ccc9788413fd58de998fe92743cb4aa',1,'nlohmann::basic_json::invalid_iterator()'],['../d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html#adf4a6697420f3bddb4addfc0b98f6ee2',1,'nlohmann::detail::invalid_iterator::invalid_iterator()']]], + ['is',['is',['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a55893bf84cb17d877464984942df9632',1,'nlohmann::detail::input_stream_adapter']]], + ['is_5farray',['is_array',['../d9/dcc/classnlohmann_1_1basic__json.html#ab5b70d60a636b9c5e10f6c8caac60b9e',1,'nlohmann::basic_json']]], + ['is_5fbasic_5fjson',['is_basic_json',['../d4/df6/structnlohmann_1_1detail_1_1is__basic__json.html',1,'nlohmann::detail']]], + ['is_5fbasic_5fjson_3c_20nlohmann_5fbasic_5fjson_5ftpl_20_3e',['is_basic_json< NLOHMANN_BASIC_JSON_TPL >',['../d8/d25/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4.html',1,'nlohmann::detail']]], + ['is_5fbegin',['is_begin',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a8d1a7d46b3fcd06edd034f04ededb5e4',1,'nlohmann::detail::primitive_iterator_t']]], + ['is_5fbinary',['is_binary',['../d9/dcc/classnlohmann_1_1basic__json.html#a9576224f7b3ff812a308e7c1e784ea80',1,'nlohmann::basic_json']]], + ['is_5fboolean',['is_boolean',['../d9/dcc/classnlohmann_1_1basic__json.html#a911b11e855e685fa59ea1d111490b36b',1,'nlohmann::basic_json']]], + ['is_5fcompatible_5farray_5ftype',['is_compatible_array_type',['../d8/d94/structnlohmann_1_1detail_1_1is__compatible__array__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5farray_5ftype_5fimpl',['is_compatible_array_type_impl',['../dc/d4b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5farray_5ftype_5fimpl_3c_20basicjsontype_2c_20compatiblearraytype_20_3e',['is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType >',['../dc/d4b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5farray_5ftype_5fimpl_3c_20basicjsontype_2c_20compatiblearraytype_2c_20enable_5fif_5ft_3c_20is_5fdetected_3c_20value_5ftype_5ft_2c_20compatiblearraytype_20_3e_3a_3avalue_20_26_26is_5fdetected_3c_20iterator_5ft_2c_20compatiblearraytype_20_3e_3a_3avalue_20_26_26_21is_5fiterator_5ftraits_3c_20iterator_5ftraits_3c_20compatiblearraytype_20_3e_20_3e_3a_3avalue_20_3e_20_3e',['is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >',['../dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5finteger_5ftype',['is_compatible_integer_type',['../d1/d21/structnlohmann_1_1detail_1_1is__compatible__integer__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5finteger_5ftype_5fimpl',['is_compatible_integer_type_impl',['../dd/d13/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5finteger_5ftype_5fimpl_3c_20realintegertype_2c_20compatiblenumberintegertype_20_3e',['is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType >',['../dd/d13/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5finteger_5ftype_5fimpl_3c_20realintegertype_2c_20compatiblenumberintegertype_2c_20enable_5fif_5ft_3c_20std_3a_3ais_5fintegral_3c_20realintegertype_20_3e_3a_3avalue_20_26_26std_3a_3ais_5fintegral_3c_20compatiblenumberintegertype_20_3e_3a_3avalue_20_26_26_21std_3a_3ais_5fsame_3c_20bool_2c_20compatiblenumberintegertype_20_3e_3a_3avalue_20_3e_20_3e',['is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >',['../d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fobject_5ftype',['is_compatible_object_type',['../d5/dda/structnlohmann_1_1detail_1_1is__compatible__object__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fobject_5ftype_5fimpl',['is_compatible_object_type_impl',['../dc/da5/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fobject_5ftype_5fimpl_3c_20basicjsontype_2c_20compatibleobjecttype_20_3e',['is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType >',['../dc/da5/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fobject_5ftype_5fimpl_3c_20basicjsontype_2c_20compatibleobjecttype_2c_20enable_5fif_5ft_3c_20is_5fdetected_3c_20mapped_5ftype_5ft_2c_20compatibleobjecttype_20_3e_3a_3avalue_20_26_26is_5fdetected_3c_20key_5ftype_5ft_2c_20compatibleobjecttype_20_3e_3a_3avalue_20_3e_20_3e',['is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >',['../d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fstring_5ftype',['is_compatible_string_type',['../db/d4e/structnlohmann_1_1detail_1_1is__compatible__string__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fstring_5ftype_5fimpl',['is_compatible_string_type_impl',['../d2/d3a/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fstring_5ftype_5fimpl_3c_20basicjsontype_2c_20compatiblestringtype_2c_20enable_5fif_5ft_3c_20is_5fdetected_5fexact_3c_20typename_20basicjsontype_3a_3astring_5ft_3a_3avalue_5ftype_2c_20value_5ftype_5ft_2c_20compatiblestringtype_20_3e_3a_3avalue_20_3e_20_3e',['is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >',['../d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fstring_5ftype_5fimpl_3c_20basicjsontype_2c_20constructiblestringtype_20_3e',['is_compatible_string_type_impl< BasicJsonType, ConstructibleStringType >',['../d2/d3a/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5ftype',['is_compatible_type',['../d3/d71/structnlohmann_1_1detail_1_1is__compatible__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5ftype_5fimpl',['is_compatible_type_impl',['../d9/d66/structnlohmann_1_1detail_1_1is__compatible__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5ftype_5fimpl_3c_20basicjsontype_2c_20compatibletype_20_3e',['is_compatible_type_impl< BasicJsonType, CompatibleType >',['../d9/d66/structnlohmann_1_1detail_1_1is__compatible__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5ftype_5fimpl_3c_20basicjsontype_2c_20compatibletype_2c_20enable_5fif_5ft_3c_20is_5fcomplete_5ftype_3c_20compatibletype_20_3e_3a_3avalue_20_3e_20_3e',['is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >',['../d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html',1,'nlohmann::detail']]], + ['is_5fcomplete_5ftype',['is_complete_type',['../d2/db3/structnlohmann_1_1detail_1_1is__complete__type.html',1,'nlohmann::detail']]], + ['is_5fcomplete_5ftype_3c_20t_2c_20decltype_28void_28sizeof_28t_29_29_29_3e',['is_complete_type< T, decltype(void(sizeof(T)))>',['../dd/dcd/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4.html',1,'nlohmann::detail']]], + ['is_5fconstructible',['is_constructible',['../d7/d10/structnlohmann_1_1detail_1_1is__constructible.html',1,'nlohmann::detail']]], + ['is_5fconstructible_3c_20const_20std_3a_3apair_3c_20t1_2c_20t2_20_3e_20_3e',['is_constructible< const std::pair< T1, T2 > >',['../d8/da8/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fconstructible_3c_20const_20std_3a_3atuple_3c_20ts_2e_2e_2e_20_3e_20_3e',['is_constructible< const std::tuple< Ts... > >',['../d1/d8d/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fconstructible_3c_20std_3a_3apair_3c_20t1_2c_20t2_20_3e_20_3e',['is_constructible< std::pair< T1, T2 > >',['../d4/df4/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fconstructible_3c_20std_3a_3atuple_3c_20ts_2e_2e_2e_20_3e_20_3e',['is_constructible< std::tuple< Ts... > >',['../dc/d01/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5farray_5ftype',['is_constructible_array_type',['../d3/d52/structnlohmann_1_1detail_1_1is__constructible__array__type.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5farray_5ftype_5fimpl',['is_constructible_array_type_impl',['../d8/d8b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5farray_5ftype_5fimpl_3c_20basicjsontype_2c_20constructiblearraytype_20_3e',['is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType >',['../d8/d8b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5farray_5ftype_5fimpl_3c_20basicjsontype_2c_20constructiblearraytype_2c_20enable_5fif_5ft_3c_20_21std_3a_3ais_5fsame_3c_20constructiblearraytype_2c_20typename_20basicjsontype_3a_3avalue_5ftype_20_3e_3a_3avalue_20_26_26is_5fdefault_5fconstructible_3c_20constructiblearraytype_20_3e_3a_3avalue_20_26_26_28std_3a_3ais_5fmove_5fassignable_3c_20constructiblearraytype_20_3e_3a_3avalue_7c_7cstd_3a_3ais_5fcopy_5fassignable_3c_20constructiblearraytype_20_3e_3a_3avalue_29_26_26is_5fdetected_3c_20value_5ftype_5ft_2c_20constructiblearraytype_20_3e_3a_3avalue_20_26_26is_5fdetected_3c_20iterator_5ft_2c_20constructiblearraytype_20_3e_3a_3avalue_20_26_26is_5fcomplete_5ftype_3c_20detected_5ft_3c_20value_5ftype_5ft_2c_20constructiblearraytype_20_3e_20_3e_3a_3avalue_20_3e_20_3e',['is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >',['../db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5farray_5ftype_5fimpl_3c_20basicjsontype_2c_20constructiblearraytype_2c_20enable_5fif_5ft_3c_20std_3a_3ais_5fsame_3c_20constructiblearraytype_2c_20typename_20basicjsontype_3a_3avalue_5ftype_20_3e_3a_3avalue_20_3e_20_3e',['is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >',['../dd/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construce6fa33688da703b95649da4749cdeb98.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5fobject_5ftype',['is_constructible_object_type',['../dc/d11/structnlohmann_1_1detail_1_1is__constructible__object__type.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5fobject_5ftype_5fimpl',['is_constructible_object_type_impl',['../dd/da4/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5fobject_5ftype_5fimpl_3c_20basicjsontype_2c_20constructibleobjecttype_20_3e',['is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType >',['../dd/da4/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5fobject_5ftype_5fimpl_3c_20basicjsontype_2c_20constructibleobjecttype_2c_20enable_5fif_5ft_3c_20is_5fdetected_3c_20mapped_5ftype_5ft_2c_20constructibleobjecttype_20_3e_3a_3avalue_20_26_26is_5fdetected_3c_20key_5ftype_5ft_2c_20constructibleobjecttype_20_3e_3a_3avalue_20_3e_20_3e',['is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >',['../d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5fstring_5ftype',['is_constructible_string_type',['../d3/d84/structnlohmann_1_1detail_1_1is__constructible__string__type.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5fstring_5ftype_5fimpl',['is_constructible_string_type_impl',['../de/df0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5fstring_5ftype_5fimpl_3c_20basicjsontype_2c_20constructiblestringtype_20_3e',['is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType >',['../de/df0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5fstring_5ftype_5fimpl_3c_20basicjsontype_2c_20constructiblestringtype_2c_20enable_5fif_5ft_3c_20is_5fdetected_5fexact_3c_20typename_20basicjsontype_3a_3astring_5ft_3a_3avalue_5ftype_2c_20value_5ftype_5ft_2c_20constructiblestringtype_20_3e_3a_3avalue_20_3e_20_3e',['is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >',['../df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5ftuple',['is_constructible_tuple',['../df/d17/structnlohmann_1_1detail_1_1is__constructible__tuple.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5ftuple_3c_20t1_2c_20std_3a_3atuple_3c_20args_2e_2e_2e_20_3e_20_3e',['is_constructible_tuple< T1, std::tuple< Args... > >',['../d3/d6a/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fconvolution_5fop',['is_convolution_op',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#ad82e287889be2ebef348a00479ce3bc0',1,'cudnn_frontend::OperationBuilder_v8']]], + ['is_5fdefault_5fconstructible',['is_default_constructible',['../d2/d91/structnlohmann_1_1detail_1_1is__default__constructible.html',1,'nlohmann::detail']]], + ['is_5fdefault_5fconstructible_3c_20const_20std_3a_3apair_3c_20t1_2c_20t2_20_3e_20_3e',['is_default_constructible< const std::pair< T1, T2 > >',['../d7/d7b/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fdefault_5fconstructible_3c_20const_20std_3a_3atuple_3c_20ts_2e_2e_2e_20_3e_20_3e',['is_default_constructible< const std::tuple< Ts... > >',['../dc/dd7/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fdefault_5fconstructible_3c_20std_3a_3apair_3c_20t1_2c_20t2_20_3e_20_3e',['is_default_constructible< std::pair< T1, T2 > >',['../da/dbd/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fdefault_5fconstructible_3c_20std_3a_3atuple_3c_20ts_2e_2e_2e_20_3e_20_3e',['is_default_constructible< std::tuple< Ts... > >',['../d5/dc8/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fdetected',['is_detected',['../dc/df0/namespacenlohmann_1_1detail.html#a9135fcf616d6ac6e231a86e0a055ac44',1,'nlohmann::detail']]], + ['is_5fdetected_5fconvertible',['is_detected_convertible',['../dc/df0/namespacenlohmann_1_1detail.html#a5262e531c46e357b33007060f294673b',1,'nlohmann::detail']]], + ['is_5fdetected_5fexact',['is_detected_exact',['../dc/df0/namespacenlohmann_1_1detail.html#a7542b4dbac07817fd4849ecfa4619def',1,'nlohmann::detail']]], + ['is_5fdiscarded',['is_discarded',['../d9/dcc/classnlohmann_1_1basic__json.html#aecaaa0613d3f3a5b49b34b02afc5f85d',1,'nlohmann::basic_json']]], + ['is_5fend',['is_end',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a45a7e301c23b5b90417baf2277f40b1d',1,'nlohmann::detail::primitive_iterator_t']]], + ['is_5ferrored',['is_errored',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad1b9f3681fadbbb2e0127f5c8a99c662',1,'nlohmann::detail::json_sax_dom_parser::is_errored()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a167fd9bf385d3d08bcbbba8a927c0eff',1,'nlohmann::detail::json_sax_dom_callback_parser::is_errored()']]], + ['is_5fgetable',['is_getable',['../de/dbc/structnlohmann_1_1detail_1_1is__getable.html',1,'nlohmann::detail']]], + ['is_5fgood',['is_good',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#aa9059097bb9161d454c6e17b03ca236c',1,'cudnn_frontend::OpaqueBackendPointer']]], + ['is_5fiterator_5fof_5fmultibyte',['is_iterator_of_multibyte',['../d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html',1,'nlohmann::detail']]], + ['is_5fiterator_5ftraits',['is_iterator_traits',['../d3/d30/structnlohmann_1_1detail_1_1is__iterator__traits.html',1,'nlohmann::detail']]], + ['is_5fiterator_5ftraits_3c_20iterator_5ftraits_3c_20t_20_3e_20_3e',['is_iterator_traits< iterator_traits< T > >',['../d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fjson_5fref',['is_json_ref',['../d3/d0b/structnlohmann_1_1detail_1_1is__json__ref.html',1,'nlohmann::detail']]], + ['is_5fjson_5fref_3c_20json_5fref_3c_20t_20_3e_20_3e',['is_json_ref< json_ref< T > >',['../d0/d8d/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5flittle_5fendian',['is_little_endian',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ad615eba561e265165a80c95061af75b0',1,'nlohmann::detail::binary_reader::is_little_endian()'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a048887c907afe39759b777e8c888414c',1,'nlohmann::detail::binary_writer::is_little_endian()']]], + ['is_5fmatmul_5fop',['is_matmul_op',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#ac806a488b58cc78e338ba96eccee70fd',1,'cudnn_frontend::OperationBuilder_v8']]], + ['is_5fnull',['is_null',['../d9/dcc/classnlohmann_1_1basic__json.html#aedc7afad96292b5ab61a2e0ad3067f5f',1,'nlohmann::basic_json']]], + ['is_5fnumber',['is_number',['../d9/dcc/classnlohmann_1_1basic__json.html#abd47ac8eba63833152795280f75b5851',1,'nlohmann::basic_json']]], + ['is_5fnumber_5ffloat',['is_number_float',['../d9/dcc/classnlohmann_1_1basic__json.html#a116cdb9300b56519fc9cf756609296cb',1,'nlohmann::basic_json']]], + ['is_5fnumber_5finteger',['is_number_integer',['../d9/dcc/classnlohmann_1_1basic__json.html#ac4b4acf2c0ad075c0dc125a65c102362',1,'nlohmann::basic_json']]], + ['is_5fnumber_5funsigned',['is_number_unsigned',['../d9/dcc/classnlohmann_1_1basic__json.html#a5493f2ed1e07b0ece428bd5a47e2fb95',1,'nlohmann::basic_json']]], + ['is_5fobject',['is_object',['../d9/dcc/classnlohmann_1_1basic__json.html#a57e8411a770a6263d6d8f2116c37f3aa',1,'nlohmann::basic_json']]], + ['is_5fpointwise_5factivation_5fbwd_5fop',['is_pointwise_activation_bwd_op',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ab8c4c8c81e8cebc44cb725f4a4b4add9',1,'cudnn_frontend::Operation_v8']]], + ['is_5fpointwise_5factivation_5ffwd_5fop',['is_pointwise_activation_fwd_op',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a12d0d0fa40152f5205570f40e681795f',1,'cudnn_frontend::Operation_v8']]], + ['is_5fpointwise_5fmath_5fop',['is_pointwise_math_op',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a2e1e0fb15b7df300945cae2347db635a',1,'cudnn_frontend::Operation_v8']]], + ['is_5fpointwise_5fop',['is_pointwise_op',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a98044359c005b796e35fba1a5b689f3d',1,'cudnn_frontend::OperationBuilder_v8']]], + ['is_5fprimitive',['is_primitive',['../d9/dcc/classnlohmann_1_1basic__json.html#a548d2d4013da24e7d7510d90febc80c4',1,'nlohmann::basic_json']]], + ['is_5freduction_5fop',['is_reduction_op',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a65bf6693a5952e65b856dfdf9ad68770',1,'cudnn_frontend::OperationBuilder_v8']]], + ['is_5fsax',['is_sax',['../dc/dc3/structnlohmann_1_1detail_1_1is__sax.html',1,'nlohmann::detail']]], + ['is_5fsax_5fstatic_5fasserts',['is_sax_static_asserts',['../d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html',1,'nlohmann::detail']]], + ['is_5fstring',['is_string',['../d9/dcc/classnlohmann_1_1basic__json.html#ab303d17366c26fca12242c7f8def1bb7',1,'nlohmann::basic_json']]], + ['is_5fstructured',['is_structured',['../d9/dcc/classnlohmann_1_1basic__json.html#a4e05a7d5deec758f1d830741b68b4249',1,'nlohmann::basic_json']]], + ['isvirtual',['isVirtual',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a611fc05f3c7b6ca90d0e3c0f6ef07d84',1,'cudnn_frontend::Tensor_v8']]], + ['items',['items',['../d9/dcc/classnlohmann_1_1basic__json.html#a916a6ba75ec7624e9c6c977a52d6fd17',1,'nlohmann::basic_json::items() noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a4faaed730a81347f2f01e93f37c73823',1,'nlohmann::basic_json::items() const noexcept']]], + ['iter_5fimpl',['iter_impl',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html',1,'nlohmann::detail::iter_impl< BasicJsonType >'],['../d9/dcc/classnlohmann_1_1basic__json.html#a7b03055088a8e9770680ee975fb8ba55',1,'nlohmann::basic_json::iter_impl()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a31090f248ce10fd7b386027c1a19c16f',1,'nlohmann::detail::iter_impl::iter_impl()=default'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a603ba9c477f878a69ed281becca6f56a',1,'nlohmann::detail::iter_impl::iter_impl(iter_impl &&) noexcept=default'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a88a00484ac201c52fc5f613d88a2918b',1,'nlohmann::detail::iter_impl::iter_impl(pointer object) noexcept'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a71f84fb6e009619f12972bcf9002b8cd',1,'nlohmann::detail::iter_impl::iter_impl(const iter_impl< const BasicJsonType > &other) noexcept'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a867f7eb55091be31b013adb3e46816d3',1,'nlohmann::detail::iter_impl::iter_impl(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept']]], + ['iteration_5fproxy',['iteration_proxy',['../db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html',1,'nlohmann::detail::iteration_proxy< IteratorType >'],['../d9/dcc/classnlohmann_1_1basic__json.html#ae2ce7eec3ae7e7b903e0344e89f0512b',1,'nlohmann::basic_json::iteration_proxy()'],['../db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html#afe257e972e3b4658ef2e355f7389d4a5',1,'nlohmann::detail::iteration_proxy::iteration_proxy()']]], + ['iteration_5fproxy_3c_20iter_5fimpl_20_3e',['iteration_proxy< iter_impl >',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a28328d17a18d9754c89c5c8159677a6f',1,'nlohmann::detail::iter_impl']]], + ['iteration_5fproxy_5fvalue',['iteration_proxy_value',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html',1,'nlohmann::detail::iteration_proxy_value< IteratorType >'],['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a459dd8961b80b2089d8161c9aa466581',1,'nlohmann::detail::iteration_proxy_value::iteration_proxy_value()']]], + ['iteration_5fproxy_5fvalue_3c_20iter_5fimpl_20_3e',['iteration_proxy_value< iter_impl >',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ac501dc2374b4d17a884fc9a656e80d5a',1,'nlohmann::detail::iter_impl']]], + ['iterator',['iterator',['../d9/dcc/classnlohmann_1_1basic__json.html#aa549b2b382916b3baafb526e5cb410bd',1,'nlohmann::basic_json']]], + ['iterator_5fcategory',['iterator_category',['../d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#aaaafbcd0573ec9cfc5d19411950dc1ac',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::iterator_category()'],['../da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a9b043cfe0fdfb3e9665428fb2be9cea1',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::iterator_category()'],['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a1ab8c44e3772c03651b5ad07216043cf',1,'nlohmann::detail::iteration_proxy_value::iterator_category()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ad9e091f5c70b34b5b1abc1ab15fd9106',1,'nlohmann::detail::iter_impl::iterator_category()']]], + ['iterator_5fcategory_5ft',['iterator_category_t',['../dc/df0/namespacenlohmann_1_1detail.html#ad22d2aa3aab018050ae519f6754366e1',1,'nlohmann::detail']]], + ['iterator_5finput_5fadapter',['iterator_input_adapter',['../d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html',1,'nlohmann::detail::iterator_input_adapter< IteratorType >'],['../d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a9423d7166b9e3092f149266acd064ba7',1,'nlohmann::detail::iterator_input_adapter::iterator_input_adapter()']]], + ['iterator_5finput_5fadapter_5ffactory',['iterator_input_adapter_factory',['../d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html',1,'nlohmann::detail']]], + ['iterator_5finput_5fadapter_5ffactory_3c_20iteratortype_2c_20enable_5fif_5ft_3c_20is_5fiterator_5fof_5fmultibyte_3c_20iteratortype_20_3e_3a_3avalue_20_3e_20_3e',['iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >',['../da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html',1,'nlohmann::detail']]], + ['iterator_5ft',['iterator_t',['../dc/df0/namespacenlohmann_1_1detail.html#a9ff93db146174305bce1bc4c54703e11',1,'nlohmann::detail']]], + ['iterator_5ftraits',['iterator_traits',['../d8/db6/structnlohmann_1_1detail_1_1iterator__traits.html',1,'nlohmann::detail']]], + ['iterator_5ftraits_3c_20t_20_2a_2c_20enable_5fif_5ft_3c_20std_3a_3ais_5fobject_3c_20t_20_3e_3a_3avalue_20_3e_20_3e',['iterator_traits< T *, enable_if_t< std::is_object< T >::value > >',['../da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html',1,'nlohmann::detail']]], + ['iterator_5ftraits_3c_20t_2c_20enable_5fif_5ft_3c_20_21std_3a_3ais_5fpointer_3c_20t_20_3e_3a_3avalue_20_3e_20_3e',['iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >',['../d5/da3/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_3_01T_01_4_1_1value_01_4_01_4.html',1,'nlohmann::detail']]], + ['iterator_5ftype',['iterator_type',['../d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a37663ca283012236415d53145da1a0f9',1,'nlohmann::detail::iterator_input_adapter_factory::iterator_type()'],['../da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#a1c42a47cd6cd71146cf2851d76165610',1,'nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::iterator_type()']]], + ['iterator_5ftypes',['iterator_types',['../d5/d3c/structnlohmann_1_1detail_1_1iterator__types.html',1,'nlohmann::detail']]], + ['iterator_5ftypes_3c_20it_2c_20void_5ft_3c_20typename_20it_3a_3adifference_5ftype_2c_20typename_20it_3a_3avalue_5ftype_2c_20typename_20it_3a_3apointer_2c_20typename_20it_3a_3areference_2c_20typename_20it_3a_3aiterator_5fcategory_20_3e_20_3e',['iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >',['../d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html',1,'nlohmann::detail']]], + ['iterator_5ftypes_3c_20t_20_3e',['iterator_types< T >',['../d5/d3c/structnlohmann_1_1detail_1_1iterator__types.html',1,'nlohmann::detail']]], + ['iterator_5fwrapper',['iterator_wrapper',['../d9/dcc/classnlohmann_1_1basic__json.html#a22e2e5b0e68d9d7c63be2cada5187259',1,'nlohmann::basic_json::iterator_wrapper(reference ref) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a3710ff8c5a1cbedb4f75b700a8962d5c',1,'nlohmann::basic_json::iterator_wrapper(const_reference ref) noexcept']]] ]; diff --git a/docs/search/all_b.js b/docs/search/all_b.js index 4cbfe92d..dca793b7 100644 --- a/docs/search/all_b.js +++ b/docs/search/all_b.js @@ -1,28 +1,150 @@ var searchData= [ - ['m_5fconvdesc',['m_convDesc',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a67e82b4d8b94b55ecc50a9151799fff9',1,'cudnn_frontend::ConvDescBuilder_v8']]], - ['m_5fdesc',['m_desc',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a47968d641c0da8d33882f86d8afa30b4',1,'cudnn_frontend::OpaqueBackendPointer']]], - ['m_5fengine',['m_engine',['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#adc25c468425d9b6b71b9592b80ea715d',1,'cudnn_frontend::EngineBuilder_v8']]], - ['m_5fengine_5fconfig',['m_engine_config',['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a8dc6947bf5dac837ea233bfaec4bf03f',1,'cudnn_frontend::EngineConfigBuilder_v8']]], - ['m_5fengine_5fconfigs',['m_engine_configs',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a71e6146b18a0aa4de8fbc6ba457efbb9',1,'cudnn_frontend::EngineFallbackList_v8']]], - ['m_5fexecution_5fplan',['m_execution_plan',['../d7/d0d/group__ExecutionPlanQuery.html#gae1a2e3dd89dbe455e7067531ec5b5562',1,'cudnn_frontend::ExecutionPlanBuilder_v8']]], - ['m_5ffallback_5flist',['m_fallback_list',['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a56f2014918d259c53a2ebb3e815073e9',1,'cudnn_frontend::EngineFallbackListBuilder_v8']]], - ['m_5fheuristic_5fresults',['m_heuristic_results',['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a7a1e931b0f7910db6e6f5d5bfbfe3511',1,'cudnn_frontend::EngineHeuristics_v8']]], - ['m_5fheuristics',['m_heuristics',['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#aa046a778075f260f7950ee5a51c2addb',1,'cudnn_frontend::EngineHeuristicsBuilder_v8']]], - ['m_5fmatmuldesc',['m_matMulDesc',['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#aa71bc8242df4035ff5d6b4d54083db4b',1,'cudnn_frontend::MatMulDescBuilder_v8']]], - ['m_5foperation',['m_operation',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a8724628060c71b17e7458c01338b234a',1,'cudnn_frontend::OperationBuilder_v8']]], - ['m_5foperationgraph',['m_operationGraph',['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#ad9cb3e166ab001b3b0c60ed2198cd6d9',1,'cudnn_frontend::OperationGraphBuilder_v8']]], - ['m_5fpointwisedesc',['m_pointWiseDesc',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a804a2b5438f464185b16a4652fc14cf5',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['m_5ftensor',['m_tensor',['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a87c53bd36c748fe2327743bd852fb144',1,'cudnn_frontend::TensorBuilder_v8']]], - ['m_5fvariant_5fpack',['m_variant_pack',['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a41a6e8afb46228fea2310f5cad75badc',1,'cudnn_frontend::VariantPackBuilder_v8']]], - ['make_5fshared_5fbackend_5fpointer',['make_shared_backend_pointer',['../df/de1/namespacecudnn__frontend.html#aee9c79eb8972c944de14ccd70bf5db43',1,'cudnn_frontend']]], - ['managedopaquedescriptor',['ManagedOpaqueDescriptor',['../df/de1/namespacecudnn__frontend.html#ac94d582cdfa2adf3d68a4e675e5d69aa',1,'cudnn_frontend']]], - ['math_5fprecision',['math_precision',['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a1dd13143c85b67f2c0da90f02884fab1',1,'cudnn_frontend::MatMulDesc_v8::math_precision()'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a7f1bee44a57b6dad1ce493cd18ffbc18',1,'cudnn_frontend::PointWiseDesc_v8::math_precision()']]], - ['matmuldesc',['matmuldesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ac4b85cbb9ba522c98eb524a7712721af',1,'cudnn_frontend::Operation_v8::matmuldesc()'],['../df/de1/namespacecudnn__frontend.html#ad809552e9ec400bcbfcfc0ea5acd4e56',1,'cudnn_frontend::MatMulDesc()']]], - ['matmuldesc_5fv8',['MatMulDesc_v8',['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html',1,'cudnn_frontend::MatMulDesc_v8'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ab725a8e47331aca6310155f6d55c0a02',1,'cudnn_frontend::MatMulDesc_v8::MatMulDesc_v8(MatMulDesc_v8 &&from)'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a5e060b83ea1e1ed59a66e15fdba91227',1,'cudnn_frontend::MatMulDesc_v8::MatMulDesc_v8()=default'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a48aa29d5df9a717e63c5146ac48c4543',1,'cudnn_frontend::MatMulDesc_v8::MatMulDesc_v8(MatMulDesc_v8 const &)=delete']]], - ['matmuldescbuilder',['MatMulDescBuilder',['../df/de1/namespacecudnn__frontend.html#a0c344e3bc1f332aa9f5b213eb1ae9ee6',1,'cudnn_frontend']]], - ['matmuldescbuilder_5fv8',['MatMulDescBuilder_v8',['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html',1,'cudnn_frontend::MatMulDescBuilder_v8'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#aa99cc0548322d7298b9ca664a976281f',1,'cudnn_frontend::MatMulDesc_v8::MatMulDescBuilder_v8()'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#afea76414fa5c0c5f38a551afcf11391c',1,'cudnn_frontend::MatMulDescBuilder_v8::MatMulDescBuilder_v8()=default'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a75af51fa2937a7df6787d3181ef22cf2',1,'cudnn_frontend::MatMulDescBuilder_v8::MatMulDescBuilder_v8(MatMulDescBuilder_v8 &&)=delete'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a287154397d78c528465a949ab0242068',1,'cudnn_frontend::MatMulDescBuilder_v8::MatMulDescBuilder_v8(MatMulDescBuilder_v8 const &)=delete'],['../d9/d08/group__MatMulDescBuilder__v8.html',1,'(Global Namespace)']]], - ['maxvalue',['maxValue',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aecda8659b5a5d1dbb21b540a73141fb9',1,'cudnn_frontend::Engine_v8::Knob']]], - ['minvalue',['minValue',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a2403145dcb4bc55f970c6d07c1ed796e',1,'cudnn_frontend::Engine_v8::Knob']]], - ['mode',['mode',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#adcb7e5f546b83bbdab63773030e3b909',1,'cudnn_frontend::ConvDesc_v8::mode()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9a557db46e3559fcaa0e800d976d6238',1,'cudnn_frontend::EngineFallbackList_v8::mode()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a71e7822002502874f6b2dfec4ede7e01',1,'cudnn_frontend::EngineHeuristics_v8::mode()'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ad6d99d57f2a5b345fe5af5bc777b8d1c',1,'cudnn_frontend::PointWiseDesc_v8::mode()']]] + ['json',['json',['../d3/d9b/namespacenlohmann.html#a2bfd99e845a2e5cd90aeaf1b1431f474',1,'nlohmann::json()'],['../db/d7e/cudnn__frontend__Errata_8h.html#ab701e3ac61a85b337ec5c1abaad6742d',1,'json(): cudnn_frontend_Errata.h'],['../dc/df0/namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40a466deec76ecdf5fca6d38571f6324d54',1,'nlohmann::detail::json()']]], + ['json_2ehpp',['json.hpp',['../d5/db8/json_8hpp.html',1,'']]], + ['json_5fassert',['JSON_ASSERT',['../d5/db8/json_8hpp.html#a69f131cff49da1989667220173fbeae6',1,'json.hpp']]], + ['json_5fcatch',['JSON_CATCH',['../d5/db8/json_8hpp.html#a6954bec49ed2a2dfb938c1131c82740a',1,'json.hpp']]], + ['json_5fexplicit',['JSON_EXPLICIT',['../d5/db8/json_8hpp.html#aefed8cf27cadeea45f12c6f3db3ce774',1,'json.hpp']]], + ['json_5fhas_5fcpp_5f11',['JSON_HAS_CPP_11',['../d5/db8/json_8hpp.html#ad5cc9b612a6058dd85e97906cc625f9c',1,'json.hpp']]], + ['json_5fhedley_5falways_5finline',['JSON_HEDLEY_ALWAYS_INLINE',['../d5/db8/json_8hpp.html#aa8811aa2a21030baad33c103cb04d322',1,'json.hpp']]], + ['json_5fhedley_5farm_5fversion_5fcheck',['JSON_HEDLEY_ARM_VERSION_CHECK',['../d5/db8/json_8hpp.html#aec1d1b1e286d1610ff11dbb29bf3e8cf',1,'json.hpp']]], + ['json_5fhedley_5farray_5fparam',['JSON_HEDLEY_ARRAY_PARAM',['../d5/db8/json_8hpp.html#a81c7e3b5b6811abfd89146ad33a93d8f',1,'json.hpp']]], + ['json_5fhedley_5fassume',['JSON_HEDLEY_ASSUME',['../d5/db8/json_8hpp.html#a70d7244eea52c8bb5716545e54050bb5',1,'json.hpp']]], + ['json_5fhedley_5fbegin_5fc_5fdecls',['JSON_HEDLEY_BEGIN_C_DECLS',['../d5/db8/json_8hpp.html#ad43f9ae10083194afdfe88516ad876e7',1,'json.hpp']]], + ['json_5fhedley_5fc_5fdecl',['JSON_HEDLEY_C_DECL',['../d5/db8/json_8hpp.html#a378be9b66feb11153979c282c669b12e',1,'json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fattribute',['JSON_HEDLEY_CLANG_HAS_ATTRIBUTE',['../d5/db8/json_8hpp.html#a940783ca9410ed9dbe4f7abf44a29394',1,'json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fbuiltin',['JSON_HEDLEY_CLANG_HAS_BUILTIN',['../d5/db8/json_8hpp.html#a4500e349152e53a3a6f0ab95c6a4a840',1,'json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fcpp_5fattribute',['JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE',['../d5/db8/json_8hpp.html#a3ce7b30717e453922113c4f62e645e13',1,'json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fdeclspec_5fattribute',['JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE',['../d5/db8/json_8hpp.html#afb4bf1280cd8738877e1f0f681a5d96d',1,'json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fextension',['JSON_HEDLEY_CLANG_HAS_EXTENSION',['../d5/db8/json_8hpp.html#a8fcc2d27e828fbd8d5ef88ba341e56c0',1,'json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5ffeature',['JSON_HEDLEY_CLANG_HAS_FEATURE',['../d5/db8/json_8hpp.html#a096be2083232d3a3ea9f3aeb25885f60',1,'json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fwarning',['JSON_HEDLEY_CLANG_HAS_WARNING',['../d5/db8/json_8hpp.html#a6125ffd318b2d6698faad4175a6e7c56',1,'json.hpp']]], + ['json_5fhedley_5fcompcert_5fversion_5fcheck',['JSON_HEDLEY_COMPCERT_VERSION_CHECK',['../d5/db8/json_8hpp.html#ad8f9aee7d709155d6745cb3f77c6ff0c',1,'json.hpp']]], + ['json_5fhedley_5fconcat',['JSON_HEDLEY_CONCAT',['../d5/db8/json_8hpp.html#a4ec16c2642fdc5876d8dbeab3445b313',1,'json.hpp']]], + ['json_5fhedley_5fconcat3',['JSON_HEDLEY_CONCAT3',['../d5/db8/json_8hpp.html#ad10e2ad45ace3771e4d2a3807d33f64f',1,'json.hpp']]], + ['json_5fhedley_5fconcat3_5fex',['JSON_HEDLEY_CONCAT3_EX',['../d5/db8/json_8hpp.html#a29b325cc7fac302f2488259237d30953',1,'json.hpp']]], + ['json_5fhedley_5fconcat_5fex',['JSON_HEDLEY_CONCAT_EX',['../d5/db8/json_8hpp.html#aee52531ff30270c04958309efa66a5da',1,'json.hpp']]], + ['json_5fhedley_5fconst',['JSON_HEDLEY_CONST',['../d5/db8/json_8hpp.html#a0d17bf1a54fc45a04ced6d3aa86a96e3',1,'json.hpp']]], + ['json_5fhedley_5fconst_5fcast',['JSON_HEDLEY_CONST_CAST',['../d5/db8/json_8hpp.html#ab849ba88a6f410da5a46a86f8565b381',1,'json.hpp']]], + ['json_5fhedley_5fconstexpr',['JSON_HEDLEY_CONSTEXPR',['../d5/db8/json_8hpp.html#ac317a48664e4099c22d33d8132bef97e',1,'json.hpp']]], + ['json_5fhedley_5fcpp_5fcast',['JSON_HEDLEY_CPP_CAST',['../d5/db8/json_8hpp.html#a8c790866b16f58cbe0b3286a7a6238c3',1,'json.hpp']]], + ['json_5fhedley_5fcray_5fversion_5fcheck',['JSON_HEDLEY_CRAY_VERSION_CHECK',['../d5/db8/json_8hpp.html#a5d9ed879aa65e4db12a81ee95529c3e4',1,'json.hpp']]], + ['json_5fhedley_5fdeprecated',['JSON_HEDLEY_DEPRECATED',['../d5/db8/json_8hpp.html#a0f2cbf281fa983a844b9279c697b7a0c',1,'json.hpp']]], + ['json_5fhedley_5fdeprecated_5ffor',['JSON_HEDLEY_DEPRECATED_FOR',['../d5/db8/json_8hpp.html#af0469b867b0ec3a1c4b229ce9d087620',1,'json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5fcast_5fqual',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL',['../d5/db8/json_8hpp.html#a8d412aa5d441b533afa439a89aa4a754',1,'json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5fcpp98_5fcompat_5fwrap_5f',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_',['../d5/db8/json_8hpp.html#a543a78d9931a92663e3b3fc552a390a4',1,'json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5fdeprecated',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED',['../d5/db8/json_8hpp.html#afe5855242129fa5d1adf55227669a337',1,'json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5funknown_5fcpp_5fattributes',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES',['../d5/db8/json_8hpp.html#ab6e5abd7e400c9a725278206ece33e16',1,'json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5funknown_5fpragmas',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS',['../d5/db8/json_8hpp.html#ab67745ae0065d536d8e67969db68d564',1,'json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5funused_5ffunction',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION',['../d5/db8/json_8hpp.html#a5306714f979551cab30546a0e0e7e9f9',1,'json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fpop',['JSON_HEDLEY_DIAGNOSTIC_POP',['../d5/db8/json_8hpp.html#aeedd50a52e1ea565ceab84bb596ec07f',1,'json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fpush',['JSON_HEDLEY_DIAGNOSTIC_PUSH',['../d5/db8/json_8hpp.html#a1850f57fcda72becebc7033a2e10e77b',1,'json.hpp']]], + ['json_5fhedley_5fdmc_5fversion_5fcheck',['JSON_HEDLEY_DMC_VERSION_CHECK',['../d5/db8/json_8hpp.html#af21c5dbd9df3b2e245ae547e2d940adc',1,'json.hpp']]], + ['json_5fhedley_5fempty_5fbases',['JSON_HEDLEY_EMPTY_BASES',['../d5/db8/json_8hpp.html#ae7a983344e78f37697c2688f1885f9e1',1,'json.hpp']]], + ['json_5fhedley_5femscripten_5fversion_5fcheck',['JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK',['../d5/db8/json_8hpp.html#a472a0656b154bb30cf6e8fb8a31b9209',1,'json.hpp']]], + ['json_5fhedley_5fend_5fc_5fdecls',['JSON_HEDLEY_END_C_DECLS',['../d5/db8/json_8hpp.html#aca2fc4b765ac5739d680153895b673fb',1,'json.hpp']]], + ['json_5fhedley_5ffall_5fthrough',['JSON_HEDLEY_FALL_THROUGH',['../d5/db8/json_8hpp.html#a7056c44a5787e78720407fc97aefbd0f',1,'json.hpp']]], + ['json_5fhedley_5fflags',['JSON_HEDLEY_FLAGS',['../d5/db8/json_8hpp.html#a4bdece2f00bf96988662186d7f23ca0f',1,'json.hpp']]], + ['json_5fhedley_5fflags_5fcast',['JSON_HEDLEY_FLAGS_CAST',['../d5/db8/json_8hpp.html#a701eddd8e14dbe617a9ca81b095e88fb',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fattribute',['JSON_HEDLEY_GCC_HAS_ATTRIBUTE',['../d5/db8/json_8hpp.html#af33c67f65300eb91494f25bf583f5bd7',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fbuiltin',['JSON_HEDLEY_GCC_HAS_BUILTIN',['../d5/db8/json_8hpp.html#aa210655ec7cc8387bef8ade74c3af647',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fcpp_5fattribute',['JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE',['../d5/db8/json_8hpp.html#aaa3c748298e83bf6a67b583b83233c11',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fdeclspec_5fattribute',['JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE',['../d5/db8/json_8hpp.html#a164e098f308804c3bada63613ad75dab',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fextension',['JSON_HEDLEY_GCC_HAS_EXTENSION',['../d5/db8/json_8hpp.html#af488159969a8b7154820cffe04bb4917',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5ffeature',['JSON_HEDLEY_GCC_HAS_FEATURE',['../d5/db8/json_8hpp.html#ae9f353e2ea047111e419855144b06ab7',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fwarning',['JSON_HEDLEY_GCC_HAS_WARNING',['../d5/db8/json_8hpp.html#ab45544391bc41507efde58d48331dfc2',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fnot_5fclang_5fversion_5fcheck',['JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK',['../d5/db8/json_8hpp.html#af3737b675cbb70bcdfdaca78c2bc7d4a',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fversion_5fcheck',['JSON_HEDLEY_GCC_VERSION_CHECK',['../d5/db8/json_8hpp.html#aaf82a065634719d57994ef5876e208ff',1,'json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fattribute',['JSON_HEDLEY_GNUC_HAS_ATTRIBUTE',['../d5/db8/json_8hpp.html#afdf01f41465021815bb6fc4d8c1839fd',1,'json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fbuiltin',['JSON_HEDLEY_GNUC_HAS_BUILTIN',['../d5/db8/json_8hpp.html#a92764b738f44272e1b18c3ef1403c894',1,'json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fcpp_5fattribute',['JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE',['../d5/db8/json_8hpp.html#a938dadb6cadaaaccf72990d09be5dc0a',1,'json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fdeclspec_5fattribute',['JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE',['../d5/db8/json_8hpp.html#a005d6f0dbab6f7152e43fb85fc4f4990',1,'json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fextension',['JSON_HEDLEY_GNUC_HAS_EXTENSION',['../d5/db8/json_8hpp.html#a2417cc05952936574c0a6ed96d73d8e2',1,'json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5ffeature',['JSON_HEDLEY_GNUC_HAS_FEATURE',['../d5/db8/json_8hpp.html#ad5dab327c783036962c7d921a4144676',1,'json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fwarning',['JSON_HEDLEY_GNUC_HAS_WARNING',['../d5/db8/json_8hpp.html#a8afa30449fac8b5069e62f26421d4148',1,'json.hpp']]], + ['json_5fhedley_5fgnuc_5fversion_5fcheck',['JSON_HEDLEY_GNUC_VERSION_CHECK',['../d5/db8/json_8hpp.html#a074e795380699252f28c9526ca83e586',1,'json.hpp']]], + ['json_5fhedley_5fhas_5fattribute',['JSON_HEDLEY_HAS_ATTRIBUTE',['../d5/db8/json_8hpp.html#af41dc3300eaa6e5e6a976730d160a268',1,'json.hpp']]], + ['json_5fhedley_5fhas_5fbuiltin',['JSON_HEDLEY_HAS_BUILTIN',['../d5/db8/json_8hpp.html#acf8ab10ce06ffe6f54840b555b15121c',1,'json.hpp']]], + ['json_5fhedley_5fhas_5fcpp_5fattribute',['JSON_HEDLEY_HAS_CPP_ATTRIBUTE',['../d5/db8/json_8hpp.html#a2c4e6a04293aaf333a31698dea661b3b',1,'json.hpp']]], + ['json_5fhedley_5fhas_5fcpp_5fattribute_5fns',['JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS',['../d5/db8/json_8hpp.html#ad5b94be3095ea0549561c1bc951c5998',1,'json.hpp']]], + ['json_5fhedley_5fhas_5fdeclspec_5fattribute',['JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE',['../d5/db8/json_8hpp.html#ac256365345e803d24cbd9651d3cb0274',1,'json.hpp']]], + ['json_5fhedley_5fhas_5fextension',['JSON_HEDLEY_HAS_EXTENSION',['../d5/db8/json_8hpp.html#a320bfe79028a67cd5873f917bc5418dd',1,'json.hpp']]], + ['json_5fhedley_5fhas_5ffeature',['JSON_HEDLEY_HAS_FEATURE',['../d5/db8/json_8hpp.html#a752eb648bbfc7bcd8a4624c43f520412',1,'json.hpp']]], + ['json_5fhedley_5fhas_5fwarning',['JSON_HEDLEY_HAS_WARNING',['../d5/db8/json_8hpp.html#a472922971d1cd7308a4402042bdafe34',1,'json.hpp']]], + ['json_5fhedley_5fiar_5fversion_5fcheck',['JSON_HEDLEY_IAR_VERSION_CHECK',['../d5/db8/json_8hpp.html#a8788394855e9b5a1cc32327db5a613cb',1,'json.hpp']]], + ['json_5fhedley_5fibm_5fversion_5fcheck',['JSON_HEDLEY_IBM_VERSION_CHECK',['../d5/db8/json_8hpp.html#a66ec7d7c320280d6e75cb3634048cd49',1,'json.hpp']]], + ['json_5fhedley_5fimport',['JSON_HEDLEY_IMPORT',['../d5/db8/json_8hpp.html#a29c62e19dfa10fb48bf3aa877c4af21c',1,'json.hpp']]], + ['json_5fhedley_5finline',['JSON_HEDLEY_INLINE',['../d5/db8/json_8hpp.html#af943d68414c7fe0fdfab7e772fa628a8',1,'json.hpp']]], + ['json_5fhedley_5fintel_5fcl_5fversion_5fcheck',['JSON_HEDLEY_INTEL_CL_VERSION_CHECK',['../d5/db8/json_8hpp.html#a598b8238661e5ae448d5680ae35c4d2f',1,'json.hpp']]], + ['json_5fhedley_5fintel_5fversion_5fcheck',['JSON_HEDLEY_INTEL_VERSION_CHECK',['../d5/db8/json_8hpp.html#ae51b1abb6876168df25d3f36fa335c94',1,'json.hpp']]], + ['json_5fhedley_5fis_5fconstant',['JSON_HEDLEY_IS_CONSTANT',['../d5/db8/json_8hpp.html#a37617841d58aa4d88d0efee4db57ee18',1,'json.hpp']]], + ['json_5fhedley_5flikely',['JSON_HEDLEY_LIKELY',['../d5/db8/json_8hpp.html#a355f2770653ff7bdd5c74b204b5a3ad0',1,'json.hpp']]], + ['json_5fhedley_5fmalloc',['JSON_HEDLEY_MALLOC',['../d5/db8/json_8hpp.html#a521367b4e81907450a7ea0bf28028b01',1,'json.hpp']]], + ['json_5fhedley_5fmcst_5flcc_5fversion_5fcheck',['JSON_HEDLEY_MCST_LCC_VERSION_CHECK',['../d5/db8/json_8hpp.html#a6b0ee37cd596951acd0a951a68e0ac21',1,'json.hpp']]], + ['json_5fhedley_5fmessage',['JSON_HEDLEY_MESSAGE',['../d5/db8/json_8hpp.html#a8419c2b65d28686932087c587eb19157',1,'json.hpp']]], + ['json_5fhedley_5fmsvc_5fversion_5fcheck',['JSON_HEDLEY_MSVC_VERSION_CHECK',['../d5/db8/json_8hpp.html#ac3dc0b5b04f307fc875f9470c0cc841f',1,'json.hpp']]], + ['json_5fhedley_5fnever_5finline',['JSON_HEDLEY_NEVER_INLINE',['../d5/db8/json_8hpp.html#aa400dd54d50fd20d7e931e2f08ee6374',1,'json.hpp']]], + ['json_5fhedley_5fno_5fescape',['JSON_HEDLEY_NO_ESCAPE',['../d5/db8/json_8hpp.html#a9a8fe3009f53d14ac4b48600a2606fc1',1,'json.hpp']]], + ['json_5fhedley_5fno_5freturn',['JSON_HEDLEY_NO_RETURN',['../d5/db8/json_8hpp.html#a82747e7a15c5cecf1223dbc4eb7a1c6b',1,'json.hpp']]], + ['json_5fhedley_5fno_5fthrow',['JSON_HEDLEY_NO_THROW',['../d5/db8/json_8hpp.html#a99bb53bea18285e3d2ae4385c6c75434',1,'json.hpp']]], + ['json_5fhedley_5fnon_5fnull',['JSON_HEDLEY_NON_NULL',['../d5/db8/json_8hpp.html#a5338981b5ad9027c9e54b1c5597f4344',1,'json.hpp']]], + ['json_5fhedley_5fnull',['JSON_HEDLEY_NULL',['../d5/db8/json_8hpp.html#a06449cfb74f25f075a8ea334542f1c65',1,'json.hpp']]], + ['json_5fhedley_5fpelles_5fversion_5fcheck',['JSON_HEDLEY_PELLES_VERSION_CHECK',['../d5/db8/json_8hpp.html#a21937c8e7c79a1bef6695691c733e29f',1,'json.hpp']]], + ['json_5fhedley_5fpgi_5fversion_5fcheck',['JSON_HEDLEY_PGI_VERSION_CHECK',['../d5/db8/json_8hpp.html#a009a77cb8a9fd33aafff173bb945128d',1,'json.hpp']]], + ['json_5fhedley_5fpragma',['JSON_HEDLEY_PRAGMA',['../d5/db8/json_8hpp.html#aeb6e382f24fc5453621ae258b72e8775',1,'json.hpp']]], + ['json_5fhedley_5fpredict',['JSON_HEDLEY_PREDICT',['../d5/db8/json_8hpp.html#a34846d0797b38c1971baee08736dae69',1,'json.hpp']]], + ['json_5fhedley_5fpredict_5ffalse',['JSON_HEDLEY_PREDICT_FALSE',['../d5/db8/json_8hpp.html#aec5597506417346f8f1c4d1f08c7719f',1,'json.hpp']]], + ['json_5fhedley_5fpredict_5ftrue',['JSON_HEDLEY_PREDICT_TRUE',['../d5/db8/json_8hpp.html#adb569cea2c5a17c33734f27e8fef2473',1,'json.hpp']]], + ['json_5fhedley_5fprintf_5fformat',['JSON_HEDLEY_PRINTF_FORMAT',['../d5/db8/json_8hpp.html#a2e17831d69746d3ee8ad4796e96975a2',1,'json.hpp']]], + ['json_5fhedley_5fprivate',['JSON_HEDLEY_PRIVATE',['../d5/db8/json_8hpp.html#a034c879888858092ec101e8d02be67c2',1,'json.hpp']]], + ['json_5fhedley_5fpublic',['JSON_HEDLEY_PUBLIC',['../d5/db8/json_8hpp.html#aa1588f4ea4e7819b5b6e66f07865737f',1,'json.hpp']]], + ['json_5fhedley_5fpure',['JSON_HEDLEY_PURE',['../d5/db8/json_8hpp.html#af5c84b7d1a43361bdc14cc6941078000',1,'json.hpp']]], + ['json_5fhedley_5freinterpret_5fcast',['JSON_HEDLEY_REINTERPRET_CAST',['../d5/db8/json_8hpp.html#a86dd11af75e3f25f5be26cf3c779ba79',1,'json.hpp']]], + ['json_5fhedley_5frequire',['JSON_HEDLEY_REQUIRE',['../d5/db8/json_8hpp.html#acbc72fa9390d5e8b7592a81384dfabf3',1,'json.hpp']]], + ['json_5fhedley_5frequire_5fconstexpr',['JSON_HEDLEY_REQUIRE_CONSTEXPR',['../d5/db8/json_8hpp.html#a1136ab0d872379bb18d0839893bede67',1,'json.hpp']]], + ['json_5fhedley_5frequire_5fmsg',['JSON_HEDLEY_REQUIRE_MSG',['../d5/db8/json_8hpp.html#a7106fb230747163b5b16121eb6a42b23',1,'json.hpp']]], + ['json_5fhedley_5frestrict',['JSON_HEDLEY_RESTRICT',['../d5/db8/json_8hpp.html#ad4979e5bc2f252ff6e367fc254ab4e85',1,'json.hpp']]], + ['json_5fhedley_5freturns_5fnon_5fnull',['JSON_HEDLEY_RETURNS_NON_NULL',['../d5/db8/json_8hpp.html#a5f2aaec3b681d0a72f7d6e90b70cdcd1',1,'json.hpp']]], + ['json_5fhedley_5fsentinel',['JSON_HEDLEY_SENTINEL',['../d5/db8/json_8hpp.html#afe58497d56cda5e4cbf2d33be1bdd91e',1,'json.hpp']]], + ['json_5fhedley_5fstatic_5fassert',['JSON_HEDLEY_STATIC_ASSERT',['../d5/db8/json_8hpp.html#a04269935c66fe5a9b6c33fa36037d215',1,'json.hpp']]], + ['json_5fhedley_5fstatic_5fcast',['JSON_HEDLEY_STATIC_CAST',['../d5/db8/json_8hpp.html#a2edb8d037ad5cbac818c86aca317226a',1,'json.hpp']]], + ['json_5fhedley_5fstringify',['JSON_HEDLEY_STRINGIFY',['../d5/db8/json_8hpp.html#a9b2aefadecfe77306599a08b0d8147ca',1,'json.hpp']]], + ['json_5fhedley_5fstringify_5fex',['JSON_HEDLEY_STRINGIFY_EX',['../d5/db8/json_8hpp.html#a8b50e69690eed3a7e11797b1122b4302',1,'json.hpp']]], + ['json_5fhedley_5fsunpro_5fversion_5fcheck',['JSON_HEDLEY_SUNPRO_VERSION_CHECK',['../d5/db8/json_8hpp.html#a4b6d318de76d6d23850ec1a588bdeffa',1,'json.hpp']]], + ['json_5fhedley_5fti_5farmcl_5fversion_5fcheck',['JSON_HEDLEY_TI_ARMCL_VERSION_CHECK',['../d5/db8/json_8hpp.html#abbff24b90b5e9f8b586ee0b334baa636',1,'json.hpp']]], + ['json_5fhedley_5fti_5fcl2000_5fversion_5fcheck',['JSON_HEDLEY_TI_CL2000_VERSION_CHECK',['../d5/db8/json_8hpp.html#a1ff3757a45a2cb0c54f78722fd7dc47c',1,'json.hpp']]], + ['json_5fhedley_5fti_5fcl430_5fversion_5fcheck',['JSON_HEDLEY_TI_CL430_VERSION_CHECK',['../d5/db8/json_8hpp.html#a0c4b607b1dda665174dcd4c6cfe6ce95',1,'json.hpp']]], + ['json_5fhedley_5fti_5fcl6x_5fversion_5fcheck',['JSON_HEDLEY_TI_CL6X_VERSION_CHECK',['../d5/db8/json_8hpp.html#a138095ac760d2964c84f562b23332101',1,'json.hpp']]], + ['json_5fhedley_5fti_5fcl7x_5fversion_5fcheck',['JSON_HEDLEY_TI_CL7X_VERSION_CHECK',['../d5/db8/json_8hpp.html#a6198db3ff6fc72b1fa798229fd025229',1,'json.hpp']]], + ['json_5fhedley_5fti_5fclpru_5fversion_5fcheck',['JSON_HEDLEY_TI_CLPRU_VERSION_CHECK',['../d5/db8/json_8hpp.html#aab50c0bc1673dde3c1cf4e3b131e97ad',1,'json.hpp']]], + ['json_5fhedley_5fti_5fversion_5fcheck',['JSON_HEDLEY_TI_VERSION_CHECK',['../d5/db8/json_8hpp.html#a3d620ef5f95be933b3d8e24d4fc5b6d5',1,'json.hpp']]], + ['json_5fhedley_5ftinyc_5fversion_5fcheck',['JSON_HEDLEY_TINYC_VERSION_CHECK',['../d5/db8/json_8hpp.html#a38192f48e8c6ee0018a988d54e97cacf',1,'json.hpp']]], + ['json_5fhedley_5funavailable',['JSON_HEDLEY_UNAVAILABLE',['../d5/db8/json_8hpp.html#a681fd0533fbc24394f3322b6f4a60c4f',1,'json.hpp']]], + ['json_5fhedley_5funlikely',['JSON_HEDLEY_UNLIKELY',['../d5/db8/json_8hpp.html#a8df7de76ab3c9445f46f6994ec205bcd',1,'json.hpp']]], + ['json_5fhedley_5funpredictable',['JSON_HEDLEY_UNPREDICTABLE',['../d5/db8/json_8hpp.html#a26967eb7395562701e450cec045dda15',1,'json.hpp']]], + ['json_5fhedley_5funreachable',['JSON_HEDLEY_UNREACHABLE',['../d5/db8/json_8hpp.html#a2d5705bd7bd14855c3ef5b98305c5fb4',1,'json.hpp']]], + ['json_5fhedley_5funreachable_5freturn',['JSON_HEDLEY_UNREACHABLE_RETURN',['../d5/db8/json_8hpp.html#a06401b258ef03263f2aec48029dc8b03',1,'json.hpp']]], + ['json_5fhedley_5fversion',['JSON_HEDLEY_VERSION',['../d5/db8/json_8hpp.html#ae4654024695783bdf7cbd900f0e0634a',1,'json.hpp']]], + ['json_5fhedley_5fversion_5fdecode_5fmajor',['JSON_HEDLEY_VERSION_DECODE_MAJOR',['../d5/db8/json_8hpp.html#a50f81c80525d6fbce743d5d28b53ff73',1,'json.hpp']]], + ['json_5fhedley_5fversion_5fdecode_5fminor',['JSON_HEDLEY_VERSION_DECODE_MINOR',['../d5/db8/json_8hpp.html#ae55f01749c4cc564b20b0f2650f10519',1,'json.hpp']]], + ['json_5fhedley_5fversion_5fdecode_5frevision',['JSON_HEDLEY_VERSION_DECODE_REVISION',['../d5/db8/json_8hpp.html#a2d04cc47c899e9addd019e0e7d1ebdbb',1,'json.hpp']]], + ['json_5fhedley_5fversion_5fencode',['JSON_HEDLEY_VERSION_ENCODE',['../d5/db8/json_8hpp.html#aa1da535c59b21f70e5967b66473543f0',1,'json.hpp']]], + ['json_5fhedley_5fwarn_5funused_5fresult',['JSON_HEDLEY_WARN_UNUSED_RESULT',['../d5/db8/json_8hpp.html#a28d7e3b2d26bd5b8a3806da3db7dea03',1,'json.hpp']]], + ['json_5fhedley_5fwarn_5funused_5fresult_5fmsg',['JSON_HEDLEY_WARN_UNUSED_RESULT_MSG',['../d5/db8/json_8hpp.html#adfb98ffe9adf238a5ba1670738c0f387',1,'json.hpp']]], + ['json_5fhedley_5fwarning',['JSON_HEDLEY_WARNING',['../d5/db8/json_8hpp.html#a5563e5b0fbc2a9b525830081404d9208',1,'json.hpp']]], + ['json_5finternal_5fcatch',['JSON_INTERNAL_CATCH',['../d5/db8/json_8hpp.html#a5478b7564e65634cc69432ed3cb6490e',1,'json.hpp']]], + ['json_5fpointer',['json_pointer',['../da/de8/classnlohmann_1_1json__pointer.html',1,'nlohmann::json_pointer< BasicJsonType >'],['../d9/dcc/classnlohmann_1_1basic__json.html#aa8f1f93b32da01b42413643be32b2c27',1,'nlohmann::basic_json::json_pointer()'],['../da/de8/classnlohmann_1_1json__pointer.html#a7f32d7c62841f0c4a6784cf741a6e4f8',1,'nlohmann::json_pointer::json_pointer()']]], + ['json_5fprivate_5funless_5ftested',['JSON_PRIVATE_UNLESS_TESTED',['../d5/db8/json_8hpp.html#a2cf645f34610e7f7d6e09ab88a2ab917',1,'json.hpp']]], + ['json_5fref',['json_ref',['../da/d10/classnlohmann_1_1detail_1_1json__ref.html',1,'nlohmann::detail::json_ref< BasicJsonType >'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#ae1adf5bcee8b6fa0c358710604fb1938',1,'nlohmann::detail::json_ref::json_ref(value_type &&value)'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a8c3eb3c6e952ed0cd7eece586ab4047c',1,'nlohmann::detail::json_ref::json_ref(const value_type &value)'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#adfba2db547283a7c6a5df9a32e72efc5',1,'nlohmann::detail::json_ref::json_ref(std::initializer_list< json_ref > init)'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a8a31d6c588d6c3c06b62008fd5d36c6c',1,'nlohmann::detail::json_ref::json_ref(Args &&... args)'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a4ec90f097b33e7ea8ea7473b6b6c4015',1,'nlohmann::detail::json_ref::json_ref(json_ref &&) noexcept=default'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a4c68db46934e03588bbd73b00147c0dd',1,'nlohmann::detail::json_ref::json_ref(const json_ref &)=delete']]], + ['json_5freverse_5fiterator',['json_reverse_iterator',['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html',1,'nlohmann::detail::json_reverse_iterator< Base >'],['../d9/dcc/classnlohmann_1_1basic__json.html#a556d91bc2228135b27eb189e5a90ea4c',1,'nlohmann::basic_json::json_reverse_iterator()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a0246de16ece16293f2917dfa5d96e278',1,'nlohmann::detail::json_reverse_iterator::json_reverse_iterator(const typename base_iterator::iterator_type &it) noexcept'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a6c2d025530114ed989188e8adfc8467e',1,'nlohmann::detail::json_reverse_iterator::json_reverse_iterator(const base_iterator &it) noexcept']]], + ['json_5fsax',['json_sax',['../d0/d82/structnlohmann_1_1json__sax.html',1,'nlohmann::json_sax< BasicJsonType >'],['../d0/d82/structnlohmann_1_1json__sax.html#aac0f445c1173fa731104d93496a7e780',1,'nlohmann::json_sax::json_sax()=default'],['../d0/d82/structnlohmann_1_1json__sax.html#a8358c063b2d7222b3aafa62fded04403',1,'nlohmann::json_sax::json_sax(const json_sax &)=default'],['../d0/d82/structnlohmann_1_1json__sax.html#a62dae3713ca4914265904e30cd6b6347',1,'nlohmann::json_sax::json_sax(json_sax &&) noexcept=default']]], + ['json_5fsax_5facceptor',['json_sax_acceptor',['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html',1,'nlohmann::detail']]], + ['json_5fsax_5fdom_5fcallback_5fparser',['json_sax_dom_callback_parser',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html',1,'nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#afec9434e54590f10df51b062973d4daf',1,'nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser(BasicJsonType &r, const parser_callback_t cb, const bool allow_exceptions_=true)'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a589998730e650a425b1b311e2e9f7f09',1,'nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser(const json_sax_dom_callback_parser &)=delete'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#af1ce6c746e3ebadb7994170725fcdbb5',1,'nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser(json_sax_dom_callback_parser &&)=default']]], + ['json_5fsax_5fdom_5fparser',['json_sax_dom_parser',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html',1,'nlohmann::detail::json_sax_dom_parser< BasicJsonType >'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#afc50fee0a92ce84afb84041ebbdfba80',1,'nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser(BasicJsonType &r, const bool allow_exceptions_=true)'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a0a00cd158d678e294f6e974cd9373c4b',1,'nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser(const json_sax_dom_parser &)=delete'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad6e588652d5a9cb647a3c32a6221f13e',1,'nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser(json_sax_dom_parser &&)=default']]], + ['json_5fsax_5ft',['json_sax_t',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a4c33ab78a0df5afd524f16887550436d',1,'nlohmann::detail::binary_reader::json_sax_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a164b1094a1a9feb54e400d8510bb0b12',1,'nlohmann::basic_json::json_sax_t()']]], + ['json_5fserializer',['json_serializer',['../d9/dcc/classnlohmann_1_1basic__json.html#ad6ebc5da7ced975bb184133750e7d49f',1,'nlohmann::basic_json']]], + ['json_5fthrow',['JSON_THROW',['../d5/db8/json_8hpp.html#a6c274f6db2e65c1b66c7d41b06ad690f',1,'json.hpp']]], + ['json_5ftry',['JSON_TRY',['../d5/db8/json_8hpp.html#a985d3b82445302c57257f6432f261fe9',1,'json.hpp']]], + ['json_5fuse_5fimplicit_5fconversions',['JSON_USE_IMPLICIT_CONVERSIONS',['../d5/db8/json_8hpp.html#a24c96ca7fc59096c30b32339a953f97d',1,'json.hpp']]], + ['json_5fvalue',['json_value',['../d9/dcc/classnlohmann_1_1basic__json.html#abcfe744b08e2cd81508ce9bf7ebc86cf',1,'nlohmann::basic_json::json_value()=default'],['../d9/dcc/classnlohmann_1_1basic__json.html#a8ff30e37ec09ce661d0fed77e3e2e1f3',1,'nlohmann::basic_json::json_value(boolean_t v) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a3023fcecbe85032b7048499f7bfc4ada',1,'nlohmann::basic_json::json_value(number_integer_t v) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a400ee8e0f051b9692692798906dc4654',1,'nlohmann::basic_json::json_value(number_unsigned_t v) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a2e15685d39544db2bc5959705632fc04',1,'nlohmann::basic_json::json_value(number_float_t v) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a60041447d13e8709028a46e50219c161',1,'nlohmann::basic_json::json_value(value_t t)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a7e77b31f17b1b5f0ce72d3e6488b6d86',1,'nlohmann::basic_json::json_value(const string_t &value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a2f3332829fc8117b48cba5a4a26ea76b',1,'nlohmann::basic_json::json_value(string_t &&value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a8a3eb027b86f4de2de4277410ceaa454',1,'nlohmann::basic_json::json_value(const object_t &value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a2544582412088703c778e882e2531af3',1,'nlohmann::basic_json::json_value(object_t &&value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a80a1e2c1da21dccad6471c28facf04ec',1,'nlohmann::basic_json::json_value(const array_t &value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aea49a99ac9d45c1d1bfe3912ed20ffb6',1,'nlohmann::basic_json::json_value(array_t &&value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#abb5466ba8f6483df6a37e040a7b32a92',1,'nlohmann::basic_json::json_value(const typename binary_t::container_type &value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a8bef6d062634dfd09e14d9a3217da8cd',1,'nlohmann::basic_json::json_value(typename binary_t::container_type &&value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a7e79daa34d13bfd8f03aae00e57649ec',1,'nlohmann::basic_json::json_value(const binary_t &value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ac7bb152c454b4d837d943cfb541da510',1,'nlohmann::basic_json::json_value(binary_t &&value)']]] ]; diff --git a/docs/search/all_c.js b/docs/search/all_c.js index 6f93476f..33736a2e 100644 --- a/docs/search/all_c.js +++ b/docs/search/all_c.js @@ -1,8 +1,16 @@ var searchData= [ - ['nan_5fpropagation',['nan_propagation',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a740aed43da4ed8ab351d926cee6bfc6a',1,'cudnn_frontend::PointWiseDesc_v8']]], - ['ndims',['nDims',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a9b478d1207d8241ff67cc931754cd6cf',1,'cudnn_frontend::ConvDesc_v8::nDims()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a1370de050fc91e9d992995fae5f22011',1,'cudnn_frontend::Tensor_v8::nDims()']]], - ['num_5fptrs',['num_ptrs',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#afeaea07e176fa0c943704285f258ba28',1,'cudnn_frontend::VariantPack_v8']]], - ['numknobs',['numKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#aed64863b9d73b7f6f3a7e16dc6e7eb04',1,'cudnn_frontend::Engine_v8::numKnobs()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a9365e32afd0eae60e3d87a853dd24e33',1,'cudnn_frontend::EngineConfig_v8::numKnobs()']]], - ['numops',['numOps',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a52c12bb0014a899c4c5201fb66301eb2',1,'cudnn_frontend::OperationGraph_v8']]] + ['k',['k',['../d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html#a8c1f2efed643eeaa8fae83c697a29c6a',1,'nlohmann::detail::dtoa_impl::cached_power']]], + ['kalpha',['kAlpha',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#ac1ea1316de0b4a219f707c76b1db1966',1,'nlohmann::detail::dtoa_impl']]], + ['keep_5fstack',['keep_stack',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ac24fd6c9f1b31b44328c16d65755ae76',1,'nlohmann::detail::json_sax_dom_callback_parser']]], + ['key',['key',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#af2949ac0d70212738030bfda29c5bcc2',1,'nlohmann::detail::iteration_proxy_value::key()'],['../d0/d82/structnlohmann_1_1json__sax.html#a2e0c7ecd80b18d18a8cc76f71cfc2028',1,'nlohmann::json_sax::key()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad427febda4997cbd8345a2596af66649',1,'nlohmann::detail::json_sax_dom_parser::key()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a0cc4a5192fe9b803276edb831b6099fa',1,'nlohmann::detail::json_sax_dom_callback_parser::key()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a59e1ea5e9c8d25346a564bf9287a5c2a',1,'nlohmann::detail::json_sax_acceptor::key()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a15dfb2744fed2ef40c12a9e9a20d6dbc',1,'nlohmann::detail::iter_impl::key()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#adc648a641e8e9a1072c5abd56ad06401',1,'nlohmann::detail::json_reverse_iterator::key()'],['../dc/df0/namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa3c6e0b8a9c15224a8228b9a98ca1531d',1,'nlohmann::detail::key()']]], + ['key_5ffunction_5ft',['key_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a44869ca9f422b260625d78e4e8121559',1,'nlohmann::detail']]], + ['key_5fkeep_5fstack',['key_keep_stack',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a8f0e96e8bc4f692169024105693f5706',1,'nlohmann::detail::json_sax_dom_callback_parser']]], + ['key_5ftype',['key_type',['../d6/da7/structnlohmann_1_1ordered__map.html#a57095c6ed403f02e1bc2c240a13c9ed8',1,'nlohmann::ordered_map']]], + ['key_5ftype_5ft',['key_type_t',['../dc/df0/namespacenlohmann_1_1detail.html#a66dfe39f03b05d6b7265a0ff748d64ef',1,'nlohmann::detail']]], + ['kgamma',['kGamma',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#a4a750fcc38da1ce68b7e25ab3a230e20',1,'nlohmann::detail::dtoa_impl']]], + ['knob',['Knob',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html',1,'cudnn_frontend::Engine_v8::Knob'],['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aaf0d313c5491b599537422694eb83b82',1,'cudnn_frontend::Engine_v8::Knob::Knob()']]], + ['knobs',['knobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#add2d5998a38944fd0dba03fce96fe7aa',1,'cudnn_frontend::Engine_v8']]], + ['knobtype',['knobType',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#adc13c98616305cd23d86dc5dc1dfe86e',1,'cudnn_frontend::Engine_v8::Knob']]], + ['kprecision',['kPrecision',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#a03682754b06ed4f30b263119eecc2d52',1,'nlohmann::detail::dtoa_impl::diyfp']]] ]; diff --git a/docs/search/all_d.js b/docs/search/all_d.js index 93fe004d..06d6db61 100644 --- a/docs/search/all_d.js +++ b/docs/search/all_d.js @@ -1,19 +1,18 @@ var searchData= [ - ['op_5fmode',['op_mode',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a43cbfcab995a238e2001c4ec6543ae50',1,'cudnn_frontend::Operation_v8']]], - ['opaquebackendpointer',['OpaqueBackendPointer',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html',1,'cudnn_frontend::OpaqueBackendPointer'],['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a42a928eb5b2524d1c3f67b7200dd53c9',1,'cudnn_frontend::OpaqueBackendPointer::OpaqueBackendPointer(const OpaqueBackendPointer &)=delete'],['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a997d733607e747516eb2334c51c48f29',1,'cudnn_frontend::OpaqueBackendPointer::OpaqueBackendPointer(OpaqueBackendPointer &&)=default'],['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#aadf0c53d7aedb1c6c121b2736e98b2dd',1,'cudnn_frontend::OpaqueBackendPointer::OpaqueBackendPointer(cudnnBackendDescriptorType_t type)']]], - ['operation',['Operation',['../df/de1/namespacecudnn__frontend.html#a2f1497702504947953a0f5a69b6eeb2a',1,'cudnn_frontend']]], - ['operation_5fv8',['Operation_v8',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html',1,'cudnn_frontend::Operation_v8'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ad45e7200660f993615e34ceeb9ec49c6',1,'cudnn_frontend::Operation_v8::Operation_v8(Operation_v8 &&from)'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a810b2f50d53d6655c2048d3c3afbcfc4',1,'cudnn_frontend::Operation_v8::Operation_v8()=default'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a091bf74144eaec6149d610faa289160e',1,'cudnn_frontend::Operation_v8::Operation_v8(Operation_v8 const &)=delete']]], - ['operationbuilder',['OperationBuilder',['../df/de1/namespacecudnn__frontend.html#ae6d02ff4c7922673ed3862145a4019d4',1,'cudnn_frontend']]], - ['operationbuilder_5fv8',['OperationBuilder_v8',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html',1,'cudnn_frontend::OperationBuilder_v8'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ac708bb46683440effd2f46b3888e378f',1,'cudnn_frontend::Operation_v8::OperationBuilder_v8()'],['../d3/d92/group__OperationBuilder__v8.html#ga425dd00708eaaadffe1c83ef356dc333',1,'cudnn_frontend::OperationBuilder_v8::OperationBuilder_v8()'],['../d3/d92/group__OperationBuilder__v8.html',1,'(Global Namespace)']]], - ['operationgraph',['OperationGraph',['../df/de1/namespacecudnn__frontend.html#ac86ce924df5209c4ce1bc25856eea6e6',1,'cudnn_frontend']]], - ['operationgraph_5fv8',['OperationGraph_v8',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html',1,'cudnn_frontend::OperationGraph_v8'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a85e65daf5a2db5aba0207ccad367457d',1,'cudnn_frontend::OperationGraph_v8::OperationGraph_v8(OperationGraph_v8 &&from)'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a5c029cff12e0e91406a8f88fd8a830f4',1,'cudnn_frontend::OperationGraph_v8::OperationGraph_v8()=default'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a0b3b76a619160671c45c733eb1a13455',1,'cudnn_frontend::OperationGraph_v8::OperationGraph_v8(OperationGraph_v8 const &)=delete']]], - ['operationgraphbuilder',['OperationGraphBuilder',['../df/de1/namespacecudnn__frontend.html#a0b7ba1175801c56d07d26785bcd8fb70',1,'cudnn_frontend']]], - ['operationgraphbuilder_5fv8',['OperationGraphBuilder_v8',['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html',1,'cudnn_frontend::OperationGraphBuilder_v8'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a5af59a099cc90eda429563e285b2907f',1,'cudnn_frontend::OperationGraph_v8::OperationGraphBuilder_v8()'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a101b6c9515fdb333cdd3499f08774cf4',1,'cudnn_frontend::OperationGraphBuilder_v8::OperationGraphBuilder_v8()=default'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a40e8f7825f75c35c40d9938532a81d02',1,'cudnn_frontend::OperationGraphBuilder_v8::OperationGraphBuilder_v8(OperationGraphBuilder_v8 &&)=delete'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a589dedb418679abda7f64e6b9e2800a1',1,'cudnn_frontend::OperationGraphBuilder_v8::OperationGraphBuilder_v8(OperationGraphBuilder_v8 const &)=delete'],['../d2/df5/group__OperationGraphBuilder__v8.html',1,'(Global Namespace)']]], - ['operationgraphquery',['OperationGraphQuery',['../d1/df7/group__OperationGraphQuery.html',1,'']]], - ['operationtag',['operationTag',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a736317246d52e774170bc60511870932',1,'cudnn_frontend::Operation_v8']]], - ['operator_3d',['operator=',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#adf5bf20f5bdfbfdecd05360830b34b89',1,'cudnn_frontend::OpaqueBackendPointer::operator=()'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#aa8ea272eaf26ae7f7ad2d625253ea62f',1,'cudnn_frontend::ConvDesc_v8::operator=()'],['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a5fba7029429a093b36fd201219315a1f',1,'cudnn_frontend::ConvDescBuilder_v8::operator=()'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ad3966b20d080c0fb9930b8a2018da2f8',1,'cudnn_frontend::Engine_v8::operator=()'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a9d29a91186f6baa215b61340a386ec6d',1,'cudnn_frontend::EngineBuilder_v8::operator=()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ad79aab6d69a2b4400259abd72af73c84',1,'cudnn_frontend::EngineConfig_v8::operator=()'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a8d4cb5ab44b076c71afd5f49e6df94f7',1,'cudnn_frontend::EngineConfigBuilder_v8::operator=()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a22ef505758a33415d01e3a9a8843fe22',1,'cudnn_frontend::EngineFallbackList_v8::operator=()'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a1effb794c90cbe7ad2e7649d400cb2dd',1,'cudnn_frontend::EngineFallbackListBuilder_v8::operator=()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga0705e60cee62d3d196751517d545a7b0',1,'cudnn_frontend::ExecutionPlan_v8::operator=()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga5f757c2da8c90645c34637dde4aed8f8',1,'cudnn_frontend::ExecutionPlanBuilder_v8::operator=()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a2301c5b006fa6e341bc88ece066f8ea2',1,'cudnn_frontend::EngineHeuristics_v8::operator=()'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a5228a4a3af391fad0141f30a24be730b',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::operator=()'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ac1257a1ca1261961fc99123988552911',1,'cudnn_frontend::MatMulDesc_v8::operator=()'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a02ee327bae65fc44c140d7bb6a0b4991',1,'cudnn_frontend::MatMulDescBuilder_v8::operator=()'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a5012e920483271f655bc04d6f52dc41f',1,'cudnn_frontend::Operation_v8::operator=()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a87704bb46bb12bba977a21ed579a4ef3',1,'cudnn_frontend::OperationGraph_v8::operator=()'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a75dae8a911e005b960565d4a1a0024ba',1,'cudnn_frontend::OperationGraphBuilder_v8::operator=()'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ae3cd0c0051c7e29a9ad86b80308429f3',1,'cudnn_frontend::PointWiseDesc_v8::operator=()'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ac0d140493e21b164bc21dd0bcbeeaa65',1,'cudnn_frontend::PointWiseDescBuilder_v8::operator=()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a4f5c1e95de9419cb1904e0cbad570c63',1,'cudnn_frontend::Tensor_v8::operator=()'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a3a33c9ba58f393d231e05a1bcc5706d8',1,'cudnn_frontend::TensorBuilder_v8::operator=()'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a3f85d13ac1341b67d85f18761f8dcb35',1,'cudnn_frontend::VariantPack_v8::operator=()'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#acee84ffc33b41807cdcb18425e9fced1',1,'cudnn_frontend::VariantPackBuilder_v8::operator=()']]], - ['opgraph',['opGraph',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a6053f049f393faebc7188bfa1e8c2d38',1,'cudnn_frontend::Engine_v8::opGraph()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#ae8995303eac50633f6320f5949a045bb',1,'cudnn_frontend::EngineFallbackList_v8::opGraph()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a081860775bfc5626bd57066066eb4299',1,'cudnn_frontend::EngineHeuristics_v8::opGraph()']]], - ['opgraphtag',['opGraphTag',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a620ad17c3560e87d5a859d7f0eb121d4',1,'cudnn_frontend::Engine_v8::opGraphTag()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a37695c0659b489b06ff3b83194be59bb',1,'cudnn_frontend::EngineConfig_v8::opGraphTag()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9f8070f063b1c0564297260ebe812506',1,'cudnn_frontend::EngineFallbackList_v8::opGraphTag()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a7c958bd4b97b4a77694d2bee01acec4c',1,'cudnn_frontend::EngineHeuristics_v8::opGraphTag()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#ac8ca1ba29ac3f8e68ba1bf3e5e500338',1,'cudnn_frontend::OperationGraph_v8::opGraphTag()']]], - ['ops',['ops',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#ab2570d81fc01c1b6b9a76220b0abd717',1,'cudnn_frontend::OperationGraph_v8']]] + ['last_5ftoken',['last_token',['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a307ed42d5f31a9c5bec991ceee87b0e7',1,'nlohmann::detail::parser']]], + ['less_3c_3a_3anlohmann_3a_3adetail_3a_3avalue_5ft_20_3e',['less<::nlohmann::detail::value_t >',['../df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html',1,'std']]], + ['lexer',['lexer',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html',1,'nlohmann::detail::lexer< BasicJsonType, InputAdapterType >'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a89bbc051da2514a469441a3a30ad63e4',1,'nlohmann::detail::lexer::lexer(InputAdapterType &&adapter, bool ignore_comments_=false) noexcept'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ab75d61c4de687717648c7698850ddb9b',1,'nlohmann::detail::lexer::lexer(const lexer &)=delete'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ae95416c7ae8b36f0dd0ab349eaa754a2',1,'nlohmann::detail::lexer::lexer(lexer &&)=default']]], + ['lexer_5fbase',['lexer_base',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html',1,'nlohmann::detail']]], + ['lexer_5ft',['lexer_t',['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a5fbd320c5b713fda15d467e8455e4298',1,'nlohmann::detail::parser']]], + ['lines_5fread',['lines_read',['../d6/d02/structnlohmann_1_1detail_1_1position__t.html#a4bbad8bc2c0d17c1b61c3ce729908b71',1,'nlohmann::detail::position_t']]], + ['literal_5ffalse',['literal_false',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454afab1694b1b3937a079f4625fe0b6108b',1,'nlohmann::detail::lexer_base']]], + ['literal_5fnull',['literal_null',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454ab7ae4c0e46d86f884677768160b26e9e',1,'nlohmann::detail::lexer_base']]], + ['literal_5for_5fvalue',['literal_or_value',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454ad2a8e6f6721cccec0b466301dd9495a5',1,'nlohmann::detail::lexer_base']]], + ['literal_5ftrue',['literal_true',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a85cc1a37b0aaa52de40e72f0ed4e0c0d',1,'nlohmann::detail::lexer_base']]], + ['little_5fendianess',['little_endianess',['../dc/df0/namespacenlohmann_1_1detail.html#ad2860d9bcd96cd7b8258a5b94674508c',1,'nlohmann::detail']]], + ['load_5ffrom_5fconfig',['load_from_config',['../df/de1/namespacecudnn__frontend.html#a069fb3355ab52d2e1914e72832cdcf46',1,'cudnn_frontend']]], + ['loc',['loc',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a1952945b7652afb59d3903cc8457a589',1,'nlohmann::detail::serializer']]], + ['lower_5fclip',['lower_clip',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a26f1b0f84dc331ca9f1330cf6f425d36',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['lower_5fclip_5fslope',['lower_clip_slope',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ad8731460bbcf7cb2804dd3a9840f276e',1,'cudnn_frontend::PointWiseDesc_v8']]] ]; diff --git a/docs/search/all_e.js b/docs/search/all_e.js index 65384d4e..789ddb35 100644 --- a/docs/search/all_e.js +++ b/docs/search/all_e.js @@ -1,16 +1,48 @@ var searchData= [ - ['padlower',['padLower',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#aff824fb1cf44c188a7400b017458327e',1,'cudnn_frontend::ConvDesc_v8']]], - ['padupper',['padUpper',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a28e6ad906bf25653c87525f9f8e90a28',1,'cudnn_frontend::ConvDesc_v8']]], - ['plan',['plan',['../d6/d1b/structcudnn__frontend_1_1executionOption.html#ae84235aee01c4556303b39961e1e1c5e',1,'cudnn_frontend::executionOption']]], - ['plantag',['planTag',['../d7/d0d/group__ExecutionPlanQuery.html#gaf732b37c9c05a2a8bd1a76289c740c4a',1,'cudnn_frontend::ExecutionPlan_v8']]], - ['pointer',['pointer',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a62312f29dbbc7c11c1da54a2ad41c52f',1,'cudnn_frontend::BackendDescriptor']]], - ['pointwise_5fmode',['pointwise_mode',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a09f5151a90f805d81550a30617bcec0c',1,'cudnn_frontend::Operation_v8']]], - ['pointwise_5fport_5fcount',['pointwise_port_count',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a5c6b2986d2d703c672b5fc461f2eee05',1,'cudnn_frontend::Operation_v8']]], - ['pointwisedesc',['PointWiseDesc',['../df/de1/namespacecudnn__frontend.html#ada5353494ce649fc915154ced52dcceb',1,'cudnn_frontend']]], - ['pointwisedesc_5fv8',['PointWiseDesc_v8',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html',1,'cudnn_frontend::PointWiseDesc_v8'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ac2e07a514ec114222b65948960ba76a3',1,'cudnn_frontend::PointWiseDesc_v8::PointWiseDesc_v8(PointWiseDesc_v8 &&from)'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ac00ed56ba83a04edca3f55125332646b',1,'cudnn_frontend::PointWiseDesc_v8::PointWiseDesc_v8()=default'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ae4f638eb928772c13c314f4a022d4978',1,'cudnn_frontend::PointWiseDesc_v8::PointWiseDesc_v8(PointWiseDesc_v8 const &)=delete']]], - ['pointwisedescbuilder',['PointWiseDescBuilder',['../df/de1/namespacecudnn__frontend.html#a7f878662c40c287736343affc43f25dc',1,'cudnn_frontend']]], - ['pointwisedescbuilder_5fv8',['PointWiseDescBuilder_v8',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html',1,'cudnn_frontend::PointWiseDescBuilder_v8'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a1407b6ad40df9af7b191fdf636c2c508',1,'cudnn_frontend::PointWiseDesc_v8::PointWiseDescBuilder_v8()'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a6f5605f25897bba7afc6baf76228828c',1,'cudnn_frontend::PointWiseDescBuilder_v8::PointWiseDescBuilder_v8()=default'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ad6a7549d62410d3de87040586b49b815',1,'cudnn_frontend::PointWiseDescBuilder_v8::PointWiseDescBuilder_v8(PointWiseDescBuilder_v8 &&)=delete'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aeccd727adb1d3b0b8d9d95b7f6e1b9ce',1,'cudnn_frontend::PointWiseDescBuilder_v8::PointWiseDescBuilder_v8(PointWiseDescBuilder_v8 const &)=delete'],['../d2/db5/group__PointWiseDescBuilder__v8.html',1,'(Global Namespace)']]], - ['predicate',['Predicate',['../df/de1/namespacecudnn__frontend.html#ad31f040777311d1d1a7a2490f23e026e',1,'cudnn_frontend']]], - ['pwdesc',['pwdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#aac54965185417e264093156b143a3751',1,'cudnn_frontend::Operation_v8']]] + ['m',['m',['../de/df2/classnlohmann_1_1detail_1_1exception.html#ad54778dc4f125488cbce8ec276dfdde2',1,'nlohmann::detail::exception']]], + ['m_5fconvdesc',['m_convDesc',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a67e82b4d8b94b55ecc50a9151799fff9',1,'cudnn_frontend::ConvDescBuilder_v8']]], + ['m_5fdesc',['m_desc',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a47968d641c0da8d33882f86d8afa30b4',1,'cudnn_frontend::OpaqueBackendPointer']]], + ['m_5fengine',['m_engine',['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#adc25c468425d9b6b71b9592b80ea715d',1,'cudnn_frontend::EngineBuilder_v8']]], + ['m_5fengine_5fconfig',['m_engine_config',['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a8dc6947bf5dac837ea233bfaec4bf03f',1,'cudnn_frontend::EngineConfigBuilder_v8']]], + ['m_5fengine_5fconfigs',['m_engine_configs',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a71e6146b18a0aa4de8fbc6ba457efbb9',1,'cudnn_frontend::EngineFallbackList_v8']]], + ['m_5fexecution_5fplan',['m_execution_plan',['../d7/d0d/group__ExecutionPlanQuery.html#gae1a2e3dd89dbe455e7067531ec5b5562',1,'cudnn_frontend::ExecutionPlanBuilder_v8']]], + ['m_5ffallback_5flist',['m_fallback_list',['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a56f2014918d259c53a2ebb3e815073e9',1,'cudnn_frontend::EngineFallbackListBuilder_v8']]], + ['m_5ffile',['m_file',['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a164fbe2739ac97e517e22bc1fff1c174',1,'nlohmann::detail::file_input_adapter']]], + ['m_5fhas_5fsubtype',['m_has_subtype',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a69aa7a914a7a31b61d3a9567d74ddf7b',1,'nlohmann::byte_container_with_subtype']]], + ['m_5fheuristic_5fresults',['m_heuristic_results',['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a7a1e931b0f7910db6e6f5d5bfbfe3511',1,'cudnn_frontend::EngineHeuristics_v8']]], + ['m_5fheuristics',['m_heuristics',['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#aa046a778075f260f7950ee5a51c2addb',1,'cudnn_frontend::EngineHeuristicsBuilder_v8']]], + ['m_5fit',['m_it',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a8a86a7c0d4af0cc4ab345b6f0e13cdfa',1,'nlohmann::detail::iter_impl']]], + ['m_5flexer',['m_lexer',['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a01a73810f794c239aaf123aa2af7371d',1,'nlohmann::detail::parser']]], + ['m_5fmatmuldesc',['m_matMulDesc',['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#aa71bc8242df4035ff5d6b4d54083db4b',1,'cudnn_frontend::MatMulDescBuilder_v8']]], + ['m_5foperation',['m_operation',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a8724628060c71b17e7458c01338b234a',1,'cudnn_frontend::OperationBuilder_v8']]], + ['m_5foperationgraph',['m_operationGraph',['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#ad9cb3e166ab001b3b0c60ed2198cd6d9',1,'cudnn_frontend::OperationGraphBuilder_v8']]], + ['m_5fpointwisedesc',['m_pointWiseDesc',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a804a2b5438f464185b16a4652fc14cf5',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['m_5freductiondesc',['m_reductionDesc',['../d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a462f9f96ab258f9dfdb490de30ca9d22',1,'cudnn_frontend::ReductionDescBuilder_v8']]], + ['m_5fsubtype',['m_subtype',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#ae36c8f29f4f50a00962b0e9110ba2756',1,'nlohmann::byte_container_with_subtype']]], + ['m_5ftensor',['m_tensor',['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a87c53bd36c748fe2327743bd852fb144',1,'cudnn_frontend::TensorBuilder_v8']]], + ['m_5fvalue',['m_value',['../d9/dcc/classnlohmann_1_1basic__json.html#a72f1c0ede41f166429ce3fe7c2ffefc0',1,'nlohmann::basic_json']]], + ['m_5fvariant_5fpack',['m_variant_pack',['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a41a6e8afb46228fea2310f5cad75badc',1,'cudnn_frontend::VariantPackBuilder_v8']]], + ['make_5findex_5fsequence',['make_index_sequence',['../dc/df0/namespacenlohmann_1_1detail.html#a9b47f1c18e3c9739b20633aeee0d0f62',1,'nlohmann::detail']]], + ['make_5finteger_5fsequence',['make_integer_sequence',['../dc/df0/namespacenlohmann_1_1detail.html#a745268b2c803a873cdbe1fdecb4e88b2',1,'nlohmann::detail']]], + ['make_5fshared_5fbackend_5fpointer',['make_shared_backend_pointer',['../df/de1/namespacecudnn__frontend.html#aee9c79eb8972c944de14ccd70bf5db43',1,'cudnn_frontend']]], + ['make_5fvoid',['make_void',['../d3/d72/structnlohmann_1_1detail_1_1make__void.html',1,'nlohmann::detail']]], + ['managedopaquedescriptor',['ManagedOpaqueDescriptor',['../df/de1/namespacecudnn__frontend.html#ac94d582cdfa2adf3d68a4e675e5d69aa',1,'cudnn_frontend']]], + ['mapped_5ftype',['mapped_type',['../d6/da7/structnlohmann_1_1ordered__map.html#a1c9c1509ee714a9814b45a8030c84ec7',1,'nlohmann::ordered_map']]], + ['mapped_5ftype_5ft',['mapped_type_t',['../dc/df0/namespacenlohmann_1_1detail.html#a9c1795c148875722f8482d39e0eb9364',1,'nlohmann::detail']]], + ['math_5fprecision',['math_precision',['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a1dd13143c85b67f2c0da90f02884fab1',1,'cudnn_frontend::MatMulDesc_v8::math_precision()'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a7f1bee44a57b6dad1ce493cd18ffbc18',1,'cudnn_frontend::PointWiseDesc_v8::math_precision()'],['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#ab20fbdc2c97f07ff305cc6693adc242f',1,'cudnn_frontend::ReductionDesc_v8::math_precision()']]], + ['matmuldesc',['matmuldesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ac4b85cbb9ba522c98eb524a7712721af',1,'cudnn_frontend::Operation_v8::matmuldesc()'],['../df/de1/namespacecudnn__frontend.html#ad809552e9ec400bcbfcfc0ea5acd4e56',1,'cudnn_frontend::MatMulDesc()']]], + ['matmuldesc_5fv8',['MatMulDesc_v8',['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html',1,'cudnn_frontend::MatMulDesc_v8'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ab725a8e47331aca6310155f6d55c0a02',1,'cudnn_frontend::MatMulDesc_v8::MatMulDesc_v8(MatMulDesc_v8 &&from)'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a5e060b83ea1e1ed59a66e15fdba91227',1,'cudnn_frontend::MatMulDesc_v8::MatMulDesc_v8()=default'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a48aa29d5df9a717e63c5146ac48c4543',1,'cudnn_frontend::MatMulDesc_v8::MatMulDesc_v8(MatMulDesc_v8 const &)=delete']]], + ['matmuldescbuilder',['MatMulDescBuilder',['../df/de1/namespacecudnn__frontend.html#a0c344e3bc1f332aa9f5b213eb1ae9ee6',1,'cudnn_frontend']]], + ['matmuldescbuilder_5fv8',['MatMulDescBuilder_v8',['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html',1,'cudnn_frontend::MatMulDescBuilder_v8'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#aa99cc0548322d7298b9ca664a976281f',1,'cudnn_frontend::MatMulDesc_v8::MatMulDescBuilder_v8()'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#afea76414fa5c0c5f38a551afcf11391c',1,'cudnn_frontend::MatMulDescBuilder_v8::MatMulDescBuilder_v8()=default'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a75af51fa2937a7df6787d3181ef22cf2',1,'cudnn_frontend::MatMulDescBuilder_v8::MatMulDescBuilder_v8(MatMulDescBuilder_v8 &&)=delete'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a287154397d78c528465a949ab0242068',1,'cudnn_frontend::MatMulDescBuilder_v8::MatMulDescBuilder_v8(MatMulDescBuilder_v8 const &)=delete'],['../d9/d08/group__MatMulDescBuilder__v8.html',1,'(Global Namespace)']]], + ['max_5fsize',['max_size',['../d9/dcc/classnlohmann_1_1basic__json.html#a1b46c6631e30b8394e89bd1546d69736',1,'nlohmann::basic_json']]], + ['maxvalue',['maxValue',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aecda8659b5a5d1dbb21b540a73141fb9',1,'cudnn_frontend::Engine_v8::Knob']]], + ['merge_5fpatch',['merge_patch',['../d9/dcc/classnlohmann_1_1basic__json.html#a844a77cb154752d12118f10af26d54cb',1,'nlohmann::basic_json']]], + ['meta',['meta',['../d9/dcc/classnlohmann_1_1basic__json.html#a351b4f65014f6c2b8b2832847d44bbd7',1,'nlohmann::basic_json']]], + ['minus',['minus',['../df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html#aec4e5028333c01f3229062f31ce16763',1,'nlohmann::detail::dtoa_impl::boundaries']]], + ['minvalue',['minValue',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a2403145dcb4bc55f970c6d07c1ed796e',1,'cudnn_frontend::Engine_v8::Knob']]], + ['mode',['mode',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#adcb7e5f546b83bbdab63773030e3b909',1,'cudnn_frontend::ConvDesc_v8::mode()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9a557db46e3559fcaa0e800d976d6238',1,'cudnn_frontend::EngineFallbackList_v8::mode()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a71e7822002502874f6b2dfec4ede7e01',1,'cudnn_frontend::EngineHeuristics_v8::mode()'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ad6d99d57f2a5b345fe5af5bc777b8d1c',1,'cudnn_frontend::PointWiseDesc_v8::mode()']]], + ['moved_5for_5fcopied',['moved_or_copied',['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#ae39e523218bf05cac3fb5b5b1cd5efb6',1,'nlohmann::detail::json_ref']]], + ['msgpack',['msgpack',['../dc/df0/namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40ac40d516627022a54003ac2b74a82688a',1,'nlohmann::detail']]], + ['mul',['mul',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#aa5f250d12ce89c81fdb08900c6a823e8',1,'nlohmann::detail::dtoa_impl::diyfp']]] ]; diff --git a/docs/search/all_f.js b/docs/search/all_f.js index e79afeec..7b610d23 100644 --- a/docs/search/all_f.js +++ b/docs/search/all_f.js @@ -1,57 +1,109 @@ var searchData= [ - ['set_5ferror',['set_error',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a1748a5c560905314930c37b2ed1a54d2',1,'cudnn_frontend::BackendDescriptor']]], - ['set_5ferror_5fand_5fthrow_5fexception',['set_error_and_throw_exception',['../df/de1/namespacecudnn__frontend.html#a011f392961f07ab6de46a080e9a652a2',1,'cudnn_frontend']]], - ['set_5fstatus',['set_status',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a3ef02443f20b90223baf5f1922505eab',1,'cudnn_frontend::BackendDescriptor']]], - ['setalignment',['setAlignment',['../d3/d3c/group__TensorBuilder__v8.html#ga385ec2c39e6386af7421f27330ed128b',1,'cudnn_frontend::TensorBuilder_v8']]], - ['setalpha',['setAlpha',['../d3/d92/group__OperationBuilder__v8.html#gab4241b96e7374d821681e97259d39d83',1,'cudnn_frontend::OperationBuilder_v8::setAlpha(float alpha) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga3c63744504f65383ce0b847bea804e3f',1,'cudnn_frontend::OperationBuilder_v8::setAlpha(double alpha) -> OperationBuilder_v8 &']]], - ['setalpha2',['setAlpha2',['../d3/d92/group__OperationBuilder__v8.html#ga06cdcfeda1b702412be41addd73bb947',1,'cudnn_frontend::OperationBuilder_v8::setAlpha2(float alpha) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga459671e9d26640528fcf683aaeef05df',1,'cudnn_frontend::OperationBuilder_v8::setAlpha2(double alpha) -> OperationBuilder_v8 &']]], - ['setamatdesc',['setaMatDesc',['../d3/d92/group__OperationBuilder__v8.html#ga095c52c8f1b01ebb224265f9000195c0',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setbdesc',['setbDesc',['../d3/d92/group__OperationBuilder__v8.html#ga17475846760b10ffdfa536cd92a5b135',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setbeta',['setBeta',['../d3/d92/group__OperationBuilder__v8.html#ga65a9ad73912ff46becc93ee451da6af5',1,'cudnn_frontend::OperationBuilder_v8::setBeta(float beta) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga29752062b7308c8da0e625eb35431652',1,'cudnn_frontend::OperationBuilder_v8::setBeta(double beta) -> OperationBuilder_v8 &']]], - ['setbmatdesc',['setbMatDesc',['../d3/d92/group__OperationBuilder__v8.html#gaa8eed29a0181e044ea0263ba655127ec',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setcdesc',['setcDesc',['../d3/d92/group__OperationBuilder__v8.html#gaa82e018b6a9d514ad912b922f43adad2',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setchoice',['setChoice',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a542f95d42a6d118e3de1726720c12278',1,'cudnn_frontend::Engine_v8::Knob']]], - ['setclipping',['setClipping',['../d2/db5/group__PointWiseDescBuilder__v8.html#ga124ebb4a416c645cd0b68f59545c62a8',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['setcmatdesc',['setcMatDesc',['../d3/d92/group__OperationBuilder__v8.html#gaaf9d7cbc65c7c7526a6f15d4ad2952fa',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setdatapointers',['setDataPointers',['../d5/def/group__VariantPackBuilder__v8.html#ga79c6def790139cb04aff8c600559b802',1,'cudnn_frontend::VariantPackBuilder_v8::setDataPointers(int64_t num_ptr, void **ptrs) -> VariantPackBuilder_v8 &'],['../d5/def/group__VariantPackBuilder__v8.html#ga14d3ac479fd01c48a97583adfb567090',1,'cudnn_frontend::VariantPackBuilder_v8::setDataPointers(std::set< std::pair< uint64_t, void *>> const &data_pointers) -> VariantPackBuilder_v8 &']]], - ['setdatatype',['setDataType',['../d3/ddd/group__ConvDescBuilder__v8.html#gad8de00b0e7a86bdda61749e7572a35ac',1,'cudnn_frontend::ConvDescBuilder_v8::setDataType()'],['../d3/d3c/group__TensorBuilder__v8.html#ga98275e4d36e37ef5d73f13bd80f164a3',1,'cudnn_frontend::TensorBuilder_v8::setDataType()']]], - ['setdilation',['setDilation',['../d3/ddd/group__ConvDescBuilder__v8.html#gaa41e2cbbebc9d2fd19fa990a48b39d08',1,'cudnn_frontend::ConvDescBuilder_v8']]], - ['setdim',['setDim',['../d3/d3c/group__TensorBuilder__v8.html#gae828806e2d76ca3eb6c4e289f2e93a96',1,'cudnn_frontend::TensorBuilder_v8']]], - ['setdwdesc',['setdwDesc',['../d3/d92/group__OperationBuilder__v8.html#ga5e5d463d5531a9378280fa4b1aee6f63',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setdxdesc',['setdxDesc',['../d3/d92/group__OperationBuilder__v8.html#ga35fa5c453a6cd989f35e47c29e6ec665',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setdydesc',['setdyDesc',['../d3/d92/group__OperationBuilder__v8.html#ga08f3d4cb5138174127d0f6899f7bc53b',1,'cudnn_frontend::OperationBuilder_v8::setdyDesc(ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga9e4a1e9a233b44cca5b65f0af172b001',1,'cudnn_frontend::OperationBuilder_v8::setdyDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &']]], - ['setelualpha',['setEluAlpha',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a8bdbf27c37334f5b61a65eb1bd4b6a98',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['setengine',['setEngine',['../d2/dbb/group__EngineConfigBuilder__v8.html#ga9673b31268901dfcb97896958687a42a',1,'cudnn_frontend::EngineConfigBuilder_v8']]], - ['setengineconfig',['setEngineConfig',['../d4/de1/group__ExecutionPlanBuilder__v8.html#gac5c23cff8c1424f71ef2cee2dc66cd3c',1,'cudnn_frontend::ExecutionPlanBuilder_v8::setEngineConfig(EngineConfig_v8 const &engine_config_) -> ExecutionPlanBuilder_v8 &'],['../d4/de1/group__ExecutionPlanBuilder__v8.html#gae0f92d5445da53253ff3460ac6aefffa',1,'cudnn_frontend::ExecutionPlanBuilder_v8::setEngineConfig(ManagedOpaqueDescriptor &desc, std::string const &opGraphTag_="") -> ExecutionPlanBuilder_v8 &']]], - ['setglobalengineidx',['setGlobalEngineIdx',['../d3/d09/group__EngineBuilder__v8.html#ga2b171d44da46865d536236bb01103005',1,'cudnn_frontend::EngineBuilder_v8']]], - ['sethandle',['setHandle',['../d4/de1/group__ExecutionPlanBuilder__v8.html#ga4166679391fc2df54e25964c03ae6e8e',1,'cudnn_frontend::ExecutionPlanBuilder_v8::setHandle()'],['../d2/df5/group__OperationGraphBuilder__v8.html#ga5b5d8a3121e92a8a7d47341b424298f8',1,'cudnn_frontend::OperationGraphBuilder_v8::setHandle()']]], - ['setheurmode',['setHeurMode',['../dc/d99/group__EngineHeuristicsBuilder__v8.html#gaf2d783ca6a663aa50ffed2ccbc164812',1,'cudnn_frontend::EngineHeuristicsBuilder_v8']]], - ['setid',['setId',['../d3/d3c/group__TensorBuilder__v8.html#ga6bdaeab1bff548d375e57936b64fb05a',1,'cudnn_frontend::TensorBuilder_v8']]], - ['setmathmode',['setMathMode',['../d3/ddd/group__ConvDescBuilder__v8.html#ga3b752afba659c8e92e7ad1ca71d62f2f',1,'cudnn_frontend::ConvDescBuilder_v8']]], - ['setmathprecision',['setMathPrecision',['../d9/d08/group__MatMulDescBuilder__v8.html#ga5885f3eb7580cbe0cbe7243c4711c0f2',1,'cudnn_frontend::MatMulDescBuilder_v8::setMathPrecision()'],['../d2/db5/group__PointWiseDescBuilder__v8.html#ga3efa065fc125c5af06bd0a9c543bdb9f',1,'cudnn_frontend::PointWiseDescBuilder_v8::setMathPrecision()']]], - ['setmatmuldesc',['setmatmulDesc',['../d3/d92/group__OperationBuilder__v8.html#ga3ca1f62832f998566c1b07b4b3c71db4',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setmode',['setMode',['../d2/db5/group__PointWiseDescBuilder__v8.html#ga48264536e68f952e92a0bdbaa84d9363',1,'cudnn_frontend::PointWiseDescBuilder_v8::setMode(cudnnPointwiseMode_t mode_) -> PointWiseDescBuilder_v8 &'],['../d2/db5/group__PointWiseDescBuilder__v8.html#gae5240136e19e0a4094036d48c6b1a3b7',1,'cudnn_frontend::PointWiseDescBuilder_v8::setMode(cudnnNanPropagation_t nan_mode_) -> PointWiseDescBuilder_v8 &']]], - ['setndims',['setNDims',['../d3/ddd/group__ConvDescBuilder__v8.html#gaacfcf20b0ed61e89bc92970f7bb7a258',1,'cudnn_frontend::ConvDescBuilder_v8']]], - ['setoperation',['setOperation',['../d4/d6b/group__EngineFallbackListBuilder__v8.html#gaf66485fe1a0faccab971edd0c70f04b4',1,'cudnn_frontend::EngineFallbackListBuilder_v8']]], - ['setoperationgraph',['setOperationGraph',['../d3/d09/group__EngineBuilder__v8.html#ga0ceef322363405504dbdc4d1f3c9949a',1,'cudnn_frontend::EngineBuilder_v8::setOperationGraph(OperationGraph_v8 const &opGraph_) -> EngineBuilder_v8 &'],['../d3/d09/group__EngineBuilder__v8.html#ga7220dab88f9fed1704c9d78d9771be5f',1,'cudnn_frontend::EngineBuilder_v8::setOperationGraph(ManagedOpaqueDescriptor desc_) -> EngineBuilder_v8 &'],['../d4/d6b/group__EngineFallbackListBuilder__v8.html#ga45c7c761a47a7731055ad0f943449610',1,'cudnn_frontend::EngineFallbackListBuilder_v8::setOperationGraph()'],['../dc/d99/group__EngineHeuristicsBuilder__v8.html#ga0554ac9347b7409e46f960b30f18dc68',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::setOperationGraph()'],['../d2/df5/group__OperationGraphBuilder__v8.html#ga4e4cee8d631471478d5de420077a2182',1,'cudnn_frontend::OperationGraphBuilder_v8::setOperationGraph()']]], - ['setpostpadding',['setPostPadding',['../d3/ddd/group__ConvDescBuilder__v8.html#ga44915183cb4dddcf23222faca3f84bba',1,'cudnn_frontend::ConvDescBuilder_v8']]], - ['setprepadding',['setPrePadding',['../d3/ddd/group__ConvDescBuilder__v8.html#gab07bf6292e69d19e6324d3073a86d58c',1,'cudnn_frontend::ConvDescBuilder_v8']]], - ['setpwdesc',['setpwDesc',['../d3/d92/group__OperationBuilder__v8.html#gae6b06877b2e675b2a390f0b122100669',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setrelulowerclip',['setReluLowerClip',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#afdbe0ce3f7fb2f0d23251ccb7507bc69',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['setrelulowerclipslope',['setReluLowerClipSlope',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aa93615adf69e7a87a06d0cea687794a6',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['setreluupperclip',['setReluUpperClip',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a0514e70d05a21a9c46bc66d1e61c28f5',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['setsoftplusbeta',['setSoftplusBeta',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ab692e5a2b3970346f68af33530ef98e8',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['setstrides',['setStrides',['../d3/ddd/group__ConvDescBuilder__v8.html#ga2c481d46d71fe909247f50ba2772b7ce',1,'cudnn_frontend::ConvDescBuilder_v8::setStrides()'],['../d3/d3c/group__TensorBuilder__v8.html#ga3de3d95beb2234dc2a741d23703f8ed2',1,'cudnn_frontend::TensorBuilder_v8::setStrides()']]], - ['setswishbeta',['setSwishBeta',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aad41d0f7b6667383fd9012bc492a13c3',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['setuids',['setUids',['../d5/def/group__VariantPackBuilder__v8.html#gad6dc5c5087c2724ca88cc2668d7f829d',1,'cudnn_frontend::VariantPackBuilder_v8']]], - ['setvirtual',['setVirtual',['../d3/d3c/group__TensorBuilder__v8.html#ga7d5d978de243e47938eb1f224a38d02d',1,'cudnn_frontend::TensorBuilder_v8']]], - ['setwdesc',['setwDesc',['../d3/d92/group__OperationBuilder__v8.html#ga80466e517e980ba4953e085b3d4e3498',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setworkspacepointer',['setWorkspacePointer',['../d5/def/group__VariantPackBuilder__v8.html#ga3a7b9ac8c714db202a8f89a6110675b6',1,'cudnn_frontend::VariantPackBuilder_v8']]], - ['setxdesc',['setxDesc',['../d3/d92/group__OperationBuilder__v8.html#gaefa06fdaae3b28c6ef08a0189e2a3d3a',1,'cudnn_frontend::OperationBuilder_v8::setxDesc(ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga04c2492a5376f1a74a57fb49fa7b3599',1,'cudnn_frontend::OperationBuilder_v8::setxDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &']]], - ['setydesc',['setyDesc',['../d3/d92/group__OperationBuilder__v8.html#ga5910bc2209e1b648c1aa0edce7f11e01',1,'cudnn_frontend::OperationBuilder_v8']]], - ['softplus_5fbeta',['softplus_beta',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a346bf4a4ca5e45b0f19dc8f2fb6b6148',1,'cudnn_frontend::PointWiseDesc_v8']]], - ['status',['status',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a10487abe0a45d35824ec75b0d3894f21',1,'cudnn_frontend::OpaqueBackendPointer::status()'],['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a8a5466c444f2de721118334ac876c6ba',1,'cudnn_frontend::BackendDescriptor::status()']]], - ['stride',['stride',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#ac513728c785a54ef86612a0bd6fa0f1a',1,'cudnn_frontend::ConvDesc_v8::stride()'],['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a8342ab30dbe0e86d8d060983f14aba87',1,'cudnn_frontend::Engine_v8::Knob::stride()']]], - ['swish_5fbeta',['swish_beta',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#aff19ca9077ac2dca8a9f78df586e11db',1,'cudnn_frontend::PointWiseDesc_v8']]] + ['container_5finput_5fadapter_5ffactory_5fimpl',['container_input_adapter_factory_impl',['../d9/d10/namespacenlohmann_1_1detail_1_1container__input__adapter__factory__impl.html',1,'nlohmann::detail']]], + ['detail',['detail',['../dc/df0/namespacenlohmann_1_1detail.html',1,'nlohmann']]], + ['dtoa_5fimpl',['dtoa_impl',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html',1,'nlohmann::detail']]], + ['name',['name',['../de/df2/classnlohmann_1_1detail_1_1exception.html#abf41a7e9178356314082284e6cfea278',1,'nlohmann::detail::exception']]], + ['name_5fseparator',['name_separator',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454acc3c64f8ae08c00de1b33f19a4d2913a',1,'nlohmann::detail::lexer_base']]], + ['nan_5fpropagation',['nan_propagation',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a740aed43da4ed8ab351d926cee6bfc6a',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['ndims',['nDims',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a9b478d1207d8241ff67cc931754cd6cf',1,'cudnn_frontend::ConvDesc_v8::nDims()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a1370de050fc91e9d992995fae5f22011',1,'cudnn_frontend::Tensor_v8::nDims()']]], + ['next_5fbyte_5fin_5frange',['next_byte_in_range',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#af6fe701b8b3ca5f4a1b58db4658bdf87',1,'nlohmann::detail::lexer']]], + ['next_5funget',['next_unget',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a40b108a0e45a7253f6ad85fbdaa6a262',1,'nlohmann::detail::lexer']]], + ['nlohmann',['nlohmann',['../d3/d9b/namespacenlohmann.html',1,'']]], + ['nlohmann_5fbasic_5fjson_5ftpl',['NLOHMANN_BASIC_JSON_TPL',['../d5/db8/json_8hpp.html#a80b7254e63f199a1f656f07ae551f632',1,'json.hpp']]], + ['nlohmann_5fbasic_5fjson_5ftpl_5fdeclaration',['NLOHMANN_BASIC_JSON_TPL_DECLARATION',['../d5/db8/json_8hpp.html#a0643bd74c2dc6f0e4e420b8190ea8f0f',1,'json.hpp']]], + ['nlohmann_5fdefine_5ftype_5fintrusive',['NLOHMANN_DEFINE_TYPE_INTRUSIVE',['../d5/db8/json_8hpp.html#ad22f878b4987246e5a4f4f258228e775',1,'json.hpp']]], + ['nlohmann_5fdefine_5ftype_5fnon_5fintrusive',['NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE',['../d5/db8/json_8hpp.html#a5767c8967df840d48dc01b0cf810a882',1,'json.hpp']]], + ['nlohmann_5fjson_5fexpand',['NLOHMANN_JSON_EXPAND',['../d5/db8/json_8hpp.html#af62f70922a57ffa728d579d3c7963bf5',1,'json.hpp']]], + ['nlohmann_5fjson_5ffrom',['NLOHMANN_JSON_FROM',['../d5/db8/json_8hpp.html#a8d18979cc7c33deda994e0caacf9e5e0',1,'json.hpp']]], + ['nlohmann_5fjson_5fget_5fmacro',['NLOHMANN_JSON_GET_MACRO',['../d5/db8/json_8hpp.html#afc0845ecb0987d16963a81f34bb0d94d',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste',['NLOHMANN_JSON_PASTE',['../d5/db8/json_8hpp.html#a9495fb0e6d683bfa654ed646495b408a',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste10',['NLOHMANN_JSON_PASTE10',['../d5/db8/json_8hpp.html#add270ee96fa3a6ffb454db30084db2e0',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste11',['NLOHMANN_JSON_PASTE11',['../d5/db8/json_8hpp.html#a98dd3b9b615ae85290d286ae863cde54',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste12',['NLOHMANN_JSON_PASTE12',['../d5/db8/json_8hpp.html#a58a04525435cdf51110639ee089ed012',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste13',['NLOHMANN_JSON_PASTE13',['../d5/db8/json_8hpp.html#aa88bff73660c72539ddf13e42ebbe227',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste14',['NLOHMANN_JSON_PASTE14',['../d5/db8/json_8hpp.html#a8f25d249f0af16eaac3b8444bd79e66b',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste15',['NLOHMANN_JSON_PASTE15',['../d5/db8/json_8hpp.html#a90005c47b51e2bc57bb86d089429bd1c',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste16',['NLOHMANN_JSON_PASTE16',['../d5/db8/json_8hpp.html#aed0149d0e2dae927ae5a845556cfaab6',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste17',['NLOHMANN_JSON_PASTE17',['../d5/db8/json_8hpp.html#a425f5b0501e323903d0452227d83b764',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste18',['NLOHMANN_JSON_PASTE18',['../d5/db8/json_8hpp.html#af39a0f63c596c5b4dd001aa0b1c4a76c',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste19',['NLOHMANN_JSON_PASTE19',['../d5/db8/json_8hpp.html#a7f0c430594f42a2409ff2474722133c5',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste2',['NLOHMANN_JSON_PASTE2',['../d5/db8/json_8hpp.html#a682c9966e923aa4fa0193b278b1edd2a',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste20',['NLOHMANN_JSON_PASTE20',['../d5/db8/json_8hpp.html#a30507458068a8b4b2fb270712915783d',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste21',['NLOHMANN_JSON_PASTE21',['../d5/db8/json_8hpp.html#ae63341f0ec1f867e557805655afc4103',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste22',['NLOHMANN_JSON_PASTE22',['../d5/db8/json_8hpp.html#a3120ded0ea577721fd71e3591657c577',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste23',['NLOHMANN_JSON_PASTE23',['../d5/db8/json_8hpp.html#ac848d6f3e9ae4bae4f0638fcb5ab996f',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste24',['NLOHMANN_JSON_PASTE24',['../d5/db8/json_8hpp.html#adfe12412820ef1409359615c41440345',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste25',['NLOHMANN_JSON_PASTE25',['../d5/db8/json_8hpp.html#a33416940d4a62a583f03b0ff2375400e',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste26',['NLOHMANN_JSON_PASTE26',['../d5/db8/json_8hpp.html#a866beb938b64216218cd062e18602eb9',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste27',['NLOHMANN_JSON_PASTE27',['../d5/db8/json_8hpp.html#a95b9c0445b989761a5ca49cf7e5b0f21',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste28',['NLOHMANN_JSON_PASTE28',['../d5/db8/json_8hpp.html#a58f402f503add069cbb5824130b63a50',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste29',['NLOHMANN_JSON_PASTE29',['../d5/db8/json_8hpp.html#a3f6cfd0610cc977f34e910266945f200',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste3',['NLOHMANN_JSON_PASTE3',['../d5/db8/json_8hpp.html#aaed4e77f612a9644d47c23508fb11f52',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste30',['NLOHMANN_JSON_PASTE30',['../d5/db8/json_8hpp.html#a5091052b859b2a814db1ed8f6ed6a2a2',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste31',['NLOHMANN_JSON_PASTE31',['../d5/db8/json_8hpp.html#ae4992f39bb2ab8bd14e62c11598b2ae5',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste32',['NLOHMANN_JSON_PASTE32',['../d5/db8/json_8hpp.html#af0f98920ec61e99028f7fdef8e920595',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste33',['NLOHMANN_JSON_PASTE33',['../d5/db8/json_8hpp.html#ab4071130e08cb0863d4e3487fa79cda1',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste34',['NLOHMANN_JSON_PASTE34',['../d5/db8/json_8hpp.html#a358ebb5dee01b8ed59bc28f815bc6d93',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste35',['NLOHMANN_JSON_PASTE35',['../d5/db8/json_8hpp.html#aeeea2b876c2a636481b3ae5ef11a19dc',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste36',['NLOHMANN_JSON_PASTE36',['../d5/db8/json_8hpp.html#a33ac48776f95a68576c40217395bf48d',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste37',['NLOHMANN_JSON_PASTE37',['../d5/db8/json_8hpp.html#a07deda8156c4854e92eb65fcc082901b',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste38',['NLOHMANN_JSON_PASTE38',['../d5/db8/json_8hpp.html#a977ee5f6587abac33244336ebd969d8f',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste39',['NLOHMANN_JSON_PASTE39',['../d5/db8/json_8hpp.html#af227f94449238a7a4773364559b7e293',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste4',['NLOHMANN_JSON_PASTE4',['../d5/db8/json_8hpp.html#a5349ab2d8aea839cdd9d127f1228bd28',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste40',['NLOHMANN_JSON_PASTE40',['../d5/db8/json_8hpp.html#a93c6c888c43aec21adfc7ffdc92cf7d0',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste41',['NLOHMANN_JSON_PASTE41',['../d5/db8/json_8hpp.html#a18e393011cc564dc6b0f1d15b8c84e05',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste42',['NLOHMANN_JSON_PASTE42',['../d5/db8/json_8hpp.html#a95e4a1508b5f7887c6158bc1c8421214',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste43',['NLOHMANN_JSON_PASTE43',['../d5/db8/json_8hpp.html#a92d3147a1b6ee178d6645f087b0092a2',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste44',['NLOHMANN_JSON_PASTE44',['../d5/db8/json_8hpp.html#a0a88431676c1c0dd23152f6398c85b47',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste45',['NLOHMANN_JSON_PASTE45',['../d5/db8/json_8hpp.html#a690c86f3a6798a8f228c23e353fa1f4c',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste46',['NLOHMANN_JSON_PASTE46',['../d5/db8/json_8hpp.html#a2b608f54c6ad7eb116db8ac32d662e59',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste47',['NLOHMANN_JSON_PASTE47',['../d5/db8/json_8hpp.html#acb41a7b4ef92bdebd48fff958a07ba73',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste48',['NLOHMANN_JSON_PASTE48',['../d5/db8/json_8hpp.html#abba715e3b79d43cd3edfc327964af993',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste49',['NLOHMANN_JSON_PASTE49',['../d5/db8/json_8hpp.html#ae194fe1cdd80019af57b88d7a07be858',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste5',['NLOHMANN_JSON_PASTE5',['../d5/db8/json_8hpp.html#a49c543dca7e9b9844991dad31328fb06',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste50',['NLOHMANN_JSON_PASTE50',['../d5/db8/json_8hpp.html#a019bc7ba256120287abe9297d8220f8d',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste51',['NLOHMANN_JSON_PASTE51',['../d5/db8/json_8hpp.html#a4f8f97d2fbb1d02cb9e14253db29afc5',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste52',['NLOHMANN_JSON_PASTE52',['../d5/db8/json_8hpp.html#a6e5309c4debd7b1ca036bd78a45da83d',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste53',['NLOHMANN_JSON_PASTE53',['../d5/db8/json_8hpp.html#a8305e64563937a0421af09a573184a15',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste54',['NLOHMANN_JSON_PASTE54',['../d5/db8/json_8hpp.html#ac436de6daea01cb2256bd87717a820f6',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste55',['NLOHMANN_JSON_PASTE55',['../d5/db8/json_8hpp.html#abce6d2ddf2ea1e5ad59066d0fc5278e4',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste56',['NLOHMANN_JSON_PASTE56',['../d5/db8/json_8hpp.html#a48a0da09ac90252022f6864cfa3d9448',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste57',['NLOHMANN_JSON_PASTE57',['../d5/db8/json_8hpp.html#a768d6ebcd60776a1a90a20ee96cc92c9',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste58',['NLOHMANN_JSON_PASTE58',['../d5/db8/json_8hpp.html#a3fdc9b5e6d3c8ae21a13950f89e1380a',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste59',['NLOHMANN_JSON_PASTE59',['../d5/db8/json_8hpp.html#a72d13fe9cacdfa68533b8e46b06c8edc',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste6',['NLOHMANN_JSON_PASTE6',['../d5/db8/json_8hpp.html#a6da6cf565af6a4a786b484019dce2fd3',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste60',['NLOHMANN_JSON_PASTE60',['../d5/db8/json_8hpp.html#aaa4d92bb3eee9252b5e7e3c94331e89e',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste61',['NLOHMANN_JSON_PASTE61',['../d5/db8/json_8hpp.html#ad40518144e6777220fd044e3823d5709',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste62',['NLOHMANN_JSON_PASTE62',['../d5/db8/json_8hpp.html#a2058eaa857e2b8409234212297c30b5c',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste63',['NLOHMANN_JSON_PASTE63',['../d5/db8/json_8hpp.html#a20df787f375192fed2b9529178f4e003',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste64',['NLOHMANN_JSON_PASTE64',['../d5/db8/json_8hpp.html#a8fee48568bba4163bcc0ffd2a556d5cf',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste7',['NLOHMANN_JSON_PASTE7',['../d5/db8/json_8hpp.html#ab3cf0b823706b94a78c0611209df5044',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste8',['NLOHMANN_JSON_PASTE8',['../d5/db8/json_8hpp.html#a931a0b268897bdd26521ac3152ddba5b',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste9',['NLOHMANN_JSON_PASTE9',['../d5/db8/json_8hpp.html#aed2ec7e247cd50f8f9941ca3fe6f2a2a',1,'json.hpp']]], + ['nlohmann_5fjson_5fserialize_5fenum',['NLOHMANN_JSON_SERIALIZE_ENUM',['../d5/db8/json_8hpp.html#a4c5d399dfa9252e70f876756f3f49084',1,'json.hpp']]], + ['nlohmann_5fjson_5fto',['NLOHMANN_JSON_TO',['../d5/db8/json_8hpp.html#a32c518e9a43fb0389fccb41e5c6f63a9',1,'json.hpp']]], + ['nlohmann_5fjson_5fversion_5fmajor',['NLOHMANN_JSON_VERSION_MAJOR',['../d5/db8/json_8hpp.html#a7c94253db90041af11dd946a49f0f8a4',1,'json.hpp']]], + ['nlohmann_5fjson_5fversion_5fminor',['NLOHMANN_JSON_VERSION_MINOR',['../d5/db8/json_8hpp.html#ab5ca1e164894d78d3276d2e5fe58c5e3',1,'json.hpp']]], + ['nlohmann_5fjson_5fversion_5fpatch',['NLOHMANN_JSON_VERSION_PATCH',['../d5/db8/json_8hpp.html#a307e0238ebc35e99ea45c68823eb83eb',1,'json.hpp']]], + ['nonesuch',['nonesuch',['../da/d31/structnlohmann_1_1detail_1_1nonesuch.html',1,'nlohmann::detail::nonesuch'],['../da/d31/structnlohmann_1_1detail_1_1nonesuch.html#a6fe87da966856c6cb06617940d90f010',1,'nlohmann::detail::nonesuch::nonesuch()=delete'],['../da/d31/structnlohmann_1_1detail_1_1nonesuch.html#a563462ef2d05fe60cdf1dc7f567dc276',1,'nlohmann::detail::nonesuch::nonesuch(nonesuch const &)=delete'],['../da/d31/structnlohmann_1_1detail_1_1nonesuch.html#ad7719f7d2a00263be8b8d123870217d8',1,'nlohmann::detail::nonesuch::nonesuch(nonesuch const &&)=delete']]], + ['normalize',['normalize',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#a2246b5b40c7c6992153ef174063d6aa6',1,'nlohmann::detail::dtoa_impl::diyfp']]], + ['normalize_5fto',['normalize_to',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#a6b6665e467ebabe0c0f7418d3fe4b118',1,'nlohmann::detail::dtoa_impl::diyfp']]], + ['null',['null',['../d0/d82/structnlohmann_1_1json__sax.html#a0ad26edef3f8d530dcec3192bba82df6',1,'nlohmann::json_sax::null()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#abb06babaa861f123d8d0cb443b887d8a',1,'nlohmann::detail::json_sax_dom_parser::null()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a446262b6a75371fe8e0a6218ba2911e6',1,'nlohmann::detail::json_sax_dom_callback_parser::null()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#ad7ad55168af6e03ed8b844c94a17b9ce',1,'nlohmann::detail::json_sax_acceptor::null()'],['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a37a6259cc0c1dae299a7866489dff0bd',1,'nlohmann::detail::null()']]], + ['null_5ffunction_5ft',['null_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#ac1b4e524746bf8b790b2b776048b93c4',1,'nlohmann::detail']]], + ['num_5fops',['num_ops',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a31046a12eb8da37897063a99efa637a4',1,'cudnn_frontend::EngineFallbackList_v8']]], + ['num_5fptrs',['num_ptrs',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#afeaea07e176fa0c943704285f258ba28',1,'cudnn_frontend::VariantPack_v8']]], + ['number_5fbuffer',['number_buffer',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a1a9d8b344a6cb47728a3519693ec03d1',1,'nlohmann::detail::serializer']]], + ['number_5ffloat',['number_float',['../d9/dcc/classnlohmann_1_1basic__json.html#abe229fa4c3b1f3536c7a85ab9cbff2e7',1,'nlohmann::basic_json::number_float()'],['../d0/d82/structnlohmann_1_1json__sax.html#ae7c31614e8a82164d2d7f8dbf4671b25',1,'nlohmann::json_sax::number_float()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aef4652c0e81d6c052acb5d36afe09499',1,'nlohmann::detail::json_sax_dom_parser::number_float()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ae21f7872c334c77d03ae033cb0749b1c',1,'nlohmann::detail::json_sax_dom_callback_parser::number_float()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#aebf8800023eb20d472f111f86b189e60',1,'nlohmann::detail::json_sax_acceptor::number_float()'],['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985ad9966ecb59667235a57b4b999a649eef',1,'nlohmann::detail::number_float()']]], + ['number_5ffloat_5ffunction_5ft',['number_float_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#ad42df56e913abe26ed556e0e92f386f4',1,'nlohmann::detail']]], + ['number_5ffloat_5ft',['number_float_t',['../d0/d82/structnlohmann_1_1json__sax.html#a390c209bffd8c4800c8f3076dc465a20',1,'nlohmann::json_sax::number_float_t()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad8da3aad0147b18b3cb76868480300fe',1,'nlohmann::detail::json_sax_dom_parser::number_float_t()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a914ea0555cea5290449fb791ae41c655',1,'nlohmann::detail::json_sax_dom_callback_parser::number_float_t()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a5502f483fc60a1bcd73e0e46b6ab36e4',1,'nlohmann::detail::json_sax_acceptor::number_float_t()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a438a78e53120fd2c3ea049161d4798cb',1,'nlohmann::detail::lexer::number_float_t()'],['../dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#a58d3205c8d3c7a01cc330374fa7976c5',1,'nlohmann::detail::is_sax::number_float_t()'],['../d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#a65d4be40c41ddc31fd2c3583d87d5faf',1,'nlohmann::detail::is_sax_static_asserts::number_float_t()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ae4f1a7d10118d578ad03f7ee36df6fbe',1,'nlohmann::detail::binary_reader::number_float_t()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#aaf0c8640d0360fca5334314f0a7e9bad',1,'nlohmann::detail::parser::number_float_t()'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#abb4b7c621d0cb7633b5806c603f3c51a',1,'nlohmann::detail::binary_writer::number_float_t()'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a460c6794fbabbb2ae83380e987a6c030',1,'nlohmann::detail::serializer::number_float_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a5b8abaebd922d82d69756327c0c347e6',1,'nlohmann::basic_json::number_float_t()']]], + ['number_5finteger',['number_integer',['../d9/dcc/classnlohmann_1_1basic__json.html#ad88685d4cc24d7e86ddc5b0edb64192a',1,'nlohmann::basic_json::number_integer()'],['../d0/d82/structnlohmann_1_1json__sax.html#affa7a78b8e9cc9cc3ac99927143142a5',1,'nlohmann::json_sax::number_integer()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aff77f861ba336df48c9786a993941397',1,'nlohmann::detail::json_sax_dom_parser::number_integer()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a68d9eddfd572e8687c1c8107e0505aa6',1,'nlohmann::detail::json_sax_dom_callback_parser::number_integer()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a976bf4ce6e9a2ffe48f683ddff80af00',1,'nlohmann::detail::json_sax_acceptor::number_integer()'],['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a5763da164f8659d94a56e29df64b4bcc',1,'nlohmann::detail::number_integer()']]], + ['number_5finteger_5ffunction_5ft',['number_integer_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a4a3e14a011b9ea1ff849fc6d2411e6a0',1,'nlohmann::detail']]], + ['number_5finteger_5ft',['number_integer_t',['../d0/d82/structnlohmann_1_1json__sax.html#a0cef30121f02b7fee85e9708148ea0aa',1,'nlohmann::json_sax::number_integer_t()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a3d5cd67d179aa7422ce90e54984a441e',1,'nlohmann::detail::json_sax_dom_parser::number_integer_t()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a3ba8fc7a8d83c5b0eeb3b543ad844b8d',1,'nlohmann::detail::json_sax_dom_callback_parser::number_integer_t()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a41876b17c0e8bdb55580eaf5e4e2ded8',1,'nlohmann::detail::json_sax_acceptor::number_integer_t()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a594e61f96c87b4464beeab681111ac0c',1,'nlohmann::detail::lexer::number_integer_t()'],['../dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#aa9a29390ca9810cee149510f586f5573',1,'nlohmann::detail::is_sax::number_integer_t()'],['../d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#a474adf99bf1eaa8292284fd3064c80fe',1,'nlohmann::detail::is_sax_static_asserts::number_integer_t()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a2b46c2a929071fdb0b028befa77814bd',1,'nlohmann::detail::binary_reader::number_integer_t()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#ab70e418cdc4271afd487a7d7704766c5',1,'nlohmann::detail::parser::number_integer_t()'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ae7b1df1c70bdec1371f297567726a198',1,'nlohmann::detail::serializer::number_integer_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a11e390944da90db83089eb2426a749d3',1,'nlohmann::basic_json::number_integer_t()']]], + ['number_5funsigned',['number_unsigned',['../d9/dcc/classnlohmann_1_1basic__json.html#a077b1e7977afafb97a6a38a3a617ba66',1,'nlohmann::basic_json::number_unsigned()'],['../d0/d82/structnlohmann_1_1json__sax.html#ad9b253083e0509923ba195136f49face',1,'nlohmann::json_sax::number_unsigned()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a2b4ff5146ed46993527e4a67d99c1355',1,'nlohmann::detail::json_sax_dom_parser::number_unsigned()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#acabb231463bf669441c22e4ea385a9fb',1,'nlohmann::detail::json_sax_dom_callback_parser::number_unsigned()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#ad15b288f3351287edbe289502f595491',1,'nlohmann::detail::json_sax_acceptor::number_unsigned()'],['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985adce7cc8ec29055c4158828921f2f265e',1,'nlohmann::detail::number_unsigned()']]], + ['number_5funsigned_5ffunction_5ft',['number_unsigned_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a74da7b17bda76f65d276feb18209c913',1,'nlohmann::detail']]], + ['number_5funsigned_5ft',['number_unsigned_t',['../d0/d82/structnlohmann_1_1json__sax.html#a32028cc056ae0f43aaae331cdbbbf856',1,'nlohmann::json_sax::number_unsigned_t()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a90f19b272530a479db81db11be2ea15c',1,'nlohmann::detail::json_sax_dom_parser::number_unsigned_t()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a2406c5125f7128fb9c01921df2903001',1,'nlohmann::detail::json_sax_dom_callback_parser::number_unsigned_t()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#ae07454608ea6f3cfb765f95e3c850043',1,'nlohmann::detail::json_sax_acceptor::number_unsigned_t()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#af6b19ef34b2e9ee2321cfaf62ee066cb',1,'nlohmann::detail::lexer::number_unsigned_t()'],['../dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#a655c9b8038e51e5b9211e2419118644d',1,'nlohmann::detail::is_sax::number_unsigned_t()'],['../d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#af8733df7fcaebb25434285885db7f127',1,'nlohmann::detail::is_sax_static_asserts::number_unsigned_t()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a02a70f424099428d9a69606b7fb7074a',1,'nlohmann::detail::binary_reader::number_unsigned_t()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a5590596704edc4a1a983e26f6f3211ff',1,'nlohmann::detail::parser::number_unsigned_t()'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a16c7b7a726a38ff0c06dce7ba7968391',1,'nlohmann::detail::serializer::number_unsigned_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ae09af9c23351b7245d9be4d1b2035fef',1,'nlohmann::basic_json::number_unsigned_t()']]], + ['numknobs',['numKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#aed64863b9d73b7f6f3a7e16dc6e7eb04',1,'cudnn_frontend::Engine_v8::numKnobs()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a9365e32afd0eae60e3d87a853dd24e33',1,'cudnn_frontend::EngineConfig_v8::numKnobs()']]], + ['numops',['numOps',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a52c12bb0014a899c4c5201fb66301eb2',1,'cudnn_frontend::OperationGraph_v8']]], + ['utility_5finternal',['utility_internal',['../df/d92/namespacenlohmann_1_1detail_1_1utility__internal.html',1,'nlohmann::detail']]] ]; diff --git a/docs/search/classes_0.js b/docs/search/classes_0.js index 49321cdd..16d56bdc 100644 --- a/docs/search/classes_0.js +++ b/docs/search/classes_0.js @@ -1,4 +1,4 @@ var searchData= [ - ['backenddescriptor',['BackendDescriptor',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html',1,'cudnn_frontend']]] + ['adl_5fserializer',['adl_serializer',['../dc/dc7/structnlohmann_1_1adl__serializer.html',1,'nlohmann']]] ]; diff --git a/docs/search/classes_1.js b/docs/search/classes_1.js index 4df4d5b0..e8bc9af1 100644 --- a/docs/search/classes_1.js +++ b/docs/search/classes_1.js @@ -1,6 +1,11 @@ var searchData= [ - ['convdesc_5fv8',['ConvDesc_v8',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html',1,'cudnn_frontend']]], - ['convdescbuilder_5fv8',['ConvDescBuilder_v8',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html',1,'cudnn_frontend']]], - ['cudnnexception',['cudnnException',['../d9/dca/classcudnn__frontend_1_1cudnnException.html',1,'cudnn_frontend']]] + ['b1',['B1',['../d3/ddb/classB1.html',1,'']]], + ['backenddescriptor',['BackendDescriptor',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html',1,'cudnn_frontend']]], + ['basic_5fjson',['basic_json',['../d9/dcc/classnlohmann_1_1basic__json.html',1,'nlohmann']]], + ['binary_5freader',['binary_reader',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html',1,'nlohmann::detail']]], + ['binary_5fwriter',['binary_writer',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html',1,'nlohmann::detail']]], + ['binarytype',['BinaryType',['../d7/d1c/classBinaryType.html',1,'']]], + ['boundaries',['boundaries',['../df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html',1,'nlohmann::detail::dtoa_impl']]], + ['byte_5fcontainer_5fwith_5fsubtype',['byte_container_with_subtype',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html',1,'nlohmann']]] ]; diff --git a/docs/search/classes_10.html b/docs/search/classes_10.html new file mode 100644 index 00000000..c1a93557 --- /dev/null +++ b/docs/search/classes_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/classes_10.js b/docs/search/classes_10.js new file mode 100644 index 00000000..0539bf34 --- /dev/null +++ b/docs/search/classes_10.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['reductiondesc_5fv8',['ReductionDesc_v8',['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html',1,'cudnn_frontend']]], + ['reductiondescbuilder_5fv8',['ReductionDescBuilder_v8',['../d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html',1,'cudnn_frontend']]] +]; diff --git a/docs/search/classes_11.html b/docs/search/classes_11.html new file mode 100644 index 00000000..2df8ed33 --- /dev/null +++ b/docs/search/classes_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/classes_11.js b/docs/search/classes_11.js new file mode 100644 index 00000000..60922153 --- /dev/null +++ b/docs/search/classes_11.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['serializer',['serializer',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html',1,'nlohmann::detail']]], + ['span_5finput_5fadapter',['span_input_adapter',['../da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html',1,'nlohmann::detail']]], + ['static_5fconst',['static_const',['../d1/d9b/structnlohmann_1_1detail_1_1static__const.html',1,'nlohmann::detail']]] +]; diff --git a/docs/search/classes_12.html b/docs/search/classes_12.html new file mode 100644 index 00000000..94132451 --- /dev/null +++ b/docs/search/classes_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/classes_12.js b/docs/search/classes_12.js new file mode 100644 index 00000000..09d205ad --- /dev/null +++ b/docs/search/classes_12.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['tensor_5fv8',['Tensor_v8',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html',1,'cudnn_frontend']]], + ['tensorbuilder_5fv8',['TensorBuilder_v8',['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html',1,'cudnn_frontend']]], + ['to_5fjson_5ffn',['to_json_fn',['../d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.html',1,'nlohmann::detail']]], + ['tuple_5felement_3c_20n_2c_20_3a_3anlohmann_3a_3adetail_3a_3aiteration_5fproxy_5fvalue_3c_20iteratortype_20_3e_20_3e',['tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >',['../dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html',1,'std']]], + ['tuple_5fsize_3c_3a_3anlohmann_3a_3adetail_3a_3aiteration_5fproxy_5fvalue_3c_20iteratortype_20_3e_20_3e',['tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >',['../da/d86/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html',1,'std']]], + ['type',['type',['../db/d0a/classstd_1_1conditional_1_1type.html',1,'']]], + ['type_5ferror',['type_error',['../da/d1c/classnlohmann_1_1detail_1_1type__error.html',1,'nlohmann::detail']]] +]; diff --git a/docs/search/classes_13.html b/docs/search/classes_13.html new file mode 100644 index 00000000..00fb7b0e --- /dev/null +++ b/docs/search/classes_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/classes_13.js b/docs/search/classes_13.js new file mode 100644 index 00000000..0919d5f7 --- /dev/null +++ b/docs/search/classes_13.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['variantpack_5fv8',['VariantPack_v8',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html',1,'cudnn_frontend']]], + ['variantpackbuilder_5fv8',['VariantPackBuilder_v8',['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html',1,'cudnn_frontend']]] +]; diff --git a/docs/search/classes_14.html b/docs/search/classes_14.html new file mode 100644 index 00000000..1591644b --- /dev/null +++ b/docs/search/classes_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/classes_14.js b/docs/search/classes_14.js new file mode 100644 index 00000000..051530ae --- /dev/null +++ b/docs/search/classes_14.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['wide_5fstring_5finput_5fadapter',['wide_string_input_adapter',['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html',1,'nlohmann::detail']]], + ['wide_5fstring_5finput_5fhelper',['wide_string_input_helper',['../d2/d2c/structnlohmann_1_1detail_1_1wide__string__input__helper.html',1,'nlohmann::detail']]], + ['wide_5fstring_5finput_5fhelper_3c_20baseinputadapter_2c_202_20_3e',['wide_string_input_helper< BaseInputAdapter, 2 >',['../df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html',1,'nlohmann::detail']]], + ['wide_5fstring_5finput_5fhelper_3c_20baseinputadapter_2c_204_20_3e',['wide_string_input_helper< BaseInputAdapter, 4 >',['../d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html',1,'nlohmann::detail']]] +]; diff --git a/docs/search/classes_2.js b/docs/search/classes_2.js index a779de15..a507f731 100644 --- a/docs/search/classes_2.js +++ b/docs/search/classes_2.js @@ -1,15 +1,15 @@ var searchData= [ - ['engine_5fv8',['Engine_v8',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html',1,'cudnn_frontend']]], - ['enginebuilder_5fv8',['EngineBuilder_v8',['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html',1,'cudnn_frontend']]], - ['engineconfig_5fv8',['EngineConfig_v8',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html',1,'cudnn_frontend']]], - ['engineconfigbuilder_5fv8',['EngineConfigBuilder_v8',['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html',1,'cudnn_frontend']]], - ['engineconfiggenerator',['EngineConfigGenerator',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html',1,'cudnn_frontend']]], - ['enginefallbacklist_5fv8',['EngineFallbackList_v8',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html',1,'cudnn_frontend']]], - ['enginefallbacklistbuilder_5fv8',['EngineFallbackListBuilder_v8',['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html',1,'cudnn_frontend']]], - ['engineheuristics_5fv8',['EngineHeuristics_v8',['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html',1,'cudnn_frontend']]], - ['engineheuristicsbuilder_5fv8',['EngineHeuristicsBuilder_v8',['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html',1,'cudnn_frontend']]], - ['executionoption',['executionOption',['../d6/d1b/structcudnn__frontend_1_1executionOption.html',1,'cudnn_frontend']]], - ['executionplan_5fv8',['ExecutionPlan_v8',['../d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html',1,'cudnn_frontend']]], - ['executionplanbuilder_5fv8',['ExecutionPlanBuilder_v8',['../d1/d74/classcudnn__frontend_1_1ExecutionPlanBuilder__v8.html',1,'cudnn_frontend']]] + ['cached_5fpower',['cached_power',['../d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html',1,'nlohmann::detail::dtoa_impl']]], + ['conjunction',['conjunction',['../dd/dde/structnlohmann_1_1detail_1_1conjunction.html',1,'nlohmann::detail']]], + ['conjunction_3c_20b1_20_3e',['conjunction< B1 >',['../d1/d96/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4.html',1,'nlohmann::detail']]], + ['conjunction_3c_20b1_2c_20bn_2e_2e_2e_20_3e',['conjunction< B1, Bn... >',['../d5/db0/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4.html',1,'nlohmann::detail']]], + ['conjunction_3c_20is_5fconstructible_3c_20t1_2c_20args_20_3e_2e_2e_2e_20_3e',['conjunction< is_constructible< T1, Args >... >',['../dd/dde/structnlohmann_1_1detail_1_1conjunction.html',1,'nlohmann::detail']]], + ['conjunction_3c_20is_5fdefault_5fconstructible_3c_20t1_20_3e_2c_20is_5fdefault_5fconstructible_3c_20t2_20_3e_20_3e',['conjunction< is_default_constructible< T1 >, is_default_constructible< T2 > >',['../dd/dde/structnlohmann_1_1detail_1_1conjunction.html',1,'nlohmann::detail']]], + ['conjunction_3c_20is_5fdefault_5fconstructible_3c_20ts_20_3e_2e_2e_2e_20_3e',['conjunction< is_default_constructible< Ts >... >',['../dd/dde/structnlohmann_1_1detail_1_1conjunction.html',1,'nlohmann::detail']]], + ['container_5finput_5fadapter_5ffactory',['container_input_adapter_factory',['../d1/d62/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory.html',1,'nlohmann::detail::container_input_adapter_factory_impl']]], + ['container_5finput_5fadapter_5ffactory_3c_20containertype_2c_20void_5ft_3c_20decltype_28begin_28std_3a_3adeclval_3c_20containertype_20_3e_28_29_29_2c_20end_28std_3a_3adeclval_3c_20containertype_20_3e_28_29_29_29_3e_20_3e',['container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >',['../d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html',1,'nlohmann::detail::container_input_adapter_factory_impl']]], + ['convdesc_5fv8',['ConvDesc_v8',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html',1,'cudnn_frontend']]], + ['convdescbuilder_5fv8',['ConvDescBuilder_v8',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html',1,'cudnn_frontend']]], + ['cudnnexception',['cudnnException',['../d9/dca/classcudnn__frontend_1_1cudnnException.html',1,'cudnn_frontend']]] ]; diff --git a/docs/search/classes_3.js b/docs/search/classes_3.js index 3e15dc80..fec8837f 100644 --- a/docs/search/classes_3.js +++ b/docs/search/classes_3.js @@ -1,4 +1,6 @@ var searchData= [ - ['knob',['Knob',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html',1,'cudnn_frontend::Engine_v8']]] + ['detector',['detector',['../dd/d10/structnlohmann_1_1detail_1_1detector.html',1,'nlohmann::detail']]], + ['detector_3c_20default_2c_20void_5ft_3c_20op_3c_20args_2e_2e_2e_20_3e_20_3e_2c_20op_2c_20args_2e_2e_2e_20_3e',['detector< Default, void_t< Op< Args... > >, Op, Args... >',['../d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html',1,'nlohmann::detail']]], + ['diyfp',['diyfp',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html',1,'nlohmann::detail::dtoa_impl']]] ]; diff --git a/docs/search/classes_4.js b/docs/search/classes_4.js index 7a73cdf5..7d8efd28 100644 --- a/docs/search/classes_4.js +++ b/docs/search/classes_4.js @@ -1,5 +1,28 @@ var searchData= [ - ['matmuldesc_5fv8',['MatMulDesc_v8',['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html',1,'cudnn_frontend']]], - ['matmuldescbuilder_5fv8',['MatMulDescBuilder_v8',['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html',1,'cudnn_frontend']]] + ['engine_5fv8',['Engine_v8',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html',1,'cudnn_frontend']]], + ['enginebuilder_5fv8',['EngineBuilder_v8',['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html',1,'cudnn_frontend']]], + ['engineconfig_5fv8',['EngineConfig_v8',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html',1,'cudnn_frontend']]], + ['engineconfigbuilder_5fv8',['EngineConfigBuilder_v8',['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html',1,'cudnn_frontend']]], + ['engineconfiggenerator',['EngineConfigGenerator',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html',1,'cudnn_frontend']]], + ['enginefallbacklist_5fv8',['EngineFallbackList_v8',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html',1,'cudnn_frontend']]], + ['enginefallbacklistbuilder_5fv8',['EngineFallbackListBuilder_v8',['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html',1,'cudnn_frontend']]], + ['engineheuristics_5fv8',['EngineHeuristics_v8',['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html',1,'cudnn_frontend']]], + ['engineheuristicsbuilder_5fv8',['EngineHeuristicsBuilder_v8',['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html',1,'cudnn_frontend']]], + ['exception',['exception',['../de/df2/classnlohmann_1_1detail_1_1exception.html',1,'nlohmann::detail']]], + ['executionoption',['executionOption',['../d6/d1b/structcudnn__frontend_1_1executionOption.html',1,'cudnn_frontend']]], + ['executionplan_5fv8',['ExecutionPlan_v8',['../d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html',1,'cudnn_frontend']]], + ['executionplanbuilder_5fv8',['ExecutionPlanBuilder_v8',['../d1/d74/classcudnn__frontend_1_1ExecutionPlanBuilder__v8.html',1,'cudnn_frontend']]], + ['extend',['Extend',['../d7/d3c/structnlohmann_1_1detail_1_1utility__internal_1_1Extend.html',1,'nlohmann::detail::utility_internal']]], + ['extend_3c_20integer_5fsequence_3c_20t_2c_20ints_2e_2e_2e_20_3e_2c_20seqsize_2c_200_20_3e',['Extend< integer_sequence< T, Ints... >, SeqSize, 0 >',['../de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.html',1,'nlohmann::detail::utility_internal']]], + ['extend_3c_20integer_5fsequence_3c_20t_2c_20ints_2e_2e_2e_20_3e_2c_20seqsize_2c_201_20_3e',['Extend< integer_sequence< T, Ints... >, SeqSize, 1 >',['../d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.html',1,'nlohmann::detail::utility_internal']]], + ['external_5fconstructor',['external_constructor',['../d2/df4/structnlohmann_1_1detail_1_1external__constructor.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3aarray_20_3e',['external_constructor< value_t::array >',['../d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3abinary_20_3e',['external_constructor< value_t::binary >',['../d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3aboolean_20_3e',['external_constructor< value_t::boolean >',['../d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3anumber_5ffloat_20_3e',['external_constructor< value_t::number_float >',['../d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3anumber_5finteger_20_3e',['external_constructor< value_t::number_integer >',['../dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3anumber_5funsigned_20_3e',['external_constructor< value_t::number_unsigned >',['../d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3aobject_20_3e',['external_constructor< value_t::object >',['../d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html',1,'nlohmann::detail']]], + ['external_5fconstructor_3c_20value_5ft_3a_3astring_20_3e',['external_constructor< value_t::string >',['../da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html',1,'nlohmann::detail']]] ]; diff --git a/docs/search/classes_5.js b/docs/search/classes_5.js index 98a74fe0..324744d6 100644 --- a/docs/search/classes_5.js +++ b/docs/search/classes_5.js @@ -1,8 +1,5 @@ var searchData= [ - ['opaquebackendpointer',['OpaqueBackendPointer',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html',1,'cudnn_frontend']]], - ['operation_5fv8',['Operation_v8',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html',1,'cudnn_frontend']]], - ['operationbuilder_5fv8',['OperationBuilder_v8',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html',1,'cudnn_frontend']]], - ['operationgraph_5fv8',['OperationGraph_v8',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html',1,'cudnn_frontend']]], - ['operationgraphbuilder_5fv8',['OperationGraphBuilder_v8',['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html',1,'cudnn_frontend']]] + ['file_5finput_5fadapter',['file_input_adapter',['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html',1,'nlohmann::detail']]], + ['from_5fjson_5ffn',['from_json_fn',['../d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.html',1,'nlohmann::detail']]] ]; diff --git a/docs/search/classes_6.js b/docs/search/classes_6.js index 4ef6a087..5c72990e 100644 --- a/docs/search/classes_6.js +++ b/docs/search/classes_6.js @@ -1,5 +1,5 @@ var searchData= [ - ['pointwisedesc_5fv8',['PointWiseDesc_v8',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html',1,'cudnn_frontend']]], - ['pointwisedescbuilder_5fv8',['PointWiseDescBuilder_v8',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html',1,'cudnn_frontend']]] + ['gen',['Gen',['../d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.html',1,'nlohmann::detail::utility_internal']]], + ['gen_3c_20t_2c_200_20_3e',['Gen< T, 0 >',['../d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.html',1,'nlohmann::detail::utility_internal']]] ]; diff --git a/docs/search/classes_7.js b/docs/search/classes_7.js index 761b83fd..916c95dc 100644 --- a/docs/search/classes_7.js +++ b/docs/search/classes_7.js @@ -1,5 +1,10 @@ var searchData= [ - ['tensor_5fv8',['Tensor_v8',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html',1,'cudnn_frontend']]], - ['tensorbuilder_5fv8',['TensorBuilder_v8',['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html',1,'cudnn_frontend']]] + ['has_5ffrom_5fjson',['has_from_json',['../dc/dac/structnlohmann_1_1detail_1_1has__from__json.html',1,'nlohmann::detail']]], + ['has_5ffrom_5fjson_3c_20basicjsontype_2c_20t_2c_20enable_5fif_5ft_3c_20_21is_5fbasic_5fjson_3c_20t_20_3e_3a_3avalue_20_3e_20_3e',['has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >',['../d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html',1,'nlohmann::detail']]], + ['has_5fnon_5fdefault_5ffrom_5fjson',['has_non_default_from_json',['../d7/d08/structnlohmann_1_1detail_1_1has__non__default__from__json.html',1,'nlohmann::detail']]], + ['has_5fnon_5fdefault_5ffrom_5fjson_3c_20basicjsontype_2c_20t_2c_20enable_5fif_5ft_3c_20_21is_5fbasic_5fjson_3c_20t_20_3e_3a_3avalue_20_3e_20_3e',['has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >',['../df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html',1,'nlohmann::detail']]], + ['has_5fto_5fjson',['has_to_json',['../d9/d6c/structnlohmann_1_1detail_1_1has__to__json.html',1,'nlohmann::detail']]], + ['has_5fto_5fjson_3c_20basicjsontype_2c_20t_2c_20enable_5fif_5ft_3c_20_21is_5fbasic_5fjson_3c_20t_20_3e_3a_3avalue_20_3e_20_3e',['has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >',['../d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html',1,'nlohmann::detail']]], + ['hash_3c_20nlohmann_3a_3ajson_20_3e',['hash< nlohmann::json >',['../dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html',1,'std']]] ]; diff --git a/docs/search/classes_8.js b/docs/search/classes_8.js index 0919d5f7..460468c3 100644 --- a/docs/search/classes_8.js +++ b/docs/search/classes_8.js @@ -1,5 +1,78 @@ var searchData= [ - ['variantpack_5fv8',['VariantPack_v8',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html',1,'cudnn_frontend']]], - ['variantpackbuilder_5fv8',['VariantPackBuilder_v8',['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html',1,'cudnn_frontend']]] + ['identity_5ftag',['identity_tag',['../d0/db1/structnlohmann_1_1detail_1_1identity__tag.html',1,'nlohmann::detail']]], + ['input_5fstream_5fadapter',['input_stream_adapter',['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html',1,'nlohmann::detail']]], + ['integer_5fsequence',['integer_sequence',['../d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html',1,'nlohmann::detail']]], + ['internal_5fiterator',['internal_iterator',['../d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html',1,'nlohmann::detail']]], + ['internal_5fiterator_3c_20typename_20std_3a_3aremove_5fconst_3c_20basicjsontype_20_3e_3a_3atype_20_3e',['internal_iterator< typename std::remove_const< BasicJsonType >::type >',['../d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html',1,'nlohmann::detail']]], + ['invalid_5fiterator',['invalid_iterator',['../d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html',1,'nlohmann::detail']]], + ['is_5fbasic_5fjson',['is_basic_json',['../d4/df6/structnlohmann_1_1detail_1_1is__basic__json.html',1,'nlohmann::detail']]], + ['is_5fbasic_5fjson_3c_20nlohmann_5fbasic_5fjson_5ftpl_20_3e',['is_basic_json< NLOHMANN_BASIC_JSON_TPL >',['../d8/d25/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5farray_5ftype',['is_compatible_array_type',['../d8/d94/structnlohmann_1_1detail_1_1is__compatible__array__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5farray_5ftype_5fimpl',['is_compatible_array_type_impl',['../dc/d4b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5farray_5ftype_5fimpl_3c_20basicjsontype_2c_20compatiblearraytype_20_3e',['is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType >',['../dc/d4b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5farray_5ftype_5fimpl_3c_20basicjsontype_2c_20compatiblearraytype_2c_20enable_5fif_5ft_3c_20is_5fdetected_3c_20value_5ftype_5ft_2c_20compatiblearraytype_20_3e_3a_3avalue_20_26_26is_5fdetected_3c_20iterator_5ft_2c_20compatiblearraytype_20_3e_3a_3avalue_20_26_26_21is_5fiterator_5ftraits_3c_20iterator_5ftraits_3c_20compatiblearraytype_20_3e_20_3e_3a_3avalue_20_3e_20_3e',['is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >',['../dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5finteger_5ftype',['is_compatible_integer_type',['../d1/d21/structnlohmann_1_1detail_1_1is__compatible__integer__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5finteger_5ftype_5fimpl',['is_compatible_integer_type_impl',['../dd/d13/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5finteger_5ftype_5fimpl_3c_20realintegertype_2c_20compatiblenumberintegertype_20_3e',['is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType >',['../dd/d13/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5finteger_5ftype_5fimpl_3c_20realintegertype_2c_20compatiblenumberintegertype_2c_20enable_5fif_5ft_3c_20std_3a_3ais_5fintegral_3c_20realintegertype_20_3e_3a_3avalue_20_26_26std_3a_3ais_5fintegral_3c_20compatiblenumberintegertype_20_3e_3a_3avalue_20_26_26_21std_3a_3ais_5fsame_3c_20bool_2c_20compatiblenumberintegertype_20_3e_3a_3avalue_20_3e_20_3e',['is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >',['../d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fobject_5ftype',['is_compatible_object_type',['../d5/dda/structnlohmann_1_1detail_1_1is__compatible__object__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fobject_5ftype_5fimpl',['is_compatible_object_type_impl',['../dc/da5/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fobject_5ftype_5fimpl_3c_20basicjsontype_2c_20compatibleobjecttype_20_3e',['is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType >',['../dc/da5/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fobject_5ftype_5fimpl_3c_20basicjsontype_2c_20compatibleobjecttype_2c_20enable_5fif_5ft_3c_20is_5fdetected_3c_20mapped_5ftype_5ft_2c_20compatibleobjecttype_20_3e_3a_3avalue_20_26_26is_5fdetected_3c_20key_5ftype_5ft_2c_20compatibleobjecttype_20_3e_3a_3avalue_20_3e_20_3e',['is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >',['../d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fstring_5ftype',['is_compatible_string_type',['../db/d4e/structnlohmann_1_1detail_1_1is__compatible__string__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fstring_5ftype_5fimpl',['is_compatible_string_type_impl',['../d2/d3a/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fstring_5ftype_5fimpl_3c_20basicjsontype_2c_20compatiblestringtype_2c_20enable_5fif_5ft_3c_20is_5fdetected_5fexact_3c_20typename_20basicjsontype_3a_3astring_5ft_3a_3avalue_5ftype_2c_20value_5ftype_5ft_2c_20compatiblestringtype_20_3e_3a_3avalue_20_3e_20_3e',['is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >',['../d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5fstring_5ftype_5fimpl_3c_20basicjsontype_2c_20constructiblestringtype_20_3e',['is_compatible_string_type_impl< BasicJsonType, ConstructibleStringType >',['../d2/d3a/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5ftype',['is_compatible_type',['../d3/d71/structnlohmann_1_1detail_1_1is__compatible__type.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5ftype_5fimpl',['is_compatible_type_impl',['../d9/d66/structnlohmann_1_1detail_1_1is__compatible__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5ftype_5fimpl_3c_20basicjsontype_2c_20compatibletype_20_3e',['is_compatible_type_impl< BasicJsonType, CompatibleType >',['../d9/d66/structnlohmann_1_1detail_1_1is__compatible__type__impl.html',1,'nlohmann::detail']]], + ['is_5fcompatible_5ftype_5fimpl_3c_20basicjsontype_2c_20compatibletype_2c_20enable_5fif_5ft_3c_20is_5fcomplete_5ftype_3c_20compatibletype_20_3e_3a_3avalue_20_3e_20_3e',['is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >',['../d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html',1,'nlohmann::detail']]], + ['is_5fcomplete_5ftype',['is_complete_type',['../d2/db3/structnlohmann_1_1detail_1_1is__complete__type.html',1,'nlohmann::detail']]], + ['is_5fcomplete_5ftype_3c_20t_2c_20decltype_28void_28sizeof_28t_29_29_29_3e',['is_complete_type< T, decltype(void(sizeof(T)))>',['../dd/dcd/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4.html',1,'nlohmann::detail']]], + ['is_5fconstructible',['is_constructible',['../d7/d10/structnlohmann_1_1detail_1_1is__constructible.html',1,'nlohmann::detail']]], + ['is_5fconstructible_3c_20const_20std_3a_3apair_3c_20t1_2c_20t2_20_3e_20_3e',['is_constructible< const std::pair< T1, T2 > >',['../d8/da8/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fconstructible_3c_20const_20std_3a_3atuple_3c_20ts_2e_2e_2e_20_3e_20_3e',['is_constructible< const std::tuple< Ts... > >',['../d1/d8d/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fconstructible_3c_20std_3a_3apair_3c_20t1_2c_20t2_20_3e_20_3e',['is_constructible< std::pair< T1, T2 > >',['../d4/df4/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fconstructible_3c_20std_3a_3atuple_3c_20ts_2e_2e_2e_20_3e_20_3e',['is_constructible< std::tuple< Ts... > >',['../dc/d01/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5farray_5ftype',['is_constructible_array_type',['../d3/d52/structnlohmann_1_1detail_1_1is__constructible__array__type.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5farray_5ftype_5fimpl',['is_constructible_array_type_impl',['../d8/d8b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5farray_5ftype_5fimpl_3c_20basicjsontype_2c_20constructiblearraytype_20_3e',['is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType >',['../d8/d8b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5farray_5ftype_5fimpl_3c_20basicjsontype_2c_20constructiblearraytype_2c_20enable_5fif_5ft_3c_20_21std_3a_3ais_5fsame_3c_20constructiblearraytype_2c_20typename_20basicjsontype_3a_3avalue_5ftype_20_3e_3a_3avalue_20_26_26is_5fdefault_5fconstructible_3c_20constructiblearraytype_20_3e_3a_3avalue_20_26_26_28std_3a_3ais_5fmove_5fassignable_3c_20constructiblearraytype_20_3e_3a_3avalue_7c_7cstd_3a_3ais_5fcopy_5fassignable_3c_20constructiblearraytype_20_3e_3a_3avalue_29_26_26is_5fdetected_3c_20value_5ftype_5ft_2c_20constructiblearraytype_20_3e_3a_3avalue_20_26_26is_5fdetected_3c_20iterator_5ft_2c_20constructiblearraytype_20_3e_3a_3avalue_20_26_26is_5fcomplete_5ftype_3c_20detected_5ft_3c_20value_5ftype_5ft_2c_20constructiblearraytype_20_3e_20_3e_3a_3avalue_20_3e_20_3e',['is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >',['../db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5farray_5ftype_5fimpl_3c_20basicjsontype_2c_20constructiblearraytype_2c_20enable_5fif_5ft_3c_20std_3a_3ais_5fsame_3c_20constructiblearraytype_2c_20typename_20basicjsontype_3a_3avalue_5ftype_20_3e_3a_3avalue_20_3e_20_3e',['is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >',['../dd/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construce6fa33688da703b95649da4749cdeb98.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5fobject_5ftype',['is_constructible_object_type',['../dc/d11/structnlohmann_1_1detail_1_1is__constructible__object__type.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5fobject_5ftype_5fimpl',['is_constructible_object_type_impl',['../dd/da4/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5fobject_5ftype_5fimpl_3c_20basicjsontype_2c_20constructibleobjecttype_20_3e',['is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType >',['../dd/da4/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5fobject_5ftype_5fimpl_3c_20basicjsontype_2c_20constructibleobjecttype_2c_20enable_5fif_5ft_3c_20is_5fdetected_3c_20mapped_5ftype_5ft_2c_20constructibleobjecttype_20_3e_3a_3avalue_20_26_26is_5fdetected_3c_20key_5ftype_5ft_2c_20constructibleobjecttype_20_3e_3a_3avalue_20_3e_20_3e',['is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >',['../d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5fstring_5ftype',['is_constructible_string_type',['../d3/d84/structnlohmann_1_1detail_1_1is__constructible__string__type.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5fstring_5ftype_5fimpl',['is_constructible_string_type_impl',['../de/df0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5fstring_5ftype_5fimpl_3c_20basicjsontype_2c_20constructiblestringtype_20_3e',['is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType >',['../de/df0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5fstring_5ftype_5fimpl_3c_20basicjsontype_2c_20constructiblestringtype_2c_20enable_5fif_5ft_3c_20is_5fdetected_5fexact_3c_20typename_20basicjsontype_3a_3astring_5ft_3a_3avalue_5ftype_2c_20value_5ftype_5ft_2c_20constructiblestringtype_20_3e_3a_3avalue_20_3e_20_3e',['is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >',['../df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5ftuple',['is_constructible_tuple',['../df/d17/structnlohmann_1_1detail_1_1is__constructible__tuple.html',1,'nlohmann::detail']]], + ['is_5fconstructible_5ftuple_3c_20t1_2c_20std_3a_3atuple_3c_20args_2e_2e_2e_20_3e_20_3e',['is_constructible_tuple< T1, std::tuple< Args... > >',['../d3/d6a/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fdefault_5fconstructible',['is_default_constructible',['../d2/d91/structnlohmann_1_1detail_1_1is__default__constructible.html',1,'nlohmann::detail']]], + ['is_5fdefault_5fconstructible_3c_20const_20std_3a_3apair_3c_20t1_2c_20t2_20_3e_20_3e',['is_default_constructible< const std::pair< T1, T2 > >',['../d7/d7b/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fdefault_5fconstructible_3c_20const_20std_3a_3atuple_3c_20ts_2e_2e_2e_20_3e_20_3e',['is_default_constructible< const std::tuple< Ts... > >',['../dc/dd7/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fdefault_5fconstructible_3c_20std_3a_3apair_3c_20t1_2c_20t2_20_3e_20_3e',['is_default_constructible< std::pair< T1, T2 > >',['../da/dbd/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fdefault_5fconstructible_3c_20std_3a_3atuple_3c_20ts_2e_2e_2e_20_3e_20_3e',['is_default_constructible< std::tuple< Ts... > >',['../d5/dc8/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fgetable',['is_getable',['../de/dbc/structnlohmann_1_1detail_1_1is__getable.html',1,'nlohmann::detail']]], + ['is_5fiterator_5fof_5fmultibyte',['is_iterator_of_multibyte',['../d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html',1,'nlohmann::detail']]], + ['is_5fiterator_5ftraits',['is_iterator_traits',['../d3/d30/structnlohmann_1_1detail_1_1is__iterator__traits.html',1,'nlohmann::detail']]], + ['is_5fiterator_5ftraits_3c_20iterator_5ftraits_3c_20t_20_3e_20_3e',['is_iterator_traits< iterator_traits< T > >',['../d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fjson_5fref',['is_json_ref',['../d3/d0b/structnlohmann_1_1detail_1_1is__json__ref.html',1,'nlohmann::detail']]], + ['is_5fjson_5fref_3c_20json_5fref_3c_20t_20_3e_20_3e',['is_json_ref< json_ref< T > >',['../d0/d8d/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4.html',1,'nlohmann::detail']]], + ['is_5fsax',['is_sax',['../dc/dc3/structnlohmann_1_1detail_1_1is__sax.html',1,'nlohmann::detail']]], + ['is_5fsax_5fstatic_5fasserts',['is_sax_static_asserts',['../d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html',1,'nlohmann::detail']]], + ['iter_5fimpl',['iter_impl',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html',1,'nlohmann::detail']]], + ['iteration_5fproxy',['iteration_proxy',['../db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html',1,'nlohmann::detail']]], + ['iteration_5fproxy_5fvalue',['iteration_proxy_value',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html',1,'nlohmann::detail']]], + ['iterator_5finput_5fadapter',['iterator_input_adapter',['../d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html',1,'nlohmann::detail']]], + ['iterator_5finput_5fadapter_5ffactory',['iterator_input_adapter_factory',['../d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html',1,'nlohmann::detail']]], + ['iterator_5finput_5fadapter_5ffactory_3c_20iteratortype_2c_20enable_5fif_5ft_3c_20is_5fiterator_5fof_5fmultibyte_3c_20iteratortype_20_3e_3a_3avalue_20_3e_20_3e',['iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >',['../da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html',1,'nlohmann::detail']]], + ['iterator_5ftraits',['iterator_traits',['../d8/db6/structnlohmann_1_1detail_1_1iterator__traits.html',1,'nlohmann::detail']]], + ['iterator_5ftraits_3c_20t_20_2a_2c_20enable_5fif_5ft_3c_20std_3a_3ais_5fobject_3c_20t_20_3e_3a_3avalue_20_3e_20_3e',['iterator_traits< T *, enable_if_t< std::is_object< T >::value > >',['../da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html',1,'nlohmann::detail']]], + ['iterator_5ftraits_3c_20t_2c_20enable_5fif_5ft_3c_20_21std_3a_3ais_5fpointer_3c_20t_20_3e_3a_3avalue_20_3e_20_3e',['iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >',['../d5/da3/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_3_01T_01_4_1_1value_01_4_01_4.html',1,'nlohmann::detail']]], + ['iterator_5ftypes',['iterator_types',['../d5/d3c/structnlohmann_1_1detail_1_1iterator__types.html',1,'nlohmann::detail']]], + ['iterator_5ftypes_3c_20it_2c_20void_5ft_3c_20typename_20it_3a_3adifference_5ftype_2c_20typename_20it_3a_3avalue_5ftype_2c_20typename_20it_3a_3apointer_2c_20typename_20it_3a_3areference_2c_20typename_20it_3a_3aiterator_5fcategory_20_3e_20_3e',['iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >',['../d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html',1,'nlohmann::detail']]], + ['iterator_5ftypes_3c_20t_20_3e',['iterator_types< T >',['../d5/d3c/structnlohmann_1_1detail_1_1iterator__types.html',1,'nlohmann::detail']]] ]; diff --git a/docs/search/classes_9.html b/docs/search/classes_9.html new file mode 100644 index 00000000..9cb55be4 --- /dev/null +++ b/docs/search/classes_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/classes_9.js b/docs/search/classes_9.js new file mode 100644 index 00000000..2b574c70 --- /dev/null +++ b/docs/search/classes_9.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['json_5fpointer',['json_pointer',['../da/de8/classnlohmann_1_1json__pointer.html',1,'nlohmann']]], + ['json_5fref',['json_ref',['../da/d10/classnlohmann_1_1detail_1_1json__ref.html',1,'nlohmann::detail']]], + ['json_5freverse_5fiterator',['json_reverse_iterator',['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html',1,'nlohmann::detail']]], + ['json_5fsax',['json_sax',['../d0/d82/structnlohmann_1_1json__sax.html',1,'nlohmann']]], + ['json_5fsax_5facceptor',['json_sax_acceptor',['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html',1,'nlohmann::detail']]], + ['json_5fsax_5fdom_5fcallback_5fparser',['json_sax_dom_callback_parser',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html',1,'nlohmann::detail']]], + ['json_5fsax_5fdom_5fparser',['json_sax_dom_parser',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html',1,'nlohmann::detail']]] +]; diff --git a/docs/search/classes_a.html b/docs/search/classes_a.html new file mode 100644 index 00000000..54940d78 --- /dev/null +++ b/docs/search/classes_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/classes_a.js b/docs/search/classes_a.js new file mode 100644 index 00000000..3e15dc80 --- /dev/null +++ b/docs/search/classes_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['knob',['Knob',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html',1,'cudnn_frontend::Engine_v8']]] +]; diff --git a/docs/search/classes_b.html b/docs/search/classes_b.html new file mode 100644 index 00000000..6071ae04 --- /dev/null +++ b/docs/search/classes_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/classes_b.js b/docs/search/classes_b.js new file mode 100644 index 00000000..5d2bd2b7 --- /dev/null +++ b/docs/search/classes_b.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['less_3c_3a_3anlohmann_3a_3adetail_3a_3avalue_5ft_20_3e',['less<::nlohmann::detail::value_t >',['../df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html',1,'std']]], + ['lexer',['lexer',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html',1,'nlohmann::detail']]], + ['lexer_5fbase',['lexer_base',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html',1,'nlohmann::detail']]] +]; diff --git a/docs/search/classes_c.html b/docs/search/classes_c.html new file mode 100644 index 00000000..6cf1d008 --- /dev/null +++ b/docs/search/classes_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/classes_c.js b/docs/search/classes_c.js new file mode 100644 index 00000000..6b71b226 --- /dev/null +++ b/docs/search/classes_c.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['make_5fvoid',['make_void',['../d3/d72/structnlohmann_1_1detail_1_1make__void.html',1,'nlohmann::detail']]], + ['matmuldesc_5fv8',['MatMulDesc_v8',['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html',1,'cudnn_frontend']]], + ['matmuldescbuilder_5fv8',['MatMulDescBuilder_v8',['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html',1,'cudnn_frontend']]] +]; diff --git a/docs/search/classes_d.html b/docs/search/classes_d.html new file mode 100644 index 00000000..d4a7ed7a --- /dev/null +++ b/docs/search/classes_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/classes_d.js b/docs/search/classes_d.js new file mode 100644 index 00000000..7e51f460 --- /dev/null +++ b/docs/search/classes_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['nonesuch',['nonesuch',['../da/d31/structnlohmann_1_1detail_1_1nonesuch.html',1,'nlohmann::detail']]] +]; diff --git a/docs/search/classes_e.html b/docs/search/classes_e.html new file mode 100644 index 00000000..9a9f48c3 --- /dev/null +++ b/docs/search/classes_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/classes_e.js b/docs/search/classes_e.js new file mode 100644 index 00000000..86923c00 --- /dev/null +++ b/docs/search/classes_e.js @@ -0,0 +1,16 @@ +var searchData= +[ + ['opaquebackendpointer',['OpaqueBackendPointer',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html',1,'cudnn_frontend']]], + ['operation_5fv8',['Operation_v8',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html',1,'cudnn_frontend']]], + ['operationbuilder_5fv8',['OperationBuilder_v8',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html',1,'cudnn_frontend']]], + ['operationgraph_5fv8',['OperationGraph_v8',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html',1,'cudnn_frontend']]], + ['operationgraphbuilder_5fv8',['OperationGraphBuilder_v8',['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html',1,'cudnn_frontend']]], + ['ordered_5fmap',['ordered_map',['../d6/da7/structnlohmann_1_1ordered__map.html',1,'nlohmann']]], + ['other_5ferror',['other_error',['../d5/d1b/classnlohmann_1_1detail_1_1other__error.html',1,'nlohmann::detail']]], + ['out_5fof_5frange',['out_of_range',['../d2/d67/classnlohmann_1_1detail_1_1out__of__range.html',1,'nlohmann::detail']]], + ['output_5fadapter',['output_adapter',['../df/d13/classnlohmann_1_1detail_1_1output__adapter.html',1,'nlohmann::detail']]], + ['output_5fadapter_5fprotocol',['output_adapter_protocol',['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html',1,'nlohmann::detail']]], + ['output_5fstream_5fadapter',['output_stream_adapter',['../d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html',1,'nlohmann::detail']]], + ['output_5fstring_5fadapter',['output_string_adapter',['../d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html',1,'nlohmann::detail']]], + ['output_5fvector_5fadapter',['output_vector_adapter',['../d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html',1,'nlohmann::detail']]] +]; diff --git a/docs/search/classes_f.html b/docs/search/classes_f.html new file mode 100644 index 00000000..a128d60b --- /dev/null +++ b/docs/search/classes_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/classes_f.js b/docs/search/classes_f.js new file mode 100644 index 00000000..b95f7773 --- /dev/null +++ b/docs/search/classes_f.js @@ -0,0 +1,11 @@ +var searchData= +[ + ['parse_5ferror',['parse_error',['../d5/d1a/classnlohmann_1_1detail_1_1parse__error.html',1,'nlohmann::detail']]], + ['parser',['parser',['../df/d6b/classnlohmann_1_1detail_1_1parser.html',1,'nlohmann::detail']]], + ['pointwisedesc_5fv8',['PointWiseDesc_v8',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html',1,'cudnn_frontend']]], + ['pointwisedescbuilder_5fv8',['PointWiseDescBuilder_v8',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html',1,'cudnn_frontend']]], + ['position_5ft',['position_t',['../d6/d02/structnlohmann_1_1detail_1_1position__t.html',1,'nlohmann::detail']]], + ['primitive_5fiterator_5ft',['primitive_iterator_t',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html',1,'nlohmann::detail']]], + ['priority_5ftag',['priority_tag',['../d7/d78/structnlohmann_1_1detail_1_1priority__tag.html',1,'nlohmann::detail']]], + ['priority_5ftag_3c_200_20_3e',['priority_tag< 0 >',['../d2/ddd/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.html',1,'nlohmann::detail']]] +]; diff --git a/docs/search/defines_0.html b/docs/search/defines_0.html new file mode 100644 index 00000000..5b252045 --- /dev/null +++ b/docs/search/defines_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/defines_0.js b/docs/search/defines_0.js new file mode 100644 index 00000000..5f352c97 --- /dev/null +++ b/docs/search/defines_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['include_5fnlohmann_5fjson_5ffwd_5fhpp_5f',['INCLUDE_NLOHMANN_JSON_FWD_HPP_',['../d5/db8/json_8hpp.html#ae7fdc438c6d6cb1f17c4373bce5a802d',1,'json.hpp']]] +]; diff --git a/docs/search/defines_1.html b/docs/search/defines_1.html new file mode 100644 index 00000000..91488cb5 --- /dev/null +++ b/docs/search/defines_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/defines_1.js b/docs/search/defines_1.js new file mode 100644 index 00000000..bfd80528 --- /dev/null +++ b/docs/search/defines_1.js @@ -0,0 +1,138 @@ +var searchData= +[ + ['json_5fassert',['JSON_ASSERT',['../d5/db8/json_8hpp.html#a69f131cff49da1989667220173fbeae6',1,'json.hpp']]], + ['json_5fcatch',['JSON_CATCH',['../d5/db8/json_8hpp.html#a6954bec49ed2a2dfb938c1131c82740a',1,'json.hpp']]], + ['json_5fexplicit',['JSON_EXPLICIT',['../d5/db8/json_8hpp.html#aefed8cf27cadeea45f12c6f3db3ce774',1,'json.hpp']]], + ['json_5fhas_5fcpp_5f11',['JSON_HAS_CPP_11',['../d5/db8/json_8hpp.html#ad5cc9b612a6058dd85e97906cc625f9c',1,'json.hpp']]], + ['json_5fhedley_5falways_5finline',['JSON_HEDLEY_ALWAYS_INLINE',['../d5/db8/json_8hpp.html#aa8811aa2a21030baad33c103cb04d322',1,'json.hpp']]], + ['json_5fhedley_5farm_5fversion_5fcheck',['JSON_HEDLEY_ARM_VERSION_CHECK',['../d5/db8/json_8hpp.html#aec1d1b1e286d1610ff11dbb29bf3e8cf',1,'json.hpp']]], + ['json_5fhedley_5farray_5fparam',['JSON_HEDLEY_ARRAY_PARAM',['../d5/db8/json_8hpp.html#a81c7e3b5b6811abfd89146ad33a93d8f',1,'json.hpp']]], + ['json_5fhedley_5fassume',['JSON_HEDLEY_ASSUME',['../d5/db8/json_8hpp.html#a70d7244eea52c8bb5716545e54050bb5',1,'json.hpp']]], + ['json_5fhedley_5fbegin_5fc_5fdecls',['JSON_HEDLEY_BEGIN_C_DECLS',['../d5/db8/json_8hpp.html#ad43f9ae10083194afdfe88516ad876e7',1,'json.hpp']]], + ['json_5fhedley_5fc_5fdecl',['JSON_HEDLEY_C_DECL',['../d5/db8/json_8hpp.html#a378be9b66feb11153979c282c669b12e',1,'json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fattribute',['JSON_HEDLEY_CLANG_HAS_ATTRIBUTE',['../d5/db8/json_8hpp.html#a940783ca9410ed9dbe4f7abf44a29394',1,'json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fbuiltin',['JSON_HEDLEY_CLANG_HAS_BUILTIN',['../d5/db8/json_8hpp.html#a4500e349152e53a3a6f0ab95c6a4a840',1,'json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fcpp_5fattribute',['JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE',['../d5/db8/json_8hpp.html#a3ce7b30717e453922113c4f62e645e13',1,'json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fdeclspec_5fattribute',['JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE',['../d5/db8/json_8hpp.html#afb4bf1280cd8738877e1f0f681a5d96d',1,'json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fextension',['JSON_HEDLEY_CLANG_HAS_EXTENSION',['../d5/db8/json_8hpp.html#a8fcc2d27e828fbd8d5ef88ba341e56c0',1,'json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5ffeature',['JSON_HEDLEY_CLANG_HAS_FEATURE',['../d5/db8/json_8hpp.html#a096be2083232d3a3ea9f3aeb25885f60',1,'json.hpp']]], + ['json_5fhedley_5fclang_5fhas_5fwarning',['JSON_HEDLEY_CLANG_HAS_WARNING',['../d5/db8/json_8hpp.html#a6125ffd318b2d6698faad4175a6e7c56',1,'json.hpp']]], + ['json_5fhedley_5fcompcert_5fversion_5fcheck',['JSON_HEDLEY_COMPCERT_VERSION_CHECK',['../d5/db8/json_8hpp.html#ad8f9aee7d709155d6745cb3f77c6ff0c',1,'json.hpp']]], + ['json_5fhedley_5fconcat',['JSON_HEDLEY_CONCAT',['../d5/db8/json_8hpp.html#a4ec16c2642fdc5876d8dbeab3445b313',1,'json.hpp']]], + ['json_5fhedley_5fconcat3',['JSON_HEDLEY_CONCAT3',['../d5/db8/json_8hpp.html#ad10e2ad45ace3771e4d2a3807d33f64f',1,'json.hpp']]], + ['json_5fhedley_5fconcat3_5fex',['JSON_HEDLEY_CONCAT3_EX',['../d5/db8/json_8hpp.html#a29b325cc7fac302f2488259237d30953',1,'json.hpp']]], + ['json_5fhedley_5fconcat_5fex',['JSON_HEDLEY_CONCAT_EX',['../d5/db8/json_8hpp.html#aee52531ff30270c04958309efa66a5da',1,'json.hpp']]], + ['json_5fhedley_5fconst',['JSON_HEDLEY_CONST',['../d5/db8/json_8hpp.html#a0d17bf1a54fc45a04ced6d3aa86a96e3',1,'json.hpp']]], + ['json_5fhedley_5fconst_5fcast',['JSON_HEDLEY_CONST_CAST',['../d5/db8/json_8hpp.html#ab849ba88a6f410da5a46a86f8565b381',1,'json.hpp']]], + ['json_5fhedley_5fconstexpr',['JSON_HEDLEY_CONSTEXPR',['../d5/db8/json_8hpp.html#ac317a48664e4099c22d33d8132bef97e',1,'json.hpp']]], + ['json_5fhedley_5fcpp_5fcast',['JSON_HEDLEY_CPP_CAST',['../d5/db8/json_8hpp.html#a8c790866b16f58cbe0b3286a7a6238c3',1,'json.hpp']]], + ['json_5fhedley_5fcray_5fversion_5fcheck',['JSON_HEDLEY_CRAY_VERSION_CHECK',['../d5/db8/json_8hpp.html#a5d9ed879aa65e4db12a81ee95529c3e4',1,'json.hpp']]], + ['json_5fhedley_5fdeprecated',['JSON_HEDLEY_DEPRECATED',['../d5/db8/json_8hpp.html#a0f2cbf281fa983a844b9279c697b7a0c',1,'json.hpp']]], + ['json_5fhedley_5fdeprecated_5ffor',['JSON_HEDLEY_DEPRECATED_FOR',['../d5/db8/json_8hpp.html#af0469b867b0ec3a1c4b229ce9d087620',1,'json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5fcast_5fqual',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL',['../d5/db8/json_8hpp.html#a8d412aa5d441b533afa439a89aa4a754',1,'json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5fcpp98_5fcompat_5fwrap_5f',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_',['../d5/db8/json_8hpp.html#a543a78d9931a92663e3b3fc552a390a4',1,'json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5fdeprecated',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED',['../d5/db8/json_8hpp.html#afe5855242129fa5d1adf55227669a337',1,'json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5funknown_5fcpp_5fattributes',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES',['../d5/db8/json_8hpp.html#ab6e5abd7e400c9a725278206ece33e16',1,'json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5funknown_5fpragmas',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS',['../d5/db8/json_8hpp.html#ab67745ae0065d536d8e67969db68d564',1,'json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fdisable_5funused_5ffunction',['JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION',['../d5/db8/json_8hpp.html#a5306714f979551cab30546a0e0e7e9f9',1,'json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fpop',['JSON_HEDLEY_DIAGNOSTIC_POP',['../d5/db8/json_8hpp.html#aeedd50a52e1ea565ceab84bb596ec07f',1,'json.hpp']]], + ['json_5fhedley_5fdiagnostic_5fpush',['JSON_HEDLEY_DIAGNOSTIC_PUSH',['../d5/db8/json_8hpp.html#a1850f57fcda72becebc7033a2e10e77b',1,'json.hpp']]], + ['json_5fhedley_5fdmc_5fversion_5fcheck',['JSON_HEDLEY_DMC_VERSION_CHECK',['../d5/db8/json_8hpp.html#af21c5dbd9df3b2e245ae547e2d940adc',1,'json.hpp']]], + ['json_5fhedley_5fempty_5fbases',['JSON_HEDLEY_EMPTY_BASES',['../d5/db8/json_8hpp.html#ae7a983344e78f37697c2688f1885f9e1',1,'json.hpp']]], + ['json_5fhedley_5femscripten_5fversion_5fcheck',['JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK',['../d5/db8/json_8hpp.html#a472a0656b154bb30cf6e8fb8a31b9209',1,'json.hpp']]], + ['json_5fhedley_5fend_5fc_5fdecls',['JSON_HEDLEY_END_C_DECLS',['../d5/db8/json_8hpp.html#aca2fc4b765ac5739d680153895b673fb',1,'json.hpp']]], + ['json_5fhedley_5ffall_5fthrough',['JSON_HEDLEY_FALL_THROUGH',['../d5/db8/json_8hpp.html#a7056c44a5787e78720407fc97aefbd0f',1,'json.hpp']]], + ['json_5fhedley_5fflags',['JSON_HEDLEY_FLAGS',['../d5/db8/json_8hpp.html#a4bdece2f00bf96988662186d7f23ca0f',1,'json.hpp']]], + ['json_5fhedley_5fflags_5fcast',['JSON_HEDLEY_FLAGS_CAST',['../d5/db8/json_8hpp.html#a701eddd8e14dbe617a9ca81b095e88fb',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fattribute',['JSON_HEDLEY_GCC_HAS_ATTRIBUTE',['../d5/db8/json_8hpp.html#af33c67f65300eb91494f25bf583f5bd7',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fbuiltin',['JSON_HEDLEY_GCC_HAS_BUILTIN',['../d5/db8/json_8hpp.html#aa210655ec7cc8387bef8ade74c3af647',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fcpp_5fattribute',['JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE',['../d5/db8/json_8hpp.html#aaa3c748298e83bf6a67b583b83233c11',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fdeclspec_5fattribute',['JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE',['../d5/db8/json_8hpp.html#a164e098f308804c3bada63613ad75dab',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fextension',['JSON_HEDLEY_GCC_HAS_EXTENSION',['../d5/db8/json_8hpp.html#af488159969a8b7154820cffe04bb4917',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5ffeature',['JSON_HEDLEY_GCC_HAS_FEATURE',['../d5/db8/json_8hpp.html#ae9f353e2ea047111e419855144b06ab7',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fhas_5fwarning',['JSON_HEDLEY_GCC_HAS_WARNING',['../d5/db8/json_8hpp.html#ab45544391bc41507efde58d48331dfc2',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fnot_5fclang_5fversion_5fcheck',['JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK',['../d5/db8/json_8hpp.html#af3737b675cbb70bcdfdaca78c2bc7d4a',1,'json.hpp']]], + ['json_5fhedley_5fgcc_5fversion_5fcheck',['JSON_HEDLEY_GCC_VERSION_CHECK',['../d5/db8/json_8hpp.html#aaf82a065634719d57994ef5876e208ff',1,'json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fattribute',['JSON_HEDLEY_GNUC_HAS_ATTRIBUTE',['../d5/db8/json_8hpp.html#afdf01f41465021815bb6fc4d8c1839fd',1,'json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fbuiltin',['JSON_HEDLEY_GNUC_HAS_BUILTIN',['../d5/db8/json_8hpp.html#a92764b738f44272e1b18c3ef1403c894',1,'json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fcpp_5fattribute',['JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE',['../d5/db8/json_8hpp.html#a938dadb6cadaaaccf72990d09be5dc0a',1,'json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fdeclspec_5fattribute',['JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE',['../d5/db8/json_8hpp.html#a005d6f0dbab6f7152e43fb85fc4f4990',1,'json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fextension',['JSON_HEDLEY_GNUC_HAS_EXTENSION',['../d5/db8/json_8hpp.html#a2417cc05952936574c0a6ed96d73d8e2',1,'json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5ffeature',['JSON_HEDLEY_GNUC_HAS_FEATURE',['../d5/db8/json_8hpp.html#ad5dab327c783036962c7d921a4144676',1,'json.hpp']]], + ['json_5fhedley_5fgnuc_5fhas_5fwarning',['JSON_HEDLEY_GNUC_HAS_WARNING',['../d5/db8/json_8hpp.html#a8afa30449fac8b5069e62f26421d4148',1,'json.hpp']]], + ['json_5fhedley_5fgnuc_5fversion_5fcheck',['JSON_HEDLEY_GNUC_VERSION_CHECK',['../d5/db8/json_8hpp.html#a074e795380699252f28c9526ca83e586',1,'json.hpp']]], + ['json_5fhedley_5fhas_5fattribute',['JSON_HEDLEY_HAS_ATTRIBUTE',['../d5/db8/json_8hpp.html#af41dc3300eaa6e5e6a976730d160a268',1,'json.hpp']]], + ['json_5fhedley_5fhas_5fbuiltin',['JSON_HEDLEY_HAS_BUILTIN',['../d5/db8/json_8hpp.html#acf8ab10ce06ffe6f54840b555b15121c',1,'json.hpp']]], + ['json_5fhedley_5fhas_5fcpp_5fattribute',['JSON_HEDLEY_HAS_CPP_ATTRIBUTE',['../d5/db8/json_8hpp.html#a2c4e6a04293aaf333a31698dea661b3b',1,'json.hpp']]], + ['json_5fhedley_5fhas_5fcpp_5fattribute_5fns',['JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS',['../d5/db8/json_8hpp.html#ad5b94be3095ea0549561c1bc951c5998',1,'json.hpp']]], + ['json_5fhedley_5fhas_5fdeclspec_5fattribute',['JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE',['../d5/db8/json_8hpp.html#ac256365345e803d24cbd9651d3cb0274',1,'json.hpp']]], + ['json_5fhedley_5fhas_5fextension',['JSON_HEDLEY_HAS_EXTENSION',['../d5/db8/json_8hpp.html#a320bfe79028a67cd5873f917bc5418dd',1,'json.hpp']]], + ['json_5fhedley_5fhas_5ffeature',['JSON_HEDLEY_HAS_FEATURE',['../d5/db8/json_8hpp.html#a752eb648bbfc7bcd8a4624c43f520412',1,'json.hpp']]], + ['json_5fhedley_5fhas_5fwarning',['JSON_HEDLEY_HAS_WARNING',['../d5/db8/json_8hpp.html#a472922971d1cd7308a4402042bdafe34',1,'json.hpp']]], + ['json_5fhedley_5fiar_5fversion_5fcheck',['JSON_HEDLEY_IAR_VERSION_CHECK',['../d5/db8/json_8hpp.html#a8788394855e9b5a1cc32327db5a613cb',1,'json.hpp']]], + ['json_5fhedley_5fibm_5fversion_5fcheck',['JSON_HEDLEY_IBM_VERSION_CHECK',['../d5/db8/json_8hpp.html#a66ec7d7c320280d6e75cb3634048cd49',1,'json.hpp']]], + ['json_5fhedley_5fimport',['JSON_HEDLEY_IMPORT',['../d5/db8/json_8hpp.html#a29c62e19dfa10fb48bf3aa877c4af21c',1,'json.hpp']]], + ['json_5fhedley_5finline',['JSON_HEDLEY_INLINE',['../d5/db8/json_8hpp.html#af943d68414c7fe0fdfab7e772fa628a8',1,'json.hpp']]], + ['json_5fhedley_5fintel_5fcl_5fversion_5fcheck',['JSON_HEDLEY_INTEL_CL_VERSION_CHECK',['../d5/db8/json_8hpp.html#a598b8238661e5ae448d5680ae35c4d2f',1,'json.hpp']]], + ['json_5fhedley_5fintel_5fversion_5fcheck',['JSON_HEDLEY_INTEL_VERSION_CHECK',['../d5/db8/json_8hpp.html#ae51b1abb6876168df25d3f36fa335c94',1,'json.hpp']]], + ['json_5fhedley_5fis_5fconstant',['JSON_HEDLEY_IS_CONSTANT',['../d5/db8/json_8hpp.html#a37617841d58aa4d88d0efee4db57ee18',1,'json.hpp']]], + ['json_5fhedley_5flikely',['JSON_HEDLEY_LIKELY',['../d5/db8/json_8hpp.html#a355f2770653ff7bdd5c74b204b5a3ad0',1,'json.hpp']]], + ['json_5fhedley_5fmalloc',['JSON_HEDLEY_MALLOC',['../d5/db8/json_8hpp.html#a521367b4e81907450a7ea0bf28028b01',1,'json.hpp']]], + ['json_5fhedley_5fmcst_5flcc_5fversion_5fcheck',['JSON_HEDLEY_MCST_LCC_VERSION_CHECK',['../d5/db8/json_8hpp.html#a6b0ee37cd596951acd0a951a68e0ac21',1,'json.hpp']]], + ['json_5fhedley_5fmessage',['JSON_HEDLEY_MESSAGE',['../d5/db8/json_8hpp.html#a8419c2b65d28686932087c587eb19157',1,'json.hpp']]], + ['json_5fhedley_5fmsvc_5fversion_5fcheck',['JSON_HEDLEY_MSVC_VERSION_CHECK',['../d5/db8/json_8hpp.html#ac3dc0b5b04f307fc875f9470c0cc841f',1,'json.hpp']]], + ['json_5fhedley_5fnever_5finline',['JSON_HEDLEY_NEVER_INLINE',['../d5/db8/json_8hpp.html#aa400dd54d50fd20d7e931e2f08ee6374',1,'json.hpp']]], + ['json_5fhedley_5fno_5fescape',['JSON_HEDLEY_NO_ESCAPE',['../d5/db8/json_8hpp.html#a9a8fe3009f53d14ac4b48600a2606fc1',1,'json.hpp']]], + ['json_5fhedley_5fno_5freturn',['JSON_HEDLEY_NO_RETURN',['../d5/db8/json_8hpp.html#a82747e7a15c5cecf1223dbc4eb7a1c6b',1,'json.hpp']]], + ['json_5fhedley_5fno_5fthrow',['JSON_HEDLEY_NO_THROW',['../d5/db8/json_8hpp.html#a99bb53bea18285e3d2ae4385c6c75434',1,'json.hpp']]], + ['json_5fhedley_5fnon_5fnull',['JSON_HEDLEY_NON_NULL',['../d5/db8/json_8hpp.html#a5338981b5ad9027c9e54b1c5597f4344',1,'json.hpp']]], + ['json_5fhedley_5fnull',['JSON_HEDLEY_NULL',['../d5/db8/json_8hpp.html#a06449cfb74f25f075a8ea334542f1c65',1,'json.hpp']]], + ['json_5fhedley_5fpelles_5fversion_5fcheck',['JSON_HEDLEY_PELLES_VERSION_CHECK',['../d5/db8/json_8hpp.html#a21937c8e7c79a1bef6695691c733e29f',1,'json.hpp']]], + ['json_5fhedley_5fpgi_5fversion_5fcheck',['JSON_HEDLEY_PGI_VERSION_CHECK',['../d5/db8/json_8hpp.html#a009a77cb8a9fd33aafff173bb945128d',1,'json.hpp']]], + ['json_5fhedley_5fpragma',['JSON_HEDLEY_PRAGMA',['../d5/db8/json_8hpp.html#aeb6e382f24fc5453621ae258b72e8775',1,'json.hpp']]], + ['json_5fhedley_5fpredict',['JSON_HEDLEY_PREDICT',['../d5/db8/json_8hpp.html#a34846d0797b38c1971baee08736dae69',1,'json.hpp']]], + ['json_5fhedley_5fpredict_5ffalse',['JSON_HEDLEY_PREDICT_FALSE',['../d5/db8/json_8hpp.html#aec5597506417346f8f1c4d1f08c7719f',1,'json.hpp']]], + ['json_5fhedley_5fpredict_5ftrue',['JSON_HEDLEY_PREDICT_TRUE',['../d5/db8/json_8hpp.html#adb569cea2c5a17c33734f27e8fef2473',1,'json.hpp']]], + ['json_5fhedley_5fprintf_5fformat',['JSON_HEDLEY_PRINTF_FORMAT',['../d5/db8/json_8hpp.html#a2e17831d69746d3ee8ad4796e96975a2',1,'json.hpp']]], + ['json_5fhedley_5fprivate',['JSON_HEDLEY_PRIVATE',['../d5/db8/json_8hpp.html#a034c879888858092ec101e8d02be67c2',1,'json.hpp']]], + ['json_5fhedley_5fpublic',['JSON_HEDLEY_PUBLIC',['../d5/db8/json_8hpp.html#aa1588f4ea4e7819b5b6e66f07865737f',1,'json.hpp']]], + ['json_5fhedley_5fpure',['JSON_HEDLEY_PURE',['../d5/db8/json_8hpp.html#af5c84b7d1a43361bdc14cc6941078000',1,'json.hpp']]], + ['json_5fhedley_5freinterpret_5fcast',['JSON_HEDLEY_REINTERPRET_CAST',['../d5/db8/json_8hpp.html#a86dd11af75e3f25f5be26cf3c779ba79',1,'json.hpp']]], + ['json_5fhedley_5frequire',['JSON_HEDLEY_REQUIRE',['../d5/db8/json_8hpp.html#acbc72fa9390d5e8b7592a81384dfabf3',1,'json.hpp']]], + ['json_5fhedley_5frequire_5fconstexpr',['JSON_HEDLEY_REQUIRE_CONSTEXPR',['../d5/db8/json_8hpp.html#a1136ab0d872379bb18d0839893bede67',1,'json.hpp']]], + ['json_5fhedley_5frequire_5fmsg',['JSON_HEDLEY_REQUIRE_MSG',['../d5/db8/json_8hpp.html#a7106fb230747163b5b16121eb6a42b23',1,'json.hpp']]], + ['json_5fhedley_5frestrict',['JSON_HEDLEY_RESTRICT',['../d5/db8/json_8hpp.html#ad4979e5bc2f252ff6e367fc254ab4e85',1,'json.hpp']]], + ['json_5fhedley_5freturns_5fnon_5fnull',['JSON_HEDLEY_RETURNS_NON_NULL',['../d5/db8/json_8hpp.html#a5f2aaec3b681d0a72f7d6e90b70cdcd1',1,'json.hpp']]], + ['json_5fhedley_5fsentinel',['JSON_HEDLEY_SENTINEL',['../d5/db8/json_8hpp.html#afe58497d56cda5e4cbf2d33be1bdd91e',1,'json.hpp']]], + ['json_5fhedley_5fstatic_5fassert',['JSON_HEDLEY_STATIC_ASSERT',['../d5/db8/json_8hpp.html#a04269935c66fe5a9b6c33fa36037d215',1,'json.hpp']]], + ['json_5fhedley_5fstatic_5fcast',['JSON_HEDLEY_STATIC_CAST',['../d5/db8/json_8hpp.html#a2edb8d037ad5cbac818c86aca317226a',1,'json.hpp']]], + ['json_5fhedley_5fstringify',['JSON_HEDLEY_STRINGIFY',['../d5/db8/json_8hpp.html#a9b2aefadecfe77306599a08b0d8147ca',1,'json.hpp']]], + ['json_5fhedley_5fstringify_5fex',['JSON_HEDLEY_STRINGIFY_EX',['../d5/db8/json_8hpp.html#a8b50e69690eed3a7e11797b1122b4302',1,'json.hpp']]], + ['json_5fhedley_5fsunpro_5fversion_5fcheck',['JSON_HEDLEY_SUNPRO_VERSION_CHECK',['../d5/db8/json_8hpp.html#a4b6d318de76d6d23850ec1a588bdeffa',1,'json.hpp']]], + ['json_5fhedley_5fti_5farmcl_5fversion_5fcheck',['JSON_HEDLEY_TI_ARMCL_VERSION_CHECK',['../d5/db8/json_8hpp.html#abbff24b90b5e9f8b586ee0b334baa636',1,'json.hpp']]], + ['json_5fhedley_5fti_5fcl2000_5fversion_5fcheck',['JSON_HEDLEY_TI_CL2000_VERSION_CHECK',['../d5/db8/json_8hpp.html#a1ff3757a45a2cb0c54f78722fd7dc47c',1,'json.hpp']]], + ['json_5fhedley_5fti_5fcl430_5fversion_5fcheck',['JSON_HEDLEY_TI_CL430_VERSION_CHECK',['../d5/db8/json_8hpp.html#a0c4b607b1dda665174dcd4c6cfe6ce95',1,'json.hpp']]], + ['json_5fhedley_5fti_5fcl6x_5fversion_5fcheck',['JSON_HEDLEY_TI_CL6X_VERSION_CHECK',['../d5/db8/json_8hpp.html#a138095ac760d2964c84f562b23332101',1,'json.hpp']]], + ['json_5fhedley_5fti_5fcl7x_5fversion_5fcheck',['JSON_HEDLEY_TI_CL7X_VERSION_CHECK',['../d5/db8/json_8hpp.html#a6198db3ff6fc72b1fa798229fd025229',1,'json.hpp']]], + ['json_5fhedley_5fti_5fclpru_5fversion_5fcheck',['JSON_HEDLEY_TI_CLPRU_VERSION_CHECK',['../d5/db8/json_8hpp.html#aab50c0bc1673dde3c1cf4e3b131e97ad',1,'json.hpp']]], + ['json_5fhedley_5fti_5fversion_5fcheck',['JSON_HEDLEY_TI_VERSION_CHECK',['../d5/db8/json_8hpp.html#a3d620ef5f95be933b3d8e24d4fc5b6d5',1,'json.hpp']]], + ['json_5fhedley_5ftinyc_5fversion_5fcheck',['JSON_HEDLEY_TINYC_VERSION_CHECK',['../d5/db8/json_8hpp.html#a38192f48e8c6ee0018a988d54e97cacf',1,'json.hpp']]], + ['json_5fhedley_5funavailable',['JSON_HEDLEY_UNAVAILABLE',['../d5/db8/json_8hpp.html#a681fd0533fbc24394f3322b6f4a60c4f',1,'json.hpp']]], + ['json_5fhedley_5funlikely',['JSON_HEDLEY_UNLIKELY',['../d5/db8/json_8hpp.html#a8df7de76ab3c9445f46f6994ec205bcd',1,'json.hpp']]], + ['json_5fhedley_5funpredictable',['JSON_HEDLEY_UNPREDICTABLE',['../d5/db8/json_8hpp.html#a26967eb7395562701e450cec045dda15',1,'json.hpp']]], + ['json_5fhedley_5funreachable',['JSON_HEDLEY_UNREACHABLE',['../d5/db8/json_8hpp.html#a2d5705bd7bd14855c3ef5b98305c5fb4',1,'json.hpp']]], + ['json_5fhedley_5funreachable_5freturn',['JSON_HEDLEY_UNREACHABLE_RETURN',['../d5/db8/json_8hpp.html#a06401b258ef03263f2aec48029dc8b03',1,'json.hpp']]], + ['json_5fhedley_5fversion',['JSON_HEDLEY_VERSION',['../d5/db8/json_8hpp.html#ae4654024695783bdf7cbd900f0e0634a',1,'json.hpp']]], + ['json_5fhedley_5fversion_5fdecode_5fmajor',['JSON_HEDLEY_VERSION_DECODE_MAJOR',['../d5/db8/json_8hpp.html#a50f81c80525d6fbce743d5d28b53ff73',1,'json.hpp']]], + ['json_5fhedley_5fversion_5fdecode_5fminor',['JSON_HEDLEY_VERSION_DECODE_MINOR',['../d5/db8/json_8hpp.html#ae55f01749c4cc564b20b0f2650f10519',1,'json.hpp']]], + ['json_5fhedley_5fversion_5fdecode_5frevision',['JSON_HEDLEY_VERSION_DECODE_REVISION',['../d5/db8/json_8hpp.html#a2d04cc47c899e9addd019e0e7d1ebdbb',1,'json.hpp']]], + ['json_5fhedley_5fversion_5fencode',['JSON_HEDLEY_VERSION_ENCODE',['../d5/db8/json_8hpp.html#aa1da535c59b21f70e5967b66473543f0',1,'json.hpp']]], + ['json_5fhedley_5fwarn_5funused_5fresult',['JSON_HEDLEY_WARN_UNUSED_RESULT',['../d5/db8/json_8hpp.html#a28d7e3b2d26bd5b8a3806da3db7dea03',1,'json.hpp']]], + ['json_5fhedley_5fwarn_5funused_5fresult_5fmsg',['JSON_HEDLEY_WARN_UNUSED_RESULT_MSG',['../d5/db8/json_8hpp.html#adfb98ffe9adf238a5ba1670738c0f387',1,'json.hpp']]], + ['json_5fhedley_5fwarning',['JSON_HEDLEY_WARNING',['../d5/db8/json_8hpp.html#a5563e5b0fbc2a9b525830081404d9208',1,'json.hpp']]], + ['json_5finternal_5fcatch',['JSON_INTERNAL_CATCH',['../d5/db8/json_8hpp.html#a5478b7564e65634cc69432ed3cb6490e',1,'json.hpp']]], + ['json_5fprivate_5funless_5ftested',['JSON_PRIVATE_UNLESS_TESTED',['../d5/db8/json_8hpp.html#a2cf645f34610e7f7d6e09ab88a2ab917',1,'json.hpp']]], + ['json_5fthrow',['JSON_THROW',['../d5/db8/json_8hpp.html#a6c274f6db2e65c1b66c7d41b06ad690f',1,'json.hpp']]], + ['json_5ftry',['JSON_TRY',['../d5/db8/json_8hpp.html#a985d3b82445302c57257f6432f261fe9',1,'json.hpp']]], + ['json_5fuse_5fimplicit_5fconversions',['JSON_USE_IMPLICIT_CONVERSIONS',['../d5/db8/json_8hpp.html#a24c96ca7fc59096c30b32339a953f97d',1,'json.hpp']]] +]; diff --git a/docs/search/defines_2.html b/docs/search/defines_2.html new file mode 100644 index 00000000..86559939 --- /dev/null +++ b/docs/search/defines_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/defines_2.js b/docs/search/defines_2.js new file mode 100644 index 00000000..5eb88fe4 --- /dev/null +++ b/docs/search/defines_2.js @@ -0,0 +1,79 @@ +var searchData= +[ + ['nlohmann_5fbasic_5fjson_5ftpl',['NLOHMANN_BASIC_JSON_TPL',['../d5/db8/json_8hpp.html#a80b7254e63f199a1f656f07ae551f632',1,'json.hpp']]], + ['nlohmann_5fbasic_5fjson_5ftpl_5fdeclaration',['NLOHMANN_BASIC_JSON_TPL_DECLARATION',['../d5/db8/json_8hpp.html#a0643bd74c2dc6f0e4e420b8190ea8f0f',1,'json.hpp']]], + ['nlohmann_5fdefine_5ftype_5fintrusive',['NLOHMANN_DEFINE_TYPE_INTRUSIVE',['../d5/db8/json_8hpp.html#ad22f878b4987246e5a4f4f258228e775',1,'json.hpp']]], + ['nlohmann_5fdefine_5ftype_5fnon_5fintrusive',['NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE',['../d5/db8/json_8hpp.html#a5767c8967df840d48dc01b0cf810a882',1,'json.hpp']]], + ['nlohmann_5fjson_5fexpand',['NLOHMANN_JSON_EXPAND',['../d5/db8/json_8hpp.html#af62f70922a57ffa728d579d3c7963bf5',1,'json.hpp']]], + ['nlohmann_5fjson_5ffrom',['NLOHMANN_JSON_FROM',['../d5/db8/json_8hpp.html#a8d18979cc7c33deda994e0caacf9e5e0',1,'json.hpp']]], + ['nlohmann_5fjson_5fget_5fmacro',['NLOHMANN_JSON_GET_MACRO',['../d5/db8/json_8hpp.html#afc0845ecb0987d16963a81f34bb0d94d',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste',['NLOHMANN_JSON_PASTE',['../d5/db8/json_8hpp.html#a9495fb0e6d683bfa654ed646495b408a',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste10',['NLOHMANN_JSON_PASTE10',['../d5/db8/json_8hpp.html#add270ee96fa3a6ffb454db30084db2e0',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste11',['NLOHMANN_JSON_PASTE11',['../d5/db8/json_8hpp.html#a98dd3b9b615ae85290d286ae863cde54',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste12',['NLOHMANN_JSON_PASTE12',['../d5/db8/json_8hpp.html#a58a04525435cdf51110639ee089ed012',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste13',['NLOHMANN_JSON_PASTE13',['../d5/db8/json_8hpp.html#aa88bff73660c72539ddf13e42ebbe227',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste14',['NLOHMANN_JSON_PASTE14',['../d5/db8/json_8hpp.html#a8f25d249f0af16eaac3b8444bd79e66b',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste15',['NLOHMANN_JSON_PASTE15',['../d5/db8/json_8hpp.html#a90005c47b51e2bc57bb86d089429bd1c',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste16',['NLOHMANN_JSON_PASTE16',['../d5/db8/json_8hpp.html#aed0149d0e2dae927ae5a845556cfaab6',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste17',['NLOHMANN_JSON_PASTE17',['../d5/db8/json_8hpp.html#a425f5b0501e323903d0452227d83b764',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste18',['NLOHMANN_JSON_PASTE18',['../d5/db8/json_8hpp.html#af39a0f63c596c5b4dd001aa0b1c4a76c',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste19',['NLOHMANN_JSON_PASTE19',['../d5/db8/json_8hpp.html#a7f0c430594f42a2409ff2474722133c5',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste2',['NLOHMANN_JSON_PASTE2',['../d5/db8/json_8hpp.html#a682c9966e923aa4fa0193b278b1edd2a',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste20',['NLOHMANN_JSON_PASTE20',['../d5/db8/json_8hpp.html#a30507458068a8b4b2fb270712915783d',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste21',['NLOHMANN_JSON_PASTE21',['../d5/db8/json_8hpp.html#ae63341f0ec1f867e557805655afc4103',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste22',['NLOHMANN_JSON_PASTE22',['../d5/db8/json_8hpp.html#a3120ded0ea577721fd71e3591657c577',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste23',['NLOHMANN_JSON_PASTE23',['../d5/db8/json_8hpp.html#ac848d6f3e9ae4bae4f0638fcb5ab996f',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste24',['NLOHMANN_JSON_PASTE24',['../d5/db8/json_8hpp.html#adfe12412820ef1409359615c41440345',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste25',['NLOHMANN_JSON_PASTE25',['../d5/db8/json_8hpp.html#a33416940d4a62a583f03b0ff2375400e',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste26',['NLOHMANN_JSON_PASTE26',['../d5/db8/json_8hpp.html#a866beb938b64216218cd062e18602eb9',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste27',['NLOHMANN_JSON_PASTE27',['../d5/db8/json_8hpp.html#a95b9c0445b989761a5ca49cf7e5b0f21',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste28',['NLOHMANN_JSON_PASTE28',['../d5/db8/json_8hpp.html#a58f402f503add069cbb5824130b63a50',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste29',['NLOHMANN_JSON_PASTE29',['../d5/db8/json_8hpp.html#a3f6cfd0610cc977f34e910266945f200',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste3',['NLOHMANN_JSON_PASTE3',['../d5/db8/json_8hpp.html#aaed4e77f612a9644d47c23508fb11f52',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste30',['NLOHMANN_JSON_PASTE30',['../d5/db8/json_8hpp.html#a5091052b859b2a814db1ed8f6ed6a2a2',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste31',['NLOHMANN_JSON_PASTE31',['../d5/db8/json_8hpp.html#ae4992f39bb2ab8bd14e62c11598b2ae5',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste32',['NLOHMANN_JSON_PASTE32',['../d5/db8/json_8hpp.html#af0f98920ec61e99028f7fdef8e920595',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste33',['NLOHMANN_JSON_PASTE33',['../d5/db8/json_8hpp.html#ab4071130e08cb0863d4e3487fa79cda1',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste34',['NLOHMANN_JSON_PASTE34',['../d5/db8/json_8hpp.html#a358ebb5dee01b8ed59bc28f815bc6d93',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste35',['NLOHMANN_JSON_PASTE35',['../d5/db8/json_8hpp.html#aeeea2b876c2a636481b3ae5ef11a19dc',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste36',['NLOHMANN_JSON_PASTE36',['../d5/db8/json_8hpp.html#a33ac48776f95a68576c40217395bf48d',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste37',['NLOHMANN_JSON_PASTE37',['../d5/db8/json_8hpp.html#a07deda8156c4854e92eb65fcc082901b',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste38',['NLOHMANN_JSON_PASTE38',['../d5/db8/json_8hpp.html#a977ee5f6587abac33244336ebd969d8f',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste39',['NLOHMANN_JSON_PASTE39',['../d5/db8/json_8hpp.html#af227f94449238a7a4773364559b7e293',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste4',['NLOHMANN_JSON_PASTE4',['../d5/db8/json_8hpp.html#a5349ab2d8aea839cdd9d127f1228bd28',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste40',['NLOHMANN_JSON_PASTE40',['../d5/db8/json_8hpp.html#a93c6c888c43aec21adfc7ffdc92cf7d0',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste41',['NLOHMANN_JSON_PASTE41',['../d5/db8/json_8hpp.html#a18e393011cc564dc6b0f1d15b8c84e05',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste42',['NLOHMANN_JSON_PASTE42',['../d5/db8/json_8hpp.html#a95e4a1508b5f7887c6158bc1c8421214',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste43',['NLOHMANN_JSON_PASTE43',['../d5/db8/json_8hpp.html#a92d3147a1b6ee178d6645f087b0092a2',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste44',['NLOHMANN_JSON_PASTE44',['../d5/db8/json_8hpp.html#a0a88431676c1c0dd23152f6398c85b47',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste45',['NLOHMANN_JSON_PASTE45',['../d5/db8/json_8hpp.html#a690c86f3a6798a8f228c23e353fa1f4c',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste46',['NLOHMANN_JSON_PASTE46',['../d5/db8/json_8hpp.html#a2b608f54c6ad7eb116db8ac32d662e59',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste47',['NLOHMANN_JSON_PASTE47',['../d5/db8/json_8hpp.html#acb41a7b4ef92bdebd48fff958a07ba73',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste48',['NLOHMANN_JSON_PASTE48',['../d5/db8/json_8hpp.html#abba715e3b79d43cd3edfc327964af993',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste49',['NLOHMANN_JSON_PASTE49',['../d5/db8/json_8hpp.html#ae194fe1cdd80019af57b88d7a07be858',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste5',['NLOHMANN_JSON_PASTE5',['../d5/db8/json_8hpp.html#a49c543dca7e9b9844991dad31328fb06',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste50',['NLOHMANN_JSON_PASTE50',['../d5/db8/json_8hpp.html#a019bc7ba256120287abe9297d8220f8d',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste51',['NLOHMANN_JSON_PASTE51',['../d5/db8/json_8hpp.html#a4f8f97d2fbb1d02cb9e14253db29afc5',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste52',['NLOHMANN_JSON_PASTE52',['../d5/db8/json_8hpp.html#a6e5309c4debd7b1ca036bd78a45da83d',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste53',['NLOHMANN_JSON_PASTE53',['../d5/db8/json_8hpp.html#a8305e64563937a0421af09a573184a15',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste54',['NLOHMANN_JSON_PASTE54',['../d5/db8/json_8hpp.html#ac436de6daea01cb2256bd87717a820f6',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste55',['NLOHMANN_JSON_PASTE55',['../d5/db8/json_8hpp.html#abce6d2ddf2ea1e5ad59066d0fc5278e4',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste56',['NLOHMANN_JSON_PASTE56',['../d5/db8/json_8hpp.html#a48a0da09ac90252022f6864cfa3d9448',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste57',['NLOHMANN_JSON_PASTE57',['../d5/db8/json_8hpp.html#a768d6ebcd60776a1a90a20ee96cc92c9',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste58',['NLOHMANN_JSON_PASTE58',['../d5/db8/json_8hpp.html#a3fdc9b5e6d3c8ae21a13950f89e1380a',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste59',['NLOHMANN_JSON_PASTE59',['../d5/db8/json_8hpp.html#a72d13fe9cacdfa68533b8e46b06c8edc',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste6',['NLOHMANN_JSON_PASTE6',['../d5/db8/json_8hpp.html#a6da6cf565af6a4a786b484019dce2fd3',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste60',['NLOHMANN_JSON_PASTE60',['../d5/db8/json_8hpp.html#aaa4d92bb3eee9252b5e7e3c94331e89e',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste61',['NLOHMANN_JSON_PASTE61',['../d5/db8/json_8hpp.html#ad40518144e6777220fd044e3823d5709',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste62',['NLOHMANN_JSON_PASTE62',['../d5/db8/json_8hpp.html#a2058eaa857e2b8409234212297c30b5c',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste63',['NLOHMANN_JSON_PASTE63',['../d5/db8/json_8hpp.html#a20df787f375192fed2b9529178f4e003',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste64',['NLOHMANN_JSON_PASTE64',['../d5/db8/json_8hpp.html#a8fee48568bba4163bcc0ffd2a556d5cf',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste7',['NLOHMANN_JSON_PASTE7',['../d5/db8/json_8hpp.html#ab3cf0b823706b94a78c0611209df5044',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste8',['NLOHMANN_JSON_PASTE8',['../d5/db8/json_8hpp.html#a931a0b268897bdd26521ac3152ddba5b',1,'json.hpp']]], + ['nlohmann_5fjson_5fpaste9',['NLOHMANN_JSON_PASTE9',['../d5/db8/json_8hpp.html#aed2ec7e247cd50f8f9941ca3fe6f2a2a',1,'json.hpp']]], + ['nlohmann_5fjson_5fserialize_5fenum',['NLOHMANN_JSON_SERIALIZE_ENUM',['../d5/db8/json_8hpp.html#a4c5d399dfa9252e70f876756f3f49084',1,'json.hpp']]], + ['nlohmann_5fjson_5fto',['NLOHMANN_JSON_TO',['../d5/db8/json_8hpp.html#a32c518e9a43fb0389fccb41e5c6f63a9',1,'json.hpp']]], + ['nlohmann_5fjson_5fversion_5fmajor',['NLOHMANN_JSON_VERSION_MAJOR',['../d5/db8/json_8hpp.html#a7c94253db90041af11dd946a49f0f8a4',1,'json.hpp']]], + ['nlohmann_5fjson_5fversion_5fminor',['NLOHMANN_JSON_VERSION_MINOR',['../d5/db8/json_8hpp.html#ab5ca1e164894d78d3276d2e5fe58c5e3',1,'json.hpp']]], + ['nlohmann_5fjson_5fversion_5fpatch',['NLOHMANN_JSON_VERSION_PATCH',['../d5/db8/json_8hpp.html#a307e0238ebc35e99ea45c68823eb83eb',1,'json.hpp']]] +]; diff --git a/docs/search/enums_0.js b/docs/search/enums_0.js index c0196e4d..a04be766 100644 --- a/docs/search/enums_0.js +++ b/docs/search/enums_0.js @@ -1,4 +1,5 @@ var searchData= [ + ['cbor_5ftag_5fhandler_5ft',['cbor_tag_handler_t',['../dc/df0/namespacenlohmann_1_1detail.html#a58bb1ef1a9ad287a9cfaf1855784d9ac',1,'nlohmann::detail']]], ['cudnnfindsamplingtechnique',['CudnnFindSamplingTechnique',['../df/de1/namespacecudnn__frontend.html#ab3748fa00b36beec790db7201fdd2ef3',1,'cudnn_frontend']]] ]; diff --git a/docs/search/enums_1.html b/docs/search/enums_1.html new file mode 100644 index 00000000..3fd210a0 --- /dev/null +++ b/docs/search/enums_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enums_1.js b/docs/search/enums_1.js new file mode 100644 index 00000000..423a45a3 --- /dev/null +++ b/docs/search/enums_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['error_5fhandler_5ft',['error_handler_t',['../dc/df0/namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967df',1,'nlohmann::detail']]] +]; diff --git a/docs/search/enums_2.html b/docs/search/enums_2.html new file mode 100644 index 00000000..a042e520 --- /dev/null +++ b/docs/search/enums_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enums_2.js b/docs/search/enums_2.js new file mode 100644 index 00000000..3918be30 --- /dev/null +++ b/docs/search/enums_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['input_5fformat_5ft',['input_format_t',['../dc/df0/namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40',1,'nlohmann::detail']]] +]; diff --git a/docs/search/enums_3.html b/docs/search/enums_3.html new file mode 100644 index 00000000..265e0cb9 --- /dev/null +++ b/docs/search/enums_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enums_3.js b/docs/search/enums_3.js new file mode 100644 index 00000000..3efc8bfe --- /dev/null +++ b/docs/search/enums_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['parse_5fevent_5ft',['parse_event_t',['../dc/df0/namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1a',1,'nlohmann::detail']]] +]; diff --git a/docs/search/enums_4.html b/docs/search/enums_4.html new file mode 100644 index 00000000..97ee07fb --- /dev/null +++ b/docs/search/enums_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enums_4.js b/docs/search/enums_4.js new file mode 100644 index 00000000..28013edf --- /dev/null +++ b/docs/search/enums_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['token_5ftype',['token_type',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454',1,'nlohmann::detail::lexer_base']]] +]; diff --git a/docs/search/enums_5.html b/docs/search/enums_5.html new file mode 100644 index 00000000..f837d25f --- /dev/null +++ b/docs/search/enums_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enums_5.js b/docs/search/enums_5.js new file mode 100644 index 00000000..d9877f13 --- /dev/null +++ b/docs/search/enums_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['value_5ft',['value_t',['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985',1,'nlohmann::detail']]] +]; diff --git a/docs/search/enumvalues_0.js b/docs/search/enumvalues_0.js index bc072e05..4d32cbc6 100644 --- a/docs/search/enumvalues_0.js +++ b/docs/search/enumvalues_0.js @@ -1,6 +1,6 @@ var searchData= [ - ['cudnn_5ffind_5fsample_5fmedian_5fof_5fthree',['CUDNN_FIND_SAMPLE_MEDIAN_OF_THREE',['../df/de1/namespacecudnn__frontend.html#ab3748fa00b36beec790db7201fdd2ef3a903bfd2e4d1b8ab2a7197be752c618a6',1,'cudnn_frontend']]], - ['cudnn_5ffind_5fsample_5fonce',['CUDNN_FIND_SAMPLE_ONCE',['../df/de1/namespacecudnn__frontend.html#ab3748fa00b36beec790db7201fdd2ef3ac8ab707d81df65503b6b0ecc67675158',1,'cudnn_frontend']]], - ['cudnn_5ffind_5fsample_5ftill_5fstable',['CUDNN_FIND_SAMPLE_TILL_STABLE',['../df/de1/namespacecudnn__frontend.html#ab3748fa00b36beec790db7201fdd2ef3a8199dfa6701edb38f52a74d9e229b43d',1,'cudnn_frontend']]] + ['array',['array',['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985af1f713c9e000f5d3f280adbd124df4f5',1,'nlohmann::detail']]], + ['array_5fend',['array_end',['../dc/df0/namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa49642fb732aa2e112188fba1f9d3ef7f',1,'nlohmann::detail']]], + ['array_5fstart',['array_start',['../dc/df0/namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aaa4388a3d92419edbb1c6efd4d52461f3',1,'nlohmann::detail']]] ]; diff --git a/docs/search/enumvalues_1.html b/docs/search/enumvalues_1.html new file mode 100644 index 00000000..f622aba9 --- /dev/null +++ b/docs/search/enumvalues_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enumvalues_1.js b/docs/search/enumvalues_1.js new file mode 100644 index 00000000..16a25fb9 --- /dev/null +++ b/docs/search/enumvalues_1.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['begin_5farray',['begin_array',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a16c226b4425b68560fea322b46dabe01',1,'nlohmann::detail::lexer_base']]], + ['begin_5fobject',['begin_object',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a9a9ffd53b6869d4eca271b1ed5b57fe8',1,'nlohmann::detail::lexer_base']]], + ['binary',['binary',['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a9d7183f16acce70658f686ae7f1a4d20',1,'nlohmann::detail']]], + ['boolean',['boolean',['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a84e2c64f38f78ba3ea5c905ab5a2da27',1,'nlohmann::detail']]], + ['bson',['bson',['../dc/df0/namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40a0b6879b186bfb2b1ec65d2460e4eccd4',1,'nlohmann::detail']]] +]; diff --git a/docs/search/enumvalues_10.html b/docs/search/enumvalues_10.html new file mode 100644 index 00000000..f211cc3f --- /dev/null +++ b/docs/search/enumvalues_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enumvalues_10.js b/docs/search/enumvalues_10.js new file mode 100644 index 00000000..f24eed43 --- /dev/null +++ b/docs/search/enumvalues_10.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['value',['value',['../dc/df0/namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa2063c1608d6e0baf80249c42e2be5804',1,'nlohmann::detail']]], + ['value_5ffloat',['value_float',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a0d2671a6f81efb91e77f6ac3bdb11443',1,'nlohmann::detail::lexer_base']]], + ['value_5finteger',['value_integer',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a5064b6655d88a50ae16665cf7751c0ee',1,'nlohmann::detail::lexer_base']]], + ['value_5fseparator',['value_separator',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a745373036100d7392ad62c617cab59af',1,'nlohmann::detail::lexer_base']]], + ['value_5fstring',['value_string',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a2b490e8bf366b4cbe3ebd99b26ce15ce',1,'nlohmann::detail::lexer_base']]], + ['value_5funsigned',['value_unsigned',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454aaf1f040fcd2f674d2e5893d7a731078f',1,'nlohmann::detail::lexer_base']]] +]; diff --git a/docs/search/enumvalues_2.html b/docs/search/enumvalues_2.html new file mode 100644 index 00000000..d4990784 --- /dev/null +++ b/docs/search/enumvalues_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enumvalues_2.js b/docs/search/enumvalues_2.js new file mode 100644 index 00000000..8847e8ac --- /dev/null +++ b/docs/search/enumvalues_2.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['cbor',['cbor',['../dc/df0/namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40aaf9de350d652f0c9055ddab514bd23ea',1,'nlohmann::detail']]], + ['cudnn_5ffind_5fsample_5fmedian_5fof_5fthree',['CUDNN_FIND_SAMPLE_MEDIAN_OF_THREE',['../df/de1/namespacecudnn__frontend.html#ab3748fa00b36beec790db7201fdd2ef3a903bfd2e4d1b8ab2a7197be752c618a6',1,'cudnn_frontend']]], + ['cudnn_5ffind_5fsample_5fonce',['CUDNN_FIND_SAMPLE_ONCE',['../df/de1/namespacecudnn__frontend.html#ab3748fa00b36beec790db7201fdd2ef3ac8ab707d81df65503b6b0ecc67675158',1,'cudnn_frontend']]], + ['cudnn_5ffind_5fsample_5ftill_5fstable',['CUDNN_FIND_SAMPLE_TILL_STABLE',['../df/de1/namespacecudnn__frontend.html#ab3748fa00b36beec790db7201fdd2ef3a8199dfa6701edb38f52a74d9e229b43d',1,'cudnn_frontend']]] +]; diff --git a/docs/search/enumvalues_3.html b/docs/search/enumvalues_3.html new file mode 100644 index 00000000..b4fc3ee8 --- /dev/null +++ b/docs/search/enumvalues_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enumvalues_3.js b/docs/search/enumvalues_3.js new file mode 100644 index 00000000..252d8c5f --- /dev/null +++ b/docs/search/enumvalues_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['discarded',['discarded',['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a94708897ec9db8647dfe695714c98e46',1,'nlohmann::detail']]] +]; diff --git a/docs/search/enumvalues_4.html b/docs/search/enumvalues_4.html new file mode 100644 index 00000000..d6f69ac9 --- /dev/null +++ b/docs/search/enumvalues_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enumvalues_4.js b/docs/search/enumvalues_4.js new file mode 100644 index 00000000..117b0d85 --- /dev/null +++ b/docs/search/enumvalues_4.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['end_5farray',['end_array',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a2f3e68e7f111a1e5c7728742b3ca2b7f',1,'nlohmann::detail::lexer_base']]], + ['end_5fobject',['end_object',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a7d5b4427866814de4d8f132721d59c87',1,'nlohmann::detail::lexer_base']]], + ['end_5fof_5finput',['end_of_input',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454aca11f56dd477c09e06583dbdcda0985f',1,'nlohmann::detail::lexer_base']]], + ['error',['error',['../dc/df0/namespacenlohmann_1_1detail.html#a58bb1ef1a9ad287a9cfaf1855784d9acacb5e100e5a9a3e7f6d1fd97512215282',1,'nlohmann::detail']]] +]; diff --git a/docs/search/enumvalues_5.html b/docs/search/enumvalues_5.html new file mode 100644 index 00000000..43a28d17 --- /dev/null +++ b/docs/search/enumvalues_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enumvalues_5.js b/docs/search/enumvalues_5.js new file mode 100644 index 00000000..41f0815f --- /dev/null +++ b/docs/search/enumvalues_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ignore',['ignore',['../dc/df0/namespacenlohmann_1_1detail.html#a58bb1ef1a9ad287a9cfaf1855784d9aca567bc1d268f135496de3d5b946b691f3',1,'nlohmann::detail::ignore()'],['../dc/df0/namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa567bc1d268f135496de3d5b946b691f3',1,'nlohmann::detail::ignore()']]] +]; diff --git a/docs/search/enumvalues_6.html b/docs/search/enumvalues_6.html new file mode 100644 index 00000000..7439ee17 --- /dev/null +++ b/docs/search/enumvalues_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enumvalues_6.js b/docs/search/enumvalues_6.js new file mode 100644 index 00000000..0eb588ff --- /dev/null +++ b/docs/search/enumvalues_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['json',['json',['../dc/df0/namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40a466deec76ecdf5fca6d38571f6324d54',1,'nlohmann::detail']]] +]; diff --git a/docs/search/enumvalues_7.html b/docs/search/enumvalues_7.html new file mode 100644 index 00000000..ab72ef1f --- /dev/null +++ b/docs/search/enumvalues_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enumvalues_7.js b/docs/search/enumvalues_7.js new file mode 100644 index 00000000..fa45ecaa --- /dev/null +++ b/docs/search/enumvalues_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['key',['key',['../dc/df0/namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aa3c6e0b8a9c15224a8228b9a98ca1531d',1,'nlohmann::detail']]] +]; diff --git a/docs/search/enumvalues_8.html b/docs/search/enumvalues_8.html new file mode 100644 index 00000000..a0e8f1c8 --- /dev/null +++ b/docs/search/enumvalues_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enumvalues_8.js b/docs/search/enumvalues_8.js new file mode 100644 index 00000000..ac967ee5 --- /dev/null +++ b/docs/search/enumvalues_8.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['literal_5ffalse',['literal_false',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454afab1694b1b3937a079f4625fe0b6108b',1,'nlohmann::detail::lexer_base']]], + ['literal_5fnull',['literal_null',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454ab7ae4c0e46d86f884677768160b26e9e',1,'nlohmann::detail::lexer_base']]], + ['literal_5for_5fvalue',['literal_or_value',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454ad2a8e6f6721cccec0b466301dd9495a5',1,'nlohmann::detail::lexer_base']]], + ['literal_5ftrue',['literal_true',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a85cc1a37b0aaa52de40e72f0ed4e0c0d',1,'nlohmann::detail::lexer_base']]] +]; diff --git a/docs/search/enumvalues_9.html b/docs/search/enumvalues_9.html new file mode 100644 index 00000000..9051459b --- /dev/null +++ b/docs/search/enumvalues_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enumvalues_9.js b/docs/search/enumvalues_9.js new file mode 100644 index 00000000..08de8ba4 --- /dev/null +++ b/docs/search/enumvalues_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['msgpack',['msgpack',['../dc/df0/namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40ac40d516627022a54003ac2b74a82688a',1,'nlohmann::detail']]] +]; diff --git a/docs/search/enumvalues_a.html b/docs/search/enumvalues_a.html new file mode 100644 index 00000000..f10160a6 --- /dev/null +++ b/docs/search/enumvalues_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enumvalues_a.js b/docs/search/enumvalues_a.js new file mode 100644 index 00000000..ff79888a --- /dev/null +++ b/docs/search/enumvalues_a.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['name_5fseparator',['name_separator',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454acc3c64f8ae08c00de1b33f19a4d2913a',1,'nlohmann::detail::lexer_base']]], + ['null',['null',['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a37a6259cc0c1dae299a7866489dff0bd',1,'nlohmann::detail']]], + ['number_5ffloat',['number_float',['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985ad9966ecb59667235a57b4b999a649eef',1,'nlohmann::detail']]], + ['number_5finteger',['number_integer',['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985a5763da164f8659d94a56e29df64b4bcc',1,'nlohmann::detail']]], + ['number_5funsigned',['number_unsigned',['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985adce7cc8ec29055c4158828921f2f265e',1,'nlohmann::detail']]] +]; diff --git a/docs/search/enumvalues_b.html b/docs/search/enumvalues_b.html new file mode 100644 index 00000000..0e2cb48c --- /dev/null +++ b/docs/search/enumvalues_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enumvalues_b.js b/docs/search/enumvalues_b.js new file mode 100644 index 00000000..2fca32b6 --- /dev/null +++ b/docs/search/enumvalues_b.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['object',['object',['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985aa8cfde6331bd59eb2ac96f8911c4b666',1,'nlohmann::detail']]], + ['object_5fend',['object_end',['../dc/df0/namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aaf63e2a2468a37aa4f394fcc3bcb8249c',1,'nlohmann::detail']]], + ['object_5fstart',['object_start',['../dc/df0/namespacenlohmann_1_1detail.html#a2fb6dae6578e06ae73ca0d7cc8512b1aae73f17027cb0acbb537f29d0a6944b26',1,'nlohmann::detail']]] +]; diff --git a/docs/search/enumvalues_c.html b/docs/search/enumvalues_c.html new file mode 100644 index 00000000..82ba68a4 --- /dev/null +++ b/docs/search/enumvalues_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enumvalues_c.js b/docs/search/enumvalues_c.js new file mode 100644 index 00000000..f028e7b2 --- /dev/null +++ b/docs/search/enumvalues_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['parse_5ferror',['parse_error',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a456e19aeafa334241c7ff3f589547f9d',1,'nlohmann::detail::lexer_base']]] +]; diff --git a/docs/search/enumvalues_d.html b/docs/search/enumvalues_d.html new file mode 100644 index 00000000..8516692d --- /dev/null +++ b/docs/search/enumvalues_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enumvalues_d.js b/docs/search/enumvalues_d.js new file mode 100644 index 00000000..32ffe8c2 --- /dev/null +++ b/docs/search/enumvalues_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['replace',['replace',['../dc/df0/namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa9dde360102c103867bd2f45872f1129c',1,'nlohmann::detail']]] +]; diff --git a/docs/search/enumvalues_e.html b/docs/search/enumvalues_e.html new file mode 100644 index 00000000..d95adb6f --- /dev/null +++ b/docs/search/enumvalues_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enumvalues_e.js b/docs/search/enumvalues_e.js new file mode 100644 index 00000000..9112881b --- /dev/null +++ b/docs/search/enumvalues_e.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['strict',['strict',['../dc/df0/namespacenlohmann_1_1detail.html#a5a76b60b26dc8c47256a996d18d967dfa2133fd717402a7966ee88d06f9e0b792',1,'nlohmann::detail']]], + ['string',['string',['../dc/df0/namespacenlohmann_1_1detail.html#a1ed8fc6239da25abcaf681d30ace4985ab45cffe084dd3d20d928bee85e7b0f21',1,'nlohmann::detail']]] +]; diff --git a/docs/search/enumvalues_f.html b/docs/search/enumvalues_f.html new file mode 100644 index 00000000..1cced59f --- /dev/null +++ b/docs/search/enumvalues_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/enumvalues_f.js b/docs/search/enumvalues_f.js new file mode 100644 index 00000000..6e2e8347 --- /dev/null +++ b/docs/search/enumvalues_f.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['ubjson',['ubjson',['../dc/df0/namespacenlohmann_1_1detail.html#aa554fc6a11519e4f347deb25a9f0db40a4537f20910e85437f6d07701864084e8',1,'nlohmann::detail']]], + ['uninitialized',['uninitialized',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#aa3538cce439a2de6c7893e627b38c454a42dd1a73d072bb6bf3f494f22b15db8e',1,'nlohmann::detail::lexer_base']]] +]; diff --git a/docs/search/files_0.js b/docs/search/files_0.js index 73c6bf6c..5afc29dd 100644 --- a/docs/search/files_0.js +++ b/docs/search/files_0.js @@ -7,6 +7,7 @@ var searchData= ['cudnn_5ffrontend_5fengineconfig_2eh',['cudnn_frontend_EngineConfig.h',['../d6/d67/cudnn__frontend__EngineConfig_8h.html',1,'']]], ['cudnn_5ffrontend_5fengineconfiggenerator_2eh',['cudnn_frontend_EngineConfigGenerator.h',['../de/d1e/cudnn__frontend__EngineConfigGenerator_8h.html',1,'']]], ['cudnn_5ffrontend_5fenginefallbacklist_2eh',['cudnn_frontend_EngineFallbackList.h',['../df/d3e/cudnn__frontend__EngineFallbackList_8h.html',1,'']]], + ['cudnn_5ffrontend_5ferrata_2eh',['cudnn_frontend_Errata.h',['../db/d7e/cudnn__frontend__Errata_8h.html',1,'']]], ['cudnn_5ffrontend_5fexecutionplan_2eh',['cudnn_frontend_ExecutionPlan.h',['../d6/d51/cudnn__frontend__ExecutionPlan_8h.html',1,'']]], ['cudnn_5ffrontend_5ffilters_2eh',['cudnn_frontend_Filters.h',['../d5/d36/cudnn__frontend__Filters_8h.html',1,'']]], ['cudnn_5ffrontend_5ffind_5fplan_2eh',['cudnn_frontend_find_plan.h',['../d3/d6b/cudnn__frontend__find__plan_8h.html',1,'']]], @@ -16,6 +17,7 @@ var searchData= ['cudnn_5ffrontend_5foperation_2eh',['cudnn_frontend_Operation.h',['../da/d5a/cudnn__frontend__Operation_8h.html',1,'']]], ['cudnn_5ffrontend_5foperationgraph_2eh',['cudnn_frontend_OperationGraph.h',['../db/d7d/cudnn__frontend__OperationGraph_8h.html',1,'']]], ['cudnn_5ffrontend_5fpointwisedesc_2eh',['cudnn_frontend_PointWiseDesc.h',['../da/d5f/cudnn__frontend__PointWiseDesc_8h.html',1,'']]], + ['cudnn_5ffrontend_5freductiondesc_2eh',['cudnn_frontend_ReductionDesc.h',['../db/da7/cudnn__frontend__ReductionDesc_8h.html',1,'']]], ['cudnn_5ffrontend_5ftensor_2eh',['cudnn_frontend_Tensor.h',['../d3/d98/cudnn__frontend__Tensor_8h.html',1,'']]], ['cudnn_5ffrontend_5futils_2eh',['cudnn_frontend_utils.h',['../df/d17/cudnn__frontend__utils_8h.html',1,'']]], ['cudnn_5ffrontend_5fvariantpack_2eh',['cudnn_frontend_VariantPack.h',['../df/dc0/cudnn__frontend__VariantPack_8h.html',1,'']]] diff --git a/docs/search/files_1.html b/docs/search/files_1.html new file mode 100644 index 00000000..dcce4223 --- /dev/null +++ b/docs/search/files_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/files_1.js b/docs/search/files_1.js new file mode 100644 index 00000000..72a82dcf --- /dev/null +++ b/docs/search/files_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['json_2ehpp',['json.hpp',['../d5/db8/json_8hpp.html',1,'']]] +]; diff --git a/docs/search/functions_0.js b/docs/search/functions_0.js index df820026..6109645b 100644 --- a/docs/search/functions_0.js +++ b/docs/search/functions_0.js @@ -1,6 +1,10 @@ var searchData= [ - ['backenddescriptor',['BackendDescriptor',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a8aa93686ca88410fc048b05155148183',1,'cudnn_frontend::BackendDescriptor::BackendDescriptor(ManagedOpaqueDescriptor pointer_, cudnnStatus_t status_, std::string err_msg_)'],['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a5765369a5739c2ea81c4f39ce2d1c46e',1,'cudnn_frontend::BackendDescriptor::BackendDescriptor()=default']]], - ['build',['build',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a01f709a3efafaca70de6565817c43beb',1,'cudnn_frontend::ConvDescBuilder_v8::build()'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a010b99c39d63121be78ec847fff433f8',1,'cudnn_frontend::EngineBuilder_v8::build()'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a639e1514ea8f283720e49fc18d7ad673',1,'cudnn_frontend::EngineConfigBuilder_v8::build()'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#aae1a36ace3278dbedcf0d743a7744d98',1,'cudnn_frontend::EngineFallbackListBuilder_v8::build()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga5ff39f2019a5a3fe8062bf887707877c',1,'cudnn_frontend::ExecutionPlanBuilder_v8::build()'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#ab3ff1b538521fdea588d8ac155f6e88c',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::build()'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#addc153acf5600781659a1a2ba891e59c',1,'cudnn_frontend::MatMulDescBuilder_v8::build()'],['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#aa0df558c603d8316dd3eb2d5bfd67c9d',1,'cudnn_frontend::OperationBuilder_v8::build()'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#ac78945f424f254f0060d4c2e1184cf1f',1,'cudnn_frontend::OperationGraphBuilder_v8::build()'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a5de642e4141705f8e06c4bf566f1d332',1,'cudnn_frontend::PointWiseDescBuilder_v8::build()'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a32876941f964b3fad2d123b9081b0af7',1,'cudnn_frontend::TensorBuilder_v8::build()'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#abf794751941aa252c19e1879306375d3',1,'cudnn_frontend::VariantPackBuilder_v8::build()']]], - ['buildknobs',['buildKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a0e6d7c12c261ad6c2f08e1249397b696',1,'cudnn_frontend::Engine_v8']]] + ['accept',['accept',['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a39784a586867c05388cb0adca0fd72b5',1,'nlohmann::detail::parser::accept()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a32872afe5bfd040777e3e2bb85f0ca55',1,'nlohmann::basic_json::accept(InputType &&i, const bool ignore_comments=false)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a47fb596473649332185aedb0a8a6ccc5',1,'nlohmann::basic_json::accept(IteratorType first, IteratorType last, const bool ignore_comments=false)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a6d9e85910b91d02f6807b69b61690a4b',1,'nlohmann::basic_json::accept(detail::span_input_adapter &&i, const bool ignore_comments=false)']]], + ['add',['add',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a36ffc3c33c3aea18291ead7a30fa7cc6',1,'nlohmann::detail::lexer']]], + ['append_5fexponent',['append_exponent',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#ad90f19ed10d8133b727df4b9bc5ddf5c',1,'nlohmann::detail::dtoa_impl']]], + ['array',['array',['../d9/dcc/classnlohmann_1_1basic__json.html#a2c8d8f5741aedadac8f3bffd8f2ce13e',1,'nlohmann::basic_json']]], + ['array_5findex',['array_index',['../da/de8/classnlohmann_1_1json__pointer.html#ae28e4b79b9d4fac9e6dca29f47f946fa',1,'nlohmann::json_pointer']]], + ['assert_5finvariant',['assert_invariant',['../d9/dcc/classnlohmann_1_1basic__json.html#a2ef98c6797810a551296191fc72e2b9e',1,'nlohmann::basic_json']]], + ['at',['at',['../d6/da7/structnlohmann_1_1ordered__map.html#ab7b4bb185fe7ea84f8f5f32fd230ff91',1,'nlohmann::ordered_map::at(const Key &key)'],['../d6/da7/structnlohmann_1_1ordered__map.html#a8b7f27215180385b9b1e98adc4dd8ae7',1,'nlohmann::ordered_map::at(const Key &key) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a52b18a5b7e68652c65b070900c438c6e',1,'nlohmann::basic_json::at(size_type idx)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aeb18fe2b8a5dbff4ccf2848de854c3ac',1,'nlohmann::basic_json::at(size_type idx) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a239e942da82f2597d0cf5ec806f5bc0d',1,'nlohmann::basic_json::at(const typename object_t::key_type &key)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a229964ee10c92ba89ae4fba786fe6b50',1,'nlohmann::basic_json::at(const typename object_t::key_type &key) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#aa014a978f8b6c085db8825faa8dad320',1,'nlohmann::basic_json::at(const json_pointer &ptr)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a8284b9c1d4d0830151eaa000f907b2e6',1,'nlohmann::basic_json::at(const json_pointer &ptr) const']]] ]; diff --git a/docs/search/functions_1.js b/docs/search/functions_1.js index b104540f..52be6ef2 100644 --- a/docs/search/functions_1.js +++ b/docs/search/functions_1.js @@ -1,9 +1,15 @@ var searchData= [ - ['computetag',['computeTag',['../d7/d0d/group__ExecutionPlanQuery.html#ga8a6517102f5c12e63e4417324a03180b',1,'cudnn_frontend::ExecutionPlan_v8']]], - ['convdesc_5fv8',['ConvDesc_v8',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a592e3a28fd7a8b2553789801d9bd276c',1,'cudnn_frontend::ConvDesc_v8::ConvDesc_v8(ConvDesc_v8 &&from)'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a5c892fb76fbf9e4bfffdb5288f9d60ad',1,'cudnn_frontend::ConvDesc_v8::ConvDesc_v8()=default'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a061ef887bdf383d416ee143a35d5c334',1,'cudnn_frontend::ConvDesc_v8::ConvDesc_v8(ConvDesc_v8 const &)=delete']]], - ['convdescbuilder_5fv8',['ConvDescBuilder_v8',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#ae7b3fb50c7866c50ac1a170e137f38af',1,'cudnn_frontend::ConvDescBuilder_v8::ConvDescBuilder_v8()=default'],['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a314369f1ea702c92d184b3ba66085468',1,'cudnn_frontend::ConvDescBuilder_v8::ConvDescBuilder_v8(ConvDescBuilder_v8 &&)=delete'],['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a99c1c90149cee07a26124fe32bdcfe03',1,'cudnn_frontend::ConvDescBuilder_v8::ConvDescBuilder_v8(ConvDescBuilder_v8 const &)=delete']]], - ['cudnnexception',['cudnnException',['../d9/dca/classcudnn__frontend_1_1cudnnException.html#aa80c45a57ca091770572aaa5a1f7e322',1,'cudnn_frontend::cudnnException']]], - ['cudnnfindplan',['cudnnFindPlan',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#abd7cdd3a218623ffc5dfcbf9343aef85',1,'cudnn_frontend::EngineConfigGenerator']]], - ['cudnngetplan',['cudnnGetPlan',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#ad6ca7e7263ed9b7597f94ca45505642f',1,'cudnn_frontend::EngineConfigGenerator']]] + ['back',['back',['../da/de8/classnlohmann_1_1json__pointer.html#a213bc67c32a30c68ac6bf06f5195d482',1,'nlohmann::json_pointer::back()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a30914ad0767ccdc3633f88a906ed7dfa',1,'nlohmann::basic_json::back()'],['../d9/dcc/classnlohmann_1_1basic__json.html#aac965b84ea43ccd8aef9caefef02794a',1,'nlohmann::basic_json::back() const']]], + ['backenddescriptor',['BackendDescriptor',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a8aa93686ca88410fc048b05155148183',1,'cudnn_frontend::BackendDescriptor::BackendDescriptor(ManagedOpaqueDescriptor pointer_, cudnnStatus_t status_, std::string err_msg_)'],['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a5765369a5739c2ea81c4f39ce2d1c46e',1,'cudnn_frontend::BackendDescriptor::BackendDescriptor()=default']]], + ['basic_5fjson',['basic_json',['../d9/dcc/classnlohmann_1_1basic__json.html#a19734fbc9c97d536832892ddacd6b62a',1,'nlohmann::basic_json::basic_json(const value_t v)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ace6fbaf6c64f60b61922b5c9d3e61aa6',1,'nlohmann::basic_json::basic_json(std::nullptr_t=nullptr) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a232bddcef573bde8777a6a87da0048dd',1,'nlohmann::basic_json::basic_json(CompatibleType &&val) noexcept(noexcept(//NOLINT(bugprone-forwarding-reference-overload, bugprone-exception-escape) JSONSerializer< U >::to_json(std::declval< basic_json_t &>(), std::forward< CompatibleType >(val))))'],['../d9/dcc/classnlohmann_1_1basic__json.html#a40738eb9cb8c5a9ca14ae4b697c29f8e',1,'nlohmann::basic_json::basic_json(const BasicJsonType &val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aeac617faf3448d6d2cb33a020be01d37',1,'nlohmann::basic_json::basic_json(initializer_list_t init, bool type_deduction=true, value_t manual_type=value_t::array)'],['../d9/dcc/classnlohmann_1_1basic__json.html#afbccea367512a87b5d76e2bd92c5cc85',1,'nlohmann::basic_json::basic_json(size_type cnt, const basic_json &val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a23e540f473d32f1cf5d3243ea3ad495e',1,'nlohmann::basic_json::basic_json(InputIT first, InputIT last)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a28524e9c443076ea6dccff8e391354ed',1,'nlohmann::basic_json::basic_json(const JsonRef &ref)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a603be713183ad63dd8c9e1052c606004',1,'nlohmann::basic_json::basic_json(const basic_json &other)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a642afd9d8886e0dedfc0d5cee2baf57f',1,'nlohmann::basic_json::basic_json(basic_json &&other) noexcept']]], + ['basicjsontype',['BasicJsonType',['../da/de8/classnlohmann_1_1json__pointer.html#a0f3376aebd6c88555d12f34480f93741',1,'nlohmann::json_pointer']]], + ['begin',['begin',['../db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html#a379f86709d340c4ab1995539b8af623d',1,'nlohmann::detail::iteration_proxy::begin()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a23b495b4c282e4afacf382f5b49af7c7',1,'nlohmann::basic_json::begin() noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a4f147be16fcde9f510c4aac89ab511c9',1,'nlohmann::basic_json::begin() const noexcept']]], + ['binary',['binary',['../d0/d82/structnlohmann_1_1json__sax.html#a38c2dbde07138cc436ea7fbf22c1e92d',1,'nlohmann::json_sax::binary()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#acc05c450d515f0f95c37401bf23c8db3',1,'nlohmann::detail::json_sax_dom_parser::binary()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a66f5515cddef5074c9499f21c26ac099',1,'nlohmann::detail::json_sax_dom_callback_parser::binary()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a3d193985aac764f99398e3ae8ba0c5db',1,'nlohmann::detail::json_sax_acceptor::binary()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a3d255dbe024ce2d0fdfb1b4837629091',1,'nlohmann::basic_json::binary(const typename binary_t::container_type &init)'],['../d9/dcc/classnlohmann_1_1basic__json.html#acd2c506b279049f7d92ad7ae10a2f12b',1,'nlohmann::basic_json::binary(const typename binary_t::container_type &init, std::uint8_t subtype)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ab085777bbfbfac5a472120b991ef5cf3',1,'nlohmann::basic_json::binary(typename binary_t::container_type &&init)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a012e375f4016b89444c528ed46cce3af',1,'nlohmann::basic_json::binary(typename binary_t::container_type &&init, std::uint8_t subtype)']]], + ['binary_5freader',['binary_reader',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a2aee4c3507eca623f7cec32544fdc5b2',1,'nlohmann::detail::binary_reader::binary_reader(InputAdapterType &&adapter) noexcept'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ab29d56b1e980a7b9a3383cf1ce862d1b',1,'nlohmann::detail::binary_reader::binary_reader(const binary_reader &)=delete'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#acca2c4076df85f27dc1c904475e05c26',1,'nlohmann::detail::binary_reader::binary_reader(binary_reader &&)=default']]], + ['binary_5fwriter',['binary_writer',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a373289af95a946c19bb4a58a5df71a78',1,'nlohmann::detail::binary_writer']]], + ['boolean',['boolean',['../d0/d82/structnlohmann_1_1json__sax.html#a82ed080814fa656191a537284bb0c575',1,'nlohmann::json_sax::boolean()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a476c4634b93546a1a555725e551c2b33',1,'nlohmann::detail::json_sax_dom_parser::boolean()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ab7d8db672189164a8c0731e65ada1b45',1,'nlohmann::detail::json_sax_dom_callback_parser::boolean()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a3f5fe42a9b195de8d251d6d98d5ee92c',1,'nlohmann::detail::json_sax_acceptor::boolean()']]], + ['build',['build',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a01f709a3efafaca70de6565817c43beb',1,'cudnn_frontend::ConvDescBuilder_v8::build()'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a010b99c39d63121be78ec847fff433f8',1,'cudnn_frontend::EngineBuilder_v8::build()'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a639e1514ea8f283720e49fc18d7ad673',1,'cudnn_frontend::EngineConfigBuilder_v8::build()'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#aae1a36ace3278dbedcf0d743a7744d98',1,'cudnn_frontend::EngineFallbackListBuilder_v8::build()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga5ff39f2019a5a3fe8062bf887707877c',1,'cudnn_frontend::ExecutionPlanBuilder_v8::build()'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#ab3ff1b538521fdea588d8ac155f6e88c',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::build()'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#addc153acf5600781659a1a2ba891e59c',1,'cudnn_frontend::MatMulDescBuilder_v8::build()'],['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#aa0df558c603d8316dd3eb2d5bfd67c9d',1,'cudnn_frontend::OperationBuilder_v8::build()'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#ac78945f424f254f0060d4c2e1184cf1f',1,'cudnn_frontend::OperationGraphBuilder_v8::build()'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a5de642e4141705f8e06c4bf566f1d332',1,'cudnn_frontend::PointWiseDescBuilder_v8::build()'],['../d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a84355923606ae86f66264fbcc5c305ad',1,'cudnn_frontend::ReductionDescBuilder_v8::build()'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a32876941f964b3fad2d123b9081b0af7',1,'cudnn_frontend::TensorBuilder_v8::build()'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#abf794751941aa252c19e1879306375d3',1,'cudnn_frontend::VariantPackBuilder_v8::build()']]], + ['buildknobs',['buildKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a0e6d7c12c261ad6c2f08e1249397b696',1,'cudnn_frontend::Engine_v8']]], + ['byte_5fcontainer_5fwith_5fsubtype',['byte_container_with_subtype',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a89c78caf8c7b54dc1bcfa4b0b23d2fc8',1,'nlohmann::byte_container_with_subtype::byte_container_with_subtype() noexcept(noexcept(container_type()))'],['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a640b6dd55847e86dbb936f97b946170e',1,'nlohmann::byte_container_with_subtype::byte_container_with_subtype(const container_type &b) noexcept(noexcept(container_type(b)))'],['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a73dcae1798eab1b496936bfae7b4b9c0',1,'nlohmann::byte_container_with_subtype::byte_container_with_subtype(container_type &&b) noexcept(noexcept(container_type(std::move(b))))'],['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a9bd3e08ec6d3ed9014ad7d83eca5e3b3',1,'nlohmann::byte_container_with_subtype::byte_container_with_subtype(const container_type &b, std::uint8_t subtype_) noexcept(noexcept(container_type(b)))'],['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#aa9e66c61f46afdd9a9c3617967c4c797',1,'nlohmann::byte_container_with_subtype::byte_container_with_subtype(container_type &&b, std::uint8_t subtype_) noexcept(noexcept(container_type(std::move(b))))']]] ]; diff --git a/docs/search/functions_10.js b/docs/search/functions_10.js index 89884ee0..59b7eb6f 100644 --- a/docs/search/functions_10.js +++ b/docs/search/functions_10.js @@ -1,27 +1,10 @@ var searchData= [ - ['_7econvdesc_5fv8',['~ConvDesc_v8',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a0d930ada709a855c86b2857a1b155d02',1,'cudnn_frontend::ConvDesc_v8']]], - ['_7econvdescbuilder_5fv8',['~ConvDescBuilder_v8',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#ae75d5fd1c3fb6b51072f2c9b211477eb',1,'cudnn_frontend::ConvDescBuilder_v8']]], - ['_7eengine_5fv8',['~Engine_v8',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#af58a8aa09f22e048d51e619e36b4cbef',1,'cudnn_frontend::Engine_v8']]], - ['_7eenginebuilder_5fv8',['~EngineBuilder_v8',['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a8a300ec39fc764b86058acf8a9406d89',1,'cudnn_frontend::EngineBuilder_v8']]], - ['_7eengineconfig_5fv8',['~EngineConfig_v8',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a058e432452f5cd570cbf4e69d7d53eea',1,'cudnn_frontend::EngineConfig_v8']]], - ['_7eengineconfigbuilder_5fv8',['~EngineConfigBuilder_v8',['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a49eedc731d95df1f21e353a9a9511cfd',1,'cudnn_frontend::EngineConfigBuilder_v8']]], - ['_7eenginefallbacklist_5fv8',['~EngineFallbackList_v8',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a62dd89e142b11917507a48b2ac3dd047',1,'cudnn_frontend::EngineFallbackList_v8']]], - ['_7eenginefallbacklistbuilder_5fv8',['~EngineFallbackListBuilder_v8',['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a28651c04cd22f3ebe037b99627ddbd62',1,'cudnn_frontend::EngineFallbackListBuilder_v8']]], - ['_7eengineheuristics_5fv8',['~EngineHeuristics_v8',['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a2261e27dacfdad755d625692aa20f290',1,'cudnn_frontend::EngineHeuristics_v8']]], - ['_7eengineheuristicsbuilder_5fv8',['~EngineHeuristicsBuilder_v8',['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a8740e967b981abf94dc2c53eb8786ceb',1,'cudnn_frontend::EngineHeuristicsBuilder_v8']]], - ['_7eexecutionplan_5fv8',['~ExecutionPlan_v8',['../d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#a8a8ac13b1c639dd9b87c280a598446af',1,'cudnn_frontend::ExecutionPlan_v8']]], - ['_7eexecutionplanbuilder_5fv8',['~ExecutionPlanBuilder_v8',['../d7/d0d/group__ExecutionPlanQuery.html#gae3f841de1b6461b31bf7967734a70a8a',1,'cudnn_frontend::ExecutionPlanBuilder_v8']]], - ['_7ematmuldesc_5fv8',['~MatMulDesc_v8',['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ad27b038b19b218067bd30e60d94fd672',1,'cudnn_frontend::MatMulDesc_v8']]], - ['_7ematmuldescbuilder_5fv8',['~MatMulDescBuilder_v8',['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a3f5790e5ada9a1785d9daf4246ea8de3',1,'cudnn_frontend::MatMulDescBuilder_v8']]], - ['_7eopaquebackendpointer',['~OpaqueBackendPointer',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a9f549dd95873ac3a02689ef97f4a6c75',1,'cudnn_frontend::OpaqueBackendPointer']]], - ['_7eoperation_5fv8',['~Operation_v8',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a67d82f53ecbdfe2416d2a26410138d78',1,'cudnn_frontend::Operation_v8']]], - ['_7eoperationgraph_5fv8',['~OperationGraph_v8',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#aeb42611a38c4951e66cd23108d53353c',1,'cudnn_frontend::OperationGraph_v8']]], - ['_7eoperationgraphbuilder_5fv8',['~OperationGraphBuilder_v8',['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a45e8a324d62146f592b049f51d2e4552',1,'cudnn_frontend::OperationGraphBuilder_v8']]], - ['_7epointwisedesc_5fv8',['~PointWiseDesc_v8',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a44917fdd66ea262687c0f0af3ef3b424',1,'cudnn_frontend::PointWiseDesc_v8']]], - ['_7epointwisedescbuilder_5fv8',['~PointWiseDescBuilder_v8',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#af976fab4a7726609a1b10dc2a8bcdf65',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['_7etensor_5fv8',['~Tensor_v8',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a5a402bf5c68021711d9d9ec8fd4c1001',1,'cudnn_frontend::Tensor_v8']]], - ['_7etensorbuilder_5fv8',['~TensorBuilder_v8',['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a2c9dcbe8acfe079ad14801c7cda0fe29',1,'cudnn_frontend::TensorBuilder_v8']]], - ['_7evariantpack_5fv8',['~VariantPack_v8',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a55a7b12efe39ed7a24631ed05630721d',1,'cudnn_frontend::VariantPack_v8']]], - ['_7evariantpackbuilder_5fv8',['~VariantPackBuilder_v8',['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a27a6e5a2602262c35a8ea8533ef5a635',1,'cudnn_frontend::VariantPackBuilder_v8']]] + ['rbegin',['rbegin',['../d9/dcc/classnlohmann_1_1basic__json.html#aff8e38cd973bc94557fa8d36433c0e4c',1,'nlohmann::basic_json::rbegin() noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#aab1329f44c8301b7679962726a043549',1,'nlohmann::basic_json::rbegin() const noexcept']]], + ['reductiondesc_5fv8',['ReductionDesc_v8',['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#aa88b55d2bdfc1d3cdd15784b091eb3d4',1,'cudnn_frontend::ReductionDesc_v8::ReductionDesc_v8(ReductionDesc_v8 &&from)'],['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#ad85b9113cca58bfeacc1ca33752cb578',1,'cudnn_frontend::ReductionDesc_v8::ReductionDesc_v8()=default'],['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a51ff940ebdc71d701b7a3cbea9fe9825',1,'cudnn_frontend::ReductionDesc_v8::ReductionDesc_v8(ReductionDesc_v8 const &)=delete']]], + ['reductiondescbuilder_5fv8',['ReductionDescBuilder_v8',['../d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a07842acadad9d64d44edef4c30535130',1,'cudnn_frontend::ReductionDescBuilder_v8::ReductionDescBuilder_v8()=default'],['../d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a65ccc3c8414add4b95186deb3cdf60c4',1,'cudnn_frontend::ReductionDescBuilder_v8::ReductionDescBuilder_v8(ReductionDescBuilder_v8 &&)=delete'],['../d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#aef47d530613f74da45eccf4cd21be982',1,'cudnn_frontend::ReductionDescBuilder_v8::ReductionDescBuilder_v8(ReductionDescBuilder_v8 const &)=delete']]], + ['reinterpret_5fbits',['reinterpret_bits',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#a1c5d30eb51e5e994a3f48bde104d2ce8',1,'nlohmann::detail::dtoa_impl']]], + ['rend',['rend',['../d9/dcc/classnlohmann_1_1basic__json.html#a7a328b29b290cc300345376c54f618cb',1,'nlohmann::basic_json::rend() noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a2e4cbf41d593d41847b90aea55e5e84d',1,'nlohmann::basic_json::rend() const noexcept']]], + ['replace_5fsubstring',['replace_substring',['../dc/df0/namespacenlohmann_1_1detail.html#aceff996baf082d6dc1873ad176d10609',1,'nlohmann::detail']]], + ['reset',['reset',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a3bda093837339813916d11fb6e396606',1,'nlohmann::detail::lexer']]] ]; diff --git a/docs/search/functions_11.html b/docs/search/functions_11.html new file mode 100644 index 00000000..6948a615 --- /dev/null +++ b/docs/search/functions_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/functions_11.js b/docs/search/functions_11.js new file mode 100644 index 00000000..8933bd73 --- /dev/null +++ b/docs/search/functions_11.js @@ -0,0 +1,82 @@ +var searchData= +[ + ['sax_5fparse',['sax_parse',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ab4afd9ee276bbb15a0f898061aad94dd',1,'nlohmann::detail::binary_reader::sax_parse()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a073b8313a5194aac3a7d5da0d935788c',1,'nlohmann::detail::parser::sax_parse()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a12b382c6407da5543827ce4b24bb5008',1,'nlohmann::basic_json::sax_parse(InputType &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ab62241c2694a054818edf2f66d72f113',1,'nlohmann::basic_json::sax_parse(IteratorType first, IteratorType last, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aef9ef0a817ecde8bf270653e8706c150',1,'nlohmann::basic_json::sax_parse(detail::span_input_adapter &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false)']]], + ['sax_5fparse_5finternal',['sax_parse_internal',['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a678fdebccc8ddd3242c67b6bce2f8f1a',1,'nlohmann::detail::parser']]], + ['scan',['scan',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a40320a8fef5f1f03b60c8b2f2f40af4d',1,'nlohmann::detail::lexer']]], + ['scan_5fcomment',['scan_comment',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#afdc68706ad20be93977cd0f97043ea7f',1,'nlohmann::detail::lexer']]], + ['scan_5fliteral',['scan_literal',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ad89dec0ac0f4e851925a0499e043b18b',1,'nlohmann::detail::lexer']]], + ['scan_5fnumber',['scan_number',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#aab51a28e32c1957329141baff8eda1c4',1,'nlohmann::detail::lexer']]], + ['scan_5fstring',['scan_string',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ab6352978e03ebcbc3cd618cd17142f26',1,'nlohmann::detail::lexer']]], + ['serializer',['serializer',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ac010525281d97867ee842da37294fe83',1,'nlohmann::detail::serializer::serializer(output_adapter_t< char > s, const char ichar, error_handler_t error_handler_=error_handler_t::strict)'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ae3771351ec4cb892bec707edeb56dc31',1,'nlohmann::detail::serializer::serializer(const serializer &)=delete'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a28081304e70cca6b3042c101ee5c498c',1,'nlohmann::detail::serializer::serializer(serializer &&)=delete']]], + ['set_5fbegin',['set_begin',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a9d9b005906106e12aed738f97d7fee42',1,'nlohmann::detail::primitive_iterator_t']]], + ['set_5fend',['set_end',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#ad26a823483846a12d890c3feed3097eb',1,'nlohmann::detail::primitive_iterator_t::set_end()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a23e50ad4c13aa62d9ac7f60a123823ee',1,'nlohmann::detail::iter_impl::set_end()']]], + ['set_5ferror',['set_error',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a1748a5c560905314930c37b2ed1a54d2',1,'cudnn_frontend::BackendDescriptor']]], + ['set_5ferror_5fand_5fthrow_5fexception',['set_error_and_throw_exception',['../df/de1/namespacecudnn__frontend.html#a011f392961f07ab6de46a080e9a652a2',1,'cudnn_frontend']]], + ['set_5fparent',['set_parent',['../d9/dcc/classnlohmann_1_1basic__json.html#aee080f037758ca55531e98ce93097d4c',1,'nlohmann::basic_json']]], + ['set_5fparents',['set_parents',['../d9/dcc/classnlohmann_1_1basic__json.html#ade91330092a38c86ae056cca64a3647e',1,'nlohmann::basic_json::set_parents()'],['../d9/dcc/classnlohmann_1_1basic__json.html#accbd22113420ad6a31e375ceedc7334e',1,'nlohmann::basic_json::set_parents(iterator it, typename iterator::difference_type count)']]], + ['set_5fstatus',['set_status',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a3ef02443f20b90223baf5f1922505eab',1,'cudnn_frontend::BackendDescriptor']]], + ['set_5fsubtype',['set_subtype',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a63227e70c8b976fd6f65bb2d2d7dd021',1,'nlohmann::byte_container_with_subtype']]], + ['setalignment',['setAlignment',['../d3/d3c/group__TensorBuilder__v8.html#ga385ec2c39e6386af7421f27330ed128b',1,'cudnn_frontend::TensorBuilder_v8']]], + ['setalpha',['setAlpha',['../d3/d92/group__OperationBuilder__v8.html#gab4241b96e7374d821681e97259d39d83',1,'cudnn_frontend::OperationBuilder_v8::setAlpha(float alpha) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga3c63744504f65383ce0b847bea804e3f',1,'cudnn_frontend::OperationBuilder_v8::setAlpha(double alpha) -> OperationBuilder_v8 &']]], + ['setalpha2',['setAlpha2',['../d3/d92/group__OperationBuilder__v8.html#ga06cdcfeda1b702412be41addd73bb947',1,'cudnn_frontend::OperationBuilder_v8::setAlpha2(float alpha) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga459671e9d26640528fcf683aaeef05df',1,'cudnn_frontend::OperationBuilder_v8::setAlpha2(double alpha) -> OperationBuilder_v8 &']]], + ['setamatdesc',['setaMatDesc',['../d3/d92/group__OperationBuilder__v8.html#ga095c52c8f1b01ebb224265f9000195c0',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setbdesc',['setbDesc',['../d3/d92/group__OperationBuilder__v8.html#ga17475846760b10ffdfa536cd92a5b135',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setbeta',['setBeta',['../d3/d92/group__OperationBuilder__v8.html#ga65a9ad73912ff46becc93ee451da6af5',1,'cudnn_frontend::OperationBuilder_v8::setBeta(float beta) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga29752062b7308c8da0e625eb35431652',1,'cudnn_frontend::OperationBuilder_v8::setBeta(double beta) -> OperationBuilder_v8 &']]], + ['setbmatdesc',['setbMatDesc',['../d3/d92/group__OperationBuilder__v8.html#gaa8eed29a0181e044ea0263ba655127ec',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setcdesc',['setcDesc',['../d3/d92/group__OperationBuilder__v8.html#gaa82e018b6a9d514ad912b922f43adad2',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setchoice',['setChoice',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a542f95d42a6d118e3de1726720c12278',1,'cudnn_frontend::Engine_v8::Knob']]], + ['setclipping',['setClipping',['../d2/db5/group__PointWiseDescBuilder__v8.html#ga124ebb4a416c645cd0b68f59545c62a8',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['setcmatdesc',['setcMatDesc',['../d3/d92/group__OperationBuilder__v8.html#gaaf9d7cbc65c7c7526a6f15d4ad2952fa',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setdatapointers',['setDataPointers',['../d5/def/group__VariantPackBuilder__v8.html#ga79c6def790139cb04aff8c600559b802',1,'cudnn_frontend::VariantPackBuilder_v8::setDataPointers(int64_t num_ptr, void **ptrs) -> VariantPackBuilder_v8 &'],['../d5/def/group__VariantPackBuilder__v8.html#ga14d3ac479fd01c48a97583adfb567090',1,'cudnn_frontend::VariantPackBuilder_v8::setDataPointers(std::set< std::pair< uint64_t, void *>> const &data_pointers) -> VariantPackBuilder_v8 &']]], + ['setdatatype',['setDataType',['../d3/ddd/group__ConvDescBuilder__v8.html#gad8de00b0e7a86bdda61749e7572a35ac',1,'cudnn_frontend::ConvDescBuilder_v8::setDataType()'],['../d3/d3c/group__TensorBuilder__v8.html#ga98275e4d36e37ef5d73f13bd80f164a3',1,'cudnn_frontend::TensorBuilder_v8::setDataType()']]], + ['setdilation',['setDilation',['../d3/ddd/group__ConvDescBuilder__v8.html#gaa41e2cbbebc9d2fd19fa990a48b39d08',1,'cudnn_frontend::ConvDescBuilder_v8']]], + ['setdim',['setDim',['../d3/d3c/group__TensorBuilder__v8.html#gae828806e2d76ca3eb6c4e289f2e93a96',1,'cudnn_frontend::TensorBuilder_v8']]], + ['setdwdesc',['setdwDesc',['../d3/d92/group__OperationBuilder__v8.html#ga5e5d463d5531a9378280fa4b1aee6f63',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setdxdesc',['setdxDesc',['../d3/d92/group__OperationBuilder__v8.html#ga35fa5c453a6cd989f35e47c29e6ec665',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setdydesc',['setdyDesc',['../d3/d92/group__OperationBuilder__v8.html#ga08f3d4cb5138174127d0f6899f7bc53b',1,'cudnn_frontend::OperationBuilder_v8::setdyDesc(ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga9e4a1e9a233b44cca5b65f0af172b001',1,'cudnn_frontend::OperationBuilder_v8::setdyDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &']]], + ['setelualpha',['setEluAlpha',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a8bdbf27c37334f5b61a65eb1bd4b6a98',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['setengine',['setEngine',['../d2/dbb/group__EngineConfigBuilder__v8.html#ga9673b31268901dfcb97896958687a42a',1,'cudnn_frontend::EngineConfigBuilder_v8']]], + ['setengineconfig',['setEngineConfig',['../d4/de1/group__ExecutionPlanBuilder__v8.html#gac5c23cff8c1424f71ef2cee2dc66cd3c',1,'cudnn_frontend::ExecutionPlanBuilder_v8::setEngineConfig(EngineConfig_v8 const &engine_config_) -> ExecutionPlanBuilder_v8 &'],['../d4/de1/group__ExecutionPlanBuilder__v8.html#gae0f92d5445da53253ff3460ac6aefffa',1,'cudnn_frontend::ExecutionPlanBuilder_v8::setEngineConfig(ManagedOpaqueDescriptor &desc, std::string const &opGraphTag_="") -> ExecutionPlanBuilder_v8 &']]], + ['setglobalengineidx',['setGlobalEngineIdx',['../d3/d09/group__EngineBuilder__v8.html#ga2b171d44da46865d536236bb01103005',1,'cudnn_frontend::EngineBuilder_v8']]], + ['sethandle',['setHandle',['../d4/de1/group__ExecutionPlanBuilder__v8.html#ga4166679391fc2df54e25964c03ae6e8e',1,'cudnn_frontend::ExecutionPlanBuilder_v8::setHandle()'],['../d2/df5/group__OperationGraphBuilder__v8.html#ga5b5d8a3121e92a8a7d47341b424298f8',1,'cudnn_frontend::OperationGraphBuilder_v8::setHandle()']]], + ['setheurmode',['setHeurMode',['../dc/d99/group__EngineHeuristicsBuilder__v8.html#gaf2d783ca6a663aa50ffed2ccbc164812',1,'cudnn_frontend::EngineHeuristicsBuilder_v8']]], + ['setid',['setId',['../d3/d3c/group__TensorBuilder__v8.html#ga6bdaeab1bff548d375e57936b64fb05a',1,'cudnn_frontend::TensorBuilder_v8']]], + ['setmathmode',['setMathMode',['../d3/ddd/group__ConvDescBuilder__v8.html#ga3b752afba659c8e92e7ad1ca71d62f2f',1,'cudnn_frontend::ConvDescBuilder_v8']]], + ['setmathprecision',['setMathPrecision',['../d9/d08/group__MatMulDescBuilder__v8.html#ga5885f3eb7580cbe0cbe7243c4711c0f2',1,'cudnn_frontend::MatMulDescBuilder_v8::setMathPrecision()'],['../d2/db5/group__PointWiseDescBuilder__v8.html#ga3efa065fc125c5af06bd0a9c543bdb9f',1,'cudnn_frontend::PointWiseDescBuilder_v8::setMathPrecision()'],['../d8/d95/group__ReductionDescBuilder__v8.html#ga1822b91228b5f6b790cd7c2d77402cdb',1,'cudnn_frontend::ReductionDescBuilder_v8::setMathPrecision()']]], + ['setmatmuldesc',['setmatmulDesc',['../d3/d92/group__OperationBuilder__v8.html#ga3ca1f62832f998566c1b07b4b3c71db4',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setmode',['setMode',['../d2/db5/group__PointWiseDescBuilder__v8.html#ga48264536e68f952e92a0bdbaa84d9363',1,'cudnn_frontend::PointWiseDescBuilder_v8::setMode(cudnnPointwiseMode_t mode_) -> PointWiseDescBuilder_v8 &'],['../d2/db5/group__PointWiseDescBuilder__v8.html#gae5240136e19e0a4094036d48c6b1a3b7',1,'cudnn_frontend::PointWiseDescBuilder_v8::setMode(cudnnNanPropagation_t nan_mode_) -> PointWiseDescBuilder_v8 &']]], + ['setndims',['setNDims',['../d3/ddd/group__ConvDescBuilder__v8.html#gaacfcf20b0ed61e89bc92970f7bb7a258',1,'cudnn_frontend::ConvDescBuilder_v8']]], + ['setoperation',['setOperation',['../d4/d6b/group__EngineFallbackListBuilder__v8.html#gaf66485fe1a0faccab971edd0c70f04b4',1,'cudnn_frontend::EngineFallbackListBuilder_v8']]], + ['setoperationgraph',['setOperationGraph',['../d3/d09/group__EngineBuilder__v8.html#ga0ceef322363405504dbdc4d1f3c9949a',1,'cudnn_frontend::EngineBuilder_v8::setOperationGraph(OperationGraph_v8 const &opGraph_) -> EngineBuilder_v8 &'],['../d3/d09/group__EngineBuilder__v8.html#ga7220dab88f9fed1704c9d78d9771be5f',1,'cudnn_frontend::EngineBuilder_v8::setOperationGraph(ManagedOpaqueDescriptor desc_) -> EngineBuilder_v8 &'],['../d4/d6b/group__EngineFallbackListBuilder__v8.html#ga45c7c761a47a7731055ad0f943449610',1,'cudnn_frontend::EngineFallbackListBuilder_v8::setOperationGraph()'],['../dc/d99/group__EngineHeuristicsBuilder__v8.html#ga0554ac9347b7409e46f960b30f18dc68',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::setOperationGraph()'],['../d2/df5/group__OperationGraphBuilder__v8.html#ga4e4cee8d631471478d5de420077a2182',1,'cudnn_frontend::OperationGraphBuilder_v8::setOperationGraph()']]], + ['setpostpadding',['setPostPadding',['../d3/ddd/group__ConvDescBuilder__v8.html#ga44915183cb4dddcf23222faca3f84bba',1,'cudnn_frontend::ConvDescBuilder_v8']]], + ['setprepadding',['setPrePadding',['../d3/ddd/group__ConvDescBuilder__v8.html#gab07bf6292e69d19e6324d3073a86d58c',1,'cudnn_frontend::ConvDescBuilder_v8']]], + ['setpwdesc',['setpwDesc',['../d3/d92/group__OperationBuilder__v8.html#gae6b06877b2e675b2a390f0b122100669',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setreductiondesc',['setreductionDesc',['../d3/d92/group__OperationBuilder__v8.html#ga904279a29c2c5c949a0e487dd573ae0a',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setreductionop',['setReductionOp',['../d8/d95/group__ReductionDescBuilder__v8.html#gab00c3396fedc8b68356c426d19a54cf9',1,'cudnn_frontend::ReductionDescBuilder_v8']]], + ['setrelulowerclip',['setReluLowerClip',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#afdbe0ce3f7fb2f0d23251ccb7507bc69',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['setrelulowerclipslope',['setReluLowerClipSlope',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aa93615adf69e7a87a06d0cea687794a6',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['setreluupperclip',['setReluUpperClip',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a0514e70d05a21a9c46bc66d1e61c28f5',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['setsoftplusbeta',['setSoftplusBeta',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ab692e5a2b3970346f68af33530ef98e8',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['setstrides',['setStrides',['../d3/ddd/group__ConvDescBuilder__v8.html#ga2c481d46d71fe909247f50ba2772b7ce',1,'cudnn_frontend::ConvDescBuilder_v8::setStrides()'],['../d3/d3c/group__TensorBuilder__v8.html#ga3de3d95beb2234dc2a741d23703f8ed2',1,'cudnn_frontend::TensorBuilder_v8::setStrides()']]], + ['setswishbeta',['setSwishBeta',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aad41d0f7b6667383fd9012bc492a13c3',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['setuids',['setUids',['../d5/def/group__VariantPackBuilder__v8.html#gad6dc5c5087c2724ca88cc2668d7f829d',1,'cudnn_frontend::VariantPackBuilder_v8']]], + ['setvirtual',['setVirtual',['../d3/d3c/group__TensorBuilder__v8.html#ga7d5d978de243e47938eb1f224a38d02d',1,'cudnn_frontend::TensorBuilder_v8']]], + ['setwdesc',['setwDesc',['../d3/d92/group__OperationBuilder__v8.html#ga80466e517e980ba4953e085b3d4e3498',1,'cudnn_frontend::OperationBuilder_v8']]], + ['setworkspacepointer',['setWorkspacePointer',['../d5/def/group__VariantPackBuilder__v8.html#ga3a7b9ac8c714db202a8f89a6110675b6',1,'cudnn_frontend::VariantPackBuilder_v8']]], + ['setxdesc',['setxDesc',['../d3/d92/group__OperationBuilder__v8.html#gaefa06fdaae3b28c6ef08a0189e2a3d3a',1,'cudnn_frontend::OperationBuilder_v8::setxDesc(ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga04c2492a5376f1a74a57fb49fa7b3599',1,'cudnn_frontend::OperationBuilder_v8::setxDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &']]], + ['setydesc',['setyDesc',['../d3/d92/group__OperationBuilder__v8.html#ga5910bc2209e1b648c1aa0edce7f11e01',1,'cudnn_frontend::OperationBuilder_v8']]], + ['size',['size',['../d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html#a6024bae596d01193397a7396af3aa19a',1,'nlohmann::detail::integer_sequence::size()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a33c7c8638bb0b12e6d1b69d8106dd2e0',1,'nlohmann::basic_json::size()']]], + ['skip_5fbom',['skip_bom',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a7cd7d55de2cd398660bc243c7229caf9',1,'nlohmann::detail::lexer']]], + ['skip_5fwhitespace',['skip_whitespace',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a449f3f3703dfbf8b757e12f002668604',1,'nlohmann::detail::lexer']]], + ['span_5finput_5fadapter',['span_input_adapter',['../da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html#a3a328a45b2c2c87145106ce4b2d02365',1,'nlohmann::detail::span_input_adapter::span_input_adapter(CharT b, std::size_t l)'],['../da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html#a714c6cf8e15b9af4e1723d9f7f92d4c8',1,'nlohmann::detail::span_input_adapter::span_input_adapter(IteratorType first, IteratorType last)']]], + ['split',['split',['../da/de8/classnlohmann_1_1json__pointer.html#ae01c32c6a071c2e5198d5dfcce290e50',1,'nlohmann::json_pointer']]], + ['start_5farray',['start_array',['../d0/d82/structnlohmann_1_1json__sax.html#a5c53878cf08d463eb4e7ca0270532572',1,'nlohmann::json_sax::start_array()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a056b895d011efaf48ea096c024aca0d4',1,'nlohmann::detail::json_sax_dom_parser::start_array()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a5255b98ba8282e3625968f91cff9d3d0',1,'nlohmann::detail::json_sax_dom_callback_parser::start_array()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a8238e8090cbb4ed8a22cbc97bfb833a5',1,'nlohmann::detail::json_sax_acceptor::start_array()']]], + ['start_5fobject',['start_object',['../d0/d82/structnlohmann_1_1json__sax.html#a0671528b0debb5a348169d61f0382a0f',1,'nlohmann::json_sax::start_object()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a9929b4cc92d471c49bd0a92802629f90',1,'nlohmann::detail::json_sax_dom_parser::start_object()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a040e60243cc7c18a6078c6b83cdb4a81',1,'nlohmann::detail::json_sax_dom_callback_parser::start_object()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a822bbca11a9fea0aa337018e351755f5',1,'nlohmann::detail::json_sax_acceptor::start_object()']]], + ['string',['string',['../d0/d82/structnlohmann_1_1json__sax.html#a07eab82f6c82d606787eee9ad73d2bda',1,'nlohmann::json_sax::string()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a851d965082d20a726138f5d0330dc7d8',1,'nlohmann::detail::json_sax_dom_parser::string()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ad94e912a67c7b96158937236805b8b47',1,'nlohmann::detail::json_sax_dom_callback_parser::string()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#aaa69255e757a6ecc4403a2aa4931fc60',1,'nlohmann::detail::json_sax_acceptor::string()']]], + ['strtof',['strtof',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a6d3dffb7bb247a7fd7276d49d3a00dc8',1,'nlohmann::detail::lexer::strtof(float &f, const char *str, char **endptr) noexcept'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ac8455259d8a06acd2a284a5dd7221aea',1,'nlohmann::detail::lexer::strtof(double &f, const char *str, char **endptr) noexcept'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ae01f87db7819a05d0ed17bcb665442e1',1,'nlohmann::detail::lexer::strtof(long double &f, const char *str, char **endptr) noexcept']]], + ['sub',['sub',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#aeb26771af54ad73598c1a0430d65d884',1,'nlohmann::detail::dtoa_impl::diyfp']]], + ['subtype',['subtype',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#ac3ca9d09e55342f9588404e1dc2222f0',1,'nlohmann::byte_container_with_subtype']]], + ['swap',['swap',['../d9/dcc/classnlohmann_1_1basic__json.html#a94295a06e0e7b3867fe83afbee4cb202',1,'nlohmann::basic_json::swap(reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a76126242de262f6d38cadda19e0d13e1',1,'nlohmann::basic_json::swap(array_t &other)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a57b86bdcfc55557dacc36969adb0417e',1,'nlohmann::basic_json::swap(object_t &other)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aac916df9561daf4eaf2372119fe91899',1,'nlohmann::basic_json::swap(string_t &other)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aa242e339ebc7583e114f2167a83f8c90',1,'nlohmann::basic_json::swap(binary_t &other)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a749a1f5091a5e63ccfe919e0aef986af',1,'nlohmann::basic_json::swap(typename binary_t::container_type &other)']]], + ['swap_3c_20nlohmann_3a_3ajson_20_3e',['swap< nlohmann::json >',['../d5/db8/json_8hpp.html#af3f2c23f946bf81b153b863b4acf6bb3',1,'std']]], + ['switch',['switch',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#abc2f80067020fae59d7fbccf39f1547a',1,'nlohmann::detail::iter_impl']]] +]; diff --git a/docs/search/functions_12.html b/docs/search/functions_12.html new file mode 100644 index 00000000..3df84892 --- /dev/null +++ b/docs/search/functions_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/functions_12.js b/docs/search/functions_12.js new file mode 100644 index 00000000..d8e0bd53 --- /dev/null +++ b/docs/search/functions_12.js @@ -0,0 +1,20 @@ +var searchData= +[ + ['tensor_5fv8',['Tensor_v8',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a9df78edb662e32a63680281eb33a14a8',1,'cudnn_frontend::Tensor_v8::Tensor_v8(Tensor_v8 &&from)'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ab48b1728d6978407f0bdbf0227de6f82',1,'cudnn_frontend::Tensor_v8::Tensor_v8()=default'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a5f2703668235c18d063174ccca285457',1,'cudnn_frontend::Tensor_v8::Tensor_v8(Tensor_v8 const &)=delete']]], + ['tensorbuilder_5fv8',['TensorBuilder_v8',['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a9d57810fb6d58f5152e5a1bbc55fc5dd',1,'cudnn_frontend::TensorBuilder_v8::TensorBuilder_v8()=default'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a8f8b7d7da3675d69e7f09bec21735656',1,'cudnn_frontend::TensorBuilder_v8::TensorBuilder_v8(TensorBuilder_v8 &&)=delete'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#abcc771bbe9e1791afc10c686f90c2188',1,'cudnn_frontend::TensorBuilder_v8::TensorBuilder_v8(TensorBuilder_v8 const &)=delete']]], + ['throw_5fif',['throw_if',['../df/de1/namespacecudnn__frontend.html#a1690523b8a133acefaeabc725032e21c',1,'cudnn_frontend::throw_if(std::function< bool()> expr, const char *message)'],['../df/de1/namespacecudnn__frontend.html#a6b0bb5ee1f6d6491a7d53a01ae947dee',1,'cudnn_frontend::throw_if(bool expr, const char *message)']]], + ['time_5fsorted_5fplan',['time_sorted_plan',['../df/de1/namespacecudnn__frontend.html#a148478701949f58a44912cc61dbda1e4',1,'cudnn_frontend']]], + ['to_5fbson',['to_bson',['../d9/dcc/classnlohmann_1_1basic__json.html#aa62d64781b217372225a0652047d8cf3',1,'nlohmann::basic_json::to_bson(const basic_json &j)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a668e4c2ad9808218a25879700f4aef2b',1,'nlohmann::basic_json::to_bson(const basic_json &j, detail::output_adapter< uint8_t > o)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a9ebed178fb7dad1a574bcb7c361fb1b8',1,'nlohmann::basic_json::to_bson(const basic_json &j, detail::output_adapter< char > o)']]], + ['to_5fcbor',['to_cbor',['../d9/dcc/classnlohmann_1_1basic__json.html#adabcf74c9c868da3e04a5546b7705af4',1,'nlohmann::basic_json::to_cbor(const basic_json &j)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a2becf604016783e5644eaa7782a08683',1,'nlohmann::basic_json::to_cbor(const basic_json &j, detail::output_adapter< uint8_t > o)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a5689672954fd3bc38f2f17e5607064c6',1,'nlohmann::basic_json::to_cbor(const basic_json &j, detail::output_adapter< char > o)']]], + ['to_5fchar_5ftype',['to_char_type',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ab77aa48692bd4e64e4f051ce6aeb6d2d',1,'nlohmann::detail::binary_writer::to_char_type(std::uint8_t x) noexcept'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a5e46f0dd3550901b15cf85265808d1ec',1,'nlohmann::detail::binary_writer::to_char_type(std::uint8_t x) noexcept'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ab77aa48692bd4e64e4f051ce6aeb6d2d',1,'nlohmann::detail::binary_writer::to_char_type(std::uint8_t x) noexcept'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a2c2b2132ce56b3b45593374b622baa67',1,'nlohmann::detail::binary_writer::to_char_type(InputCharType x) noexcept']]], + ['to_5fchars',['to_chars',['../dc/df0/namespacenlohmann_1_1detail.html#a6cca370ac6c99294dbe4fe24716a57dd',1,'nlohmann::detail']]], + ['to_5fjson',['to_json',['../dc/dc7/structnlohmann_1_1adl__serializer.html#afdcc8f0204ce8ac7d28a5403f6e1f0e7',1,'nlohmann::adl_serializer::to_json()'],['../dc/df0/namespacenlohmann_1_1detail.html#a1a804b98cbe89b7e44b698f2ca860490',1,'nlohmann::detail::to_json(BasicJsonType &j, T b) noexcept'],['../dc/df0/namespacenlohmann_1_1detail.html#a7356ed05cdbbb080cee80e1211e1c6c9',1,'nlohmann::detail::to_json(BasicJsonType &j, const CompatibleString &s)'],['../dc/df0/namespacenlohmann_1_1detail.html#a4aa1ca6b7c61bf19d1f30ea5b669f68e',1,'nlohmann::detail::to_json(BasicJsonType &j, typename BasicJsonType::string_t &&s)'],['../dc/df0/namespacenlohmann_1_1detail.html#a22bffdc8bc7e43af380ba2050696b230',1,'nlohmann::detail::to_json(BasicJsonType &j, FloatType val) noexcept'],['../dc/df0/namespacenlohmann_1_1detail.html#ae5fd66b5517b3b5a6c6b9fd9f29ba8dc',1,'nlohmann::detail::to_json(BasicJsonType &j, CompatibleNumberUnsignedType val) noexcept'],['../dc/df0/namespacenlohmann_1_1detail.html#a91fe576be579c8c2fdd14610605c6dd2',1,'nlohmann::detail::to_json(BasicJsonType &j, CompatibleNumberIntegerType val) noexcept'],['../dc/df0/namespacenlohmann_1_1detail.html#a0c8b159dba71981d6c555d284cf6e2bf',1,'nlohmann::detail::to_json(BasicJsonType &j, EnumType e) noexcept'],['../dc/df0/namespacenlohmann_1_1detail.html#aeca6fb5fede5ed1e12a4420d98a5692b',1,'nlohmann::detail::to_json(BasicJsonType &j, const std::vector< bool > &e)'],['../dc/df0/namespacenlohmann_1_1detail.html#a3afebc132c5ff83f9cd160e52030fdfd',1,'nlohmann::detail::to_json(BasicJsonType &j, const CompatibleArrayType &arr)'],['../dc/df0/namespacenlohmann_1_1detail.html#a22191081208b226e3875e1118107c281',1,'nlohmann::detail::to_json(BasicJsonType &j, const typename BasicJsonType::binary_t &bin)'],['../dc/df0/namespacenlohmann_1_1detail.html#a7f7c7b9760161b774cdc0b4b838fae64',1,'nlohmann::detail::to_json(BasicJsonType &j, const std::valarray< T > &arr)'],['../dc/df0/namespacenlohmann_1_1detail.html#aa0fd1b5788e9ba37e31da43dda738cb5',1,'nlohmann::detail::to_json(BasicJsonType &j, typename BasicJsonType::array_t &&arr)'],['../dc/df0/namespacenlohmann_1_1detail.html#a24c9c12f3839c94e09532f08de85e949',1,'nlohmann::detail::to_json(BasicJsonType &j, const CompatibleObjectType &obj)'],['../dc/df0/namespacenlohmann_1_1detail.html#ac9f7a5542851c61d93740148eaec509f',1,'nlohmann::detail::to_json(BasicJsonType &j, typename BasicJsonType::object_t &&obj)'],['../dc/df0/namespacenlohmann_1_1detail.html#a20ea5175c8999fc8b673e46b892f71f6',1,'nlohmann::detail::to_json(BasicJsonType &j, const T(&arr)[N])'],['../dc/df0/namespacenlohmann_1_1detail.html#ab64eeb55b44db44eb8e9070229eb97df',1,'nlohmann::detail::to_json(BasicJsonType &j, const std::pair< T1, T2 > &p)'],['../dc/df0/namespacenlohmann_1_1detail.html#aaa77b0c9745130b77733a92a1a2e82ec',1,'nlohmann::detail::to_json(BasicJsonType &j, const T &b)']]], + ['to_5fjson_5ftuple_5fimpl',['to_json_tuple_impl',['../dc/df0/namespacenlohmann_1_1detail.html#a510dfa15b01e9a8afe31600a27b28199',1,'nlohmann::detail']]], + ['to_5fmsgpack',['to_msgpack',['../d9/dcc/classnlohmann_1_1basic__json.html#a99b15bcaee410426b937eacc6e47d771',1,'nlohmann::basic_json::to_msgpack(const basic_json &j)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aa8fe46eda86f6f92c5599c20b6c81819',1,'nlohmann::basic_json::to_msgpack(const basic_json &j, detail::output_adapter< uint8_t > o)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aca5dc0fca52131f3a634372120abfbe7',1,'nlohmann::basic_json::to_msgpack(const basic_json &j, detail::output_adapter< char > o)']]], + ['to_5fstring',['to_string',['../da/de8/classnlohmann_1_1json__pointer.html#a3d4b15d32d096e3776c5d2c773b524f5',1,'nlohmann::json_pointer::to_string()'],['../d3/d9b/namespacenlohmann.html#a6ce645a0b8717757e096a5b5773b7a16',1,'nlohmann::to_string()']]], + ['to_5fubjson',['to_ubjson',['../d9/dcc/classnlohmann_1_1basic__json.html#a25355b9719db23b189fb5f6a8f4f16c4',1,'nlohmann::basic_json::to_ubjson(const basic_json &j, const bool use_size=false, const bool use_type=false)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a19dad92c4fe9e6a289a93195e1230e97',1,'nlohmann::basic_json::to_ubjson(const basic_json &j, detail::output_adapter< uint8_t > o, const bool use_size=false, const bool use_type=false)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a6d133cf7b2e729e9e215edeba5726116',1,'nlohmann::basic_json::to_ubjson(const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false)']]], + ['token_5ftype_5fname',['token_type_name',['../de/d77/classnlohmann_1_1detail_1_1lexer__base.html#ad214d59300605f9d3a4a32c8917aa608',1,'nlohmann::detail::lexer_base']]], + ['type',['type',['../d9/dcc/classnlohmann_1_1basic__json.html#a5b7c4b35a0ad9f97474912a08965d7ad',1,'nlohmann::basic_json']]], + ['type_5ferror',['type_error',['../da/d1c/classnlohmann_1_1detail_1_1type__error.html#aa01edaa0bf18b853368f0b900e485cd7',1,'nlohmann::detail::type_error']]], + ['type_5fname',['type_name',['../d9/dcc/classnlohmann_1_1basic__json.html#a459dbfcd47bd632ca82ca8ff8db278c8',1,'nlohmann::basic_json']]] +]; diff --git a/docs/search/functions_13.html b/docs/search/functions_13.html new file mode 100644 index 00000000..febf8e03 --- /dev/null +++ b/docs/search/functions_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/functions_13.js b/docs/search/functions_13.js new file mode 100644 index 00000000..6435bbdf --- /dev/null +++ b/docs/search/functions_13.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['ubjson_5fprefix',['ubjson_prefix',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a4c129249a5aee8e4ec8add6c6184e4f7',1,'nlohmann::detail::binary_writer']]], + ['unescape',['unescape',['../dc/df0/namespacenlohmann_1_1detail.html#a0b76dc40f2f2c2f983b6b7f74976cc89',1,'nlohmann::detail']]], + ['unexpect_5feof',['unexpect_eof',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a61a0bd8bbe7b560bd429fa990ba3ba1a',1,'nlohmann::detail::binary_reader']]], + ['unflatten',['unflatten',['../da/de8/classnlohmann_1_1json__pointer.html#a920065221e3c81676c3211c100d024a7',1,'nlohmann::json_pointer::unflatten()'],['../d9/dcc/classnlohmann_1_1basic__json.html#adea158bff8642202420898f6322da479',1,'nlohmann::basic_json::unflatten()']]], + ['unget',['unget',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ab5811afe1c3efb0b769f7733b8373c6f',1,'nlohmann::detail::lexer']]], + ['update',['update',['../d9/dcc/classnlohmann_1_1basic__json.html#a377819905d567f6f523dcbc592cb6356',1,'nlohmann::basic_json::update(const_reference j)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a9f9e5f668474280acc9bd7f5410b9392',1,'nlohmann::basic_json::update(const_iterator first, const_iterator last)']]] +]; diff --git a/docs/search/functions_14.html b/docs/search/functions_14.html new file mode 100644 index 00000000..4c814f5a --- /dev/null +++ b/docs/search/functions_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/functions_14.js b/docs/search/functions_14.js new file mode 100644 index 00000000..1a8dfed0 --- /dev/null +++ b/docs/search/functions_14.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['value',['value',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#ab8e33bd01c285a1a80b737a1905ceb97',1,'nlohmann::detail::iteration_proxy_value::value()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ab447c50354c6611fa2ae0100ac17845c',1,'nlohmann::detail::iter_impl::value()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#ae22803d442d483041d17239615f83b58',1,'nlohmann::detail::json_reverse_iterator::value()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a11641b35219676b225d9bd15c7677659',1,'nlohmann::basic_json::value(const typename object_t::key_type &key, const ValueType &default_value) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#adcfdefe95d5c2471a5c97e911d46ee88',1,'nlohmann::basic_json::value(const typename object_t::key_type &key, const char *default_value) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a36bd6765ccd8aeeeb4e49a766ba639df',1,'nlohmann::basic_json::value(const json_pointer &ptr, const ValueType &default_value) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a4658a584571c4180656f5268969ed0a1',1,'nlohmann::basic_json::value(const json_pointer &ptr, const char *default_value) const']]], + ['variantpack_5fv8',['VariantPack_v8',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#aa9ce6c30e5e3c2df4d1e9fe2fb4cd6f5',1,'cudnn_frontend::VariantPack_v8::VariantPack_v8(VariantPack_v8 &&from)'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#ab2712c9ad5eeaf561408d7245938d0c6',1,'cudnn_frontend::VariantPack_v8::VariantPack_v8()=default'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a7d3416a4e2f6a67e1988e3b3cb77e88b',1,'cudnn_frontend::VariantPack_v8::VariantPack_v8(VariantPack_v8 const &)=delete']]], + ['variantpackbuilder_5fv8',['VariantPackBuilder_v8',['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a7690f854d9e6fc2d4df059fca0e91c6a',1,'cudnn_frontend::VariantPackBuilder_v8::VariantPackBuilder_v8()=default'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a16d853685d603472bf260e500f55c145',1,'cudnn_frontend::VariantPackBuilder_v8::VariantPackBuilder_v8(VariantPackBuilder_v8 &&)=delete'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#ac7a523746975d15fd8dc54af0764dcb0',1,'cudnn_frontend::VariantPackBuilder_v8::VariantPackBuilder_v8(VariantPackBuilder_v8 const &)=delete']]], + ['void',['void',['../dc/df0/namespacenlohmann_1_1detail.html#a59fca69799f6b9e366710cb9043aa77d',1,'nlohmann::detail']]] +]; diff --git a/docs/search/functions_15.html b/docs/search/functions_15.html new file mode 100644 index 00000000..0f002b8a --- /dev/null +++ b/docs/search/functions_15.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/functions_15.js b/docs/search/functions_15.js new file mode 100644 index 00000000..5c7623f8 --- /dev/null +++ b/docs/search/functions_15.js @@ -0,0 +1,26 @@ +var searchData= +[ + ['what',['what',['../de/df2/classnlohmann_1_1detail_1_1exception.html#a0672c25ecdf14d1a071d4d6478a65af0',1,'nlohmann::detail::exception::what()'],['../d9/dca/classcudnn__frontend_1_1cudnnException.html#a4f35e3466ff6ce0875631b810364364b',1,'cudnn_frontend::cudnnException::what()']]], + ['wide_5fstring_5finput_5fadapter',['wide_string_input_adapter',['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#aa12146f16f0a22ae3d23bd4af7460fcd',1,'nlohmann::detail::wide_string_input_adapter']]], + ['write_5fbson',['write_bson',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a9ffc566db5219b473762462234b47db9',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5farray',['write_bson_array',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a025212bd170253638b9f05b3b6aa5bf9',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5fbinary',['write_bson_binary',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a97d34d9a70ddc06ae782c55454df42bc',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5fboolean',['write_bson_boolean',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ae099435e1df3096e0fc78333282f8f67',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5fdouble',['write_bson_double',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a263ec18815467bb9919021ef126919ca',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5felement',['write_bson_element',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a7ff58bf1a80018148bed860667ffca07',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5fentry_5fheader',['write_bson_entry_header',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a1b5b7f5c03b1f8b1f59ea61db9634108',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5finteger',['write_bson_integer',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a553ad4dbdf27238eef90867e4bf2f3e5',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5fnull',['write_bson_null',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a9927c1110b18661e0224a76156e5a7a9',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5fobject',['write_bson_object',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a29b3e0f83a8e5f2307804023109ba2c9',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5fobject_5fentry',['write_bson_object_entry',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a6231302930265eccb3f56c378f7b0661',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5fstring',['write_bson_string',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a5e6574416915208fc035b57338ae3252',1,'nlohmann::detail::binary_writer']]], + ['write_5fbson_5funsigned',['write_bson_unsigned',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ac274e3d7a803e7223bb1a4fcb7cd594c',1,'nlohmann::detail::binary_writer']]], + ['write_5fcbor',['write_cbor',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#aa0ab8d27fd88a33a2f801413ac4c7fbc',1,'nlohmann::detail::binary_writer']]], + ['write_5fcharacter',['write_character',['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#a3381896fe1be557f591de2e917cdc7d5',1,'nlohmann::detail::output_adapter_protocol::write_character()'],['../d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html#af6a22d4210bb7bc2da66021300ddd6db',1,'nlohmann::detail::output_vector_adapter::write_character()'],['../d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html#a6e2698c76b200b2d8fac6cebfc43a245',1,'nlohmann::detail::output_stream_adapter::write_character()'],['../d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html#a2d76cc6c88ddbc196a63fcfcac9ee7d1',1,'nlohmann::detail::output_string_adapter::write_character()']]], + ['write_5fcharacters',['write_characters',['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#a2f410a164e0eda17cf6561114b0eee4a',1,'nlohmann::detail::output_adapter_protocol::write_characters()'],['../d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html#ad6f6c461dec7bedd5359454dc22fc9aa',1,'nlohmann::detail::output_vector_adapter::write_characters()'],['../d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html#ad61375497a7d03cb0bdcddfdaad185d0',1,'nlohmann::detail::output_stream_adapter::write_characters()'],['../d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html#ab5ea4da075305d225dfd84ad997e8747',1,'nlohmann::detail::output_string_adapter::write_characters()']]], + ['write_5fcompact_5ffloat',['write_compact_float',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ae69dc3c5b2e8c1c8e461779cddb87436',1,'nlohmann::detail::binary_writer']]], + ['write_5fmsgpack',['write_msgpack',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ae4e0852b64102ce4b07d99f08f828b7c',1,'nlohmann::detail::binary_writer']]], + ['write_5fnumber',['write_number',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a6e11b7227fcecc25a548ed45507b7d1c',1,'nlohmann::detail::binary_writer']]], + ['write_5fnumber_5fwith_5fubjson_5fprefix',['write_number_with_ubjson_prefix',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a0ea6745f944c0c61672146886b4ee90f',1,'nlohmann::detail::binary_writer::write_number_with_ubjson_prefix(const NumberType n, const bool add_prefix)'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a0ea6745f944c0c61672146886b4ee90f',1,'nlohmann::detail::binary_writer::write_number_with_ubjson_prefix(const NumberType n, const bool add_prefix)'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a0ea6745f944c0c61672146886b4ee90f',1,'nlohmann::detail::binary_writer::write_number_with_ubjson_prefix(const NumberType n, const bool add_prefix)']]], + ['write_5fubjson',['write_ubjson',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a0f6c65053d859269f88eb4ebb0cd7060',1,'nlohmann::detail::binary_writer']]] +]; diff --git a/docs/search/functions_16.html b/docs/search/functions_16.html new file mode 100644 index 00000000..28a50251 --- /dev/null +++ b/docs/search/functions_16.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/functions_16.js b/docs/search/functions_16.js new file mode 100644 index 00000000..5916357e --- /dev/null +++ b/docs/search/functions_16.js @@ -0,0 +1,42 @@ +var searchData= +[ + ['_7ebasic_5fjson',['~basic_json',['../d9/dcc/classnlohmann_1_1basic__json.html#a60b643c02a19fa52f99db8215ff58e0f',1,'nlohmann::basic_json']]], + ['_7ebinary_5freader',['~binary_reader',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a359031cba136452d9030ed9ab4517b74',1,'nlohmann::detail::binary_reader']]], + ['_7econvdesc_5fv8',['~ConvDesc_v8',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a0d930ada709a855c86b2857a1b155d02',1,'cudnn_frontend::ConvDesc_v8']]], + ['_7econvdescbuilder_5fv8',['~ConvDescBuilder_v8',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#ae75d5fd1c3fb6b51072f2c9b211477eb',1,'cudnn_frontend::ConvDescBuilder_v8']]], + ['_7eengine_5fv8',['~Engine_v8',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#af58a8aa09f22e048d51e619e36b4cbef',1,'cudnn_frontend::Engine_v8']]], + ['_7eenginebuilder_5fv8',['~EngineBuilder_v8',['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a8a300ec39fc764b86058acf8a9406d89',1,'cudnn_frontend::EngineBuilder_v8']]], + ['_7eengineconfig_5fv8',['~EngineConfig_v8',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a058e432452f5cd570cbf4e69d7d53eea',1,'cudnn_frontend::EngineConfig_v8']]], + ['_7eengineconfigbuilder_5fv8',['~EngineConfigBuilder_v8',['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a49eedc731d95df1f21e353a9a9511cfd',1,'cudnn_frontend::EngineConfigBuilder_v8']]], + ['_7eenginefallbacklist_5fv8',['~EngineFallbackList_v8',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a62dd89e142b11917507a48b2ac3dd047',1,'cudnn_frontend::EngineFallbackList_v8']]], + ['_7eenginefallbacklistbuilder_5fv8',['~EngineFallbackListBuilder_v8',['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a28651c04cd22f3ebe037b99627ddbd62',1,'cudnn_frontend::EngineFallbackListBuilder_v8']]], + ['_7eengineheuristics_5fv8',['~EngineHeuristics_v8',['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a2261e27dacfdad755d625692aa20f290',1,'cudnn_frontend::EngineHeuristics_v8']]], + ['_7eengineheuristicsbuilder_5fv8',['~EngineHeuristicsBuilder_v8',['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a8740e967b981abf94dc2c53eb8786ceb',1,'cudnn_frontend::EngineHeuristicsBuilder_v8']]], + ['_7eexecutionplan_5fv8',['~ExecutionPlan_v8',['../d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#a8a8ac13b1c639dd9b87c280a598446af',1,'cudnn_frontend::ExecutionPlan_v8']]], + ['_7eexecutionplanbuilder_5fv8',['~ExecutionPlanBuilder_v8',['../d7/d0d/group__ExecutionPlanQuery.html#gae3f841de1b6461b31bf7967734a70a8a',1,'cudnn_frontend::ExecutionPlanBuilder_v8']]], + ['_7efile_5finput_5fadapter',['~file_input_adapter',['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a6977a9d721de8181253d8431a335ba63',1,'nlohmann::detail::file_input_adapter']]], + ['_7einput_5fstream_5fadapter',['~input_stream_adapter',['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a1d29416acc75b02bfaf251d9d8ef8f36',1,'nlohmann::detail::input_stream_adapter']]], + ['_7eiter_5fimpl',['~iter_impl',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a3fc5c9a782628d91047aa35f40bb7fdc',1,'nlohmann::detail::iter_impl']]], + ['_7ejson_5fref',['~json_ref',['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a8bcd4cfcafe952ce5140f8cb35ebe2f6',1,'nlohmann::detail::json_ref']]], + ['_7ejson_5fsax',['~json_sax',['../d0/d82/structnlohmann_1_1json__sax.html#af31bacfa81aa7818d8639d1da65c8eb5',1,'nlohmann::json_sax']]], + ['_7ejson_5fsax_5fdom_5fcallback_5fparser',['~json_sax_dom_callback_parser',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a54ffcdfb0a8c5c9a876cd003b404ef4b',1,'nlohmann::detail::json_sax_dom_callback_parser']]], + ['_7ejson_5fsax_5fdom_5fparser',['~json_sax_dom_parser',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a4b93deb5c1d716dcfb33b3ed8a00ac4d',1,'nlohmann::detail::json_sax_dom_parser']]], + ['_7elexer',['~lexer',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ac0557f111d82f7729a93ee9b40b31402',1,'nlohmann::detail::lexer']]], + ['_7ematmuldesc_5fv8',['~MatMulDesc_v8',['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ad27b038b19b218067bd30e60d94fd672',1,'cudnn_frontend::MatMulDesc_v8']]], + ['_7ematmuldescbuilder_5fv8',['~MatMulDescBuilder_v8',['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a3f5790e5ada9a1785d9daf4246ea8de3',1,'cudnn_frontend::MatMulDescBuilder_v8']]], + ['_7enonesuch',['~nonesuch',['../da/d31/structnlohmann_1_1detail_1_1nonesuch.html#a7b1119845860e548b67f1644a2084373',1,'nlohmann::detail::nonesuch']]], + ['_7eopaquebackendpointer',['~OpaqueBackendPointer',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a9f549dd95873ac3a02689ef97f4a6c75',1,'cudnn_frontend::OpaqueBackendPointer']]], + ['_7eoperation_5fv8',['~Operation_v8',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a67d82f53ecbdfe2416d2a26410138d78',1,'cudnn_frontend::Operation_v8']]], + ['_7eoperationgraph_5fv8',['~OperationGraph_v8',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#aeb42611a38c4951e66cd23108d53353c',1,'cudnn_frontend::OperationGraph_v8']]], + ['_7eoperationgraphbuilder_5fv8',['~OperationGraphBuilder_v8',['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a45e8a324d62146f592b049f51d2e4552',1,'cudnn_frontend::OperationGraphBuilder_v8']]], + ['_7eoutput_5fadapter_5fprotocol',['~output_adapter_protocol',['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#ad71cdc057030f8a775a191face25061a',1,'nlohmann::detail::output_adapter_protocol']]], + ['_7epointwisedesc_5fv8',['~PointWiseDesc_v8',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a44917fdd66ea262687c0f0af3ef3b424',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['_7epointwisedescbuilder_5fv8',['~PointWiseDescBuilder_v8',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#af976fab4a7726609a1b10dc2a8bcdf65',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['_7ereductiondesc_5fv8',['~ReductionDesc_v8',['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a2f878e63e294f06ac57a614db0a6c749',1,'cudnn_frontend::ReductionDesc_v8']]], + ['_7ereductiondescbuilder_5fv8',['~ReductionDescBuilder_v8',['../d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a76e541ac766ba434f144ce05c172c9eb',1,'cudnn_frontend::ReductionDescBuilder_v8']]], + ['_7eserializer',['~serializer',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#aa6c62b51cbebb185307df851dc0167f0',1,'nlohmann::detail::serializer']]], + ['_7etensor_5fv8',['~Tensor_v8',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a5a402bf5c68021711d9d9ec8fd4c1001',1,'cudnn_frontend::Tensor_v8']]], + ['_7etensorbuilder_5fv8',['~TensorBuilder_v8',['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a2c9dcbe8acfe079ad14801c7cda0fe29',1,'cudnn_frontend::TensorBuilder_v8']]], + ['_7evariantpack_5fv8',['~VariantPack_v8',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a55a7b12efe39ed7a24631ed05630721d',1,'cudnn_frontend::VariantPack_v8']]], + ['_7evariantpackbuilder_5fv8',['~VariantPackBuilder_v8',['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a27a6e5a2602262c35a8ea8533ef5a635',1,'cudnn_frontend::VariantPackBuilder_v8']]] +]; diff --git a/docs/search/functions_2.js b/docs/search/functions_2.js index fd2f4bb0..ca1dbd00 100644 --- a/docs/search/functions_2.js +++ b/docs/search/functions_2.js @@ -1,4 +1,31 @@ var searchData= [ - ['describe',['describe',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#ab652fb3e9a58092fbb137b0e959a9478',1,'cudnn_frontend::BackendDescriptor::describe()'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a0d36a97abb2d36a0148ce8e8833baff8',1,'cudnn_frontend::ConvDesc_v8::describe()'],['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a3f60f9ba0e35cb0bccbf3524def69db2',1,'cudnn_frontend::Engine_v8::Knob::describe()'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a052463f45fef3bb98e2822ba0fccdb8e',1,'cudnn_frontend::Engine_v8::describe()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#aefd7d8d3da71ce0dddca0f6a85fd1c80',1,'cudnn_frontend::EngineConfig_v8::describe()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a3509dd7589fed7a699874170cec6dd9f',1,'cudnn_frontend::EngineFallbackList_v8::describe()'],['../d7/d0d/group__ExecutionPlanQuery.html#gad80aa2980d915449d05db4c71041e2e0',1,'cudnn_frontend::ExecutionPlan_v8::describe()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#ac223cc9438a0442bd3b48881f71a4b40',1,'cudnn_frontend::EngineHeuristics_v8::describe()'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a2931e4d0b21e6986a3f5a1697ca4bae0',1,'cudnn_frontend::MatMulDesc_v8::describe()'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a3425a8550eb9f622dc4101d3d5d2c0e1',1,'cudnn_frontend::Operation_v8::describe()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#acd0b5f47407184b0b26bf4d4b5d0ce32',1,'cudnn_frontend::OperationGraph_v8::describe()'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a66ada0a9313ced7ed2801097ef523de8',1,'cudnn_frontend::PointWiseDesc_v8::describe()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a79cc1a752e6df2001b853f8c189b1f1f',1,'cudnn_frontend::Tensor_v8::describe()'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a7ba1c4736d3b0f187dc06344ca4e2032',1,'cudnn_frontend::VariantPack_v8::describe()']]] + ['calc_5fbson_5farray_5fsize',['calc_bson_array_size',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#af08f9302a02516ff8cf358a99aaa1ddf',1,'nlohmann::detail::binary_writer']]], + ['calc_5fbson_5fbinary_5fsize',['calc_bson_binary_size',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a9dd6062fd249a695e0f93d558dba4685',1,'nlohmann::detail::binary_writer']]], + ['calc_5fbson_5felement_5fsize',['calc_bson_element_size',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a1e4372c5984184eb5bcc09af1fcc2ee0',1,'nlohmann::detail::binary_writer']]], + ['calc_5fbson_5fentry_5fheader_5fsize',['calc_bson_entry_header_size',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a11637a023d22e57a7e7aff3f98b10f84',1,'nlohmann::detail::binary_writer']]], + ['calc_5fbson_5finteger_5fsize',['calc_bson_integer_size',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#aeab70c895931b96ea598306b37eca271',1,'nlohmann::detail::binary_writer']]], + ['calc_5fbson_5fobject_5fsize',['calc_bson_object_size',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#acc6f1cc1fd370ee84ebc8cf7b8712840',1,'nlohmann::detail::binary_writer']]], + ['calc_5fbson_5fstring_5fsize',['calc_bson_string_size',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#aea44fd97a5cb9b4f175e66e3e4fdf158',1,'nlohmann::detail::binary_writer']]], + ['calc_5fbson_5funsigned_5fsize',['calc_bson_unsigned_size',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#aa1d6bb9f3af16f07ce2440c354b5787b',1,'nlohmann::detail::binary_writer']]], + ['cbegin',['cbegin',['../d9/dcc/classnlohmann_1_1basic__json.html#ae508c13e3ad6ce445bcaf24a2bc7d039',1,'nlohmann::basic_json']]], + ['cend',['cend',['../d9/dcc/classnlohmann_1_1basic__json.html#a3017cf0f1a4673e904e34cfef62e7758',1,'nlohmann::basic_json']]], + ['check_5ferrata',['check_errata',['../df/de1/namespacecudnn__frontend.html#a8f4ddfcd38f15524ff0a35e14d21664c',1,'cudnn_frontend']]], + ['check_5frule',['check_rule',['../df/de1/namespacecudnn__frontend.html#a91f2627793be5d51db9b1473275d803d',1,'cudnn_frontend']]], + ['clear',['clear',['../d9/dcc/classnlohmann_1_1basic__json.html#a946cc8f30d8b1d6609b57387b647fe53',1,'nlohmann::basic_json']]], + ['clear_5fsubtype',['clear_subtype',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a7b122b28ff2b8680557ca44ac9748e49',1,'nlohmann::byte_container_with_subtype']]], + ['combine',['combine',['../dc/df0/namespacenlohmann_1_1detail.html#a66eb4d912b6f872d6983f7d0826f32c6',1,'nlohmann::detail']]], + ['compute_5fboundaries',['compute_boundaries',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#a22b6e37654ac93c6d0d9c06ec1bf5ded',1,'nlohmann::detail::dtoa_impl']]], + ['computetag',['computeTag',['../d7/d0d/group__ExecutionPlanQuery.html#ga8a6517102f5c12e63e4417324a03180b',1,'cudnn_frontend::ExecutionPlan_v8']]], + ['construct',['construct',['../d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.html#a867122bcf0856c757bd6bcbfb8be74bc',1,'nlohmann::detail::external_constructor< value_t::boolean >::construct()'],['../da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html#ad88d0b4b7ea01ea20e12cc1b82fe0d92',1,'nlohmann::detail::external_constructor< value_t::string >::construct(BasicJsonType &j, const typename BasicJsonType::string_t &s)'],['../da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html#a74f56b9ca1d4e8db9751353d76668322',1,'nlohmann::detail::external_constructor< value_t::string >::construct(BasicJsonType &j, typename BasicJsonType::string_t &&s)'],['../da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.html#a8822d43f0e20c5a28be329f9ca7de6c4',1,'nlohmann::detail::external_constructor< value_t::string >::construct(BasicJsonType &j, const CompatibleStringType &str)'],['../d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html#a0ff0da4f9a4d27955961477102c50a27',1,'nlohmann::detail::external_constructor< value_t::binary >::construct(BasicJsonType &j, const typename BasicJsonType::binary_t &b)'],['../d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.html#a1c478157dc8bad20f09572c5b2406150',1,'nlohmann::detail::external_constructor< value_t::binary >::construct(BasicJsonType &j, typename BasicJsonType::binary_t &&b)'],['../d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.html#a669df5a4d258b588e67f747c6d656cdb',1,'nlohmann::detail::external_constructor< value_t::number_float >::construct()'],['../d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.html#a17969b14852f43e04353858c87b0f539',1,'nlohmann::detail::external_constructor< value_t::number_unsigned >::construct()'],['../dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.html#a7c3949672ddb45095cc2527635feef0b',1,'nlohmann::detail::external_constructor< value_t::number_integer >::construct()'],['../d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#abfb2a6eec0bc21e8a7438546aebc55d8',1,'nlohmann::detail::external_constructor< value_t::array >::construct(BasicJsonType &j, const typename BasicJsonType::array_t &arr)'],['../d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a50474d6624957a630a1d398cac1e7bfa',1,'nlohmann::detail::external_constructor< value_t::array >::construct(BasicJsonType &j, typename BasicJsonType::array_t &&arr)'],['../d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a110f50fd5378da876d9a6d6a8d945e37',1,'nlohmann::detail::external_constructor< value_t::array >::construct(BasicJsonType &j, const CompatibleArrayType &arr)'],['../d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a4ebb19b1cb84b4cb224a4c5322e16f14',1,'nlohmann::detail::external_constructor< value_t::array >::construct(BasicJsonType &j, const std::vector< bool > &arr)'],['../d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.html#a1b9226304e6492141080b4ebf228ddac',1,'nlohmann::detail::external_constructor< value_t::array >::construct(BasicJsonType &j, const std::valarray< T > &arr)'],['../d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html#a3a369c5d49596dd4411e368425f9ac7a',1,'nlohmann::detail::external_constructor< value_t::object >::construct(BasicJsonType &j, const typename BasicJsonType::object_t &obj)'],['../d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html#a1e044961affbd6417386d6e9f1d545e9',1,'nlohmann::detail::external_constructor< value_t::object >::construct(BasicJsonType &j, typename BasicJsonType::object_t &&obj)'],['../d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.html#a91f89abe0ec4dec59099b691682ff927',1,'nlohmann::detail::external_constructor< value_t::object >::construct(BasicJsonType &j, const CompatibleObjectType &obj)']]], + ['contains',['contains',['../da/de8/classnlohmann_1_1json__pointer.html#a90d38e45e2d3add52d824bc55da8f772',1,'nlohmann::json_pointer::contains()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a02c9bc4d0f33b7dec20b2798301d6971',1,'nlohmann::basic_json::contains(KeyT &&key) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#adb82c1f34c73486e013da71ae369e597',1,'nlohmann::basic_json::contains(const json_pointer &ptr) const']]], + ['convdesc_5fv8',['ConvDesc_v8',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a592e3a28fd7a8b2553789801d9bd276c',1,'cudnn_frontend::ConvDesc_v8::ConvDesc_v8(ConvDesc_v8 &&from)'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a5c892fb76fbf9e4bfffdb5288f9d60ad',1,'cudnn_frontend::ConvDesc_v8::ConvDesc_v8()=default'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a061ef887bdf383d416ee143a35d5c334',1,'cudnn_frontend::ConvDesc_v8::ConvDesc_v8(ConvDesc_v8 const &)=delete']]], + ['convdescbuilder_5fv8',['ConvDescBuilder_v8',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#ae7b3fb50c7866c50ac1a170e137f38af',1,'cudnn_frontend::ConvDescBuilder_v8::ConvDescBuilder_v8()=default'],['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a314369f1ea702c92d184b3ba66085468',1,'cudnn_frontend::ConvDescBuilder_v8::ConvDescBuilder_v8(ConvDescBuilder_v8 &&)=delete'],['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a99c1c90149cee07a26124fe32bdcfe03',1,'cudnn_frontend::ConvDescBuilder_v8::ConvDescBuilder_v8(ConvDescBuilder_v8 const &)=delete']]], + ['count',['count',['../d6/da7/structnlohmann_1_1ordered__map.html#aee2c188dcc802d6b28910f707a5e637b',1,'nlohmann::ordered_map::count()'],['../d9/dcc/classnlohmann_1_1basic__json.html#aba5ec6d1e37eda6b11eba491a1e5237e',1,'nlohmann::basic_json::count()']]], + ['crbegin',['crbegin',['../d9/dcc/classnlohmann_1_1basic__json.html#a044298d189bdf7e4b36492de9811ddd6',1,'nlohmann::basic_json']]], + ['create',['create',['../d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#ae77bd584cb9101140790219af7fec1ce',1,'nlohmann::detail::parse_error::create(int id_, const position_t &pos, const std::string &what_arg, const BasicJsonType &context)'],['../d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#a90fbaaeeb00838e65b8d04885017ef0c',1,'nlohmann::detail::parse_error::create(int id_, std::size_t byte_, const std::string &what_arg, const BasicJsonType &context)'],['../d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html#a34104b98ab00564e564176b4d2ba7c3c',1,'nlohmann::detail::invalid_iterator::create()'],['../da/d1c/classnlohmann_1_1detail_1_1type__error.html#a838a5e301cf97289c2d106b9ace1470f',1,'nlohmann::detail::type_error::create()'],['../d2/d67/classnlohmann_1_1detail_1_1out__of__range.html#a238f1bda3b6c92b5970fbf9187ccd325',1,'nlohmann::detail::out_of_range::create()'],['../d5/d1b/classnlohmann_1_1detail_1_1other__error.html#a3a25fa67a0ec36b5d36cbc4424eb901d',1,'nlohmann::detail::other_error::create()'],['../d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a1d3a80249cf837448966319310be9ec4',1,'nlohmann::detail::iterator_input_adapter_factory::create()'],['../da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#aae2354d80ae95214a9da99c495003f6c',1,'nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::create()'],['../d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html#a282eae71ce3b7a4249c6bc06da8b2670',1,'nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >::create()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ac53c5c09feafe34cc8a3a9f0b90f4792',1,'nlohmann::basic_json::create()']]], + ['crend',['crend',['../d9/dcc/classnlohmann_1_1basic__json.html#a223480466a0922267d680ec8f0722d58',1,'nlohmann::basic_json']]], + ['cudnnexception',['cudnnException',['../d9/dca/classcudnn__frontend_1_1cudnnException.html#aa80c45a57ca091770572aaa5a1f7e322',1,'cudnn_frontend::cudnnException']]], + ['cudnnfindplan',['cudnnFindPlan',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#abd7cdd3a218623ffc5dfcbf9343aef85',1,'cudnn_frontend::EngineConfigGenerator']]], + ['cudnngetplan',['cudnnGetPlan',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#ad6ca7e7263ed9b7597f94ca45505642f',1,'cudnn_frontend::EngineConfigGenerator']]] ]; diff --git a/docs/search/functions_3.js b/docs/search/functions_3.js index c07f971d..d84a574c 100644 --- a/docs/search/functions_3.js +++ b/docs/search/functions_3.js @@ -1,14 +1,9 @@ var searchData= [ - ['engine_5fv8',['Engine_v8',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#afc5da140bcc7be57dc81f7fc5a589744',1,'cudnn_frontend::Engine_v8::Engine_v8()=default'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a63620960db3192066b7eb5f563841f1b',1,'cudnn_frontend::Engine_v8::Engine_v8(Engine_v8 const &)=delete'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a7609e82ac3dc04b67e9e73beb0f7cdae',1,'cudnn_frontend::Engine_v8::Engine_v8(Engine_v8 &&from)']]], - ['enginebuilder_5fv8',['EngineBuilder_v8',['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a21b687e5455f4bc727210ac2da46d7b3',1,'cudnn_frontend::EngineBuilder_v8::EngineBuilder_v8()=default'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a033fb0022860f23e76ca1529da165bfc',1,'cudnn_frontend::EngineBuilder_v8::EngineBuilder_v8(EngineBuilder_v8 &&)=delete'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a7f5a24e27ff497bd44fd93fb700d5424',1,'cudnn_frontend::EngineBuilder_v8::EngineBuilder_v8(EngineBuilder_v8 const &)=delete']]], - ['engineconfig_5fv8',['EngineConfig_v8',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a16d46ab109f54fe4ef0863fddcc66e42',1,'cudnn_frontend::EngineConfig_v8::EngineConfig_v8(EngineConfig_v8 &&from)'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ab761cb8a8a38495e913395fa872afb3e',1,'cudnn_frontend::EngineConfig_v8::EngineConfig_v8()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#acf7eccfed045156beab03a2db0c31dd8',1,'cudnn_frontend::EngineConfig_v8::EngineConfig_v8(EngineConfig_v8 const &)=delete']]], - ['engineconfigbuilder_5fv8',['EngineConfigBuilder_v8',['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a49a8a25759e78e7a2c77c55f0b54696b',1,'cudnn_frontend::EngineConfigBuilder_v8::EngineConfigBuilder_v8()=default'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a3deb5e1f20c028b8bb39406cca743e43',1,'cudnn_frontend::EngineConfigBuilder_v8::EngineConfigBuilder_v8(EngineConfigBuilder_v8 &&)=delete'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a17fca0597527c1f6acffa73ddaeedc03',1,'cudnn_frontend::EngineConfigBuilder_v8::EngineConfigBuilder_v8(EngineConfigBuilder_v8 const &)=delete']]], - ['engineconfiggenerator',['EngineConfigGenerator',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a322221ec9a28f1f48c5a3edf60adff1d',1,'cudnn_frontend::EngineConfigGenerator']]], - ['enginefallbacklist_5fv8',['EngineFallbackList_v8',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#adfa074bcaaf2b0297a9c740a3e3706b7',1,'cudnn_frontend::EngineFallbackList_v8::EngineFallbackList_v8(EngineFallbackList_v8 &&from)'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#abb40ba38f035c1e9bd20304f32f90256',1,'cudnn_frontend::EngineFallbackList_v8::EngineFallbackList_v8()=default'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9c9a8cc39a38b449b1f044d407168905',1,'cudnn_frontend::EngineFallbackList_v8::EngineFallbackList_v8(EngineFallbackList_v8 const &)=delete']]], - ['enginefallbacklistbuilder_5fv8',['EngineFallbackListBuilder_v8',['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#ae955fa571b31ffc3da0ca6293d089642',1,'cudnn_frontend::EngineFallbackListBuilder_v8::EngineFallbackListBuilder_v8()=default'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a3dda7b1b97beb027718b7809702967b5',1,'cudnn_frontend::EngineFallbackListBuilder_v8::EngineFallbackListBuilder_v8(EngineFallbackListBuilder_v8 &&)=delete'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#ad3e10ca860311b1b554507615c46b9ad',1,'cudnn_frontend::EngineFallbackListBuilder_v8::EngineFallbackListBuilder_v8(EngineFallbackListBuilder_v8 const &)=delete']]], - ['engineheuristics_5fv8',['EngineHeuristics_v8',['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a298d4a89c8e9ed80526a6cccf33d716c',1,'cudnn_frontend::EngineHeuristics_v8::EngineHeuristics_v8(EngineHeuristics_v8 &&from)'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#aaa983e31e1a22bfebb639865e4514d82',1,'cudnn_frontend::EngineHeuristics_v8::EngineHeuristics_v8()=default'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a496a7e3160046bdf73289fbec51423a3',1,'cudnn_frontend::EngineHeuristics_v8::EngineHeuristics_v8(EngineHeuristics_v8 const &)=delete']]], - ['engineheuristicsbuilder_5fv8',['EngineHeuristicsBuilder_v8',['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a5667e4567520189eaa96fcd6e934cb29',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::EngineHeuristicsBuilder_v8()=default'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#af5318bb3e2700f53e299f8526e7a524f',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::EngineHeuristicsBuilder_v8(EngineHeuristicsBuilder_v8 &&)=delete'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a19d632b9f96c91bad2b18446cf32f491',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::EngineHeuristicsBuilder_v8(EngineHeuristicsBuilder_v8 const &)=delete']]], - ['executionplan_5fv8',['ExecutionPlan_v8',['../d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#ac388ed7f6911f704ed2618a3867fad72',1,'cudnn_frontend::ExecutionPlan_v8::ExecutionPlan_v8(ExecutionPlan_v8 &&from)'],['../d7/d0d/group__ExecutionPlanQuery.html#ga2c011aa14563ef96417ce599f0c83d89',1,'cudnn_frontend::ExecutionPlan_v8::ExecutionPlan_v8()=default'],['../d7/d0d/group__ExecutionPlanQuery.html#ga51c4b75729ab066f0686729896741c5d',1,'cudnn_frontend::ExecutionPlan_v8::ExecutionPlan_v8(ExecutionPlan_v8 const &)=delete']]], - ['executionplanbuilder_5fv8',['ExecutionPlanBuilder_v8',['../d7/d0d/group__ExecutionPlanQuery.html#ga8e48fb375271599c83f57922d9f8c89e',1,'cudnn_frontend::ExecutionPlanBuilder_v8::ExecutionPlanBuilder_v8()=default'],['../d7/d0d/group__ExecutionPlanQuery.html#ga60147aa715352906e32cbb87558cb0ae',1,'cudnn_frontend::ExecutionPlanBuilder_v8::ExecutionPlanBuilder_v8(ExecutionPlanBuilder_v8 &&)=delete'],['../d7/d0d/group__ExecutionPlanQuery.html#ga2b84d3619b5bd9ca0faa30c126deb43c',1,'cudnn_frontend::ExecutionPlanBuilder_v8::ExecutionPlanBuilder_v8(ExecutionPlanBuilder_v8 const &)=delete']]] + ['describe',['describe',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#ab652fb3e9a58092fbb137b0e959a9478',1,'cudnn_frontend::BackendDescriptor::describe()'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a0d36a97abb2d36a0148ce8e8833baff8',1,'cudnn_frontend::ConvDesc_v8::describe()'],['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a3f60f9ba0e35cb0bccbf3524def69db2',1,'cudnn_frontend::Engine_v8::Knob::describe()'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a052463f45fef3bb98e2822ba0fccdb8e',1,'cudnn_frontend::Engine_v8::describe()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#aefd7d8d3da71ce0dddca0f6a85fd1c80',1,'cudnn_frontend::EngineConfig_v8::describe()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a3509dd7589fed7a699874170cec6dd9f',1,'cudnn_frontend::EngineFallbackList_v8::describe()'],['../d7/d0d/group__ExecutionPlanQuery.html#gad80aa2980d915449d05db4c71041e2e0',1,'cudnn_frontend::ExecutionPlan_v8::describe()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#ac223cc9438a0442bd3b48881f71a4b40',1,'cudnn_frontend::EngineHeuristics_v8::describe()'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a2931e4d0b21e6986a3f5a1697ca4bae0',1,'cudnn_frontend::MatMulDesc_v8::describe()'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a3425a8550eb9f622dc4101d3d5d2c0e1',1,'cudnn_frontend::Operation_v8::describe()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#acd0b5f47407184b0b26bf4d4b5d0ce32',1,'cudnn_frontend::OperationGraph_v8::describe()'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a66ada0a9313ced7ed2801097ef523de8',1,'cudnn_frontend::PointWiseDesc_v8::describe()'],['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#ad4d7570552aaf140e380e7a44e7785af',1,'cudnn_frontend::ReductionDesc_v8::describe()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a79cc1a752e6df2001b853f8c189b1f1f',1,'cudnn_frontend::Tensor_v8::describe()'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a7ba1c4736d3b0f187dc06344ca4e2032',1,'cudnn_frontend::VariantPack_v8::describe()']]], + ['destroy',['destroy',['../d9/dcc/classnlohmann_1_1basic__json.html#adca9bb93a7bfa43bdae38dd8493cc042',1,'nlohmann::basic_json']]], + ['diagnostics',['diagnostics',['../de/df2/classnlohmann_1_1detail_1_1exception.html#aa353a7dba4fd179f7224b8a2a238a264',1,'nlohmann::detail::exception']]], + ['diff',['diff',['../d9/dcc/classnlohmann_1_1basic__json.html#a1c1f21327df91a4dd6c5f5a107240385',1,'nlohmann::basic_json']]], + ['diyfp',['diyfp',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#ad8798a8823a49c8412f0fada9892c918',1,'nlohmann::detail::dtoa_impl::diyfp']]], + ['dump',['dump',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a95460ebd1a535a543e5a0ec52e00f48b',1,'nlohmann::detail::serializer::dump()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a476756fb08e7f2416aad116d137977f4',1,'nlohmann::basic_json::dump()']]] ]; diff --git a/docs/search/functions_4.js b/docs/search/functions_4.js index f0858934..ab6584ef 100644 --- a/docs/search/functions_4.js +++ b/docs/search/functions_4.js @@ -1,4 +1,24 @@ var searchData= [ - ['filter',['filter',['../df/de1/namespacecudnn__frontend.html#a0f52559baeb4e9ee8835d95ea50a875e',1,'cudnn_frontend::filter(Predicate pred, executionPlans_t &plans) -> executionPlans_t'],['../df/de1/namespacecudnn__frontend.html#a4d18e44a57e30f9bf29157f742ba9c65',1,'cudnn_frontend::filter(EngineConfigList &from, EngineConfigList &to, std::function< bool(cudnnBackendDescriptor_t)> filter_fn)']]] + ['emplace',['emplace',['../d6/da7/structnlohmann_1_1ordered__map.html#a38834c948b844033caa7d5c76fee5866',1,'nlohmann::ordered_map::emplace()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ac479e609cbd03948bd3e85fb441b66e5',1,'nlohmann::basic_json::emplace()']]], + ['emplace_5fback',['emplace_back',['../d9/dcc/classnlohmann_1_1basic__json.html#a15c0a5db4fb12d49433801bbe6436bfb',1,'nlohmann::basic_json']]], + ['empty',['empty',['../d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#ace7ba18b59cde50cbc53687034f649be',1,'nlohmann::detail::iterator_input_adapter::empty()'],['../da/de8/classnlohmann_1_1json__pointer.html#a649252bda4a2e75a0915b11a25d8bcc3',1,'nlohmann::json_pointer::empty()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a5c99855f3e35ff35558cb46139b785f8',1,'nlohmann::basic_json::empty()']]], + ['end',['end',['../db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html#a90091f8492d23576edef72c5e8b9d4cf',1,'nlohmann::detail::iteration_proxy::end()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a931267ec3f09eb67e4382f321b2c52bc',1,'nlohmann::basic_json::end() noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a82b5b96f86879a3bac0c713d33178551',1,'nlohmann::basic_json::end() const noexcept']]], + ['end_5farray',['end_array',['../d0/d82/structnlohmann_1_1json__sax.html#a235ee975617f28e6a996d1e36a282312',1,'nlohmann::json_sax::end_array()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#af7cb5e5fe06ea908b0ce4ed762919759',1,'nlohmann::detail::json_sax_dom_parser::end_array()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#aa64e7a650952174037d32028de582c12',1,'nlohmann::detail::json_sax_dom_callback_parser::end_array()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a22ef94ca5476a9563dcaca15b7d6e654',1,'nlohmann::detail::json_sax_acceptor::end_array()']]], + ['end_5fobject',['end_object',['../d0/d82/structnlohmann_1_1json__sax.html#ad0c722d53ff97be700ccf6a9468bd456',1,'nlohmann::json_sax::end_object()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a88de4907ad5668d0358af2135236101f',1,'nlohmann::detail::json_sax_dom_parser::end_object()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ae75d313d6d1b9c29508e740a10fefa18',1,'nlohmann::detail::json_sax_dom_callback_parser::end_object()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a919645fd1827a561a994d70a435e3f19',1,'nlohmann::detail::json_sax_acceptor::end_object()']]], + ['engine_5fv8',['Engine_v8',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#afc5da140bcc7be57dc81f7fc5a589744',1,'cudnn_frontend::Engine_v8::Engine_v8()=default'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a63620960db3192066b7eb5f563841f1b',1,'cudnn_frontend::Engine_v8::Engine_v8(Engine_v8 const &)=delete'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a7609e82ac3dc04b67e9e73beb0f7cdae',1,'cudnn_frontend::Engine_v8::Engine_v8(Engine_v8 &&from)']]], + ['enginebuilder_5fv8',['EngineBuilder_v8',['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a21b687e5455f4bc727210ac2da46d7b3',1,'cudnn_frontend::EngineBuilder_v8::EngineBuilder_v8()=default'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a033fb0022860f23e76ca1529da165bfc',1,'cudnn_frontend::EngineBuilder_v8::EngineBuilder_v8(EngineBuilder_v8 &&)=delete'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a7f5a24e27ff497bd44fd93fb700d5424',1,'cudnn_frontend::EngineBuilder_v8::EngineBuilder_v8(EngineBuilder_v8 const &)=delete']]], + ['engineconfig_5fv8',['EngineConfig_v8',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a16d46ab109f54fe4ef0863fddcc66e42',1,'cudnn_frontend::EngineConfig_v8::EngineConfig_v8(EngineConfig_v8 &&from)'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ab761cb8a8a38495e913395fa872afb3e',1,'cudnn_frontend::EngineConfig_v8::EngineConfig_v8()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#acf7eccfed045156beab03a2db0c31dd8',1,'cudnn_frontend::EngineConfig_v8::EngineConfig_v8(EngineConfig_v8 const &)=delete']]], + ['engineconfigbuilder_5fv8',['EngineConfigBuilder_v8',['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a49a8a25759e78e7a2c77c55f0b54696b',1,'cudnn_frontend::EngineConfigBuilder_v8::EngineConfigBuilder_v8()=default'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a3deb5e1f20c028b8bb39406cca743e43',1,'cudnn_frontend::EngineConfigBuilder_v8::EngineConfigBuilder_v8(EngineConfigBuilder_v8 &&)=delete'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a17fca0597527c1f6acffa73ddaeedc03',1,'cudnn_frontend::EngineConfigBuilder_v8::EngineConfigBuilder_v8(EngineConfigBuilder_v8 const &)=delete']]], + ['engineconfiggenerator',['EngineConfigGenerator',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a322221ec9a28f1f48c5a3edf60adff1d',1,'cudnn_frontend::EngineConfigGenerator']]], + ['enginefallbacklist_5fv8',['EngineFallbackList_v8',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#adfa074bcaaf2b0297a9c740a3e3706b7',1,'cudnn_frontend::EngineFallbackList_v8::EngineFallbackList_v8(EngineFallbackList_v8 &&from)'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#abb40ba38f035c1e9bd20304f32f90256',1,'cudnn_frontend::EngineFallbackList_v8::EngineFallbackList_v8()=default'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9c9a8cc39a38b449b1f044d407168905',1,'cudnn_frontend::EngineFallbackList_v8::EngineFallbackList_v8(EngineFallbackList_v8 const &)=delete']]], + ['enginefallbacklistbuilder_5fv8',['EngineFallbackListBuilder_v8',['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#ae955fa571b31ffc3da0ca6293d089642',1,'cudnn_frontend::EngineFallbackListBuilder_v8::EngineFallbackListBuilder_v8()=default'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a3dda7b1b97beb027718b7809702967b5',1,'cudnn_frontend::EngineFallbackListBuilder_v8::EngineFallbackListBuilder_v8(EngineFallbackListBuilder_v8 &&)=delete'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#ad3e10ca860311b1b554507615c46b9ad',1,'cudnn_frontend::EngineFallbackListBuilder_v8::EngineFallbackListBuilder_v8(EngineFallbackListBuilder_v8 const &)=delete']]], + ['engineheuristics_5fv8',['EngineHeuristics_v8',['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a298d4a89c8e9ed80526a6cccf33d716c',1,'cudnn_frontend::EngineHeuristics_v8::EngineHeuristics_v8(EngineHeuristics_v8 &&from)'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#aaa983e31e1a22bfebb639865e4514d82',1,'cudnn_frontend::EngineHeuristics_v8::EngineHeuristics_v8()=default'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a496a7e3160046bdf73289fbec51423a3',1,'cudnn_frontend::EngineHeuristics_v8::EngineHeuristics_v8(EngineHeuristics_v8 const &)=delete']]], + ['engineheuristicsbuilder_5fv8',['EngineHeuristicsBuilder_v8',['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a5667e4567520189eaa96fcd6e934cb29',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::EngineHeuristicsBuilder_v8()=default'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#af5318bb3e2700f53e299f8526e7a524f',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::EngineHeuristicsBuilder_v8(EngineHeuristicsBuilder_v8 &&)=delete'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a19d632b9f96c91bad2b18446cf32f491',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::EngineHeuristicsBuilder_v8(EngineHeuristicsBuilder_v8 const &)=delete']]], + ['erase',['erase',['../d6/da7/structnlohmann_1_1ordered__map.html#a583c8976bbf0c137ff8e2439878f3058',1,'nlohmann::ordered_map::erase(const Key &key)'],['../d6/da7/structnlohmann_1_1ordered__map.html#a26053569acb0a858d87482b2fa3d5dc5',1,'nlohmann::ordered_map::erase(iterator pos)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a494632b69bbe1d0153d3bedad0901b8e',1,'nlohmann::basic_json::erase(IteratorType pos)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a8ac83750e267e37d5d47591eb44cce42',1,'nlohmann::basic_json::erase(IteratorType first, IteratorType last)'],['../d9/dcc/classnlohmann_1_1basic__json.html#af72b1c9d1502b02a49a0cb9db9f980ea',1,'nlohmann::basic_json::erase(const typename object_t::key_type &key)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a221b943d3228488c14225e55f726cc26',1,'nlohmann::basic_json::erase(const size_type idx)']]], + ['escape',['escape',['../dc/df0/namespacenlohmann_1_1detail.html#a9d486a036924098fe1a77de14d23f56c',1,'nlohmann::detail']]], + ['exception',['exception',['../de/df2/classnlohmann_1_1detail_1_1exception.html#ae323ad0d53bc724414c2233164e65657',1,'nlohmann::detail::exception']]], + ['exception_5fmessage',['exception_message',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a9c413c9a1bade1ce345740f4d69156f0',1,'nlohmann::detail::binary_reader::exception_message()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a94e7f8a0f880c20c8a48f591f56cbd85',1,'nlohmann::detail::parser::exception_message()']]], + ['executionplan_5fv8',['ExecutionPlan_v8',['../d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#ac388ed7f6911f704ed2618a3867fad72',1,'cudnn_frontend::ExecutionPlan_v8::ExecutionPlan_v8(ExecutionPlan_v8 &&from)'],['../d7/d0d/group__ExecutionPlanQuery.html#ga2c011aa14563ef96417ce599f0c83d89',1,'cudnn_frontend::ExecutionPlan_v8::ExecutionPlan_v8()=default'],['../d7/d0d/group__ExecutionPlanQuery.html#ga51c4b75729ab066f0686729896741c5d',1,'cudnn_frontend::ExecutionPlan_v8::ExecutionPlan_v8(ExecutionPlan_v8 const &)=delete']]], + ['executionplanbuilder_5fv8',['ExecutionPlanBuilder_v8',['../d7/d0d/group__ExecutionPlanQuery.html#ga8e48fb375271599c83f57922d9f8c89e',1,'cudnn_frontend::ExecutionPlanBuilder_v8::ExecutionPlanBuilder_v8()=default'],['../d7/d0d/group__ExecutionPlanQuery.html#ga60147aa715352906e32cbb87558cb0ae',1,'cudnn_frontend::ExecutionPlanBuilder_v8::ExecutionPlanBuilder_v8(ExecutionPlanBuilder_v8 &&)=delete'],['../d7/d0d/group__ExecutionPlanQuery.html#ga2b84d3619b5bd9ca0faa30c126deb43c',1,'cudnn_frontend::ExecutionPlanBuilder_v8::ExecutionPlanBuilder_v8(ExecutionPlanBuilder_v8 const &)=delete']]] ]; diff --git a/docs/search/functions_5.js b/docs/search/functions_5.js index 094cfeee..e4970ce7 100644 --- a/docs/search/functions_5.js +++ b/docs/search/functions_5.js @@ -1,26 +1,21 @@ var searchData= [ - ['generate_5fengine_5fconfig',['generate_engine_config',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a4b07b958f03daf033c30b9182fee372b',1,'cudnn_frontend::EngineConfigGenerator']]], - ['get_5fbackend_5fdescriptor',['get_backend_descriptor',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#ac1700c7d96af0250e5721f5e5f9d95bc',1,'cudnn_frontend::OpaqueBackendPointer']]], - ['get_5fdesc',['get_desc',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a57c83e78374bac747b5660fb271b947a',1,'cudnn_frontend::BackendDescriptor']]], - ['get_5ferror',['get_error',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#abfde0f34b0bf49c45d3d9c0408284f6f',1,'cudnn_frontend::BackendDescriptor']]], - ['get_5ffallback_5fengine_5flist',['get_fallback_engine_list',['../df/de1/namespacecudnn__frontend.html#ad365eee23138df472d716d9dbf119f0e',1,'cudnn_frontend']]], - ['get_5fraw_5fdesc',['get_raw_desc',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a3aa1ab42ab96471092185f15e22c1e9f',1,'cudnn_frontend::BackendDescriptor']]], - ['get_5fstatus',['get_status',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#abd4f69554da364008f3780e9dc3a5bfc',1,'cudnn_frontend::OpaqueBackendPointer::get_status()'],['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#af34344e365e6422ee86955349bf80b49',1,'cudnn_frontend::BackendDescriptor::get_status()']]], - ['getchoice',['getChoice',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a4c0a920d14a719e99fce3d64a6eb0980',1,'cudnn_frontend::Engine_v8::Knob']]], - ['getengineconfig',['getEngineConfig',['../d6/d46/group__EngineHeuristicsQuery.html#ga1171cb5ce50baf0fab19fc458d4565b5',1,'cudnn_frontend::EngineHeuristics_v8']]], - ['getengineconfigcount',['getEngineConfigCount',['../d6/d46/group__EngineHeuristicsQuery.html#ga10121605fc82ed225537210825fa3836',1,'cudnn_frontend::EngineHeuristics_v8']]], - ['getenginecount',['getEngineCount',['../d1/df7/group__OperationGraphQuery.html#ga7a7a8d03f5a3aa54f14b83be4abe2a26',1,'cudnn_frontend::OperationGraph_v8']]], - ['getfallbacklist',['getFallbackList',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a56ad23cee30cbe70209ce6399a69d541',1,'cudnn_frontend::EngineFallbackList_v8']]], - ['getfinalizedknobs',['getFinalizedKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a837d8adc86f08ca31f42437512a30752',1,'cudnn_frontend::Engine_v8']]], - ['getknobtype',['getKnobType',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a75ea7ec76b08688da99e6bd3664083c8',1,'cudnn_frontend::Engine_v8::Knob']]], - ['getmaxvalue',['getMaxValue',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a4fe794b42a0ee5ba71b8ca8c797d1dbe',1,'cudnn_frontend::Engine_v8::Knob']]], - ['getminvalue',['getMinValue',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#af3fdf6b0da493544a003913bdf524449',1,'cudnn_frontend::Engine_v8::Knob']]], - ['getoutputtensor',['getOutputTensor',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ae5cba10d789e4d08b45339a702ba75f3',1,'cudnn_frontend::Operation_v8']]], - ['getpointwisemode',['getPointWiseMode',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a963d8bd60aa5d7c5385d5d41595c2cf3',1,'cudnn_frontend::PointWiseDesc_v8']]], - ['getportcount',['getPortCount',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a81b0fa4b9ff8bfd2c23ae704f7211962',1,'cudnn_frontend::PointWiseDesc_v8']]], - ['getstride',['getStride',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#adc0dd9d11771a040a8f5191bef00cdb5',1,'cudnn_frontend::Engine_v8::Knob']]], - ['getsupportedknobs',['getSupportedKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a6804e842fb698ebc12fccfece3f33b01',1,'cudnn_frontend::Engine_v8']]], - ['gettag',['getTag',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#af299a1692584215c649b3563fdb3abae',1,'cudnn_frontend::Engine_v8::getTag()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a1c7175f7d3cc7224496f276df36036aa',1,'cudnn_frontend::EngineConfig_v8::getTag()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga2ff1340409f8834fe9ae68ff4c00281a',1,'cudnn_frontend::ExecutionPlan_v8::getTag()'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ab2692d9f28861a73d590a53f979d26fa',1,'cudnn_frontend::Operation_v8::getTag()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a19fd5ed99ab4053c8a178bd33843460a',1,'cudnn_frontend::OperationGraph_v8::getTag()']]], - ['getworkspacesize',['getWorkspaceSize',['../d7/d0d/group__ExecutionPlanQuery.html#ga00d10a076c22e86354a789852c56c22f',1,'cudnn_frontend::ExecutionPlan_v8']]] + ['file_5finput_5fadapter',['file_input_adapter',['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#aeade050f2793280503be93feff2ece5b',1,'nlohmann::detail::file_input_adapter::file_input_adapter(std::FILE *f) noexcept'],['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a308099b496a0cba2123a06fe99a95d02',1,'nlohmann::detail::file_input_adapter::file_input_adapter(const file_input_adapter &)=delete'],['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a5a35c5bc8d6216ee6e4070fc4b6b0127',1,'nlohmann::detail::file_input_adapter::file_input_adapter(file_input_adapter &&) noexcept=default']]], + ['fill_5fbuffer',['fill_buffer',['../d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.html#a0ff95d2f31684b6477abcd783975b7c1',1,'nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >::fill_buffer()'],['../df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.html#a293186006f5f8090e337d12571307ced',1,'nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >::fill_buffer()'],['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a1e797f94449c5c3e68ab468d8caf0db6',1,'nlohmann::detail::wide_string_input_adapter::fill_buffer()']]], + ['filter',['filter',['../df/de1/namespacecudnn__frontend.html#a0f52559baeb4e9ee8835d95ea50a875e',1,'cudnn_frontend::filter(Predicate pred, executionPlans_t &plans) -> executionPlans_t'],['../df/de1/namespacecudnn__frontend.html#a4d18e44a57e30f9bf29157f742ba9c65',1,'cudnn_frontend::filter(EngineConfigList &from, EngineConfigList &to, std::function< bool(cudnnBackendDescriptor_t)> filter_fn)']]], + ['find',['find',['../d6/da7/structnlohmann_1_1ordered__map.html#a2486527ac56e07d58946ae9a93a46bc8',1,'nlohmann::ordered_map::find(const Key &key)'],['../d6/da7/structnlohmann_1_1ordered__map.html#a41e6e34fa8a90b96cbe5c71fec10d2ee',1,'nlohmann::ordered_map::find(const Key &key) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#acdf9b3aab82dcf443dd91ca5ec06b80c',1,'nlohmann::basic_json::find(KeyT &&key)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a17a516671c29a69bb2e11ca12030316b',1,'nlohmann::basic_json::find(KeyT &&key) const']]], + ['find_5flargest_5fpow10',['find_largest_pow10',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#a36ded358763b5dbcea9867660fbe4e28',1,'nlohmann::detail::dtoa_impl']]], + ['flatten',['flatten',['../da/de8/classnlohmann_1_1json__pointer.html#ab0d7759d0caa6a0c0187916da28e6ee7',1,'nlohmann::json_pointer::flatten()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ab7aa6e048e659481a036f2d872c7cba6',1,'nlohmann::basic_json::flatten()']]], + ['for',['for',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ab14b8ec1f8102aa4c7e3c349f317654e',1,'nlohmann::detail::serializer']]], + ['format_5fbuffer',['format_buffer',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#ab441f2761e33839ca48bc2225e14a2a9',1,'nlohmann::detail::dtoa_impl']]], + ['from_5fbson',['from_bson',['../d9/dcc/classnlohmann_1_1basic__json.html#a4e02793f2691aa29ab7cb69fddafbf5c',1,'nlohmann::basic_json::from_bson(InputType &&i, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a4118d0ec23d9eeafc236b9524d220e94',1,'nlohmann::basic_json::from_bson(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ae2612581e4788ddffc2f45d5e4cc04fc',1,'nlohmann::basic_json::from_bson(const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a2afe89884edf72412a0624982324755d',1,'nlohmann::basic_json::from_bson(detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)']]], + ['from_5fcbor',['from_cbor',['../d9/dcc/classnlohmann_1_1basic__json.html#a44dd5635fb2da4710f6cd6e42b72773f',1,'nlohmann::basic_json::from_cbor(InputType &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aba4f6fc79cc405fb212ea3d992334e71',1,'nlohmann::basic_json::from_cbor(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a188755c8cda27e2afb03c016c14125d8',1,'nlohmann::basic_json::from_cbor(const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a4a67e47f4bcde55214475f47f8314c1f',1,'nlohmann::basic_json::from_cbor(detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error)']]], + ['from_5fjson',['from_json',['../dc/dc7/structnlohmann_1_1adl__serializer.html#a8180f52bf21fc610705bc521f22116ae',1,'nlohmann::adl_serializer::from_json(BasicJsonType &&j, TargetType &val) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), val))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), val), void())'],['../dc/dc7/structnlohmann_1_1adl__serializer.html#a95eddeff6ff0dd0b6b11c4c7a526716d',1,'nlohmann::adl_serializer::from_json(BasicJsonType &&j) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), detail::identity_tag< TargetType > {}))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), detail::identity_tag< TargetType >'],['../dc/df0/namespacenlohmann_1_1detail.html#a1f0395aad0fe853a4539288749d3a603',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename std::nullptr_t &n)'],['../dc/df0/namespacenlohmann_1_1detail.html#a58117f225f43d03e3a0a4a6f3d77c9d9',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::boolean_t &b)'],['../dc/df0/namespacenlohmann_1_1detail.html#ad74d89f77ada7a57eff38b43d4bf2335',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::string_t &s)'],['../dc/df0/namespacenlohmann_1_1detail.html#a2932f2bc2943dac6d51669312f4fc0f5',1,'nlohmann::detail::from_json(const BasicJsonType &j, ConstructibleStringType &s)'],['../dc/df0/namespacenlohmann_1_1detail.html#a7cb5dd7d46a60e65f9a8e0873b3f7dd8',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::number_float_t &val)'],['../dc/df0/namespacenlohmann_1_1detail.html#ace4d5680ba413d9fd897ccb5d9c61a1c',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val)'],['../dc/df0/namespacenlohmann_1_1detail.html#a047d881e611fcac709dc318f730a1732',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::number_integer_t &val)'],['../dc/df0/namespacenlohmann_1_1detail.html#a5440d650150d01e8015133521351b459',1,'nlohmann::detail::from_json(const BasicJsonType &j, EnumType &e)'],['../dc/df0/namespacenlohmann_1_1detail.html#a5cfb765aad92795abd7fda29d017272a',1,'nlohmann::detail::from_json(const BasicJsonType &j, std::forward_list< T, Allocator > &l)'],['../dc/df0/namespacenlohmann_1_1detail.html#a3df497b1d3977f071b488ecac1401517',1,'nlohmann::detail::from_json(const BasicJsonType &j, std::valarray< T > &l)'],['../dc/df0/namespacenlohmann_1_1detail.html#a7deb2db8eed6f1762373dde7a6595760',1,'nlohmann::detail::from_json(const BasicJsonType &j, T(&arr)[N]) -> decltype(j.template get< T >(), void())'],['../dc/df0/namespacenlohmann_1_1detail.html#a14d8cdf544585f1c38eab6a0820e55f7',1,'nlohmann::detail::from_json(const BasicJsonType &j, ConstructibleArrayType &arr) -> decltype(from_json_array_impl(j, arr, priority_tag< 3 >'],['../dc/df0/namespacenlohmann_1_1detail.html#aff04c4dbdf8cb651c9f1528d7b1d39b0',1,'nlohmann::detail::from_json(BasicJsonType &&j, identity_tag< std::array< T, N >> tag) -> decltype(from_json_inplace_array_impl(std::forward< BasicJsonType >(j), tag, make_index_sequence< N >'],['../dc/df0/namespacenlohmann_1_1detail.html#aeabc1adfeb8bcfbdf24c533380d1e773',1,'nlohmann::detail::from_json(const BasicJsonType &j, typename BasicJsonType::binary_t &bin)'],['../dc/df0/namespacenlohmann_1_1detail.html#a5b24896e5f5db6af06d939dde4b63fe1',1,'nlohmann::detail::from_json(const BasicJsonType &j, ConstructibleObjectType &obj)'],['../dc/df0/namespacenlohmann_1_1detail.html#a839b0ab50d2c9bce669068f56bc41202',1,'nlohmann::detail::from_json(const BasicJsonType &j, ArithmeticType &val)'],['../dc/df0/namespacenlohmann_1_1detail.html#adcd0ecdb8495be20b0434ed0ed65826a',1,'nlohmann::detail::from_json(BasicJsonType &&j, TupleRelated &&t) -> decltype(from_json_tuple_impl(std::forward< BasicJsonType >(j), std::forward< TupleRelated >(t), priority_tag< 3 >'],['../dc/df0/namespacenlohmann_1_1detail.html#ae93147a54d2740228ef16a5e6210ca3e',1,'nlohmann::detail::from_json(const BasicJsonType &j, std::map< Key, Value, Compare, Allocator > &m)'],['../dc/df0/namespacenlohmann_1_1detail.html#aef5c8ea108f4d2b03fb4a635617510de',1,'nlohmann::detail::from_json(const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m)']]], + ['from_5fjson_5farray_5fimpl',['from_json_array_impl',['../dc/df0/namespacenlohmann_1_1detail.html#a40f7bb070a60e8ba14fffb9c117fcbd8',1,'nlohmann::detail::from_json_array_impl(const BasicJsonType &j, typename BasicJsonType::array_t &arr, priority_tag< 3 >)'],['../dc/df0/namespacenlohmann_1_1detail.html#aba0ce45ebb69fd2c7132a00f9a56b503',1,'nlohmann::detail::from_json_array_impl(const BasicJsonType &j, std::array< T, N > &arr, priority_tag< 2 >) -> decltype(j.template get< T >(), void())'],['../dc/df0/namespacenlohmann_1_1detail.html#a7c06b590679604ecb0ea2a3b62bd254b',1,'nlohmann::detail::from_json_array_impl(const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename ConstructibleArrayType::size_type >()), j.template get< typename ConstructibleArrayType::value_type >(), void())'],['../dc/df0/namespacenlohmann_1_1detail.html#a3b306ea5f5176f748572ca5b1c9a4dda',1,'nlohmann::detail::from_json_array_impl(const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 0 >)']]], + ['from_5fjson_5finplace_5farray_5fimpl',['from_json_inplace_array_impl',['../dc/df0/namespacenlohmann_1_1detail.html#a8f4713d1d9c1a0a5e1503c2fbafd4e40',1,'nlohmann::detail']]], + ['from_5fjson_5ftuple_5fimpl',['from_json_tuple_impl',['../dc/df0/namespacenlohmann_1_1detail.html#aef618f284e214156fcfa6dfecd1dcdbe',1,'nlohmann::detail::from_json_tuple_impl(BasicJsonType &&j, identity_tag< std::pair< A1, A2 >>, priority_tag< 0 >)'],['../dc/df0/namespacenlohmann_1_1detail.html#af1bc20d589bcfe61a23974cb17a34d6f',1,'nlohmann::detail::from_json_tuple_impl(BasicJsonType &&j, std::pair< A1, A2 > &p, priority_tag< 1 >)'],['../dc/df0/namespacenlohmann_1_1detail.html#a249aceda550177adb6d09382d1377a60',1,'nlohmann::detail::from_json_tuple_impl(BasicJsonType &&j, identity_tag< std::tuple< Args... >>, priority_tag< 2 >)'],['../dc/df0/namespacenlohmann_1_1detail.html#a31838a6c7a461d3a889e6fc40b3a19e6',1,'nlohmann::detail::from_json_tuple_impl(BasicJsonType &&j, std::tuple< Args... > &t, priority_tag< 3 >)']]], + ['from_5fjson_5ftuple_5fimpl_5fbase',['from_json_tuple_impl_base',['../dc/df0/namespacenlohmann_1_1detail.html#aaf1b6ce9b599cd5cde8053c194082ca9',1,'nlohmann::detail']]], + ['from_5fmsgpack',['from_msgpack',['../d9/dcc/classnlohmann_1_1basic__json.html#adbcab52fca1e25b3311ef14e71a57590',1,'nlohmann::basic_json::from_msgpack(InputType &&i, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a94dbeb08bcd13821512957dcbf3f00bd',1,'nlohmann::basic_json::from_msgpack(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a0d69d3102639759d5202a6f764760d23',1,'nlohmann::basic_json::from_msgpack(const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a84b3d89de8e774a2609dc4c0a1273f62',1,'nlohmann::basic_json::from_msgpack(detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)']]], + ['from_5fubjson',['from_ubjson',['../d9/dcc/classnlohmann_1_1basic__json.html#aa81f62db69978b90ff701f05c72e03a7',1,'nlohmann::basic_json::from_ubjson(InputType &&i, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a9dbb422350fed520ce8c1ca8762c0251',1,'nlohmann::basic_json::from_ubjson(IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ab6eeda23c34cee79d8d72f1a8691a8de',1,'nlohmann::basic_json::from_ubjson(const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a47201396899371881a46562bffb922da',1,'nlohmann::basic_json::from_ubjson(detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true)']]], + ['front',['front',['../d9/dcc/classnlohmann_1_1basic__json.html#a5417ca43ae5e7a3a2f82eee2d915c6ed',1,'nlohmann::basic_json::front()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a5ac8f974c178cf9326b6765e22f50eb6',1,'nlohmann::basic_json::front() const']]] ]; diff --git a/docs/search/functions_6.js b/docs/search/functions_6.js index ef94bdfe..0905da13 100644 --- a/docs/search/functions_6.js +++ b/docs/search/functions_6.js @@ -1,4 +1,80 @@ var searchData= [ - ['hasnumericalnote',['hasNumericalNote',['../df/de1/namespacecudnn__frontend.html#a75bb541476d93b039f5fd9f9d29242e6',1,'cudnn_frontend']]] + ['generate_5fengine_5fconfig',['generate_engine_config',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a4b07b958f03daf033c30b9182fee372b',1,'cudnn_frontend::EngineConfigGenerator']]], + ['get',['get',['../da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html#a478dfb78d0bf28d2665a19fccf221f02',1,'nlohmann::detail::span_input_adapter::get()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a9cd3e4cf04d19be521beb8868c1a2fc9',1,'nlohmann::detail::lexer::get()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ad222095c0b21a87824cb10629299629a',1,'nlohmann::detail::binary_reader::get()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ad8c8d2d107c6952960ba8aa78e009284',1,'nlohmann::basic_json::get() const noexcept(noexcept(std::declval< const basic_json_t &>().template get_impl< ValueType >(detail::priority_tag< 4 > {}))) -> decltype(std::declval< const basic_json_t &>().template get_impl< ValueType >(detail::priority_tag< 4 >'],['../d9/dcc/classnlohmann_1_1basic__json.html#a46bb02ef17ee178984313efbc2c8eb8d',1,'nlohmann::basic_json::get() noexcept -> decltype(std::declval< basic_json_t &>().template get_ptr< PointerType >())'],['../dc/df0/namespacenlohmann_1_1detail.html#acc422c11342b31368f610b6f96fcedc6',1,'nlohmann::detail::get()']]], + ['get_3c_20typename_20constructiblearraytype_3a_3avalue_5ftype_20_3e',['get< typename ConstructibleArrayType::value_type >',['../dc/df0/namespacenlohmann_1_1detail.html#ad9e016d7b6a3cd2847027950aa0aac3b',1,'nlohmann::detail']]], + ['get_5fallocator',['get_allocator',['../d9/dcc/classnlohmann_1_1basic__json.html#afc55e7dca1a243b0d5011564824c0267',1,'nlohmann::basic_json']]], + ['get_5fand_5fcreate',['get_and_create',['../da/de8/classnlohmann_1_1json__pointer.html#a583c726016f440ffe65553935c101ff5',1,'nlohmann::json_pointer']]], + ['get_5farithmetic_5fvalue',['get_arithmetic_value',['../dc/df0/namespacenlohmann_1_1detail.html#a85955b9c6dd31846e4b8e891f78614b6',1,'nlohmann::detail']]], + ['get_5fbackend_5fdescriptor',['get_backend_descriptor',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#ac1700c7d96af0250e5721f5e5f9d95bc',1,'cudnn_frontend::OpaqueBackendPointer']]], + ['get_5fbinary',['get_binary',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a55e13d567a53234573ab3833c0ca32e9',1,'nlohmann::detail::binary_reader::get_binary()'],['../d9/dcc/classnlohmann_1_1basic__json.html#aab19a246f6bcd27c195bed376cf5e138',1,'nlohmann::basic_json::get_binary()'],['../d9/dcc/classnlohmann_1_1basic__json.html#abbfa5532931abd2d9040cbf4d18a2ca7',1,'nlohmann::basic_json::get_binary() const']]], + ['get_5fbson_5fbinary',['get_bson_binary',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a9940f56290b9278c58772eda2931e599',1,'nlohmann::detail::binary_reader']]], + ['get_5fbson_5fcstr',['get_bson_cstr',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a354cbbaaea672c024ac949e1801c4302',1,'nlohmann::detail::binary_reader']]], + ['get_5fbson_5fstring',['get_bson_string',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a23921422802aa472360dd05023e20565',1,'nlohmann::detail::binary_reader']]], + ['get_5fcached_5fpower_5ffor_5fbinary_5fexponent',['get_cached_power_for_binary_exponent',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#adbf329a18c5cf854a3477327afd2200b',1,'nlohmann::detail::dtoa_impl']]], + ['get_5fcbor_5farray',['get_cbor_array',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a3750658328bf3ec3cf23f1626f9ec3af',1,'nlohmann::detail::binary_reader']]], + ['get_5fcbor_5fbinary',['get_cbor_binary',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#acb001d18095dc5bcf7336ae5122b8340',1,'nlohmann::detail::binary_reader']]], + ['get_5fcbor_5ffloat_5fprefix',['get_cbor_float_prefix',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a2b5cb010077da6241a18bb334736464c',1,'nlohmann::detail::binary_writer::get_cbor_float_prefix(float)'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#afe5ac43e05973ba09ee79227bb589b59',1,'nlohmann::detail::binary_writer::get_cbor_float_prefix(double)']]], + ['get_5fcbor_5fobject',['get_cbor_object',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a47092a2195bf9cd3cdb4dda67cc404ed',1,'nlohmann::detail::binary_reader']]], + ['get_5fcbor_5fstring',['get_cbor_string',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a545a44ae4b3fa2b7a61d9e8517fb7154',1,'nlohmann::detail::binary_reader']]], + ['get_5fcharacter',['get_character',['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a300fa4e2da1891e97eb0d85bf14cb022',1,'nlohmann::detail::file_input_adapter::get_character()'],['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#ac6c760c5df3a85b5800b4271c09e8671',1,'nlohmann::detail::input_stream_adapter::get_character()'],['../d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a01706f07681df083c2174d236ff3d643',1,'nlohmann::detail::iterator_input_adapter::get_character()'],['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a50f9436820b9caa9708ea69e2ba0230b',1,'nlohmann::detail::wide_string_input_adapter::get_character()']]], + ['get_5fchecked',['get_checked',['../da/de8/classnlohmann_1_1json__pointer.html#a366d68a67e40d86676d3bdb52e167294',1,'nlohmann::json_pointer::get_checked(BasicJsonType *ptr) const'],['../da/de8/classnlohmann_1_1json__pointer.html#a55a5bbbc3007e479607304a3e8cb9bf5',1,'nlohmann::json_pointer::get_checked(const BasicJsonType *ptr) const']]], + ['get_5fcodepoint',['get_codepoint',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#adcf663a9878f58544790f1b6faad2e42',1,'nlohmann::detail::lexer']]], + ['get_5fdecimal_5fpoint',['get_decimal_point',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a48f74c761ce663cd0d92bf428606b535',1,'nlohmann::detail::lexer']]], + ['get_5fdesc',['get_desc',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a57c83e78374bac747b5660fb271b947a',1,'cudnn_frontend::BackendDescriptor']]], + ['get_5ferror',['get_error',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#abfde0f34b0bf49c45d3d9c0408284f6f',1,'cudnn_frontend::BackendDescriptor']]], + ['get_5ferror_5fmessage',['get_error_message',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a9da0c649f03e8b3f730501d26c876a78',1,'nlohmann::detail::lexer']]], + ['get_5ffallback_5fengine_5flist',['get_fallback_engine_list',['../df/de1/namespacecudnn__frontend.html#af057a1fb628c89d02eb47c7cfa9ce0af',1,'cudnn_frontend']]], + ['get_5fignore_5fnoop',['get_ignore_noop',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a252c1179651d22c5343bcf0b538ed26a',1,'nlohmann::detail::binary_reader']]], + ['get_5fimpl',['get_impl',['../d9/dcc/classnlohmann_1_1basic__json.html#a462f82051df2a68142c2bbd0a2798f56',1,'nlohmann::basic_json::get_impl(boolean_t *) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#ad2e690ffeeff334640da1042c415bf65',1,'nlohmann::basic_json::get_impl(detail::priority_tag< 0 >) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>(), std::declval< ValueType &>())))'],['../d9/dcc/classnlohmann_1_1basic__json.html#ae0558bf35848bc194ffae2ef4d371c2c',1,'nlohmann::basic_json::get_impl(detail::priority_tag< 1 >) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>())))'],['../d9/dcc/classnlohmann_1_1basic__json.html#a6a8e927bfe09a0410baba859cd1a04c1',1,'nlohmann::basic_json::get_impl(detail::priority_tag< 2 >) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#ad5462e42ebf32c2570f5ade93e4bd34e',1,'nlohmann::basic_json::get_impl(detail::priority_tag< 3 >) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a0ace71470cab6d59035de18cea4fe272',1,'nlohmann::basic_json::get_impl(detail::priority_tag< 4 >) const noexcept -> decltype(std::declval< const basic_json_t &>().template get_ptr< PointerType >())'],['../d9/dcc/classnlohmann_1_1basic__json.html#aa17b6729b79846fe460b6905eb8ece5f',1,'nlohmann::basic_json::get_impl(detail::priority_tag< 4 > {})']]], + ['get_5fimpl_5fptr',['get_impl_ptr',['../d9/dcc/classnlohmann_1_1basic__json.html#a8b71cea6588f74f6eab6cc27ae314e5c',1,'nlohmann::basic_json::get_impl_ptr(object_t *) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a7577c2bbaf8da92947b964ae935a57c3',1,'nlohmann::basic_json::get_impl_ptr(const object_t *) const noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a3bbb975975e648f0468a2b96d25debfc',1,'nlohmann::basic_json::get_impl_ptr(array_t *) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#ac59c6abb509fe0160e30800cd84b0091',1,'nlohmann::basic_json::get_impl_ptr(const array_t *) const noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a2c8443b36a3e3c591341a43e8f088c2d',1,'nlohmann::basic_json::get_impl_ptr(string_t *) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#ad968b5c1134f6aa22bd3c995ab227c11',1,'nlohmann::basic_json::get_impl_ptr(const string_t *) const noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a258ec4690664fc0ee2a06a70574995e7',1,'nlohmann::basic_json::get_impl_ptr(boolean_t *) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a60a0febbb5030562424092fd134ce19d',1,'nlohmann::basic_json::get_impl_ptr(const boolean_t *) const noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#ab3ac4d7aa5bf26e70df1fdb2d6a2b207',1,'nlohmann::basic_json::get_impl_ptr(number_integer_t *) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a12b8d90204a45d2cde4b2d22c861c384',1,'nlohmann::basic_json::get_impl_ptr(const number_integer_t *) const noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#aaacd6324154f273268cd75739b219347',1,'nlohmann::basic_json::get_impl_ptr(number_unsigned_t *) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a5cf0d01a7b245c82263cc73bfb070c3f',1,'nlohmann::basic_json::get_impl_ptr(const number_unsigned_t *) const noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a3f8e91583b4d0f16eed6c690f1022a02',1,'nlohmann::basic_json::get_impl_ptr(number_float_t *) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a9ad84afed3e707cd066380b12901f9db',1,'nlohmann::basic_json::get_impl_ptr(const number_float_t *) const noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a5b429e4041392a984ce5b6f85196b570',1,'nlohmann::basic_json::get_impl_ptr(binary_t *) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a38632b8b0c8c7bf4b54bd6fe782c0196',1,'nlohmann::basic_json::get_impl_ptr(const binary_t *) const noexcept']]], + ['get_5fmsgpack_5farray',['get_msgpack_array',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a0ce1d7066597952efb008aaf578b2bd6',1,'nlohmann::detail::binary_reader']]], + ['get_5fmsgpack_5fbinary',['get_msgpack_binary',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a389e550fd397a48121cb82d92bb7475a',1,'nlohmann::detail::binary_reader']]], + ['get_5fmsgpack_5ffloat_5fprefix',['get_msgpack_float_prefix',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#ad452d114696407b98abc69b6001c270e',1,'nlohmann::detail::binary_writer::get_msgpack_float_prefix(float)'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a47234a6e7ac9206d43553985f4cacbf2',1,'nlohmann::detail::binary_writer::get_msgpack_float_prefix(double)']]], + ['get_5fmsgpack_5fobject',['get_msgpack_object',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a8bebd21ceef09b6b2562e87861832700',1,'nlohmann::detail::binary_reader']]], + ['get_5fmsgpack_5fstring',['get_msgpack_string',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ad8cba5585327caa550dd5b6dd25a64f8',1,'nlohmann::detail::binary_reader']]], + ['get_5fnumber',['get_number',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ac356c6364fe0273d3303fb7a447f4ef6',1,'nlohmann::detail::binary_reader']]], + ['get_5fnumber_5ffloat',['get_number_float',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#adb1a71f6a3e65ed32c452a318967b61e',1,'nlohmann::detail::lexer']]], + ['get_5fnumber_5finteger',['get_number_integer',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a9535d0c72adbe9fe149853ebad5faee8',1,'nlohmann::detail::lexer']]], + ['get_5fnumber_5funsigned',['get_number_unsigned',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#abfc85ff04fcb1a5a8d8ea299a4c479e5',1,'nlohmann::detail::lexer']]], + ['get_5fposition',['get_position',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a948c80b8bd8a3095b544e4655e1ca37e',1,'nlohmann::detail::lexer']]], + ['get_5fptr',['get_ptr',['../d9/dcc/classnlohmann_1_1basic__json.html#ac3698ce827dcd4f0c81455461709938d',1,'nlohmann::basic_json::get_ptr() noexcept -> decltype(std::declval< basic_json_t &>().get_impl_ptr(std::declval< PointerType >()))'],['../d9/dcc/classnlohmann_1_1basic__json.html#ae4e9a0afab117f1642b90b9607285348',1,'nlohmann::basic_json::get_ptr() const noexcept -> decltype(std::declval< const basic_json_t &>().get_impl_ptr(std::declval< PointerType >()))']]], + ['get_5fraw_5fdesc',['get_raw_desc',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a3aa1ab42ab96471092185f15e22c1e9f',1,'cudnn_frontend::BackendDescriptor']]], + ['get_5fref',['get_ref',['../d9/dcc/classnlohmann_1_1basic__json.html#a14ddc6e0f6d70296bc81f810254076c5',1,'nlohmann::basic_json::get_ref()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a7f0889072c54f1b899689ed6246238e7',1,'nlohmann::basic_json::get_ref() const']]], + ['get_5fref_5fimpl',['get_ref_impl',['../d9/dcc/classnlohmann_1_1basic__json.html#af9091a59efebd38435cbc0583fcda777',1,'nlohmann::basic_json']]], + ['get_5fstatus',['get_status',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#abd4f69554da364008f3780e9dc3a5bfc',1,'cudnn_frontend::OpaqueBackendPointer::get_status()'],['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#af34344e365e6422ee86955349bf80b49',1,'cudnn_frontend::BackendDescriptor::get_status()']]], + ['get_5fstring',['get_string',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a76875bb49a480763f6c48b8586f7e60e',1,'nlohmann::detail::lexer::get_string()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a540919db22df36512f05a88945c13263',1,'nlohmann::detail::binary_reader::get_string()']]], + ['get_5fto',['get_to',['../d9/dcc/classnlohmann_1_1basic__json.html#a95c3851acd53eccd620b0d82855c3da1',1,'nlohmann::basic_json::get_to(ValueType &v) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>(), v)))'],['../d9/dcc/classnlohmann_1_1basic__json.html#ac6fd6c12364425e4007ee4d7ecf9fefd',1,'nlohmann::basic_json::get_to(ValueType &v) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a8e29710c587ab852ba851b623d4efa00',1,'nlohmann::basic_json::get_to(T(&v)[N]) const noexcept(noexcept(JSONSerializer< Array >::from_json(std::declval< const basic_json_t &>(), v)))']]], + ['get_5ftoken',['get_token',['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a1212088ee1e23633a76b2ed80514de79',1,'nlohmann::detail::parser']]], + ['get_5ftoken_5fstring',['get_token_string',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ae000b7571480e528dee4b281f63d5b15',1,'nlohmann::detail::lexer::get_token_string()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a7d323283c60a0b89ee5eeadf5cb9a5ad',1,'nlohmann::detail::binary_reader::get_token_string()']]], + ['get_5fubjson_5farray',['get_ubjson_array',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#afb36cb588b795efa513fc95e949493b7',1,'nlohmann::detail::binary_reader']]], + ['get_5fubjson_5ffloat_5fprefix',['get_ubjson_float_prefix',['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a6837b20574152f7f645d0f6cd9fafdeb',1,'nlohmann::detail::binary_writer::get_ubjson_float_prefix(float)'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a19eb47a53dbbe28f319532bef25d84e6',1,'nlohmann::detail::binary_writer::get_ubjson_float_prefix(double)']]], + ['get_5fubjson_5fhigh_5fprecision_5fnumber',['get_ubjson_high_precision_number',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a26c694413fb860057e1a839d5422b361',1,'nlohmann::detail::binary_reader']]], + ['get_5fubjson_5fobject',['get_ubjson_object',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#adcf64ad3207f4bf37a5a31c920a385c3',1,'nlohmann::detail::binary_reader']]], + ['get_5fubjson_5fsize_5ftype',['get_ubjson_size_type',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a7b6c2d4c95d56751e233e285a5f1fea7',1,'nlohmann::detail::binary_reader']]], + ['get_5fubjson_5fsize_5fvalue',['get_ubjson_size_value',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aba7ba9ec9a52ad2bee8baff70176aa20',1,'nlohmann::detail::binary_reader']]], + ['get_5fubjson_5fstring',['get_ubjson_string',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a4ae90db51c102e912b7eac83c78733a6',1,'nlohmann::detail::binary_reader']]], + ['get_5fubjson_5fvalue',['get_ubjson_value',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a7e5e0b71548d0649ce4f131280d06c33',1,'nlohmann::detail::binary_reader']]], + ['get_5funchecked',['get_unchecked',['../da/de8/classnlohmann_1_1json__pointer.html#a577512ee6b7f030e8872b4d29fa5c3e5',1,'nlohmann::json_pointer::get_unchecked(BasicJsonType *ptr) const'],['../da/de8/classnlohmann_1_1json__pointer.html#ad6a01f8e1556eef68e5a49b33fef1548',1,'nlohmann::json_pointer::get_unchecked(const BasicJsonType *ptr) const']]], + ['get_5fvalue',['get_value',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#ae952990886ca1756229f916661a8af81',1,'nlohmann::detail::primitive_iterator_t']]], + ['getchoice',['getChoice',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a4c0a920d14a719e99fce3d64a6eb0980',1,'cudnn_frontend::Engine_v8::Knob']]], + ['getengineconfig',['getEngineConfig',['../d6/d46/group__EngineHeuristicsQuery.html#ga1171cb5ce50baf0fab19fc458d4565b5',1,'cudnn_frontend::EngineHeuristics_v8']]], + ['getengineconfigcount',['getEngineConfigCount',['../d6/d46/group__EngineHeuristicsQuery.html#ga10121605fc82ed225537210825fa3836',1,'cudnn_frontend::EngineHeuristics_v8']]], + ['getenginecount',['getEngineCount',['../d1/df7/group__OperationGraphQuery.html#ga7a7a8d03f5a3aa54f14b83be4abe2a26',1,'cudnn_frontend::OperationGraph_v8']]], + ['getfallbacklist',['getFallbackList',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a56ad23cee30cbe70209ce6399a69d541',1,'cudnn_frontend::EngineFallbackList_v8']]], + ['getfinalizedknobs',['getFinalizedKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a837d8adc86f08ca31f42437512a30752',1,'cudnn_frontend::Engine_v8']]], + ['getknobtype',['getKnobType',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a75ea7ec76b08688da99e6bd3664083c8',1,'cudnn_frontend::Engine_v8::Knob']]], + ['getmaxvalue',['getMaxValue',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a4fe794b42a0ee5ba71b8ca8c797d1dbe',1,'cudnn_frontend::Engine_v8::Knob']]], + ['getminvalue',['getMinValue',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#af3fdf6b0da493544a003913bdf524449',1,'cudnn_frontend::Engine_v8::Knob']]], + ['getopcount',['getOpCount',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#aa344863fca30448e6f3e139d69f62080',1,'cudnn_frontend::OperationGraph_v8']]], + ['getoutputtensor',['getOutputTensor',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ae5cba10d789e4d08b45339a702ba75f3',1,'cudnn_frontend::Operation_v8']]], + ['getpointwisemode',['getPointWiseMode',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a963d8bd60aa5d7c5385d5d41595c2cf3',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['getportcount',['getPortCount',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a81b0fa4b9ff8bfd2c23ae704f7211962',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['getstride',['getStride',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#adc0dd9d11771a040a8f5191bef00cdb5',1,'cudnn_frontend::Engine_v8::Knob']]], + ['getsupportedknobs',['getSupportedKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a6804e842fb698ebc12fccfece3f33b01',1,'cudnn_frontend::Engine_v8']]], + ['gettag',['getTag',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#af299a1692584215c649b3563fdb3abae',1,'cudnn_frontend::Engine_v8::getTag()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a1c7175f7d3cc7224496f276df36036aa',1,'cudnn_frontend::EngineConfig_v8::getTag()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga2ff1340409f8834fe9ae68ff4c00281a',1,'cudnn_frontend::ExecutionPlan_v8::getTag()'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ab2692d9f28861a73d590a53f979d26fa',1,'cudnn_frontend::Operation_v8::getTag()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a19fd5ed99ab4053c8a178bd33843460a',1,'cudnn_frontend::OperationGraph_v8::getTag()']]], + ['getworkspacesize',['getWorkspaceSize',['../d7/d0d/group__ExecutionPlanQuery.html#ga00d10a076c22e86354a789852c56c22f',1,'cudnn_frontend::ExecutionPlan_v8']]], + ['grisu2',['grisu2',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#a05b681dcb8569b9784c6dccfadb01633',1,'nlohmann::detail::dtoa_impl::grisu2(char *buf, int &len, int &decimal_exponent, diyfp m_minus, diyfp v, diyfp m_plus)'],['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#aab7a9670a4f4704a5d0347ad7588576b',1,'nlohmann::detail::dtoa_impl::grisu2(char *buf, int &len, int &decimal_exponent, FloatType value)']]], + ['grisu2_5fdigit_5fgen',['grisu2_digit_gen',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#a9b899c72b0e1e3dd46d75c2b4e6bcdfb',1,'nlohmann::detail::dtoa_impl']]], + ['grisu2_5fround',['grisu2_round',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#a5bc841e0bee12fd6489d49cf7bd07bb4',1,'nlohmann::detail::dtoa_impl']]] ]; diff --git a/docs/search/functions_7.js b/docs/search/functions_7.js index 9d388104..005cacda 100644 --- a/docs/search/functions_7.js +++ b/docs/search/functions_7.js @@ -1,5 +1,7 @@ var searchData= [ - ['initialize_5fmanaged_5fbackend_5fpointer',['initialize_managed_backend_pointer',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a070df0d11a52793ce9480dbdcee0c24e',1,'cudnn_frontend::BackendDescriptor']]], - ['is_5fgood',['is_good',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#aa9059097bb9161d454c6e17b03ca236c',1,'cudnn_frontend::OpaqueBackendPointer']]] + ['handle_5fvalue',['handle_value',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aa1a5e21be350727cf61a101aa5c6796e',1,'nlohmann::detail::json_sax_dom_parser::handle_value()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a875e678e20e75b37b93b80be78fe60e6',1,'nlohmann::detail::json_sax_dom_callback_parser::handle_value()']]], + ['has_5fsubtype',['has_subtype',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a9fc42fb07003bf7048c2f1fc79478e02',1,'nlohmann::byte_container_with_subtype']]], + ['hash',['hash',['../dc/df0/namespacenlohmann_1_1detail.html#a679e5e522ac6afa5d5923292fab450b8',1,'nlohmann::detail']]], + ['hasnumericalnote',['hasNumericalNote',['../df/de1/namespacecudnn__frontend.html#a75bb541476d93b039f5fd9f9d29242e6',1,'cudnn_frontend']]] ]; diff --git a/docs/search/functions_8.js b/docs/search/functions_8.js index 49b2aef2..686c4e3d 100644 --- a/docs/search/functions_8.js +++ b/docs/search/functions_8.js @@ -1,4 +1,34 @@ var searchData= [ - ['knob',['Knob',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aaf0d313c5491b599537422694eb83b82',1,'cudnn_frontend::Engine_v8::Knob']]] + ['if',['if',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a6705bbf2de3070ec50a810a32e72309f',1,'nlohmann::detail::serializer']]], + ['initialize_5fmanaged_5fbackend_5fpointer',['initialize_managed_backend_pointer',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a070df0d11a52793ce9480dbdcee0c24e',1,'cudnn_frontend::BackendDescriptor']]], + ['input_5fadapter',['input_adapter',['../dc/df0/namespacenlohmann_1_1detail.html#ad11a087dbe66eade5af4056aef9600bf',1,'nlohmann::detail::input_adapter(IteratorType first, IteratorType last)'],['../dc/df0/namespacenlohmann_1_1detail.html#a611bebbfa9ee64dd8fee1e8c4bc3cbf6',1,'nlohmann::detail::input_adapter(const ContainerType &container)'],['../dc/df0/namespacenlohmann_1_1detail.html#a520988513cac994a1dfd16b5859a1ca6',1,'nlohmann::detail::input_adapter(std::FILE *file)'],['../dc/df0/namespacenlohmann_1_1detail.html#af9fa97bf92767dc7f9dfe1abdfb1c6ce',1,'nlohmann::detail::input_adapter(std::istream &stream)'],['../dc/df0/namespacenlohmann_1_1detail.html#aaf150c2591ecac4e821e9036ef847ef8',1,'nlohmann::detail::input_adapter(std::istream &&stream)'],['../dc/df0/namespacenlohmann_1_1detail.html#a690f7e555056ce490bd47dd5cdf9b48d',1,'nlohmann::detail::input_adapter(CharT b)'],['../dc/df0/namespacenlohmann_1_1detail.html#a7908f7aa06f20e6083619d1d4b4eb769',1,'nlohmann::detail::input_adapter(T(&array)[N]) -> decltype(input_adapter(array, array+N))']]], + ['input_5fstream_5fadapter',['input_stream_adapter',['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#af487152e4606d013eb4ec6a90eaf82ea',1,'nlohmann::detail::input_stream_adapter::input_stream_adapter(std::istream &i)'],['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a5190fe4d0c5ff2e3b348b28ee3bb2218',1,'nlohmann::detail::input_stream_adapter::input_stream_adapter(const input_stream_adapter &)=delete'],['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a0be44ef098e88e8453eb4c31c9b14421',1,'nlohmann::detail::input_stream_adapter::input_stream_adapter(input_stream_adapter &&rhs) noexcept']]], + ['insert',['insert',['../d6/da7/structnlohmann_1_1ordered__map.html#a48eceff729b80f3f4a023b737efccc5b',1,'nlohmann::ordered_map::insert(value_type &&value)'],['../d6/da7/structnlohmann_1_1ordered__map.html#a0241433138719e477a3cbb0c4cf0a243',1,'nlohmann::ordered_map::insert(const value_type &value)'],['../d6/da7/structnlohmann_1_1ordered__map.html#a2c8509f72bc33307661f1a0ed5763f9e',1,'nlohmann::ordered_map::insert(InputIt first, InputIt last)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aeb86e8478e20d95970a8b61ff01dce3b',1,'nlohmann::basic_json::insert(const_iterator pos, const basic_json &val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a9c5b9de8a4a759861cb600b38a6c81b1',1,'nlohmann::basic_json::insert(const_iterator pos, basic_json &&val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a71e197e6cc78c3960011f68a75f8ef22',1,'nlohmann::basic_json::insert(const_iterator pos, size_type cnt, const basic_json &val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a8137d5471edcd71606e42155ed9c23e2',1,'nlohmann::basic_json::insert(const_iterator pos, const_iterator first, const_iterator last)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a856b8764efd21dac4205a00fec82e09a',1,'nlohmann::basic_json::insert(const_iterator pos, initializer_list_t ilist)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a0181d03c6314bedcbad2e92d3676223c',1,'nlohmann::basic_json::insert(const_iterator first, const_iterator last)']]], + ['insert_5fiterator',['insert_iterator',['../d9/dcc/classnlohmann_1_1basic__json.html#ab5c8034e997c5b852b92bdc6a3f70994',1,'nlohmann::basic_json']]], + ['int_5fto_5fstring',['int_to_string',['../dc/df0/namespacenlohmann_1_1detail.html#a3c45286b0a2f15ea0a756cb87a76cf9b',1,'nlohmann::detail']]], + ['invalid_5fiterator',['invalid_iterator',['../d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.html#adf4a6697420f3bddb4addfc0b98f6ee2',1,'nlohmann::detail::invalid_iterator']]], + ['is_5farray',['is_array',['../d9/dcc/classnlohmann_1_1basic__json.html#ab5b70d60a636b9c5e10f6c8caac60b9e',1,'nlohmann::basic_json']]], + ['is_5fbegin',['is_begin',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a8d1a7d46b3fcd06edd034f04ededb5e4',1,'nlohmann::detail::primitive_iterator_t']]], + ['is_5fbinary',['is_binary',['../d9/dcc/classnlohmann_1_1basic__json.html#a9576224f7b3ff812a308e7c1e784ea80',1,'nlohmann::basic_json']]], + ['is_5fboolean',['is_boolean',['../d9/dcc/classnlohmann_1_1basic__json.html#a911b11e855e685fa59ea1d111490b36b',1,'nlohmann::basic_json']]], + ['is_5fdiscarded',['is_discarded',['../d9/dcc/classnlohmann_1_1basic__json.html#aecaaa0613d3f3a5b49b34b02afc5f85d',1,'nlohmann::basic_json']]], + ['is_5fend',['is_end',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a45a7e301c23b5b90417baf2277f40b1d',1,'nlohmann::detail::primitive_iterator_t']]], + ['is_5ferrored',['is_errored',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad1b9f3681fadbbb2e0127f5c8a99c662',1,'nlohmann::detail::json_sax_dom_parser::is_errored()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a167fd9bf385d3d08bcbbba8a927c0eff',1,'nlohmann::detail::json_sax_dom_callback_parser::is_errored()']]], + ['is_5fgood',['is_good',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#aa9059097bb9161d454c6e17b03ca236c',1,'cudnn_frontend::OpaqueBackendPointer']]], + ['is_5fnull',['is_null',['../d9/dcc/classnlohmann_1_1basic__json.html#aedc7afad96292b5ab61a2e0ad3067f5f',1,'nlohmann::basic_json']]], + ['is_5fnumber',['is_number',['../d9/dcc/classnlohmann_1_1basic__json.html#abd47ac8eba63833152795280f75b5851',1,'nlohmann::basic_json']]], + ['is_5fnumber_5ffloat',['is_number_float',['../d9/dcc/classnlohmann_1_1basic__json.html#a116cdb9300b56519fc9cf756609296cb',1,'nlohmann::basic_json']]], + ['is_5fnumber_5finteger',['is_number_integer',['../d9/dcc/classnlohmann_1_1basic__json.html#ac4b4acf2c0ad075c0dc125a65c102362',1,'nlohmann::basic_json']]], + ['is_5fnumber_5funsigned',['is_number_unsigned',['../d9/dcc/classnlohmann_1_1basic__json.html#a5493f2ed1e07b0ece428bd5a47e2fb95',1,'nlohmann::basic_json']]], + ['is_5fobject',['is_object',['../d9/dcc/classnlohmann_1_1basic__json.html#a57e8411a770a6263d6d8f2116c37f3aa',1,'nlohmann::basic_json']]], + ['is_5fprimitive',['is_primitive',['../d9/dcc/classnlohmann_1_1basic__json.html#a548d2d4013da24e7d7510d90febc80c4',1,'nlohmann::basic_json']]], + ['is_5fstring',['is_string',['../d9/dcc/classnlohmann_1_1basic__json.html#ab303d17366c26fca12242c7f8def1bb7',1,'nlohmann::basic_json']]], + ['is_5fstructured',['is_structured',['../d9/dcc/classnlohmann_1_1basic__json.html#a4e05a7d5deec758f1d830741b68b4249',1,'nlohmann::basic_json']]], + ['items',['items',['../d9/dcc/classnlohmann_1_1basic__json.html#a916a6ba75ec7624e9c6c977a52d6fd17',1,'nlohmann::basic_json::items() noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a4faaed730a81347f2f01e93f37c73823',1,'nlohmann::basic_json::items() const noexcept']]], + ['iter_5fimpl',['iter_impl',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a31090f248ce10fd7b386027c1a19c16f',1,'nlohmann::detail::iter_impl::iter_impl()=default'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a603ba9c477f878a69ed281becca6f56a',1,'nlohmann::detail::iter_impl::iter_impl(iter_impl &&) noexcept=default'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a88a00484ac201c52fc5f613d88a2918b',1,'nlohmann::detail::iter_impl::iter_impl(pointer object) noexcept'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a71f84fb6e009619f12972bcf9002b8cd',1,'nlohmann::detail::iter_impl::iter_impl(const iter_impl< const BasicJsonType > &other) noexcept'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a867f7eb55091be31b013adb3e46816d3',1,'nlohmann::detail::iter_impl::iter_impl(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept']]], + ['iteration_5fproxy',['iteration_proxy',['../db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html#afe257e972e3b4658ef2e355f7389d4a5',1,'nlohmann::detail::iteration_proxy']]], + ['iteration_5fproxy_5fvalue',['iteration_proxy_value',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a459dd8961b80b2089d8161c9aa466581',1,'nlohmann::detail::iteration_proxy_value']]], + ['iterator_5finput_5fadapter',['iterator_input_adapter',['../d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a9423d7166b9e3092f149266acd064ba7',1,'nlohmann::detail::iterator_input_adapter']]], + ['iterator_5fwrapper',['iterator_wrapper',['../d9/dcc/classnlohmann_1_1basic__json.html#a22e2e5b0e68d9d7c63be2cada5187259',1,'nlohmann::basic_json::iterator_wrapper(reference ref) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a3710ff8c5a1cbedb4f75b700a8962d5c',1,'nlohmann::basic_json::iterator_wrapper(const_reference ref) noexcept']]] ]; diff --git a/docs/search/functions_9.js b/docs/search/functions_9.js index 441887cd..00c96c53 100644 --- a/docs/search/functions_9.js +++ b/docs/search/functions_9.js @@ -1,6 +1,10 @@ var searchData= [ - ['make_5fshared_5fbackend_5fpointer',['make_shared_backend_pointer',['../df/de1/namespacecudnn__frontend.html#aee9c79eb8972c944de14ccd70bf5db43',1,'cudnn_frontend']]], - ['matmuldesc_5fv8',['MatMulDesc_v8',['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ab725a8e47331aca6310155f6d55c0a02',1,'cudnn_frontend::MatMulDesc_v8::MatMulDesc_v8(MatMulDesc_v8 &&from)'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a5e060b83ea1e1ed59a66e15fdba91227',1,'cudnn_frontend::MatMulDesc_v8::MatMulDesc_v8()=default'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a48aa29d5df9a717e63c5146ac48c4543',1,'cudnn_frontend::MatMulDesc_v8::MatMulDesc_v8(MatMulDesc_v8 const &)=delete']]], - ['matmuldescbuilder_5fv8',['MatMulDescBuilder_v8',['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#afea76414fa5c0c5f38a551afcf11391c',1,'cudnn_frontend::MatMulDescBuilder_v8::MatMulDescBuilder_v8()=default'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a75af51fa2937a7df6787d3181ef22cf2',1,'cudnn_frontend::MatMulDescBuilder_v8::MatMulDescBuilder_v8(MatMulDescBuilder_v8 &&)=delete'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a287154397d78c528465a949ab0242068',1,'cudnn_frontend::MatMulDescBuilder_v8::MatMulDescBuilder_v8(MatMulDescBuilder_v8 const &)=delete']]] + ['json_5fpointer',['json_pointer',['../da/de8/classnlohmann_1_1json__pointer.html#a7f32d7c62841f0c4a6784cf741a6e4f8',1,'nlohmann::json_pointer']]], + ['json_5fref',['json_ref',['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#ae1adf5bcee8b6fa0c358710604fb1938',1,'nlohmann::detail::json_ref::json_ref(value_type &&value)'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a8c3eb3c6e952ed0cd7eece586ab4047c',1,'nlohmann::detail::json_ref::json_ref(const value_type &value)'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#adfba2db547283a7c6a5df9a32e72efc5',1,'nlohmann::detail::json_ref::json_ref(std::initializer_list< json_ref > init)'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a8a31d6c588d6c3c06b62008fd5d36c6c',1,'nlohmann::detail::json_ref::json_ref(Args &&... args)'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a4ec90f097b33e7ea8ea7473b6b6c4015',1,'nlohmann::detail::json_ref::json_ref(json_ref &&) noexcept=default'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a4c68db46934e03588bbd73b00147c0dd',1,'nlohmann::detail::json_ref::json_ref(const json_ref &)=delete']]], + ['json_5freverse_5fiterator',['json_reverse_iterator',['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a0246de16ece16293f2917dfa5d96e278',1,'nlohmann::detail::json_reverse_iterator::json_reverse_iterator(const typename base_iterator::iterator_type &it) noexcept'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a6c2d025530114ed989188e8adfc8467e',1,'nlohmann::detail::json_reverse_iterator::json_reverse_iterator(const base_iterator &it) noexcept']]], + ['json_5fsax',['json_sax',['../d0/d82/structnlohmann_1_1json__sax.html#aac0f445c1173fa731104d93496a7e780',1,'nlohmann::json_sax::json_sax()=default'],['../d0/d82/structnlohmann_1_1json__sax.html#a8358c063b2d7222b3aafa62fded04403',1,'nlohmann::json_sax::json_sax(const json_sax &)=default'],['../d0/d82/structnlohmann_1_1json__sax.html#a62dae3713ca4914265904e30cd6b6347',1,'nlohmann::json_sax::json_sax(json_sax &&) noexcept=default']]], + ['json_5fsax_5fdom_5fcallback_5fparser',['json_sax_dom_callback_parser',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#afec9434e54590f10df51b062973d4daf',1,'nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser(BasicJsonType &r, const parser_callback_t cb, const bool allow_exceptions_=true)'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a589998730e650a425b1b311e2e9f7f09',1,'nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser(const json_sax_dom_callback_parser &)=delete'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#af1ce6c746e3ebadb7994170725fcdbb5',1,'nlohmann::detail::json_sax_dom_callback_parser::json_sax_dom_callback_parser(json_sax_dom_callback_parser &&)=default']]], + ['json_5fsax_5fdom_5fparser',['json_sax_dom_parser',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#afc50fee0a92ce84afb84041ebbdfba80',1,'nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser(BasicJsonType &r, const bool allow_exceptions_=true)'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a0a00cd158d678e294f6e974cd9373c4b',1,'nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser(const json_sax_dom_parser &)=delete'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad6e588652d5a9cb647a3c32a6221f13e',1,'nlohmann::detail::json_sax_dom_parser::json_sax_dom_parser(json_sax_dom_parser &&)=default']]], + ['json_5fvalue',['json_value',['../d9/dcc/classnlohmann_1_1basic__json.html#abcfe744b08e2cd81508ce9bf7ebc86cf',1,'nlohmann::basic_json::json_value()=default'],['../d9/dcc/classnlohmann_1_1basic__json.html#a8ff30e37ec09ce661d0fed77e3e2e1f3',1,'nlohmann::basic_json::json_value(boolean_t v) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a3023fcecbe85032b7048499f7bfc4ada',1,'nlohmann::basic_json::json_value(number_integer_t v) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a400ee8e0f051b9692692798906dc4654',1,'nlohmann::basic_json::json_value(number_unsigned_t v) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a2e15685d39544db2bc5959705632fc04',1,'nlohmann::basic_json::json_value(number_float_t v) noexcept'],['../d9/dcc/classnlohmann_1_1basic__json.html#a60041447d13e8709028a46e50219c161',1,'nlohmann::basic_json::json_value(value_t t)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a7e77b31f17b1b5f0ce72d3e6488b6d86',1,'nlohmann::basic_json::json_value(const string_t &value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a2f3332829fc8117b48cba5a4a26ea76b',1,'nlohmann::basic_json::json_value(string_t &&value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a8a3eb027b86f4de2de4277410ceaa454',1,'nlohmann::basic_json::json_value(const object_t &value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a2544582412088703c778e882e2531af3',1,'nlohmann::basic_json::json_value(object_t &&value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a80a1e2c1da21dccad6471c28facf04ec',1,'nlohmann::basic_json::json_value(const array_t &value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#aea49a99ac9d45c1d1bfe3912ed20ffb6',1,'nlohmann::basic_json::json_value(array_t &&value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#abb5466ba8f6483df6a37e040a7b32a92',1,'nlohmann::basic_json::json_value(const typename binary_t::container_type &value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a8bef6d062634dfd09e14d9a3217da8cd',1,'nlohmann::basic_json::json_value(typename binary_t::container_type &&value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a7e79daa34d13bfd8f03aae00e57649ec',1,'nlohmann::basic_json::json_value(const binary_t &value)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ac7bb152c454b4d837d943cfb541da510',1,'nlohmann::basic_json::json_value(binary_t &&value)']]] ]; diff --git a/docs/search/functions_a.js b/docs/search/functions_a.js index 9e74ffaf..36165925 100644 --- a/docs/search/functions_a.js +++ b/docs/search/functions_a.js @@ -1,9 +1,5 @@ var searchData= [ - ['opaquebackendpointer',['OpaqueBackendPointer',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a42a928eb5b2524d1c3f67b7200dd53c9',1,'cudnn_frontend::OpaqueBackendPointer::OpaqueBackendPointer(const OpaqueBackendPointer &)=delete'],['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a997d733607e747516eb2334c51c48f29',1,'cudnn_frontend::OpaqueBackendPointer::OpaqueBackendPointer(OpaqueBackendPointer &&)=default'],['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#aadf0c53d7aedb1c6c121b2736e98b2dd',1,'cudnn_frontend::OpaqueBackendPointer::OpaqueBackendPointer(cudnnBackendDescriptorType_t type)']]], - ['operation_5fv8',['Operation_v8',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ad45e7200660f993615e34ceeb9ec49c6',1,'cudnn_frontend::Operation_v8::Operation_v8(Operation_v8 &&from)'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a810b2f50d53d6655c2048d3c3afbcfc4',1,'cudnn_frontend::Operation_v8::Operation_v8()=default'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a091bf74144eaec6149d610faa289160e',1,'cudnn_frontend::Operation_v8::Operation_v8(Operation_v8 const &)=delete']]], - ['operationbuilder_5fv8',['OperationBuilder_v8',['../d3/d92/group__OperationBuilder__v8.html#ga425dd00708eaaadffe1c83ef356dc333',1,'cudnn_frontend::OperationBuilder_v8']]], - ['operationgraph_5fv8',['OperationGraph_v8',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a85e65daf5a2db5aba0207ccad367457d',1,'cudnn_frontend::OperationGraph_v8::OperationGraph_v8(OperationGraph_v8 &&from)'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a5c029cff12e0e91406a8f88fd8a830f4',1,'cudnn_frontend::OperationGraph_v8::OperationGraph_v8()=default'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a0b3b76a619160671c45c733eb1a13455',1,'cudnn_frontend::OperationGraph_v8::OperationGraph_v8(OperationGraph_v8 const &)=delete']]], - ['operationgraphbuilder_5fv8',['OperationGraphBuilder_v8',['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a101b6c9515fdb333cdd3499f08774cf4',1,'cudnn_frontend::OperationGraphBuilder_v8::OperationGraphBuilder_v8()=default'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a40e8f7825f75c35c40d9938532a81d02',1,'cudnn_frontend::OperationGraphBuilder_v8::OperationGraphBuilder_v8(OperationGraphBuilder_v8 &&)=delete'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a589dedb418679abda7f64e6b9e2800a1',1,'cudnn_frontend::OperationGraphBuilder_v8::OperationGraphBuilder_v8(OperationGraphBuilder_v8 const &)=delete']]], - ['operator_3d',['operator=',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#adf5bf20f5bdfbfdecd05360830b34b89',1,'cudnn_frontend::OpaqueBackendPointer::operator=()'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#aa8ea272eaf26ae7f7ad2d625253ea62f',1,'cudnn_frontend::ConvDesc_v8::operator=()'],['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a5fba7029429a093b36fd201219315a1f',1,'cudnn_frontend::ConvDescBuilder_v8::operator=()'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ad3966b20d080c0fb9930b8a2018da2f8',1,'cudnn_frontend::Engine_v8::operator=()'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a9d29a91186f6baa215b61340a386ec6d',1,'cudnn_frontend::EngineBuilder_v8::operator=()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ad79aab6d69a2b4400259abd72af73c84',1,'cudnn_frontend::EngineConfig_v8::operator=()'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a8d4cb5ab44b076c71afd5f49e6df94f7',1,'cudnn_frontend::EngineConfigBuilder_v8::operator=()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a22ef505758a33415d01e3a9a8843fe22',1,'cudnn_frontend::EngineFallbackList_v8::operator=()'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a1effb794c90cbe7ad2e7649d400cb2dd',1,'cudnn_frontend::EngineFallbackListBuilder_v8::operator=()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga0705e60cee62d3d196751517d545a7b0',1,'cudnn_frontend::ExecutionPlan_v8::operator=()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga5f757c2da8c90645c34637dde4aed8f8',1,'cudnn_frontend::ExecutionPlanBuilder_v8::operator=()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a2301c5b006fa6e341bc88ece066f8ea2',1,'cudnn_frontend::EngineHeuristics_v8::operator=()'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a5228a4a3af391fad0141f30a24be730b',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::operator=()'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ac1257a1ca1261961fc99123988552911',1,'cudnn_frontend::MatMulDesc_v8::operator=()'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a02ee327bae65fc44c140d7bb6a0b4991',1,'cudnn_frontend::MatMulDescBuilder_v8::operator=()'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a5012e920483271f655bc04d6f52dc41f',1,'cudnn_frontend::Operation_v8::operator=()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a87704bb46bb12bba977a21ed579a4ef3',1,'cudnn_frontend::OperationGraph_v8::operator=()'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a75dae8a911e005b960565d4a1a0024ba',1,'cudnn_frontend::OperationGraphBuilder_v8::operator=()'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ae3cd0c0051c7e29a9ad86b80308429f3',1,'cudnn_frontend::PointWiseDesc_v8::operator=()'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ac0d140493e21b164bc21dd0bcbeeaa65',1,'cudnn_frontend::PointWiseDescBuilder_v8::operator=()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a4f5c1e95de9419cb1904e0cbad570c63',1,'cudnn_frontend::Tensor_v8::operator=()'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a3a33c9ba58f393d231e05a1bcc5706d8',1,'cudnn_frontend::TensorBuilder_v8::operator=()'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a3f85d13ac1341b67d85f18761f8dcb35',1,'cudnn_frontend::VariantPack_v8::operator=()'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#acee84ffc33b41807cdcb18425e9fced1',1,'cudnn_frontend::VariantPackBuilder_v8::operator=()']]] + ['key',['key',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#af2949ac0d70212738030bfda29c5bcc2',1,'nlohmann::detail::iteration_proxy_value::key()'],['../d0/d82/structnlohmann_1_1json__sax.html#a2e0c7ecd80b18d18a8cc76f71cfc2028',1,'nlohmann::json_sax::key()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad427febda4997cbd8345a2596af66649',1,'nlohmann::detail::json_sax_dom_parser::key()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a0cc4a5192fe9b803276edb831b6099fa',1,'nlohmann::detail::json_sax_dom_callback_parser::key()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a59e1ea5e9c8d25346a564bf9287a5c2a',1,'nlohmann::detail::json_sax_acceptor::key()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a15dfb2744fed2ef40c12a9e9a20d6dbc',1,'nlohmann::detail::iter_impl::key()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#adc648a641e8e9a1072c5abd56ad06401',1,'nlohmann::detail::json_reverse_iterator::key()']]], + ['knob',['Knob',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aaf0d313c5491b599537422694eb83b82',1,'cudnn_frontend::Engine_v8::Knob']]] ]; diff --git a/docs/search/functions_b.js b/docs/search/functions_b.js index 5fb8316b..bc754199 100644 --- a/docs/search/functions_b.js +++ b/docs/search/functions_b.js @@ -1,5 +1,6 @@ var searchData= [ - ['pointwisedesc_5fv8',['PointWiseDesc_v8',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ac2e07a514ec114222b65948960ba76a3',1,'cudnn_frontend::PointWiseDesc_v8::PointWiseDesc_v8(PointWiseDesc_v8 &&from)'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ac00ed56ba83a04edca3f55125332646b',1,'cudnn_frontend::PointWiseDesc_v8::PointWiseDesc_v8()=default'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ae4f638eb928772c13c314f4a022d4978',1,'cudnn_frontend::PointWiseDesc_v8::PointWiseDesc_v8(PointWiseDesc_v8 const &)=delete']]], - ['pointwisedescbuilder_5fv8',['PointWiseDescBuilder_v8',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a6f5605f25897bba7afc6baf76228828c',1,'cudnn_frontend::PointWiseDescBuilder_v8::PointWiseDescBuilder_v8()=default'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ad6a7549d62410d3de87040586b49b815',1,'cudnn_frontend::PointWiseDescBuilder_v8::PointWiseDescBuilder_v8(PointWiseDescBuilder_v8 &&)=delete'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aeccd727adb1d3b0b8d9d95b7f6e1b9ce',1,'cudnn_frontend::PointWiseDescBuilder_v8::PointWiseDescBuilder_v8(PointWiseDescBuilder_v8 const &)=delete']]] + ['lexer',['lexer',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a89bbc051da2514a469441a3a30ad63e4',1,'nlohmann::detail::lexer::lexer(InputAdapterType &&adapter, bool ignore_comments_=false) noexcept'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ab75d61c4de687717648c7698850ddb9b',1,'nlohmann::detail::lexer::lexer(const lexer &)=delete'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ae95416c7ae8b36f0dd0ab349eaa754a2',1,'nlohmann::detail::lexer::lexer(lexer &&)=default']]], + ['little_5fendianess',['little_endianess',['../dc/df0/namespacenlohmann_1_1detail.html#ad2860d9bcd96cd7b8258a5b94674508c',1,'nlohmann::detail']]], + ['load_5ffrom_5fconfig',['load_from_config',['../df/de1/namespacecudnn__frontend.html#a069fb3355ab52d2e1914e72832cdcf46',1,'cudnn_frontend']]] ]; diff --git a/docs/search/functions_c.js b/docs/search/functions_c.js index 278663cd..6a7b6fc0 100644 --- a/docs/search/functions_c.js +++ b/docs/search/functions_c.js @@ -1,53 +1,11 @@ var searchData= [ - ['set_5ferror',['set_error',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a1748a5c560905314930c37b2ed1a54d2',1,'cudnn_frontend::BackendDescriptor']]], - ['set_5ferror_5fand_5fthrow_5fexception',['set_error_and_throw_exception',['../df/de1/namespacecudnn__frontend.html#a011f392961f07ab6de46a080e9a652a2',1,'cudnn_frontend']]], - ['set_5fstatus',['set_status',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a3ef02443f20b90223baf5f1922505eab',1,'cudnn_frontend::BackendDescriptor']]], - ['setalignment',['setAlignment',['../d3/d3c/group__TensorBuilder__v8.html#ga385ec2c39e6386af7421f27330ed128b',1,'cudnn_frontend::TensorBuilder_v8']]], - ['setalpha',['setAlpha',['../d3/d92/group__OperationBuilder__v8.html#gab4241b96e7374d821681e97259d39d83',1,'cudnn_frontend::OperationBuilder_v8::setAlpha(float alpha) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga3c63744504f65383ce0b847bea804e3f',1,'cudnn_frontend::OperationBuilder_v8::setAlpha(double alpha) -> OperationBuilder_v8 &']]], - ['setalpha2',['setAlpha2',['../d3/d92/group__OperationBuilder__v8.html#ga06cdcfeda1b702412be41addd73bb947',1,'cudnn_frontend::OperationBuilder_v8::setAlpha2(float alpha) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga459671e9d26640528fcf683aaeef05df',1,'cudnn_frontend::OperationBuilder_v8::setAlpha2(double alpha) -> OperationBuilder_v8 &']]], - ['setamatdesc',['setaMatDesc',['../d3/d92/group__OperationBuilder__v8.html#ga095c52c8f1b01ebb224265f9000195c0',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setbdesc',['setbDesc',['../d3/d92/group__OperationBuilder__v8.html#ga17475846760b10ffdfa536cd92a5b135',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setbeta',['setBeta',['../d3/d92/group__OperationBuilder__v8.html#ga65a9ad73912ff46becc93ee451da6af5',1,'cudnn_frontend::OperationBuilder_v8::setBeta(float beta) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga29752062b7308c8da0e625eb35431652',1,'cudnn_frontend::OperationBuilder_v8::setBeta(double beta) -> OperationBuilder_v8 &']]], - ['setbmatdesc',['setbMatDesc',['../d3/d92/group__OperationBuilder__v8.html#gaa8eed29a0181e044ea0263ba655127ec',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setcdesc',['setcDesc',['../d3/d92/group__OperationBuilder__v8.html#gaa82e018b6a9d514ad912b922f43adad2',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setchoice',['setChoice',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a542f95d42a6d118e3de1726720c12278',1,'cudnn_frontend::Engine_v8::Knob']]], - ['setclipping',['setClipping',['../d2/db5/group__PointWiseDescBuilder__v8.html#ga124ebb4a416c645cd0b68f59545c62a8',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['setcmatdesc',['setcMatDesc',['../d3/d92/group__OperationBuilder__v8.html#gaaf9d7cbc65c7c7526a6f15d4ad2952fa',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setdatapointers',['setDataPointers',['../d5/def/group__VariantPackBuilder__v8.html#ga79c6def790139cb04aff8c600559b802',1,'cudnn_frontend::VariantPackBuilder_v8::setDataPointers(int64_t num_ptr, void **ptrs) -> VariantPackBuilder_v8 &'],['../d5/def/group__VariantPackBuilder__v8.html#ga14d3ac479fd01c48a97583adfb567090',1,'cudnn_frontend::VariantPackBuilder_v8::setDataPointers(std::set< std::pair< uint64_t, void *>> const &data_pointers) -> VariantPackBuilder_v8 &']]], - ['setdatatype',['setDataType',['../d3/ddd/group__ConvDescBuilder__v8.html#gad8de00b0e7a86bdda61749e7572a35ac',1,'cudnn_frontend::ConvDescBuilder_v8::setDataType()'],['../d3/d3c/group__TensorBuilder__v8.html#ga98275e4d36e37ef5d73f13bd80f164a3',1,'cudnn_frontend::TensorBuilder_v8::setDataType()']]], - ['setdilation',['setDilation',['../d3/ddd/group__ConvDescBuilder__v8.html#gaa41e2cbbebc9d2fd19fa990a48b39d08',1,'cudnn_frontend::ConvDescBuilder_v8']]], - ['setdim',['setDim',['../d3/d3c/group__TensorBuilder__v8.html#gae828806e2d76ca3eb6c4e289f2e93a96',1,'cudnn_frontend::TensorBuilder_v8']]], - ['setdwdesc',['setdwDesc',['../d3/d92/group__OperationBuilder__v8.html#ga5e5d463d5531a9378280fa4b1aee6f63',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setdxdesc',['setdxDesc',['../d3/d92/group__OperationBuilder__v8.html#ga35fa5c453a6cd989f35e47c29e6ec665',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setdydesc',['setdyDesc',['../d3/d92/group__OperationBuilder__v8.html#ga08f3d4cb5138174127d0f6899f7bc53b',1,'cudnn_frontend::OperationBuilder_v8::setdyDesc(ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga9e4a1e9a233b44cca5b65f0af172b001',1,'cudnn_frontend::OperationBuilder_v8::setdyDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &']]], - ['setelualpha',['setEluAlpha',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a8bdbf27c37334f5b61a65eb1bd4b6a98',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['setengine',['setEngine',['../d2/dbb/group__EngineConfigBuilder__v8.html#ga9673b31268901dfcb97896958687a42a',1,'cudnn_frontend::EngineConfigBuilder_v8']]], - ['setengineconfig',['setEngineConfig',['../d4/de1/group__ExecutionPlanBuilder__v8.html#gac5c23cff8c1424f71ef2cee2dc66cd3c',1,'cudnn_frontend::ExecutionPlanBuilder_v8::setEngineConfig(EngineConfig_v8 const &engine_config_) -> ExecutionPlanBuilder_v8 &'],['../d4/de1/group__ExecutionPlanBuilder__v8.html#gae0f92d5445da53253ff3460ac6aefffa',1,'cudnn_frontend::ExecutionPlanBuilder_v8::setEngineConfig(ManagedOpaqueDescriptor &desc, std::string const &opGraphTag_="") -> ExecutionPlanBuilder_v8 &']]], - ['setglobalengineidx',['setGlobalEngineIdx',['../d3/d09/group__EngineBuilder__v8.html#ga2b171d44da46865d536236bb01103005',1,'cudnn_frontend::EngineBuilder_v8']]], - ['sethandle',['setHandle',['../d4/de1/group__ExecutionPlanBuilder__v8.html#ga4166679391fc2df54e25964c03ae6e8e',1,'cudnn_frontend::ExecutionPlanBuilder_v8::setHandle()'],['../d2/df5/group__OperationGraphBuilder__v8.html#ga5b5d8a3121e92a8a7d47341b424298f8',1,'cudnn_frontend::OperationGraphBuilder_v8::setHandle()']]], - ['setheurmode',['setHeurMode',['../dc/d99/group__EngineHeuristicsBuilder__v8.html#gaf2d783ca6a663aa50ffed2ccbc164812',1,'cudnn_frontend::EngineHeuristicsBuilder_v8']]], - ['setid',['setId',['../d3/d3c/group__TensorBuilder__v8.html#ga6bdaeab1bff548d375e57936b64fb05a',1,'cudnn_frontend::TensorBuilder_v8']]], - ['setmathmode',['setMathMode',['../d3/ddd/group__ConvDescBuilder__v8.html#ga3b752afba659c8e92e7ad1ca71d62f2f',1,'cudnn_frontend::ConvDescBuilder_v8']]], - ['setmathprecision',['setMathPrecision',['../d9/d08/group__MatMulDescBuilder__v8.html#ga5885f3eb7580cbe0cbe7243c4711c0f2',1,'cudnn_frontend::MatMulDescBuilder_v8::setMathPrecision()'],['../d2/db5/group__PointWiseDescBuilder__v8.html#ga3efa065fc125c5af06bd0a9c543bdb9f',1,'cudnn_frontend::PointWiseDescBuilder_v8::setMathPrecision()']]], - ['setmatmuldesc',['setmatmulDesc',['../d3/d92/group__OperationBuilder__v8.html#ga3ca1f62832f998566c1b07b4b3c71db4',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setmode',['setMode',['../d2/db5/group__PointWiseDescBuilder__v8.html#ga48264536e68f952e92a0bdbaa84d9363',1,'cudnn_frontend::PointWiseDescBuilder_v8::setMode(cudnnPointwiseMode_t mode_) -> PointWiseDescBuilder_v8 &'],['../d2/db5/group__PointWiseDescBuilder__v8.html#gae5240136e19e0a4094036d48c6b1a3b7',1,'cudnn_frontend::PointWiseDescBuilder_v8::setMode(cudnnNanPropagation_t nan_mode_) -> PointWiseDescBuilder_v8 &']]], - ['setndims',['setNDims',['../d3/ddd/group__ConvDescBuilder__v8.html#gaacfcf20b0ed61e89bc92970f7bb7a258',1,'cudnn_frontend::ConvDescBuilder_v8']]], - ['setoperation',['setOperation',['../d4/d6b/group__EngineFallbackListBuilder__v8.html#gaf66485fe1a0faccab971edd0c70f04b4',1,'cudnn_frontend::EngineFallbackListBuilder_v8']]], - ['setoperationgraph',['setOperationGraph',['../d3/d09/group__EngineBuilder__v8.html#ga0ceef322363405504dbdc4d1f3c9949a',1,'cudnn_frontend::EngineBuilder_v8::setOperationGraph(OperationGraph_v8 const &opGraph_) -> EngineBuilder_v8 &'],['../d3/d09/group__EngineBuilder__v8.html#ga7220dab88f9fed1704c9d78d9771be5f',1,'cudnn_frontend::EngineBuilder_v8::setOperationGraph(ManagedOpaqueDescriptor desc_) -> EngineBuilder_v8 &'],['../d4/d6b/group__EngineFallbackListBuilder__v8.html#ga45c7c761a47a7731055ad0f943449610',1,'cudnn_frontend::EngineFallbackListBuilder_v8::setOperationGraph()'],['../dc/d99/group__EngineHeuristicsBuilder__v8.html#ga0554ac9347b7409e46f960b30f18dc68',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::setOperationGraph()'],['../d2/df5/group__OperationGraphBuilder__v8.html#ga4e4cee8d631471478d5de420077a2182',1,'cudnn_frontend::OperationGraphBuilder_v8::setOperationGraph()']]], - ['setpostpadding',['setPostPadding',['../d3/ddd/group__ConvDescBuilder__v8.html#ga44915183cb4dddcf23222faca3f84bba',1,'cudnn_frontend::ConvDescBuilder_v8']]], - ['setprepadding',['setPrePadding',['../d3/ddd/group__ConvDescBuilder__v8.html#gab07bf6292e69d19e6324d3073a86d58c',1,'cudnn_frontend::ConvDescBuilder_v8']]], - ['setpwdesc',['setpwDesc',['../d3/d92/group__OperationBuilder__v8.html#gae6b06877b2e675b2a390f0b122100669',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setrelulowerclip',['setReluLowerClip',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#afdbe0ce3f7fb2f0d23251ccb7507bc69',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['setrelulowerclipslope',['setReluLowerClipSlope',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aa93615adf69e7a87a06d0cea687794a6',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['setreluupperclip',['setReluUpperClip',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a0514e70d05a21a9c46bc66d1e61c28f5',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['setsoftplusbeta',['setSoftplusBeta',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ab692e5a2b3970346f68af33530ef98e8',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['setstrides',['setStrides',['../d3/ddd/group__ConvDescBuilder__v8.html#ga2c481d46d71fe909247f50ba2772b7ce',1,'cudnn_frontend::ConvDescBuilder_v8::setStrides()'],['../d3/d3c/group__TensorBuilder__v8.html#ga3de3d95beb2234dc2a741d23703f8ed2',1,'cudnn_frontend::TensorBuilder_v8::setStrides()']]], - ['setswishbeta',['setSwishBeta',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aad41d0f7b6667383fd9012bc492a13c3',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['setuids',['setUids',['../d5/def/group__VariantPackBuilder__v8.html#gad6dc5c5087c2724ca88cc2668d7f829d',1,'cudnn_frontend::VariantPackBuilder_v8']]], - ['setvirtual',['setVirtual',['../d3/d3c/group__TensorBuilder__v8.html#ga7d5d978de243e47938eb1f224a38d02d',1,'cudnn_frontend::TensorBuilder_v8']]], - ['setwdesc',['setwDesc',['../d3/d92/group__OperationBuilder__v8.html#ga80466e517e980ba4953e085b3d4e3498',1,'cudnn_frontend::OperationBuilder_v8']]], - ['setworkspacepointer',['setWorkspacePointer',['../d5/def/group__VariantPackBuilder__v8.html#ga3a7b9ac8c714db202a8f89a6110675b6',1,'cudnn_frontend::VariantPackBuilder_v8']]], - ['setxdesc',['setxDesc',['../d3/d92/group__OperationBuilder__v8.html#gaefa06fdaae3b28c6ef08a0189e2a3d3a',1,'cudnn_frontend::OperationBuilder_v8::setxDesc(ManagedOpaqueDescriptor const &raw_tensor) -> OperationBuilder_v8 &'],['../d3/d92/group__OperationBuilder__v8.html#ga04c2492a5376f1a74a57fb49fa7b3599',1,'cudnn_frontend::OperationBuilder_v8::setxDesc(Tensor_v8 const &tensor) -> OperationBuilder_v8 &']]], - ['setydesc',['setyDesc',['../d3/d92/group__OperationBuilder__v8.html#ga5910bc2209e1b648c1aa0edce7f11e01',1,'cudnn_frontend::OperationBuilder_v8']]] + ['make_5fshared_5fbackend_5fpointer',['make_shared_backend_pointer',['../df/de1/namespacecudnn__frontend.html#aee9c79eb8972c944de14ccd70bf5db43',1,'cudnn_frontend']]], + ['matmuldesc_5fv8',['MatMulDesc_v8',['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ab725a8e47331aca6310155f6d55c0a02',1,'cudnn_frontend::MatMulDesc_v8::MatMulDesc_v8(MatMulDesc_v8 &&from)'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a5e060b83ea1e1ed59a66e15fdba91227',1,'cudnn_frontend::MatMulDesc_v8::MatMulDesc_v8()=default'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a48aa29d5df9a717e63c5146ac48c4543',1,'cudnn_frontend::MatMulDesc_v8::MatMulDesc_v8(MatMulDesc_v8 const &)=delete']]], + ['matmuldescbuilder_5fv8',['MatMulDescBuilder_v8',['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#afea76414fa5c0c5f38a551afcf11391c',1,'cudnn_frontend::MatMulDescBuilder_v8::MatMulDescBuilder_v8()=default'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a75af51fa2937a7df6787d3181ef22cf2',1,'cudnn_frontend::MatMulDescBuilder_v8::MatMulDescBuilder_v8(MatMulDescBuilder_v8 &&)=delete'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a287154397d78c528465a949ab0242068',1,'cudnn_frontend::MatMulDescBuilder_v8::MatMulDescBuilder_v8(MatMulDescBuilder_v8 const &)=delete']]], + ['max_5fsize',['max_size',['../d9/dcc/classnlohmann_1_1basic__json.html#a1b46c6631e30b8394e89bd1546d69736',1,'nlohmann::basic_json']]], + ['merge_5fpatch',['merge_patch',['../d9/dcc/classnlohmann_1_1basic__json.html#a844a77cb154752d12118f10af26d54cb',1,'nlohmann::basic_json']]], + ['meta',['meta',['../d9/dcc/classnlohmann_1_1basic__json.html#a351b4f65014f6c2b8b2832847d44bbd7',1,'nlohmann::basic_json']]], + ['moved_5for_5fcopied',['moved_or_copied',['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#ae39e523218bf05cac3fb5b5b1cd5efb6',1,'nlohmann::detail::json_ref']]], + ['mul',['mul',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#aa5f250d12ce89c81fdb08900c6a823e8',1,'nlohmann::detail::dtoa_impl::diyfp']]] ]; diff --git a/docs/search/functions_d.js b/docs/search/functions_d.js index f724fe92..84ed524f 100644 --- a/docs/search/functions_d.js +++ b/docs/search/functions_d.js @@ -1,7 +1,12 @@ var searchData= [ - ['tensor_5fv8',['Tensor_v8',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a9df78edb662e32a63680281eb33a14a8',1,'cudnn_frontend::Tensor_v8::Tensor_v8(Tensor_v8 &&from)'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ab48b1728d6978407f0bdbf0227de6f82',1,'cudnn_frontend::Tensor_v8::Tensor_v8()=default'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a5f2703668235c18d063174ccca285457',1,'cudnn_frontend::Tensor_v8::Tensor_v8(Tensor_v8 const &)=delete']]], - ['tensorbuilder_5fv8',['TensorBuilder_v8',['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a9d57810fb6d58f5152e5a1bbc55fc5dd',1,'cudnn_frontend::TensorBuilder_v8::TensorBuilder_v8()=default'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a8f8b7d7da3675d69e7f09bec21735656',1,'cudnn_frontend::TensorBuilder_v8::TensorBuilder_v8(TensorBuilder_v8 &&)=delete'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#abcc771bbe9e1791afc10c686f90c2188',1,'cudnn_frontend::TensorBuilder_v8::TensorBuilder_v8(TensorBuilder_v8 const &)=delete']]], - ['throw_5fif',['throw_if',['../df/de1/namespacecudnn__frontend.html#a1690523b8a133acefaeabc725032e21c',1,'cudnn_frontend::throw_if(std::function< bool()> expr, const char *message)'],['../df/de1/namespacecudnn__frontend.html#a6b0bb5ee1f6d6491a7d53a01ae947dee',1,'cudnn_frontend::throw_if(bool expr, const char *message)']]], - ['time_5fsorted_5fplan',['time_sorted_plan',['../df/de1/namespacecudnn__frontend.html#a148478701949f58a44912cc61dbda1e4',1,'cudnn_frontend']]] + ['name',['name',['../de/df2/classnlohmann_1_1detail_1_1exception.html#abf41a7e9178356314082284e6cfea278',1,'nlohmann::detail::exception']]], + ['next_5fbyte_5fin_5frange',['next_byte_in_range',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#af6fe701b8b3ca5f4a1b58db4658bdf87',1,'nlohmann::detail::lexer']]], + ['nonesuch',['nonesuch',['../da/d31/structnlohmann_1_1detail_1_1nonesuch.html#a6fe87da966856c6cb06617940d90f010',1,'nlohmann::detail::nonesuch::nonesuch()=delete'],['../da/d31/structnlohmann_1_1detail_1_1nonesuch.html#a563462ef2d05fe60cdf1dc7f567dc276',1,'nlohmann::detail::nonesuch::nonesuch(nonesuch const &)=delete'],['../da/d31/structnlohmann_1_1detail_1_1nonesuch.html#ad7719f7d2a00263be8b8d123870217d8',1,'nlohmann::detail::nonesuch::nonesuch(nonesuch const &&)=delete']]], + ['normalize',['normalize',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#a2246b5b40c7c6992153ef174063d6aa6',1,'nlohmann::detail::dtoa_impl::diyfp']]], + ['normalize_5fto',['normalize_to',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#a6b6665e467ebabe0c0f7418d3fe4b118',1,'nlohmann::detail::dtoa_impl::diyfp']]], + ['null',['null',['../d0/d82/structnlohmann_1_1json__sax.html#a0ad26edef3f8d530dcec3192bba82df6',1,'nlohmann::json_sax::null()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#abb06babaa861f123d8d0cb443b887d8a',1,'nlohmann::detail::json_sax_dom_parser::null()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a446262b6a75371fe8e0a6218ba2911e6',1,'nlohmann::detail::json_sax_dom_callback_parser::null()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#ad7ad55168af6e03ed8b844c94a17b9ce',1,'nlohmann::detail::json_sax_acceptor::null()']]], + ['number_5ffloat',['number_float',['../d0/d82/structnlohmann_1_1json__sax.html#ae7c31614e8a82164d2d7f8dbf4671b25',1,'nlohmann::json_sax::number_float()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aef4652c0e81d6c052acb5d36afe09499',1,'nlohmann::detail::json_sax_dom_parser::number_float()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ae21f7872c334c77d03ae033cb0749b1c',1,'nlohmann::detail::json_sax_dom_callback_parser::number_float()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#aebf8800023eb20d472f111f86b189e60',1,'nlohmann::detail::json_sax_acceptor::number_float()']]], + ['number_5finteger',['number_integer',['../d0/d82/structnlohmann_1_1json__sax.html#affa7a78b8e9cc9cc3ac99927143142a5',1,'nlohmann::json_sax::number_integer()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aff77f861ba336df48c9786a993941397',1,'nlohmann::detail::json_sax_dom_parser::number_integer()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a68d9eddfd572e8687c1c8107e0505aa6',1,'nlohmann::detail::json_sax_dom_callback_parser::number_integer()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a976bf4ce6e9a2ffe48f683ddff80af00',1,'nlohmann::detail::json_sax_acceptor::number_integer()']]], + ['number_5funsigned',['number_unsigned',['../d0/d82/structnlohmann_1_1json__sax.html#ad9b253083e0509923ba195136f49face',1,'nlohmann::json_sax::number_unsigned()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a2b4ff5146ed46993527e4a67d99c1355',1,'nlohmann::detail::json_sax_dom_parser::number_unsigned()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#acabb231463bf669441c22e4ea385a9fb',1,'nlohmann::detail::json_sax_dom_callback_parser::number_unsigned()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#ad15b288f3351287edbe289502f595491',1,'nlohmann::detail::json_sax_acceptor::number_unsigned()']]] ]; diff --git a/docs/search/functions_e.js b/docs/search/functions_e.js index 2c6846fb..90a33d8d 100644 --- a/docs/search/functions_e.js +++ b/docs/search/functions_e.js @@ -1,5 +1,42 @@ var searchData= [ - ['variantpack_5fv8',['VariantPack_v8',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#aa9ce6c30e5e3c2df4d1e9fe2fb4cd6f5',1,'cudnn_frontend::VariantPack_v8::VariantPack_v8(VariantPack_v8 &&from)'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#ab2712c9ad5eeaf561408d7245938d0c6',1,'cudnn_frontend::VariantPack_v8::VariantPack_v8()=default'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a7d3416a4e2f6a67e1988e3b3cb77e88b',1,'cudnn_frontend::VariantPack_v8::VariantPack_v8(VariantPack_v8 const &)=delete']]], - ['variantpackbuilder_5fv8',['VariantPackBuilder_v8',['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a7690f854d9e6fc2d4df059fca0e91c6a',1,'cudnn_frontend::VariantPackBuilder_v8::VariantPackBuilder_v8()=default'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a16d853685d603472bf260e500f55c145',1,'cudnn_frontend::VariantPackBuilder_v8::VariantPackBuilder_v8(VariantPackBuilder_v8 &&)=delete'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#ac7a523746975d15fd8dc54af0764dcb0',1,'cudnn_frontend::VariantPackBuilder_v8::VariantPackBuilder_v8(VariantPackBuilder_v8 const &)=delete']]] + ['object',['object',['../d9/dcc/classnlohmann_1_1basic__json.html#a9a4df356e05415438fadf8a15e583903',1,'nlohmann::basic_json']]], + ['opaquebackendpointer',['OpaqueBackendPointer',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a42a928eb5b2524d1c3f67b7200dd53c9',1,'cudnn_frontend::OpaqueBackendPointer::OpaqueBackendPointer(const OpaqueBackendPointer &)=delete'],['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a997d733607e747516eb2334c51c48f29',1,'cudnn_frontend::OpaqueBackendPointer::OpaqueBackendPointer(OpaqueBackendPointer &&)=default'],['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#aadf0c53d7aedb1c6c121b2736e98b2dd',1,'cudnn_frontend::OpaqueBackendPointer::OpaqueBackendPointer(cudnnBackendDescriptorType_t type)']]], + ['operation_5fv8',['Operation_v8',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ad45e7200660f993615e34ceeb9ec49c6',1,'cudnn_frontend::Operation_v8::Operation_v8(Operation_v8 &&from)'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a810b2f50d53d6655c2048d3c3afbcfc4',1,'cudnn_frontend::Operation_v8::Operation_v8()=default'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a091bf74144eaec6149d610faa289160e',1,'cudnn_frontend::Operation_v8::Operation_v8(Operation_v8 const &)=delete']]], + ['operationbuilder_5fv8',['OperationBuilder_v8',['../d3/d92/group__OperationBuilder__v8.html#ga425dd00708eaaadffe1c83ef356dc333',1,'cudnn_frontend::OperationBuilder_v8']]], + ['operationgraph_5fv8',['OperationGraph_v8',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a85e65daf5a2db5aba0207ccad367457d',1,'cudnn_frontend::OperationGraph_v8::OperationGraph_v8(OperationGraph_v8 &&from)'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a5c029cff12e0e91406a8f88fd8a830f4',1,'cudnn_frontend::OperationGraph_v8::OperationGraph_v8()=default'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a0b3b76a619160671c45c733eb1a13455',1,'cudnn_frontend::OperationGraph_v8::OperationGraph_v8(OperationGraph_v8 const &)=delete']]], + ['operationgraphbuilder_5fv8',['OperationGraphBuilder_v8',['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a101b6c9515fdb333cdd3499f08774cf4',1,'cudnn_frontend::OperationGraphBuilder_v8::OperationGraphBuilder_v8()=default'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a40e8f7825f75c35c40d9938532a81d02',1,'cudnn_frontend::OperationGraphBuilder_v8::OperationGraphBuilder_v8(OperationGraphBuilder_v8 &&)=delete'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a589dedb418679abda7f64e6b9e2800a1',1,'cudnn_frontend::OperationGraphBuilder_v8::OperationGraphBuilder_v8(OperationGraphBuilder_v8 const &)=delete']]], + ['operator_20output_5fadapter_5ft_3c_20chartype_20_3e',['operator output_adapter_t< CharType >',['../df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a5fdac7aec8ade2f4bb0b5df30550d90c',1,'nlohmann::detail::output_adapter']]], + ['operator_20size_5ft',['operator size_t',['../d6/d02/structnlohmann_1_1detail_1_1position__t.html#ac9ad1e0f143f162e2e0c979cd678d683',1,'nlohmann::detail::position_t']]], + ['operator_20value_5ft',['operator value_t',['../d9/dcc/classnlohmann_1_1basic__json.html#a6d4b8df10ecc533a50823e8805f4a873',1,'nlohmann::basic_json']]], + ['operator_20valuetype',['operator ValueType',['../d9/dcc/classnlohmann_1_1basic__json.html#ada1463d8d7ba77865f28f5e83dec7f33',1,'nlohmann::basic_json']]], + ['operator_21_3d',['operator!=',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a646dbb2b1842f44f42ee1e14245b8595',1,'nlohmann::detail::iteration_proxy_value::operator!=()'],['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a760bf39cc5477bc663d8bb3c44aabf6a',1,'nlohmann::byte_container_with_subtype::operator!=()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a190077df326c10886020bbcfaa169b20',1,'nlohmann::detail::iter_impl::operator!=()']]], + ['operator_22_22_20_5fjson',['operator"" _json',['../d5/db8/json_8hpp.html#a106b949d848bb8243a7cf94f11bcebf1',1,'json.hpp']]], + ['operator_22_22_20_5fjson_5fpointer',['operator"" _json_pointer',['../d5/db8/json_8hpp.html#aa2015c6dc3a0fb76fc526cfecef2286a',1,'json.hpp']]], + ['operator_28_29',['operator()',['../d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.html#a4ab8572670a673d64b783589cf658270',1,'nlohmann::detail::from_json_fn::operator()()'],['../d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.html#aecfb5114c8a737fc89d98589482795b8',1,'nlohmann::detail::to_json_fn::operator()()'],['../dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.html#aec1567d1fa47dbe5b77954dce3a55b64',1,'std::hash< nlohmann::json >::operator()()'],['../df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.html#a10d3fea50edf7b15ead8f4ceeb006000',1,'std::less<::nlohmann::detail::value_t >::operator()()']]], + ['operator_2a',['operator*',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a10accadf05a172fdc69a016bec201e81',1,'nlohmann::detail::iteration_proxy_value::operator*()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a5ca57856d9bba54a5fc51cee891de827',1,'nlohmann::detail::iter_impl::operator*()'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#aa3100e41472dba02ab78ccc1607e44ab',1,'nlohmann::detail::json_ref::operator*()']]], + ['operator_2b',['operator+',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a00ce828d0fe58046c10e0445504df7bf',1,'nlohmann::detail::primitive_iterator_t::operator+()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a8ef76aeb5a5032768f0f61f48ac189c0',1,'nlohmann::detail::iter_impl::operator+()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#aabf172b436988e2edde22f13f27caaed',1,'nlohmann::detail::json_reverse_iterator::operator+()']]], + ['operator_2b_2b',['operator++',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#adf4db2aef31822f3a179435158a4de11',1,'nlohmann::detail::iteration_proxy_value::operator++()'],['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#ad26511012fc88f3ec5d9e1cb708732fd',1,'nlohmann::detail::primitive_iterator_t::operator++() noexcept'],['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aa011863621357b3cf891670bf63a48b1',1,'nlohmann::detail::primitive_iterator_t::operator++(int) noexcept'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a7d2397773b2dce42f30f0375a6a1d850',1,'nlohmann::detail::iter_impl::operator++(int)'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#abdfe2a7f464400a7ab572782d14b922f',1,'nlohmann::detail::iter_impl::operator++()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#aada9d2b320002ef870c5283cda2c1e9d',1,'nlohmann::detail::json_reverse_iterator::operator++(int)'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a26caf0069a50ce4ecb010a1453e883fc',1,'nlohmann::detail::json_reverse_iterator::operator++()']]], + ['operator_2b_3d',['operator+=',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aee01535df0b3b40137d9241029a9a203',1,'nlohmann::detail::primitive_iterator_t::operator+=()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a3eef94f9d167046e7f773aeb6b78090c',1,'nlohmann::detail::iter_impl::operator+=()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a4e5d0a3bee433104ef87366e00536e01',1,'nlohmann::detail::json_reverse_iterator::operator+=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a40226d9c84fcb9cb948ae0c27b842c57',1,'nlohmann::basic_json::operator+=(basic_json &&val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#af643a4baa91f484b11af0e4437183115',1,'nlohmann::basic_json::operator+=(const basic_json &val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ae300819781bce2193369609457f70f30',1,'nlohmann::basic_json::operator+=(const typename object_t::value_type &val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ac48302a8b4f8c2a6e30c2a7bff6abc49',1,'nlohmann::basic_json::operator+=(initializer_list_t init)']]], + ['operator_2d',['operator-',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a0dd9c415b94a02ff2aa25da75e52da30',1,'nlohmann::detail::iter_impl::operator-(difference_type i) const'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a49bf3e708a9c1c88c415011735962d06',1,'nlohmann::detail::iter_impl::operator-(const iter_impl &other) const'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a549c6eb10b6434eaf772f71d129a6d79',1,'nlohmann::detail::json_reverse_iterator::operator-(difference_type i) const'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#aaaa6c0b1d74e74e35e5f7b56dfd6c5d1',1,'nlohmann::detail::json_reverse_iterator::operator-(const json_reverse_iterator &other) const']]], + ['operator_2d_2d',['operator--',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#abecbf0c73c7fe963a699738065177bc3',1,'nlohmann::detail::primitive_iterator_t::operator--() noexcept'],['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aef3b5dfeb2cb04dc9d0a024fc1898b98',1,'nlohmann::detail::primitive_iterator_t::operator--(int) noexcept'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a1fc43e764467b8ea4a4cdd01f629d757',1,'nlohmann::detail::iter_impl::operator--(int)'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a84e689fb581d651d130039f7cb81494a',1,'nlohmann::detail::iter_impl::operator--()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a2c170f51371538da2c8f4094305da3d3',1,'nlohmann::detail::json_reverse_iterator::operator--(int)'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a2488d6a902103610943920ac49d12a04',1,'nlohmann::detail::json_reverse_iterator::operator--()']]], + ['operator_2d_3d',['operator-=',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a0bf83ab08abe1ae4b51c790c85cdf151',1,'nlohmann::detail::primitive_iterator_t::operator-=()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#abcc9d51bc52f2e8483bbe4018f05e978',1,'nlohmann::detail::iter_impl::operator-=()']]], + ['operator_2d_3e',['operator->',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a6da3d2b34528aff328f3dcb513076dec',1,'nlohmann::detail::iter_impl::operator->()'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#adb652774a67829876449dc0b30637456',1,'nlohmann::detail::json_ref::operator->()']]], + ['operator_2f_3d',['operator/=',['../da/de8/classnlohmann_1_1json__pointer.html#a7395bd0af29ac23fd3f21543c935cdfa',1,'nlohmann::json_pointer::operator/=(const json_pointer &ptr)'],['../da/de8/classnlohmann_1_1json__pointer.html#abdd21567b2b1d69329af0f520335e68b',1,'nlohmann::json_pointer::operator/=(std::string token)'],['../da/de8/classnlohmann_1_1json__pointer.html#a7de51480324eb1c5a89ed552cd699875',1,'nlohmann::json_pointer::operator/=(std::size_t array_idx)']]], + ['operator_3c',['operator<',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a0d14cd76203e00bdcef6a64a5d055cc7',1,'nlohmann::detail::iter_impl::operator<()'],['../dc/df0/namespacenlohmann_1_1detail.html#a09169efff3bd1771fff29bd92cea19e0',1,'nlohmann::detail::operator<()']]], + ['operator_3c_3d',['operator<=',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ac6f71b36d7c87e427d1fee83f2600fad',1,'nlohmann::detail::iter_impl']]], + ['operator_3d',['operator=',['../da/d31/structnlohmann_1_1detail_1_1nonesuch.html#add6ef84c52a851e391cef514c85f2ffe',1,'nlohmann::detail::nonesuch::operator=(nonesuch const &)=delete'],['../da/d31/structnlohmann_1_1detail_1_1nonesuch.html#a78ca022a1b4defe4f7ba662843602231',1,'nlohmann::detail::nonesuch::operator=(nonesuch &&)=delete'],['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#ad59bbc7e3f23dd74475c5cb818784e42',1,'nlohmann::detail::file_input_adapter::operator=(const file_input_adapter &)=delete'],['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#acfd616c651d601a1dfc7fbdd6973f716',1,'nlohmann::detail::file_input_adapter::operator=(file_input_adapter &&)=delete'],['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#aeac5048221929b8f7558d1698dd0fb3a',1,'nlohmann::detail::input_stream_adapter::operator=(input_stream_adapter &)=delete'],['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a3577dff99cc91968557b52959b0363e4',1,'nlohmann::detail::input_stream_adapter::operator=(input_stream_adapter &&)=delete'],['../d0/d82/structnlohmann_1_1json__sax.html#a1a90dae111cf189ac9ad340a60b199b6',1,'nlohmann::json_sax::operator=(const json_sax &)=default'],['../d0/d82/structnlohmann_1_1json__sax.html#ac74584e3dc41f2465e69b37d7d2bf694',1,'nlohmann::json_sax::operator=(json_sax &&) noexcept=default'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a98448bf2cbc15d15e2eddc5a09a40a42',1,'nlohmann::detail::json_sax_dom_parser::operator=(const json_sax_dom_parser &)=delete'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aff928a07e40e4efb16b3ff9384f4401c',1,'nlohmann::detail::json_sax_dom_parser::operator=(json_sax_dom_parser &&)=default'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a5c9603e79a71713f5e8cf12cba837dbb',1,'nlohmann::detail::json_sax_dom_callback_parser::operator=(const json_sax_dom_callback_parser &)=delete'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a60753ffbec958de15de807852e62cde8',1,'nlohmann::detail::json_sax_dom_callback_parser::operator=(json_sax_dom_callback_parser &&)=default'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#af7e7002d4bb66e9104d752791b8070f8',1,'nlohmann::detail::lexer::operator=(lexer &)=delete'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a1383bb59c5efd4f9370ca3ee4ad1a4ba',1,'nlohmann::detail::lexer::operator=(lexer &&)=default'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a35abcd6b3231a4c9d651f9c0eb610c96',1,'nlohmann::detail::binary_reader::operator=(const binary_reader &)=delete'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ad3dc8b0f8ef6035465c14ed7dcbb67d4',1,'nlohmann::detail::binary_reader::operator=(binary_reader &&)=default'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ae3dc277c25007ac952d57f9a1972ce79',1,'nlohmann::detail::iter_impl::operator=(iter_impl &&) noexcept=default'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a9a5cd7864a8f848ef107d3f5a330f5e7',1,'nlohmann::detail::iter_impl::operator=(const iter_impl< const BasicJsonType > &other) noexcept'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a7159ed1cfe7c423a2baef8bea0c94509',1,'nlohmann::detail::iter_impl::operator=(const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a98956ba676b1ae16b62346f9c4fb752e',1,'nlohmann::detail::json_ref::operator=(const json_ref &)=delete'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a9a73363d9be6b300ddd30745786c50a6',1,'nlohmann::detail::json_ref::operator=(json_ref &&)=delete'],['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#ab2a6b7a5b86c612df2d99d2970380456',1,'nlohmann::detail::output_adapter_protocol::operator=(const output_adapter_protocol &)=default'],['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#a2235c8f3da8dfe5b26cb030f6886811a',1,'nlohmann::detail::output_adapter_protocol::operator=(output_adapter_protocol &&) noexcept=default'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a5f14c33012477b9f9876dc54d97009a0',1,'nlohmann::detail::serializer::operator=(const serializer &)=delete'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#acaafe3436ee5fb74777eb4132a88c513',1,'nlohmann::detail::serializer::operator=(serializer &&)=delete'],['../d9/dcc/classnlohmann_1_1basic__json.html#a1ae937c299f347a9dcb7f31a8e57762b',1,'nlohmann::basic_json::operator=()'],['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#adf5bf20f5bdfbfdecd05360830b34b89',1,'cudnn_frontend::OpaqueBackendPointer::operator=()'],['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#aa8ea272eaf26ae7f7ad2d625253ea62f',1,'cudnn_frontend::ConvDesc_v8::operator=()'],['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a5fba7029429a093b36fd201219315a1f',1,'cudnn_frontend::ConvDescBuilder_v8::operator=()'],['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ad3966b20d080c0fb9930b8a2018da2f8',1,'cudnn_frontend::Engine_v8::operator=()'],['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#a9d29a91186f6baa215b61340a386ec6d',1,'cudnn_frontend::EngineBuilder_v8::operator=()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ad79aab6d69a2b4400259abd72af73c84',1,'cudnn_frontend::EngineConfig_v8::operator=()'],['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a8d4cb5ab44b076c71afd5f49e6df94f7',1,'cudnn_frontend::EngineConfigBuilder_v8::operator=()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a22ef505758a33415d01e3a9a8843fe22',1,'cudnn_frontend::EngineFallbackList_v8::operator=()'],['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a1effb794c90cbe7ad2e7649d400cb2dd',1,'cudnn_frontend::EngineFallbackListBuilder_v8::operator=()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga0705e60cee62d3d196751517d545a7b0',1,'cudnn_frontend::ExecutionPlan_v8::operator=()'],['../d7/d0d/group__ExecutionPlanQuery.html#ga5f757c2da8c90645c34637dde4aed8f8',1,'cudnn_frontend::ExecutionPlanBuilder_v8::operator=()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a2301c5b006fa6e341bc88ece066f8ea2',1,'cudnn_frontend::EngineHeuristics_v8::operator=()'],['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#a5228a4a3af391fad0141f30a24be730b',1,'cudnn_frontend::EngineHeuristicsBuilder_v8::operator=()'],['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#ac1257a1ca1261961fc99123988552911',1,'cudnn_frontend::MatMulDesc_v8::operator=()'],['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#a02ee327bae65fc44c140d7bb6a0b4991',1,'cudnn_frontend::MatMulDescBuilder_v8::operator=()'],['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a5012e920483271f655bc04d6f52dc41f',1,'cudnn_frontend::Operation_v8::operator=()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a87704bb46bb12bba977a21ed579a4ef3',1,'cudnn_frontend::OperationGraph_v8::operator=()'],['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#a75dae8a911e005b960565d4a1a0024ba',1,'cudnn_frontend::OperationGraphBuilder_v8::operator=()'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ae3cd0c0051c7e29a9ad86b80308429f3',1,'cudnn_frontend::PointWiseDesc_v8::operator=()'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ac0d140493e21b164bc21dd0bcbeeaa65',1,'cudnn_frontend::PointWiseDescBuilder_v8::operator=()'],['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a51f082e952ed5e01ddc9ef3f02f32f3b',1,'cudnn_frontend::ReductionDesc_v8::operator=()'],['../d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#af003aa5121b4433e5aa3efc1b53e9086',1,'cudnn_frontend::ReductionDescBuilder_v8::operator=()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a4f5c1e95de9419cb1904e0cbad570c63',1,'cudnn_frontend::Tensor_v8::operator=()'],['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a3a33c9ba58f393d231e05a1bcc5706d8',1,'cudnn_frontend::TensorBuilder_v8::operator=()'],['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a3f85d13ac1341b67d85f18761f8dcb35',1,'cudnn_frontend::VariantPack_v8::operator=()'],['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#acee84ffc33b41807cdcb18425e9fced1',1,'cudnn_frontend::VariantPackBuilder_v8::operator=()']]], + ['operator_3d_3d',['operator==',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#af2b78a8b9c9276b07c928b21bb1e2d54',1,'nlohmann::detail::iteration_proxy_value::operator==()'],['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#aee67fde9d3d571a07d5bb35df21c0555',1,'nlohmann::byte_container_with_subtype::operator==()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aaddab83c2b4023cb0f0fdbc757c54f65',1,'nlohmann::detail::iter_impl::operator==()']]], + ['operator_3e',['operator>',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aaf3620b8dfa4bed8a9ac2b51dd55dbd7',1,'nlohmann::detail::iter_impl']]], + ['operator_3e_3d',['operator>=',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a634f85da575cb60b012a687efa26e11a',1,'nlohmann::detail::iter_impl']]], + ['operator_5b_5d',['operator[]',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ac0b9276f1102ed4b9cd3f5f56287e3ce',1,'nlohmann::detail::iter_impl::operator[]()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a8ed9e445e03c49c46612eb7f7d55bb61',1,'nlohmann::detail::json_reverse_iterator::operator[]()'],['../d6/da7/structnlohmann_1_1ordered__map.html#ae7a1ca8c1e234837d137471f73ae6012',1,'nlohmann::ordered_map::operator[](const Key &key)'],['../d6/da7/structnlohmann_1_1ordered__map.html#a676082659d575e29bdb312bcde53023a',1,'nlohmann::ordered_map::operator[](const Key &key) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a9ea67fc1ef0ccc42e1d5388fe0416ae5',1,'nlohmann::basic_json::operator[](size_type idx)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ad21d96f490fa1aa8605fba8dadcce319',1,'nlohmann::basic_json::operator[](size_type idx) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a3f45f3820c456ad2e3f3df2926564151',1,'nlohmann::basic_json::operator[](const typename object_t::key_type &key)'],['../d9/dcc/classnlohmann_1_1basic__json.html#acb5b489310f4e0ce2d5fb29b73fb59d3',1,'nlohmann::basic_json::operator[](const typename object_t::key_type &key) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#abc94831476f7b4d3efe6f2e9036c7188',1,'nlohmann::basic_json::operator[](T *key)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a11bbe874496eb7b29a5549e0637de59e',1,'nlohmann::basic_json::operator[](T *key) const'],['../d9/dcc/classnlohmann_1_1basic__json.html#a0d3deaa73b3644b4da3f8ef3172cd8d2',1,'nlohmann::basic_json::operator[](const json_pointer &ptr)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a0a691c29eb7c4acd91ccb498a79cd3ee',1,'nlohmann::basic_json::operator[](const json_pointer &ptr) const']]], + ['ordered_5fmap',['ordered_map',['../d6/da7/structnlohmann_1_1ordered__map.html#a87938c10b76510dac00412d2cb5fd1e4',1,'nlohmann::ordered_map::ordered_map(const Allocator &alloc=Allocator())'],['../d6/da7/structnlohmann_1_1ordered__map.html#a9d25efb51325cc1be027b8ea00c1f8b8',1,'nlohmann::ordered_map::ordered_map(It first, It last, const Allocator &alloc=Allocator())'],['../d6/da7/structnlohmann_1_1ordered__map.html#a0482ea79e7786367a2d9b5c789c091ce',1,'nlohmann::ordered_map::ordered_map(std::initializer_list< T > init, const Allocator &alloc=Allocator())']]], + ['other_5ferror',['other_error',['../d5/d1b/classnlohmann_1_1detail_1_1other__error.html#adf9227d6ca5161508f6a598a0dc6e7cd',1,'nlohmann::detail::other_error']]], + ['out_5fof_5frange',['out_of_range',['../d2/d67/classnlohmann_1_1detail_1_1out__of__range.html#ab5fe402019dba957558499502f0fd731',1,'nlohmann::detail::out_of_range']]], + ['output_5fadapter',['output_adapter',['../df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a05a30a77b568fd84676078d938cbd484',1,'nlohmann::detail::output_adapter::output_adapter(std::vector< CharType > &vec)'],['../df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a43b3ba852e6a2c3f4d312543bb04c00d',1,'nlohmann::detail::output_adapter::output_adapter(std::basic_ostream< CharType > &s)'],['../df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a6ad59d1ec534383b430cd7ef8a518539',1,'nlohmann::detail::output_adapter::output_adapter(StringType &s)']]], + ['output_5fadapter_5fprotocol',['output_adapter_protocol',['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#afd96245615e3b648e59e4a27bdfa67e0',1,'nlohmann::detail::output_adapter_protocol::output_adapter_protocol()=default'],['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#adf6ef7a244c32162fe98d9773f31fa8a',1,'nlohmann::detail::output_adapter_protocol::output_adapter_protocol(const output_adapter_protocol &)=default'],['../dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.html#a9527a27ddd468e4360a3530cbd9c35a6',1,'nlohmann::detail::output_adapter_protocol::output_adapter_protocol(output_adapter_protocol &&) noexcept=default']]], + ['output_5fstream_5fadapter',['output_stream_adapter',['../d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html#ae44ed343cb1a716248547f48dd045b6a',1,'nlohmann::detail::output_stream_adapter']]], + ['output_5fstring_5fadapter',['output_string_adapter',['../d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html#af3a49ecd0d23fe56ac21e13d8752abc7',1,'nlohmann::detail::output_string_adapter']]], + ['output_5fvector_5fadapter',['output_vector_adapter',['../d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html#a9c4fbf88fda356837038ec30a264cd3e',1,'nlohmann::detail::output_vector_adapter']]], + ['string',['string',['../da/de8/classnlohmann_1_1json__pointer.html#ae9015c658f99cf3d48a8563accc79988',1,'nlohmann::json_pointer']]] ]; diff --git a/docs/search/functions_f.js b/docs/search/functions_f.js index 35b446de..1b3f0aab 100644 --- a/docs/search/functions_f.js +++ b/docs/search/functions_f.js @@ -1,4 +1,20 @@ var searchData= [ - ['what',['what',['../d9/dca/classcudnn__frontend_1_1cudnnException.html#a4f35e3466ff6ce0875631b810364364b',1,'cudnn_frontend::cudnnException']]] + ['parent_5fpointer',['parent_pointer',['../da/de8/classnlohmann_1_1json__pointer.html#afdaacce1edb7145e0434e014f0e8685a',1,'nlohmann::json_pointer']]], + ['parse',['parse',['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a75fb9145ea85f1ad9cc14f61981e1111',1,'nlohmann::detail::parser::parse()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a15018ade392a844ea32d5188d1a0b9c6',1,'nlohmann::basic_json::parse(InputType &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ad832c70af0989389a9a104c21d2d1c5c',1,'nlohmann::basic_json::parse(IteratorType first, IteratorType last, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a73cf15644f04fa569f50291049d1bafd',1,'nlohmann::basic_json::parse(detail::span_input_adapter &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)']]], + ['parse_5fbson_5farray',['parse_bson_array',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a23eb89a222e22533e9fd43e76722f44f',1,'nlohmann::detail::binary_reader']]], + ['parse_5fbson_5felement_5finternal',['parse_bson_element_internal',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a23bde2450d7a5772bf5051e36ff560a4',1,'nlohmann::detail::binary_reader']]], + ['parse_5fbson_5felement_5flist',['parse_bson_element_list',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a4e07b75ccb2579d0e738b894f0fd8cf8',1,'nlohmann::detail::binary_reader']]], + ['parse_5fbson_5finternal',['parse_bson_internal',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#abf2051ba57d9ea9b378a2e7c14e22b34',1,'nlohmann::detail::binary_reader']]], + ['parse_5fcbor_5finternal',['parse_cbor_internal',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a4e4accd5a2a41bfb2f18a8a0fcc9421c',1,'nlohmann::detail::binary_reader']]], + ['parse_5ferror',['parse_error',['../d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#a0ea816ea3521d7109407948cb1b850f7',1,'nlohmann::detail::parse_error::parse_error()'],['../d0/d82/structnlohmann_1_1json__sax.html#a60287e3bd85f489e04c83f7e3b76e613',1,'nlohmann::json_sax::parse_error()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a7bc7d26e6a6f30185310de42cb2e820d',1,'nlohmann::detail::json_sax_dom_parser::parse_error()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#afb54d6937ee5d5a40e1db94422998aec',1,'nlohmann::detail::json_sax_dom_callback_parser::parse_error()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a95bb3e8b6feaa523ecda8106fb5e38e3',1,'nlohmann::detail::json_sax_acceptor::parse_error()']]], + ['parse_5fmsgpack_5finternal',['parse_msgpack_internal',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ae020385ce9424271d61f85d3842c02cb',1,'nlohmann::detail::binary_reader']]], + ['parse_5fubjson_5finternal',['parse_ubjson_internal',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a5a79480d661019b0f3fc615ae12f7de7',1,'nlohmann::detail::binary_reader']]], + ['parser',['parser',['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a33b852bf63cba58310d9c0d1242cfb12',1,'nlohmann::detail::parser::parser()'],['../d9/dcc/classnlohmann_1_1basic__json.html#aaa5b1a16260634ed7b6c6a44f39c4d8a',1,'nlohmann::basic_json::parser()']]], + ['patch',['patch',['../d9/dcc/classnlohmann_1_1basic__json.html#adcc786998f220a5b3083ee8a37c4553e',1,'nlohmann::basic_json']]], + ['pointwisedesc_5fv8',['PointWiseDesc_v8',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ac2e07a514ec114222b65948960ba76a3',1,'cudnn_frontend::PointWiseDesc_v8::PointWiseDesc_v8(PointWiseDesc_v8 &&from)'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ac00ed56ba83a04edca3f55125332646b',1,'cudnn_frontend::PointWiseDesc_v8::PointWiseDesc_v8()=default'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ae4f638eb928772c13c314f4a022d4978',1,'cudnn_frontend::PointWiseDesc_v8::PointWiseDesc_v8(PointWiseDesc_v8 const &)=delete']]], + ['pointwisedescbuilder_5fv8',['PointWiseDescBuilder_v8',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a6f5605f25897bba7afc6baf76228828c',1,'cudnn_frontend::PointWiseDescBuilder_v8::PointWiseDescBuilder_v8()=default'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#ad6a7549d62410d3de87040586b49b815',1,'cudnn_frontend::PointWiseDescBuilder_v8::PointWiseDescBuilder_v8(PointWiseDescBuilder_v8 &&)=delete'],['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#aeccd727adb1d3b0b8d9d95b7f6e1b9ce',1,'cudnn_frontend::PointWiseDescBuilder_v8::PointWiseDescBuilder_v8(PointWiseDescBuilder_v8 const &)=delete']]], + ['pop_5fback',['pop_back',['../da/de8/classnlohmann_1_1json__pointer.html#a4b1ee4d511ca195bed896a3da47e264c',1,'nlohmann::json_pointer']]], + ['position_5fstring',['position_string',['../d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#aefe74adeaa48781464ba2fd2ec63d221',1,'nlohmann::detail::parse_error']]], + ['push_5fback',['push_back',['../da/de8/classnlohmann_1_1json__pointer.html#a697d12b5bd6205f8866691b166b7c7dc',1,'nlohmann::json_pointer::push_back(const std::string &token)'],['../da/de8/classnlohmann_1_1json__pointer.html#ac228b13596d3c34185da9fe61b570194',1,'nlohmann::json_pointer::push_back(std::string &&token)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ab9e0253c92736db021840105d374c4c4',1,'nlohmann::basic_json::push_back(basic_json &&val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a3405d38087e13994a5a4556065b0be6d',1,'nlohmann::basic_json::push_back(const basic_json &val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#ad704839e6a5195e3b76f22e2b9aa63ee',1,'nlohmann::basic_json::push_back(const typename object_t::value_type &val)'],['../d9/dcc/classnlohmann_1_1basic__json.html#a4567cf75f19b1efca090f75d7a8a350a',1,'nlohmann::basic_json::push_back(initializer_list_t init)']]] ]; diff --git a/docs/search/groups_5.js b/docs/search/groups_5.js index 773f5fb8..6d422060 100644 --- a/docs/search/groups_5.js +++ b/docs/search/groups_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['tensorbuilder_5fv8',['TensorBuilder_v8',['../d3/d3c/group__TensorBuilder__v8.html',1,'']]] + ['reductiondescbuilder_5fv8',['ReductionDescBuilder_v8',['../d8/d95/group__ReductionDescBuilder__v8.html',1,'']]] ]; diff --git a/docs/search/groups_6.js b/docs/search/groups_6.js index a0cc5119..773f5fb8 100644 --- a/docs/search/groups_6.js +++ b/docs/search/groups_6.js @@ -1,4 +1,4 @@ var searchData= [ - ['variantpackbuilder_5fv8',['VariantPackBuilder_v8',['../d5/def/group__VariantPackBuilder__v8.html',1,'']]] + ['tensorbuilder_5fv8',['TensorBuilder_v8',['../d3/d3c/group__TensorBuilder__v8.html',1,'']]] ]; diff --git a/docs/search/groups_7.html b/docs/search/groups_7.html new file mode 100644 index 00000000..0b8fa02f --- /dev/null +++ b/docs/search/groups_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/groups_7.js b/docs/search/groups_7.js new file mode 100644 index 00000000..a0cc5119 --- /dev/null +++ b/docs/search/groups_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['variantpackbuilder_5fv8',['VariantPackBuilder_v8',['../d5/def/group__VariantPackBuilder__v8.html',1,'']]] +]; diff --git a/docs/search/namespaces_1.html b/docs/search/namespaces_1.html new file mode 100644 index 00000000..f093550a --- /dev/null +++ b/docs/search/namespaces_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/namespaces_1.js b/docs/search/namespaces_1.js new file mode 100644 index 00000000..260e0280 --- /dev/null +++ b/docs/search/namespaces_1.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['container_5finput_5fadapter_5ffactory_5fimpl',['container_input_adapter_factory_impl',['../d9/d10/namespacenlohmann_1_1detail_1_1container__input__adapter__factory__impl.html',1,'nlohmann::detail']]], + ['detail',['detail',['../dc/df0/namespacenlohmann_1_1detail.html',1,'nlohmann']]], + ['dtoa_5fimpl',['dtoa_impl',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html',1,'nlohmann::detail']]], + ['nlohmann',['nlohmann',['../d3/d9b/namespacenlohmann.html',1,'']]], + ['utility_5finternal',['utility_internal',['../df/d92/namespacenlohmann_1_1detail_1_1utility__internal.html',1,'nlohmann::detail']]] +]; diff --git a/docs/search/pages_1.html b/docs/search/pages_1.html new file mode 100644 index 00000000..aedb14ee --- /dev/null +++ b/docs/search/pages_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/pages_1.js b/docs/search/pages_1.js new file mode 100644 index 00000000..e6217aad --- /dev/null +++ b/docs/search/pages_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['deprecated_20list',['Deprecated List',['../da/d58/deprecated.html',1,'']]] +]; diff --git a/docs/search/related_0.js b/docs/search/related_0.js index 82627bee..373e07b3 100644 --- a/docs/search/related_0.js +++ b/docs/search/related_0.js @@ -1,4 +1,10 @@ var searchData= [ - ['convdescbuilder_5fv8',['ConvDescBuilder_v8',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a00c454e18392653a023f75275553a4e7',1,'cudnn_frontend::ConvDesc_v8']]] + ['binary_5freader',['binary_reader',['../d9/dcc/classnlohmann_1_1basic__json.html#aa226ed5103dfd10e27e562d35a3a106b',1,'nlohmann::basic_json']]], + ['binary_5fwriter',['binary_writer',['../d9/dcc/classnlohmann_1_1basic__json.html#a69d491bbda88ade6d3c7a2b11309e8bf',1,'nlohmann::basic_json']]], + ['exception',['exception',['../d9/dcc/classnlohmann_1_1basic__json.html#abdcb15d025676b4d3db0f32a50f4393f',1,'nlohmann::basic_json']]], + ['iter_5fimpl',['iter_impl',['../d9/dcc/classnlohmann_1_1basic__json.html#a842e5c7ca096025c18b11e715d3401f4',1,'nlohmann::basic_json']]], + ['json_5fsax_5fdom_5fcallback_5fparser',['json_sax_dom_callback_parser',['../d9/dcc/classnlohmann_1_1basic__json.html#a95574da8d12905ea99dc348934c837da',1,'nlohmann::basic_json']]], + ['json_5fsax_5fdom_5fparser',['json_sax_dom_parser',['../d9/dcc/classnlohmann_1_1basic__json.html#a47aabb1eceae32e8a6e8e7f0ff34be60',1,'nlohmann::basic_json']]], + ['parser',['parser',['../d9/dcc/classnlohmann_1_1basic__json.html#ac8f3125911eb018ef4ab00d879487baf',1,'nlohmann::basic_json']]] ]; diff --git a/docs/search/related_1.js b/docs/search/related_1.js index 1ec297c3..2956825b 100644 --- a/docs/search/related_1.js +++ b/docs/search/related_1.js @@ -1,8 +1,4 @@ var searchData= [ - ['enginebuilder_5fv8',['EngineBuilder_v8',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ae5d0c105971ce443fe6fb62884d7b2d2',1,'cudnn_frontend::Engine_v8']]], - ['engineconfigbuilder_5fv8',['EngineConfigBuilder_v8',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a9b1cd07d3023dc3130d5eae560558cdb',1,'cudnn_frontend::EngineConfig_v8']]], - ['enginefallbacklistbuilder_5fv8',['EngineFallbackListBuilder_v8',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#ae2c71646b56855f59ed1a267f06d5a7c',1,'cudnn_frontend::EngineFallbackList_v8']]], - ['engineheuristicsbuilder_5fv8',['EngineHeuristicsBuilder_v8',['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a44df29e58afe4b8fdc894574eb5efb9e',1,'cudnn_frontend::EngineHeuristics_v8']]], - ['executionplanbuilder_5fv8',['ExecutionPlanBuilder_v8',['../d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#a00c29ad02430927df9260c7e57ae7c7a',1,'cudnn_frontend::ExecutionPlan_v8']]] + ['basic_5fjson',['basic_json',['../da/de8/classnlohmann_1_1json__pointer.html#ada3100cdb8700566051828f1355fa745',1,'nlohmann::json_pointer']]] ]; diff --git a/docs/search/related_2.js b/docs/search/related_2.js index a43ad76c..82627bee 100644 --- a/docs/search/related_2.js +++ b/docs/search/related_2.js @@ -1,4 +1,4 @@ var searchData= [ - ['matmuldescbuilder_5fv8',['MatMulDescBuilder_v8',['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#aa99cc0548322d7298b9ca664a976281f',1,'cudnn_frontend::MatMulDesc_v8']]] + ['convdescbuilder_5fv8',['ConvDescBuilder_v8',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a00c454e18392653a023f75275553a4e7',1,'cudnn_frontend::ConvDesc_v8']]] ]; diff --git a/docs/search/related_3.js b/docs/search/related_3.js index c1cb6290..99b1a33b 100644 --- a/docs/search/related_3.js +++ b/docs/search/related_3.js @@ -1,5 +1,4 @@ var searchData= [ - ['operationbuilder_5fv8',['OperationBuilder_v8',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ac708bb46683440effd2f46b3888e378f',1,'cudnn_frontend::Operation_v8']]], - ['operationgraphbuilder_5fv8',['OperationGraphBuilder_v8',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a5af59a099cc90eda429563e285b2907f',1,'cudnn_frontend::OperationGraph_v8']]] + ['external_5fconstructor',['external_constructor',['../d9/dcc/classnlohmann_1_1basic__json.html#a6275ed57bae6866cdf5db5370a7ad47c',1,'nlohmann::basic_json']]] ]; diff --git a/docs/search/related_4.js b/docs/search/related_4.js index fe95a2c7..1ec297c3 100644 --- a/docs/search/related_4.js +++ b/docs/search/related_4.js @@ -1,4 +1,8 @@ var searchData= [ - ['pointwisedescbuilder_5fv8',['PointWiseDescBuilder_v8',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a1407b6ad40df9af7b191fdf636c2c508',1,'cudnn_frontend::PointWiseDesc_v8']]] + ['enginebuilder_5fv8',['EngineBuilder_v8',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ae5d0c105971ce443fe6fb62884d7b2d2',1,'cudnn_frontend::Engine_v8']]], + ['engineconfigbuilder_5fv8',['EngineConfigBuilder_v8',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a9b1cd07d3023dc3130d5eae560558cdb',1,'cudnn_frontend::EngineConfig_v8']]], + ['enginefallbacklistbuilder_5fv8',['EngineFallbackListBuilder_v8',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#ae2c71646b56855f59ed1a267f06d5a7c',1,'cudnn_frontend::EngineFallbackList_v8']]], + ['engineheuristicsbuilder_5fv8',['EngineHeuristicsBuilder_v8',['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a44df29e58afe4b8fdc894574eb5efb9e',1,'cudnn_frontend::EngineHeuristics_v8']]], + ['executionplanbuilder_5fv8',['ExecutionPlanBuilder_v8',['../d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.html#a00c29ad02430927df9260c7e57ae7c7a',1,'cudnn_frontend::ExecutionPlan_v8']]] ]; diff --git a/docs/search/related_5.js b/docs/search/related_5.js index cef05068..a43ad76c 100644 --- a/docs/search/related_5.js +++ b/docs/search/related_5.js @@ -1,4 +1,4 @@ var searchData= [ - ['tensorbuilder_5fv8',['TensorBuilder_v8',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a14f9c4498f4be5b3c2b0a94c708891fb',1,'cudnn_frontend::Tensor_v8']]] + ['matmuldescbuilder_5fv8',['MatMulDescBuilder_v8',['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#aa99cc0548322d7298b9ca664a976281f',1,'cudnn_frontend::MatMulDesc_v8']]] ]; diff --git a/docs/search/related_6.js b/docs/search/related_6.js index 595d4835..923d81ae 100644 --- a/docs/search/related_6.js +++ b/docs/search/related_6.js @@ -1,4 +1,16 @@ var searchData= [ - ['variantpackbuilder_5fv8',['VariantPackBuilder_v8',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a8fcb5ec8a09de5a6f1f326f2e623cbdf',1,'cudnn_frontend::VariantPack_v8']]] + ['operationbuilder_5fv8',['OperationBuilder_v8',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ac708bb46683440effd2f46b3888e378f',1,'cudnn_frontend::Operation_v8']]], + ['operationgraphbuilder_5fv8',['OperationGraphBuilder_v8',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a5af59a099cc90eda429563e285b2907f',1,'cudnn_frontend::OperationGraph_v8']]], + ['operator_21_3d',['operator!=',['../da/de8/classnlohmann_1_1json__pointer.html#a6779edcf28e6f018a3bbb29c0b4b5e1e',1,'nlohmann::json_pointer::operator!=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a6e2e21da48f5d9471716cd868a068327',1,'nlohmann::basic_json::operator!=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a4d581dc2ab78091885f9af24d13749dc',1,'nlohmann::basic_json::operator!=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#aa9861979059799375c0fff68174610ba',1,'nlohmann::basic_json::operator!=()']]], + ['operator_2b',['operator+',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a94108d1a7563e103534f23eb5c1ee175',1,'nlohmann::detail::iter_impl']]], + ['operator_2d',['operator-',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#ac6d902d6ec9a02dabed5452d3ae78f7e',1,'nlohmann::detail::primitive_iterator_t']]], + ['operator_2f',['operator/',['../da/de8/classnlohmann_1_1json__pointer.html#a90a11fe6c7f37b1746a3ff9cb24b0d53',1,'nlohmann::json_pointer::operator/()'],['../da/de8/classnlohmann_1_1json__pointer.html#a926c9065dbed1bedc17857a813f7a46f',1,'nlohmann::json_pointer::operator/()'],['../da/de8/classnlohmann_1_1json__pointer.html#af5a4bc4f82113c271c9a0cd4d3b5f31c',1,'nlohmann::json_pointer::operator/()']]], + ['operator_3c',['operator<',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#a901a95e6d73c9509d3dcde914f6c8a9d',1,'nlohmann::detail::primitive_iterator_t::operator<()'],['../d9/dcc/classnlohmann_1_1basic__json.html#aacd442b66140c764c594ac8ad7dfd5b3',1,'nlohmann::basic_json::operator<()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a52907b78829a55473f2548530cf2c1c7',1,'nlohmann::basic_json::operator<()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a71f65ff3abee4c140e27ca64fa327973',1,'nlohmann::basic_json::operator<()']]], + ['operator_3c_3c',['operator<<',['../d9/dcc/classnlohmann_1_1basic__json.html#a5e34c5435e557d0bf666bd7311211405',1,'nlohmann::basic_json::operator<<()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a60ca396028b8d9714c6e10efbf475af6',1,'nlohmann::basic_json::operator<<()']]], + ['operator_3c_3d',['operator<=',['../d9/dcc/classnlohmann_1_1basic__json.html#a5c8bb5200f5eac10d31e26be46e5b1ac',1,'nlohmann::basic_json::operator<=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ae7bce6989e2bf72aa0784ca6755e22a9',1,'nlohmann::basic_json::operator<=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a4e96b98c1f8dfccaaa94aa0d5e77427c',1,'nlohmann::basic_json::operator<=()']]], + ['operator_3d_3d',['operator==',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aae1e1e2ec0e229d1291d69de57d76bbe',1,'nlohmann::detail::primitive_iterator_t::operator==()'],['../da/de8/classnlohmann_1_1json__pointer.html#a4667ef558c8c3f8a646bfda0c6654653',1,'nlohmann::json_pointer::operator==()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a122640e7e2db1814fc7bbb3c122ec76e',1,'nlohmann::basic_json::operator==()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a107a085c92ec4e062d1185b2d09c7978',1,'nlohmann::basic_json::operator==()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a24ae7acd5b06ae49cfe1c94633436b68',1,'nlohmann::basic_json::operator==()']]], + ['operator_3e',['operator>',['../d9/dcc/classnlohmann_1_1basic__json.html#a87db51b6b936fb2ea293cdbc8702dcb8',1,'nlohmann::basic_json::operator>()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a9ea8e0e86820fcb3ab0fc937d41226e7',1,'nlohmann::basic_json::operator>()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a67771044f08fd07105b34667615d9e0e',1,'nlohmann::basic_json::operator>()']]], + ['operator_3e_3d',['operator>=',['../d9/dcc/classnlohmann_1_1basic__json.html#a74a943800c7f103d0990d7eef82c6453',1,'nlohmann::basic_json::operator>=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ab83d11de4db25633f93e067aa218cae9',1,'nlohmann::basic_json::operator>=()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a94c61e0128f0794e7a34e1aecee5c445',1,'nlohmann::basic_json::operator>=()']]], + ['operator_3e_3e',['operator>>',['../d9/dcc/classnlohmann_1_1basic__json.html#a34d6a60dd99e9f33b8273a1c8db5669b',1,'nlohmann::basic_json::operator>>()'],['../d9/dcc/classnlohmann_1_1basic__json.html#aaf363408931d76472ded14017e59c9e8',1,'nlohmann::basic_json::operator>>()']]] ]; diff --git a/docs/search/related_7.html b/docs/search/related_7.html new file mode 100644 index 00000000..d05ebf25 --- /dev/null +++ b/docs/search/related_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/related_7.js b/docs/search/related_7.js new file mode 100644 index 00000000..fe95a2c7 --- /dev/null +++ b/docs/search/related_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['pointwisedescbuilder_5fv8',['PointWiseDescBuilder_v8',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a1407b6ad40df9af7b191fdf636c2c508',1,'cudnn_frontend::PointWiseDesc_v8']]] +]; diff --git a/docs/search/related_8.html b/docs/search/related_8.html new file mode 100644 index 00000000..5ad44c8d --- /dev/null +++ b/docs/search/related_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/related_8.js b/docs/search/related_8.js new file mode 100644 index 00000000..a690afc1 --- /dev/null +++ b/docs/search/related_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['reductiondescbuilder_5fv8',['ReductionDescBuilder_v8',['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a2d40c33ae24254be60d002d429637d22',1,'cudnn_frontend::ReductionDesc_v8']]] +]; diff --git a/docs/search/related_9.html b/docs/search/related_9.html new file mode 100644 index 00000000..8a1f7c17 --- /dev/null +++ b/docs/search/related_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/related_9.js b/docs/search/related_9.js new file mode 100644 index 00000000..b420125f --- /dev/null +++ b/docs/search/related_9.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['swap',['swap',['../d9/dcc/classnlohmann_1_1basic__json.html#aee0ae36cbfb0336832ebc0374c3c7679',1,'nlohmann::basic_json']]] +]; diff --git a/docs/search/related_a.html b/docs/search/related_a.html new file mode 100644 index 00000000..9ad2a5f9 --- /dev/null +++ b/docs/search/related_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/related_a.js b/docs/search/related_a.js new file mode 100644 index 00000000..cef05068 --- /dev/null +++ b/docs/search/related_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['tensorbuilder_5fv8',['TensorBuilder_v8',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a14f9c4498f4be5b3c2b0a94c708891fb',1,'cudnn_frontend::Tensor_v8']]] +]; diff --git a/docs/search/related_b.html b/docs/search/related_b.html new file mode 100644 index 00000000..2a5d3a76 --- /dev/null +++ b/docs/search/related_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/related_b.js b/docs/search/related_b.js new file mode 100644 index 00000000..595d4835 --- /dev/null +++ b/docs/search/related_b.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['variantpackbuilder_5fv8',['VariantPackBuilder_v8',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a8fcb5ec8a09de5a6f1f326f2e623cbdf',1,'cudnn_frontend::VariantPack_v8']]] +]; diff --git a/docs/search/related_c.html b/docs/search/related_c.html new file mode 100644 index 00000000..fb5ae79f --- /dev/null +++ b/docs/search/related_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/related_c.js b/docs/search/related_c.js new file mode 100644 index 00000000..f6be12ea --- /dev/null +++ b/docs/search/related_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['wide_5fstring_5finput_5fhelper',['wide_string_input_helper',['../d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#ab86106ba230f1542b94dcd96e6ab3221',1,'nlohmann::detail::iterator_input_adapter']]] +]; diff --git a/docs/search/searchdata.js b/docs/search/searchdata.js index d15164d3..96050d1a 100644 --- a/docs/search/searchdata.js +++ b/docs/search/searchdata.js @@ -1,17 +1,18 @@ var indexSectionsWithContent = { - 0: "abcdefghiklmnopstuvwxy~", - 1: "bcekmoptv", - 2: "c", - 3: "c", - 4: "bcdefghikmopstvw~", - 5: "abcdehiklmnopstuwxy", - 6: "cegmoptv", - 7: "c", - 8: "c", - 9: "cemoptv", - 10: "cemoptv", - 11: "c" + 0: ":_abcdefghijklmnoprstuvwxy~", + 1: "abcdefghijklmnoprstvw", + 2: "cn", + 3: "cj", + 4: "abcdefghijklmnoprstuvw~", + 5: "_abcdefhiklmnoprstuvwxy", + 6: "abcdefgijklmnoprstuv", + 7: "ceiptv", + 8: "abcdeijklmnoprsuv", + 9: ":bcdemoprstvw", + 10: "ijn", + 11: "cemoprtv", + 12: "cd" }; var indexSectionNames = @@ -26,8 +27,9 @@ var indexSectionNames = 7: "enums", 8: "enumvalues", 9: "related", - 10: "groups", - 11: "pages" + 10: "defines", + 11: "groups", + 12: "pages" }; var indexSectionLabels = @@ -42,7 +44,8 @@ var indexSectionLabels = 7: "Enumerations", 8: "Enumerator", 9: "Friends", - 10: "Modules", - 11: "Pages" + 10: "Macros", + 11: "Modules", + 12: "Pages" }; diff --git a/docs/search/typedefs_0.js b/docs/search/typedefs_0.js index 920eceb0..dee6b64f 100644 --- a/docs/search/typedefs_0.js +++ b/docs/search/typedefs_0.js @@ -1,5 +1,6 @@ var searchData= [ - ['convdesc',['ConvDesc',['../df/de1/namespacecudnn__frontend.html#ae24bc7541c87c642cdef8eaf83c8eacc',1,'cudnn_frontend']]], - ['convdescbuilder',['ConvDescBuilder',['../df/de1/namespacecudnn__frontend.html#a91b5e4e82a18d2212ad6be6d5398752c',1,'cudnn_frontend']]] + ['adapter_5ftype',['adapter_type',['../d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a264935c57ca29dfb5153ade55266d1fa',1,'nlohmann::detail::iterator_input_adapter_factory::adapter_type()'],['../da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#ae9fc94b1b95c5d4afd1ab3f9ccb93c1a',1,'nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::adapter_type()'],['../d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.html#aa801458464e2dc726530463d35310abf',1,'nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >::adapter_type()']]], + ['allocator_5ftype',['allocator_type',['../d9/dcc/classnlohmann_1_1basic__json.html#ad38ae80f1e99d4b1f33c99fea4611457',1,'nlohmann::basic_json']]], + ['array_5ft',['array_t',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aef02cf75b1cb199286fd2f666c60e38e',1,'nlohmann::detail::iter_impl::array_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a858c1cf8407bc06494e3a1114a3b73e7',1,'nlohmann::basic_json::array_t()']]] ]; diff --git a/docs/search/typedefs_1.js b/docs/search/typedefs_1.js index 376b84f4..e4fabe3b 100644 --- a/docs/search/typedefs_1.js +++ b/docs/search/typedefs_1.js @@ -1,16 +1,13 @@ var searchData= [ - ['engine',['Engine',['../df/de1/namespacecudnn__frontend.html#a1ed8c535fea949a10acd26e279cc28a1',1,'cudnn_frontend']]], - ['enginebuilder',['EngineBuilder',['../df/de1/namespacecudnn__frontend.html#a4f90ec150d149f8f0751daa3ad625839',1,'cudnn_frontend']]], - ['engineconfig',['EngineConfig',['../df/de1/namespacecudnn__frontend.html#a2559dec72130bbdc95c02fb0df79fd42',1,'cudnn_frontend']]], - ['engineconfigbuilder',['EngineConfigBuilder',['../df/de1/namespacecudnn__frontend.html#ac46e1785757fde7c10e3d527f697fde8',1,'cudnn_frontend']]], - ['engineconfiglist',['EngineConfigList',['../df/de1/namespacecudnn__frontend.html#a84a5f004bdf17747bf7cf45d6fc754cd',1,'cudnn_frontend']]], - ['enginefallbacklist',['EngineFallbackList',['../df/de1/namespacecudnn__frontend.html#a61fbd4506f1249c686164fb33d858999',1,'cudnn_frontend']]], - ['enginefallbacklistbuilder',['EngineFallbackListBuilder',['../df/de1/namespacecudnn__frontend.html#aeb6699f494fa895d402898dae554f5a9',1,'cudnn_frontend']]], - ['engineheuristics',['EngineHeuristics',['../df/de1/namespacecudnn__frontend.html#a147bbd62e1c7c6b3fbc6869ab776b125',1,'cudnn_frontend']]], - ['engineheuristicsbuilder',['EngineHeuristicsBuilder',['../df/de1/namespacecudnn__frontend.html#aae6a627b67858b15afbc5656afa88123',1,'cudnn_frontend']]], - ['executionoptions_5ft',['executionOptions_t',['../df/de1/namespacecudnn__frontend.html#ad5f0f0c892b009e34aa59f67de1b5535',1,'cudnn_frontend']]], - ['executionplan',['ExecutionPlan',['../df/de1/namespacecudnn__frontend.html#a984c10aa29daac796444bda66bdef26e',1,'cudnn_frontend']]], - ['executionplanbuilder',['ExecutionPlanBuilder',['../df/de1/namespacecudnn__frontend.html#aa508b66c4de02f4aacae8029dbe422eb',1,'cudnn_frontend']]], - ['executionplans_5ft',['executionPlans_t',['../df/de1/namespacecudnn__frontend.html#a560644a5c1e6016c509a379ca6e03f05',1,'cudnn_frontend']]] + ['base_5fadapter_5ftype',['base_adapter_type',['../da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#afd0218fc0657b5e04ab81ccc9dcda03d',1,'nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >']]], + ['base_5fiterator',['base_iterator',['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a6b2ef1d632fe49bfcc22fbd1abd62395',1,'nlohmann::detail::json_reverse_iterator']]], + ['basic_5fjson_5ft',['basic_json_t',['../d9/dcc/classnlohmann_1_1basic__json.html#a125c0afa5f3599949b0589ef7b4aa322',1,'nlohmann::basic_json']]], + ['binary_5fchar_5ft',['binary_char_t',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#aaaec32f2fec57db422019a11994f7bb5',1,'nlohmann::detail::serializer']]], + ['binary_5ffunction_5ft',['binary_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a4948bef216c2594dae7921d9c4045455',1,'nlohmann::detail']]], + ['binary_5freader',['binary_reader',['../d9/dcc/classnlohmann_1_1basic__json.html#a6c26be4635e562ebae8b9a142f9538b4',1,'nlohmann::basic_json']]], + ['binary_5ft',['binary_t',['../d0/d82/structnlohmann_1_1json__sax.html#a0ef406ba81eef08aadf4a9ef48d742bd',1,'nlohmann::json_sax::binary_t()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a188c267325965fdbe487ce68ab5496aa',1,'nlohmann::detail::json_sax_dom_parser::binary_t()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a5af8493f830eeb1a79c69fc39ed54ef8',1,'nlohmann::detail::json_sax_dom_callback_parser::binary_t()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a56346d95ee4e539eaded2e6826fecf66',1,'nlohmann::detail::json_sax_acceptor::binary_t()'],['../dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#ae6abc30644e683c20f8c2c4d63834fb8',1,'nlohmann::detail::is_sax::binary_t()'],['../d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#adb3ffd1849091f6edb5c2d6e650e4266',1,'nlohmann::detail::is_sax_static_asserts::binary_t()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#acf127bb88e4147fb692edabc2a0f0663',1,'nlohmann::detail::binary_reader::binary_t()'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a3169b4f7abb773ea30348770629c53e8',1,'nlohmann::detail::binary_writer::binary_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ad6c955145bebde84d93991ffed7cd389',1,'nlohmann::basic_json::binary_t()']]], + ['binary_5fwriter',['binary_writer',['../d9/dcc/classnlohmann_1_1basic__json.html#ab483f21649bd170f593ec58044cd68a6',1,'nlohmann::basic_json']]], + ['boolean_5ffunction_5ft',['boolean_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a45ec87326503b8884b664a9ef23a6c99',1,'nlohmann::detail']]], + ['boolean_5ft',['boolean_t',['../d9/dcc/classnlohmann_1_1basic__json.html#a44fd1a12c9c54623c942b430e7a72937',1,'nlohmann::basic_json']]] ]; diff --git a/docs/search/typedefs_10.html b/docs/search/typedefs_10.html new file mode 100644 index 00000000..88130552 --- /dev/null +++ b/docs/search/typedefs_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/typedefs_10.js b/docs/search/typedefs_10.js new file mode 100644 index 00000000..f40cdee5 --- /dev/null +++ b/docs/search/typedefs_10.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['serializer',['serializer',['../d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html#ac0718a48961f28e32604e1b16c6f2e8d',1,'nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer()'],['../df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html#a4bcee5e52902d3011df08cf0233e5e10',1,'nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer()'],['../d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html#a7af8dd95a01e7ca32f10075c9934b107',1,'nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer()']]], + ['size_5ftype',['size_type',['../d9/dcc/classnlohmann_1_1basic__json.html#a3ada29bca70b4965f6fd37ec1c8f85f7',1,'nlohmann::basic_json']]], + ['start_5farray_5ffunction_5ft',['start_array_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a80273cecc45765d7b2826ec931fbffdd',1,'nlohmann::detail']]], + ['start_5fobject_5ffunction_5ft',['start_object_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a5fff1e6dcaabd367d9b1109a5682f9d4',1,'nlohmann::detail']]], + ['string_5ffunction_5ft',['string_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a27c3fc3bd42ac406f763184aa8ae4cb0',1,'nlohmann::detail']]], + ['string_5ft',['string_t',['../d0/d82/structnlohmann_1_1json__sax.html#ae01977a9f3c5b3667b7a2929ed91061e',1,'nlohmann::json_sax::string_t()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#afd4d961ab2a6b01cbe6e840f7fb90cdc',1,'nlohmann::detail::json_sax_dom_parser::string_t()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a00e7d95d82d5d8a43421526a42a8eabc',1,'nlohmann::detail::json_sax_dom_callback_parser::string_t()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a3a8078bbf865ec355106f6048241609a',1,'nlohmann::detail::json_sax_acceptor::string_t()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#af85c01fd669d529ab93a9e1d80b62015',1,'nlohmann::detail::lexer::string_t()'],['../dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#ad8e2e1427ff43536370b6db6ab83ae50',1,'nlohmann::detail::is_sax::string_t()'],['../d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#a067c98d2145bb54d862f4794ac1287bb',1,'nlohmann::detail::is_sax_static_asserts::string_t()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a823c244e5dbf1a8edae40819f9434237',1,'nlohmann::detail::binary_reader::string_t()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a4c46f613c87af09f56679253dce768e4',1,'nlohmann::detail::parser::string_t()'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a29f2ae7a5c4a8c1dae47b3b2310de8a8',1,'nlohmann::detail::binary_writer::string_t()'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ad08aa54fac1dd0a453320c54137d45ba',1,'nlohmann::detail::serializer::string_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a33593865ffb1860323dcbd52425b90c8',1,'nlohmann::basic_json::string_t()']]], + ['string_5ftype',['string_type',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a1fc63b88a585fa39942007aab69a74e6',1,'nlohmann::detail::iteration_proxy_value']]] +]; diff --git a/docs/search/typedefs_11.html b/docs/search/typedefs_11.html new file mode 100644 index 00000000..170f24a2 --- /dev/null +++ b/docs/search/typedefs_11.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/typedefs_11.js b/docs/search/typedefs_11.js new file mode 100644 index 00000000..9f7315db --- /dev/null +++ b/docs/search/typedefs_11.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['tensor',['Tensor',['../df/de1/namespacecudnn__frontend.html#aa20fd945a531e0a3a5007e65fe917770',1,'cudnn_frontend']]], + ['tensorbuilder',['TensorBuilder',['../df/de1/namespacecudnn__frontend.html#a9fea2e22198aaf2ea11a0df46abd0749',1,'cudnn_frontend']]], + ['to_5fjson_5ffunction',['to_json_function',['../dc/df0/namespacenlohmann_1_1detail.html#af846b6cf2f926009ff3a7a61495ca383',1,'nlohmann::detail']]], + ['token_5ftype',['token_type',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a986907dff5ceb4fa06aa8ff301822726',1,'nlohmann::detail::lexer::token_type()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a5cb5ea47f09f116e71a908c556325710',1,'nlohmann::detail::parser::token_type()']]], + ['traits',['traits',['../d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html#a1cbceaaa83a3ad294c3cb66b9df48e78',1,'nlohmann::detail::is_iterator_traits< iterator_traits< T > >']]], + ['type',['type',['../de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.html#a75d2738748868859f358e87d3b89f6fc',1,'nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 >::type()'],['../d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.html#a92558ed5df85e65e1a68ec1de14e2a7c',1,'nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 >::type()'],['../d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.html#a1d6f2c7fb3fa065bf8cf6e6e3544dcef',1,'nlohmann::detail::utility_internal::Gen::type()'],['../d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.html#aa0c393a15d2fb6a2de5b93facb192f8f',1,'nlohmann::detail::utility_internal::Gen< T, 0 >::type()'],['../d3/d72/structnlohmann_1_1detail_1_1make__void.html#a8961e24ae3b2cb65ec47d1ce805d94e4',1,'nlohmann::detail::make_void::type()'],['../dd/d10/structnlohmann_1_1detail_1_1detector.html#a0cd69423587748bf3d3d702cc7b7c2ce',1,'nlohmann::detail::detector::type()'],['../d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html#a5afd6a40e94dde21d120ac646468c495',1,'nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >::type()'],['../dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.html#ace1dfdb74841c2f58c064a50598188fd',1,'std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >::type()']]], + ['type_5ferror',['type_error',['../d9/dcc/classnlohmann_1_1basic__json.html#ace5bf851eafe85bd6332f978991bc11c',1,'nlohmann::basic_json']]] +]; diff --git a/docs/search/typedefs_12.html b/docs/search/typedefs_12.html new file mode 100644 index 00000000..0cc11593 --- /dev/null +++ b/docs/search/typedefs_12.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/typedefs_12.js b/docs/search/typedefs_12.js new file mode 100644 index 00000000..5be9205d --- /dev/null +++ b/docs/search/typedefs_12.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['uncvref_5ft',['uncvref_t',['../dc/df0/namespacenlohmann_1_1detail.html#a53a082eedad9f4729fcd8fed552a21f7',1,'nlohmann::detail']]] +]; diff --git a/docs/search/typedefs_13.html b/docs/search/typedefs_13.html new file mode 100644 index 00000000..7fad8105 --- /dev/null +++ b/docs/search/typedefs_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/typedefs_13.js b/docs/search/typedefs_13.js new file mode 100644 index 00000000..976d0364 --- /dev/null +++ b/docs/search/typedefs_13.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['value_5ft',['value_t',['../dd/d10/structnlohmann_1_1detail_1_1detector.html#a5a132aab543d1706e2439268faf8d487',1,'nlohmann::detail::detector::value_t()'],['../d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.html#ab748f9f00bb31bee4978a033589f8c85',1,'nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >::value_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ac68cb65a7f3517f0c5b1d3a4967406ad',1,'nlohmann::basic_json::value_t()']]], + ['value_5ftype',['value_type',['../d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.html#a0220e7e5f85f91c6b7a930e469cda5c5',1,'nlohmann::detail::integer_sequence::value_type()'],['../d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#ac70fcab4cacd8b386c3f2b056885e15e',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::value_type()'],['../da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a443e6a62f5fb2c545fc71c751b98ca8d',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::value_type()'],['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a5e90a5810cc1bb6c1000eabbfdfe7b9e',1,'nlohmann::detail::iteration_proxy_value::value_type()'],['../d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.html#a830339a3ad86d82d32a67f9c180523b1',1,'nlohmann::detail::is_iterator_of_multibyte::value_type()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ab35586a44f2222272c5346baa3013f67',1,'nlohmann::detail::iter_impl::value_type()'],['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a78d76cf288141049568c0d670ed670ef',1,'nlohmann::detail::json_ref::value_type()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a57c816a20c1d3ccc9bbc2972829da847',1,'nlohmann::basic_json::value_type()']]], + ['value_5ftype_5ft',['value_type_t',['../dc/df0/namespacenlohmann_1_1detail.html#af91beae90c2fb0f931079b3d50a343bc',1,'nlohmann::detail']]], + ['variantpack',['VariantPack',['../df/de1/namespacecudnn__frontend.html#ad6ac8113b406ee2b6f20eff4dd2b4e01',1,'cudnn_frontend']]], + ['variantpackbuilder',['VariantPackBuilder',['../df/de1/namespacecudnn__frontend.html#ab5b844f5de8ad3c056f0cb1cd0fb3ac1',1,'cudnn_frontend']]], + ['void_5ft',['void_t',['../dc/df0/namespacenlohmann_1_1detail.html#a92a167c49c6697b6ffe4f79492c705e5',1,'nlohmann::detail']]] +]; diff --git a/docs/search/typedefs_2.js b/docs/search/typedefs_2.js index d7d8777d..eb1958da 100644 --- a/docs/search/typedefs_2.js +++ b/docs/search/typedefs_2.js @@ -1,4 +1,16 @@ var searchData= [ - ['generatorsource',['GeneratorSource',['../df/de1/namespacecudnn__frontend.html#a53716729f10b4064fb41dec9dd32ffd6',1,'cudnn_frontend']]] + ['cbor_5ftag_5fhandler_5ft',['cbor_tag_handler_t',['../d9/dcc/classnlohmann_1_1basic__json.html#a54951d14f0dd10cc3cfdaa24f8bfd15c',1,'nlohmann::basic_json']]], + ['char_5fint_5ftype',['char_int_type',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a46612a81a07dbbc6daef870ca4f959e4',1,'nlohmann::detail::lexer::char_int_type()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aa12ade9a8c0acaebef6399e3d446b970',1,'nlohmann::detail::binary_reader::char_int_type()']]], + ['char_5ftype',['char_type',['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#ac853c96c60f93dc97433dacd98179f35',1,'nlohmann::detail::file_input_adapter::char_type()'],['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a72f0713587f6bb3f3fbaae7d34c0ca39',1,'nlohmann::detail::input_stream_adapter::char_type()'],['../d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a7cc60e68767005322ab4b692c9dff283',1,'nlohmann::detail::iterator_input_adapter::char_type()'],['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a7b9f8684206b5dadf0e96986577dfc24',1,'nlohmann::detail::wide_string_input_adapter::char_type()'],['../d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a1439c0eda85f5f67199374d3254b8f2a',1,'nlohmann::detail::iterator_input_adapter_factory::char_type()'],['../da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#aff521be1855964b6ec371eed2ca2590f',1,'nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::char_type()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a98c69ad433d971104288baef813b2c68',1,'nlohmann::detail::lexer::char_type()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#abc20ff256868de6791b3646ab33fff76',1,'nlohmann::detail::binary_reader::char_type()']]], + ['compatiblelimits',['CompatibleLimits',['../d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html#a24d97696ca33fba8096e452b1901a8e6',1,'nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >']]], + ['const_5fiterator',['const_iterator',['../d9/dcc/classnlohmann_1_1basic__json.html#aebd2cfa7e4ded4e97cde9269bfeeea38',1,'nlohmann::basic_json']]], + ['const_5fpointer',['const_pointer',['../d9/dcc/classnlohmann_1_1basic__json.html#a4108c5148f1d7cf13c2681e22f141a10',1,'nlohmann::basic_json']]], + ['const_5freference',['const_reference',['../d9/dcc/classnlohmann_1_1basic__json.html#ab8a1c33ee7b154fc41ca2545aa9724e6',1,'nlohmann::basic_json']]], + ['const_5freverse_5fiterator',['const_reverse_iterator',['../d9/dcc/classnlohmann_1_1basic__json.html#aa7dba16ed9ee97380aeb17a207dd919a',1,'nlohmann::basic_json']]], + ['container',['Container',['../d6/da7/structnlohmann_1_1ordered__map.html#a0cabe346c38a4f1ab1b8a396fbd2bbe2',1,'nlohmann::ordered_map']]], + ['container_5ftype',['container_type',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a4d27e8633c5a5e3b49dd4ccb06515713',1,'nlohmann::byte_container_with_subtype']]], + ['contiguous_5fbytes_5finput_5fadapter',['contiguous_bytes_input_adapter',['../dc/df0/namespacenlohmann_1_1detail.html#abc51edd46a1d1a0ff06a19f08ceff563',1,'nlohmann::detail']]], + ['convdesc',['ConvDesc',['../df/de1/namespacecudnn__frontend.html#ae24bc7541c87c642cdef8eaf83c8eacc',1,'cudnn_frontend']]], + ['convdescbuilder',['ConvDescBuilder',['../df/de1/namespacecudnn__frontend.html#a91b5e4e82a18d2212ad6be6d5398752c',1,'cudnn_frontend']]] ]; diff --git a/docs/search/typedefs_3.js b/docs/search/typedefs_3.js index f024583e..1fa33b84 100644 --- a/docs/search/typedefs_3.js +++ b/docs/search/typedefs_3.js @@ -1,6 +1,8 @@ var searchData= [ - ['managedopaquedescriptor',['ManagedOpaqueDescriptor',['../df/de1/namespacecudnn__frontend.html#ac94d582cdfa2adf3d68a4e675e5d69aa',1,'cudnn_frontend']]], - ['matmuldesc',['MatMulDesc',['../df/de1/namespacecudnn__frontend.html#ad809552e9ec400bcbfcfc0ea5acd4e56',1,'cudnn_frontend']]], - ['matmuldescbuilder',['MatMulDescBuilder',['../df/de1/namespacecudnn__frontend.html#a0c344e3bc1f332aa9f5b213eb1ae9ee6',1,'cudnn_frontend']]] + ['detected_5for',['detected_or',['../dc/df0/namespacenlohmann_1_1detail.html#a240ce21919ab08e8a6cb3a5cfa412bce',1,'nlohmann::detail']]], + ['detected_5for_5ft',['detected_or_t',['../dc/df0/namespacenlohmann_1_1detail.html#a7ac5b8ef0363101275a2827b3b117dcf',1,'nlohmann::detail']]], + ['detected_5ft',['detected_t',['../dc/df0/namespacenlohmann_1_1detail.html#a37e97a32d0b94ce5f745427e4e40204d',1,'nlohmann::detail']]], + ['difference_5ftype',['difference_type',['../d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#a1ce16c1c8c1d6a195f5a3d3ad31820f0',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::difference_type()'],['../da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#ae7be99eb434f5b5f34692874c272b759',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::difference_type()'],['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#ada6b4e6d55d8ed7ac79e49a03e9d1fe2',1,'nlohmann::detail::iteration_proxy_value::difference_type()'],['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#af3db0d5c90de427d51645fe73a015553',1,'nlohmann::detail::primitive_iterator_t::difference_type()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a2f7ea9f7022850809c60fc3263775840',1,'nlohmann::detail::iter_impl::difference_type()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a9ab55987c05ec6427ad36082e351cc45',1,'nlohmann::detail::json_reverse_iterator::difference_type()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a3d20d11e5dfe95084a76f62eca54fadd',1,'nlohmann::basic_json::difference_type()']]], + ['difference_5ftype_5ft',['difference_type_t',['../dc/df0/namespacenlohmann_1_1detail.html#a3603b59a17d1c5e15050743b847992f2',1,'nlohmann::detail']]] ]; diff --git a/docs/search/typedefs_4.js b/docs/search/typedefs_4.js index e7857684..16013c24 100644 --- a/docs/search/typedefs_4.js +++ b/docs/search/typedefs_4.js @@ -1,7 +1,22 @@ var searchData= [ - ['operation',['Operation',['../df/de1/namespacecudnn__frontend.html#a2f1497702504947953a0f5a69b6eeb2a',1,'cudnn_frontend']]], - ['operationbuilder',['OperationBuilder',['../df/de1/namespacecudnn__frontend.html#ae6d02ff4c7922673ed3862145a4019d4',1,'cudnn_frontend']]], - ['operationgraph',['OperationGraph',['../df/de1/namespacecudnn__frontend.html#ac86ce924df5209c4ce1bc25856eea6e6',1,'cudnn_frontend']]], - ['operationgraphbuilder',['OperationGraphBuilder',['../df/de1/namespacecudnn__frontend.html#a0b7ba1175801c56d07d26785bcd8fb70',1,'cudnn_frontend']]] + ['enable_5fif_5ft',['enable_if_t',['../dc/df0/namespacenlohmann_1_1detail.html#a02bcbc878bee413f25b985ada771aa9c',1,'nlohmann::detail']]], + ['end_5farray_5ffunction_5ft',['end_array_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#aec53c029383b34a72182210e58fadb79',1,'nlohmann::detail']]], + ['end_5fobject_5ffunction_5ft',['end_object_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#af52d6d2521c386998ae940d118182ebc',1,'nlohmann::detail']]], + ['engine',['Engine',['../df/de1/namespacecudnn__frontend.html#a1ed8c535fea949a10acd26e279cc28a1',1,'cudnn_frontend']]], + ['enginebuilder',['EngineBuilder',['../df/de1/namespacecudnn__frontend.html#a4f90ec150d149f8f0751daa3ad625839',1,'cudnn_frontend']]], + ['engineconfig',['EngineConfig',['../df/de1/namespacecudnn__frontend.html#a2559dec72130bbdc95c02fb0df79fd42',1,'cudnn_frontend']]], + ['engineconfigbuilder',['EngineConfigBuilder',['../df/de1/namespacecudnn__frontend.html#ac46e1785757fde7c10e3d527f697fde8',1,'cudnn_frontend']]], + ['engineconfiglist',['EngineConfigList',['../df/de1/namespacecudnn__frontend.html#a84a5f004bdf17747bf7cf45d6fc754cd',1,'cudnn_frontend']]], + ['enginefallbacklist',['EngineFallbackList',['../df/de1/namespacecudnn__frontend.html#a61fbd4506f1249c686164fb33d858999',1,'cudnn_frontend']]], + ['enginefallbacklistbuilder',['EngineFallbackListBuilder',['../df/de1/namespacecudnn__frontend.html#aeb6699f494fa895d402898dae554f5a9',1,'cudnn_frontend']]], + ['engineheuristics',['EngineHeuristics',['../df/de1/namespacecudnn__frontend.html#a147bbd62e1c7c6b3fbc6869ab776b125',1,'cudnn_frontend']]], + ['engineheuristicsbuilder',['EngineHeuristicsBuilder',['../df/de1/namespacecudnn__frontend.html#aae6a627b67858b15afbc5656afa88123',1,'cudnn_frontend']]], + ['error_5fhandler_5ft',['error_handler_t',['../d9/dcc/classnlohmann_1_1basic__json.html#a1e7ca76cc3f62626b380be5e18a002d5',1,'nlohmann::basic_json']]], + ['exception',['exception',['../d9/dcc/classnlohmann_1_1basic__json.html#a14824c27188d2fee4861806cd5f23d22',1,'nlohmann::basic_json']]], + ['exception_5ft',['exception_t',['../dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#a6efa516f35d544cc8ce9a954f849fed1',1,'nlohmann::detail::is_sax::exception_t()'],['../d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#a34e1bc8ab7adbbab5f7d8c45a964020b',1,'nlohmann::detail::is_sax_static_asserts::exception_t()']]], + ['executionoptions_5ft',['executionOptions_t',['../df/de1/namespacecudnn__frontend.html#ad5f0f0c892b009e34aa59f67de1b5535',1,'cudnn_frontend']]], + ['executionplan',['ExecutionPlan',['../df/de1/namespacecudnn__frontend.html#a984c10aa29daac796444bda66bdef26e',1,'cudnn_frontend']]], + ['executionplanbuilder',['ExecutionPlanBuilder',['../df/de1/namespacecudnn__frontend.html#aa508b66c4de02f4aacae8029dbe422eb',1,'cudnn_frontend']]], + ['executionplans_5ft',['executionPlans_t',['../df/de1/namespacecudnn__frontend.html#a560644a5c1e6016c509a379ca6e03f05',1,'cudnn_frontend']]] ]; diff --git a/docs/search/typedefs_5.js b/docs/search/typedefs_5.js index 929bc3e0..097a8a97 100644 --- a/docs/search/typedefs_5.js +++ b/docs/search/typedefs_5.js @@ -1,6 +1,4 @@ var searchData= [ - ['pointwisedesc',['PointWiseDesc',['../df/de1/namespacecudnn__frontend.html#ada5353494ce649fc915154ced52dcceb',1,'cudnn_frontend']]], - ['pointwisedescbuilder',['PointWiseDescBuilder',['../df/de1/namespacecudnn__frontend.html#a7f878662c40c287736343affc43f25dc',1,'cudnn_frontend']]], - ['predicate',['Predicate',['../df/de1/namespacecudnn__frontend.html#ad31f040777311d1d1a7a2490f23e026e',1,'cudnn_frontend']]] + ['from_5fjson_5ffunction',['from_json_function',['../dc/df0/namespacenlohmann_1_1detail.html#a1711ee5cef66a0523055c8d9f024f322',1,'nlohmann::detail']]] ]; diff --git a/docs/search/typedefs_6.js b/docs/search/typedefs_6.js index 1e13c35d..86e719de 100644 --- a/docs/search/typedefs_6.js +++ b/docs/search/typedefs_6.js @@ -1,5 +1,5 @@ var searchData= [ - ['tensor',['Tensor',['../df/de1/namespacecudnn__frontend.html#aa20fd945a531e0a3a5007e65fe917770',1,'cudnn_frontend']]], - ['tensorbuilder',['TensorBuilder',['../df/de1/namespacecudnn__frontend.html#a9fea2e22198aaf2ea11a0df46abd0749',1,'cudnn_frontend']]] + ['generatorsource',['GeneratorSource',['../df/de1/namespacecudnn__frontend.html#a53716729f10b4064fb41dec9dd32ffd6',1,'cudnn_frontend']]], + ['get_5ftemplate_5ffunction',['get_template_function',['../dc/df0/namespacenlohmann_1_1detail.html#ab4d22cdb6521ee3508db496dea66711e',1,'nlohmann::detail']]] ]; diff --git a/docs/search/typedefs_7.js b/docs/search/typedefs_7.js index 9762a27f..3e17f719 100644 --- a/docs/search/typedefs_7.js +++ b/docs/search/typedefs_7.js @@ -1,5 +1,19 @@ var searchData= [ - ['variantpack',['VariantPack',['../df/de1/namespacecudnn__frontend.html#ad6ac8113b406ee2b6f20eff4dd2b4e01',1,'cudnn_frontend']]], - ['variantpackbuilder',['VariantPackBuilder',['../df/de1/namespacecudnn__frontend.html#ab5b844f5de8ad3c056f0cb1cd0fb3ac1',1,'cudnn_frontend']]] + ['index_5fsequence',['index_sequence',['../dc/df0/namespacenlohmann_1_1detail.html#a422430dab7adbe4dfcf125dfcfbeffd0',1,'nlohmann::detail']]], + ['index_5fsequence_5ffor',['index_sequence_for',['../dc/df0/namespacenlohmann_1_1detail.html#a24800493c6ec02ce033dcbb47b7fd28e',1,'nlohmann::detail']]], + ['initializer_5flist_5ft',['initializer_list_t',['../d9/dcc/classnlohmann_1_1basic__json.html#ac569f292a070dfd2f6b69c16e746095a',1,'nlohmann::basic_json']]], + ['input_5fformat_5ft',['input_format_t',['../d9/dcc/classnlohmann_1_1basic__json.html#a211cf53702226ad9fb3c939a3a3d3689',1,'nlohmann::basic_json']]], + ['internal_5fiterator',['internal_iterator',['../d9/dcc/classnlohmann_1_1basic__json.html#abe6f1016de5097691cbfdbb989267718',1,'nlohmann::basic_json']]], + ['invalid_5fiterator',['invalid_iterator',['../d9/dcc/classnlohmann_1_1basic__json.html#a6ccc9788413fd58de998fe92743cb4aa',1,'nlohmann::basic_json']]], + ['is_5fdetected',['is_detected',['../dc/df0/namespacenlohmann_1_1detail.html#a9135fcf616d6ac6e231a86e0a055ac44',1,'nlohmann::detail']]], + ['is_5fdetected_5fconvertible',['is_detected_convertible',['../dc/df0/namespacenlohmann_1_1detail.html#a5262e531c46e357b33007060f294673b',1,'nlohmann::detail']]], + ['is_5fdetected_5fexact',['is_detected_exact',['../dc/df0/namespacenlohmann_1_1detail.html#a7542b4dbac07817fd4849ecfa4619def',1,'nlohmann::detail']]], + ['iter_5fimpl',['iter_impl',['../d9/dcc/classnlohmann_1_1basic__json.html#a7b03055088a8e9770680ee975fb8ba55',1,'nlohmann::basic_json']]], + ['iteration_5fproxy',['iteration_proxy',['../d9/dcc/classnlohmann_1_1basic__json.html#ae2ce7eec3ae7e7b903e0344e89f0512b',1,'nlohmann::basic_json']]], + ['iterator',['iterator',['../d9/dcc/classnlohmann_1_1basic__json.html#aa549b2b382916b3baafb526e5cb410bd',1,'nlohmann::basic_json']]], + ['iterator_5fcategory',['iterator_category',['../d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#aaaafbcd0573ec9cfc5d19411950dc1ac',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::iterator_category()'],['../da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a9b043cfe0fdfb3e9665428fb2be9cea1',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::iterator_category()'],['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a1ab8c44e3772c03651b5ad07216043cf',1,'nlohmann::detail::iteration_proxy_value::iterator_category()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ad9e091f5c70b34b5b1abc1ab15fd9106',1,'nlohmann::detail::iter_impl::iterator_category()']]], + ['iterator_5fcategory_5ft',['iterator_category_t',['../dc/df0/namespacenlohmann_1_1detail.html#ad22d2aa3aab018050ae519f6754366e1',1,'nlohmann::detail']]], + ['iterator_5ft',['iterator_t',['../dc/df0/namespacenlohmann_1_1detail.html#a9ff93db146174305bce1bc4c54703e11',1,'nlohmann::detail']]], + ['iterator_5ftype',['iterator_type',['../d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.html#a37663ca283012236415d53145da1a0f9',1,'nlohmann::detail::iterator_input_adapter_factory::iterator_type()'],['../da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.html#a1c42a47cd6cd71146cf2851d76165610',1,'nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::iterator_type()']]] ]; diff --git a/docs/search/typedefs_8.html b/docs/search/typedefs_8.html new file mode 100644 index 00000000..9379676b --- /dev/null +++ b/docs/search/typedefs_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/typedefs_8.js b/docs/search/typedefs_8.js new file mode 100644 index 00000000..a6449ff1 --- /dev/null +++ b/docs/search/typedefs_8.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['json',['json',['../d3/d9b/namespacenlohmann.html#a2bfd99e845a2e5cd90aeaf1b1431f474',1,'nlohmann::json()'],['../db/d7e/cudnn__frontend__Errata_8h.html#ab701e3ac61a85b337ec5c1abaad6742d',1,'json(): cudnn_frontend_Errata.h']]], + ['json_5fpointer',['json_pointer',['../d9/dcc/classnlohmann_1_1basic__json.html#aa8f1f93b32da01b42413643be32b2c27',1,'nlohmann::basic_json']]], + ['json_5freverse_5fiterator',['json_reverse_iterator',['../d9/dcc/classnlohmann_1_1basic__json.html#a556d91bc2228135b27eb189e5a90ea4c',1,'nlohmann::basic_json']]], + ['json_5fsax_5ft',['json_sax_t',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a4c33ab78a0df5afd524f16887550436d',1,'nlohmann::detail::binary_reader::json_sax_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a164b1094a1a9feb54e400d8510bb0b12',1,'nlohmann::basic_json::json_sax_t()']]], + ['json_5fserializer',['json_serializer',['../d9/dcc/classnlohmann_1_1basic__json.html#ad6ebc5da7ced975bb184133750e7d49f',1,'nlohmann::basic_json']]] +]; diff --git a/docs/search/typedefs_9.html b/docs/search/typedefs_9.html new file mode 100644 index 00000000..6f2b9ea4 --- /dev/null +++ b/docs/search/typedefs_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/typedefs_9.js b/docs/search/typedefs_9.js new file mode 100644 index 00000000..e3f6d167 --- /dev/null +++ b/docs/search/typedefs_9.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['key_5ffunction_5ft',['key_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a44869ca9f422b260625d78e4e8121559',1,'nlohmann::detail']]], + ['key_5ftype',['key_type',['../d6/da7/structnlohmann_1_1ordered__map.html#a57095c6ed403f02e1bc2c240a13c9ed8',1,'nlohmann::ordered_map']]], + ['key_5ftype_5ft',['key_type_t',['../dc/df0/namespacenlohmann_1_1detail.html#a66dfe39f03b05d6b7265a0ff748d64ef',1,'nlohmann::detail']]] +]; diff --git a/docs/search/typedefs_a.html b/docs/search/typedefs_a.html new file mode 100644 index 00000000..b897e1cf --- /dev/null +++ b/docs/search/typedefs_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/typedefs_a.js b/docs/search/typedefs_a.js new file mode 100644 index 00000000..f3fe5da9 --- /dev/null +++ b/docs/search/typedefs_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['lexer_5ft',['lexer_t',['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a5fbd320c5b713fda15d467e8455e4298',1,'nlohmann::detail::parser']]] +]; diff --git a/docs/search/typedefs_b.html b/docs/search/typedefs_b.html new file mode 100644 index 00000000..23bfdac3 --- /dev/null +++ b/docs/search/typedefs_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/typedefs_b.js b/docs/search/typedefs_b.js new file mode 100644 index 00000000..01b6c279 --- /dev/null +++ b/docs/search/typedefs_b.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['make_5findex_5fsequence',['make_index_sequence',['../dc/df0/namespacenlohmann_1_1detail.html#a9b47f1c18e3c9739b20633aeee0d0f62',1,'nlohmann::detail']]], + ['make_5finteger_5fsequence',['make_integer_sequence',['../dc/df0/namespacenlohmann_1_1detail.html#a745268b2c803a873cdbe1fdecb4e88b2',1,'nlohmann::detail']]], + ['managedopaquedescriptor',['ManagedOpaqueDescriptor',['../df/de1/namespacecudnn__frontend.html#ac94d582cdfa2adf3d68a4e675e5d69aa',1,'cudnn_frontend']]], + ['mapped_5ftype',['mapped_type',['../d6/da7/structnlohmann_1_1ordered__map.html#a1c9c1509ee714a9814b45a8030c84ec7',1,'nlohmann::ordered_map']]], + ['mapped_5ftype_5ft',['mapped_type_t',['../dc/df0/namespacenlohmann_1_1detail.html#a9c1795c148875722f8482d39e0eb9364',1,'nlohmann::detail']]], + ['matmuldesc',['MatMulDesc',['../df/de1/namespacecudnn__frontend.html#ad809552e9ec400bcbfcfc0ea5acd4e56',1,'cudnn_frontend']]], + ['matmuldescbuilder',['MatMulDescBuilder',['../df/de1/namespacecudnn__frontend.html#a0c344e3bc1f332aa9f5b213eb1ae9ee6',1,'cudnn_frontend']]] +]; diff --git a/docs/search/typedefs_c.html b/docs/search/typedefs_c.html new file mode 100644 index 00000000..28f5aad2 --- /dev/null +++ b/docs/search/typedefs_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/typedefs_c.js b/docs/search/typedefs_c.js new file mode 100644 index 00000000..11c63aa2 --- /dev/null +++ b/docs/search/typedefs_c.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['null_5ffunction_5ft',['null_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#ac1b4e524746bf8b790b2b776048b93c4',1,'nlohmann::detail']]], + ['number_5ffloat_5ffunction_5ft',['number_float_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#ad42df56e913abe26ed556e0e92f386f4',1,'nlohmann::detail']]], + ['number_5ffloat_5ft',['number_float_t',['../d0/d82/structnlohmann_1_1json__sax.html#a390c209bffd8c4800c8f3076dc465a20',1,'nlohmann::json_sax::number_float_t()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad8da3aad0147b18b3cb76868480300fe',1,'nlohmann::detail::json_sax_dom_parser::number_float_t()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a914ea0555cea5290449fb791ae41c655',1,'nlohmann::detail::json_sax_dom_callback_parser::number_float_t()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a5502f483fc60a1bcd73e0e46b6ab36e4',1,'nlohmann::detail::json_sax_acceptor::number_float_t()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a438a78e53120fd2c3ea049161d4798cb',1,'nlohmann::detail::lexer::number_float_t()'],['../dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#a58d3205c8d3c7a01cc330374fa7976c5',1,'nlohmann::detail::is_sax::number_float_t()'],['../d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#a65d4be40c41ddc31fd2c3583d87d5faf',1,'nlohmann::detail::is_sax_static_asserts::number_float_t()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ae4f1a7d10118d578ad03f7ee36df6fbe',1,'nlohmann::detail::binary_reader::number_float_t()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#aaf0c8640d0360fca5334314f0a7e9bad',1,'nlohmann::detail::parser::number_float_t()'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#abb4b7c621d0cb7633b5806c603f3c51a',1,'nlohmann::detail::binary_writer::number_float_t()'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a460c6794fbabbb2ae83380e987a6c030',1,'nlohmann::detail::serializer::number_float_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a5b8abaebd922d82d69756327c0c347e6',1,'nlohmann::basic_json::number_float_t()']]], + ['number_5finteger_5ffunction_5ft',['number_integer_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a4a3e14a011b9ea1ff849fc6d2411e6a0',1,'nlohmann::detail']]], + ['number_5finteger_5ft',['number_integer_t',['../d0/d82/structnlohmann_1_1json__sax.html#a0cef30121f02b7fee85e9708148ea0aa',1,'nlohmann::json_sax::number_integer_t()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a3d5cd67d179aa7422ce90e54984a441e',1,'nlohmann::detail::json_sax_dom_parser::number_integer_t()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a3ba8fc7a8d83c5b0eeb3b543ad844b8d',1,'nlohmann::detail::json_sax_dom_callback_parser::number_integer_t()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#a41876b17c0e8bdb55580eaf5e4e2ded8',1,'nlohmann::detail::json_sax_acceptor::number_integer_t()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a594e61f96c87b4464beeab681111ac0c',1,'nlohmann::detail::lexer::number_integer_t()'],['../dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#aa9a29390ca9810cee149510f586f5573',1,'nlohmann::detail::is_sax::number_integer_t()'],['../d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#a474adf99bf1eaa8292284fd3064c80fe',1,'nlohmann::detail::is_sax_static_asserts::number_integer_t()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a2b46c2a929071fdb0b028befa77814bd',1,'nlohmann::detail::binary_reader::number_integer_t()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#ab70e418cdc4271afd487a7d7704766c5',1,'nlohmann::detail::parser::number_integer_t()'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ae7b1df1c70bdec1371f297567726a198',1,'nlohmann::detail::serializer::number_integer_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a11e390944da90db83089eb2426a749d3',1,'nlohmann::basic_json::number_integer_t()']]], + ['number_5funsigned_5ffunction_5ft',['number_unsigned_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a74da7b17bda76f65d276feb18209c913',1,'nlohmann::detail']]], + ['number_5funsigned_5ft',['number_unsigned_t',['../d0/d82/structnlohmann_1_1json__sax.html#a32028cc056ae0f43aaae331cdbbbf856',1,'nlohmann::json_sax::number_unsigned_t()'],['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a90f19b272530a479db81db11be2ea15c',1,'nlohmann::detail::json_sax_dom_parser::number_unsigned_t()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a2406c5125f7128fb9c01921df2903001',1,'nlohmann::detail::json_sax_dom_callback_parser::number_unsigned_t()'],['../d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.html#ae07454608ea6f3cfb765f95e3c850043',1,'nlohmann::detail::json_sax_acceptor::number_unsigned_t()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#af6b19ef34b2e9ee2321cfaf62ee066cb',1,'nlohmann::detail::lexer::number_unsigned_t()'],['../dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#a655c9b8038e51e5b9211e2419118644d',1,'nlohmann::detail::is_sax::number_unsigned_t()'],['../d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.html#af8733df7fcaebb25434285885db7f127',1,'nlohmann::detail::is_sax_static_asserts::number_unsigned_t()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a02a70f424099428d9a69606b7fb7074a',1,'nlohmann::detail::binary_reader::number_unsigned_t()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a5590596704edc4a1a983e26f6f3211ff',1,'nlohmann::detail::parser::number_unsigned_t()'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a16c7b7a726a38ff0c06dce7ba7968391',1,'nlohmann::detail::serializer::number_unsigned_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#ae09af9c23351b7245d9be4d1b2035fef',1,'nlohmann::basic_json::number_unsigned_t()']]] +]; diff --git a/docs/search/typedefs_d.html b/docs/search/typedefs_d.html new file mode 100644 index 00000000..15794829 --- /dev/null +++ b/docs/search/typedefs_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/typedefs_d.js b/docs/search/typedefs_d.js new file mode 100644 index 00000000..0d5c66ac --- /dev/null +++ b/docs/search/typedefs_d.js @@ -0,0 +1,14 @@ +var searchData= +[ + ['object_5fcomparator_5ft',['object_comparator_t',['../d9/dcc/classnlohmann_1_1basic__json.html#ac26c2e8d6bcaccde372ceedd81851200',1,'nlohmann::basic_json']]], + ['object_5ft',['object_t',['../d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html#ab019855b17c1a0cb16fda6731f338afc',1,'nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >::object_t()'],['../d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html#ae335fdc59d1b0d79e52a808b71b11c67',1,'nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >::object_t()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ab9a9598052e83fa14a2288e56d5dda7c',1,'nlohmann::detail::iter_impl::object_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#aef3ff5a73597850597d1d40db9edd376',1,'nlohmann::basic_json::object_t()']]], + ['operation',['Operation',['../df/de1/namespacecudnn__frontend.html#a2f1497702504947953a0f5a69b6eeb2a',1,'cudnn_frontend']]], + ['operationbuilder',['OperationBuilder',['../df/de1/namespacecudnn__frontend.html#ae6d02ff4c7922673ed3862145a4019d4',1,'cudnn_frontend']]], + ['operationgraph',['OperationGraph',['../df/de1/namespacecudnn__frontend.html#ac86ce924df5209c4ce1bc25856eea6e6',1,'cudnn_frontend']]], + ['operationgraphbuilder',['OperationGraphBuilder',['../df/de1/namespacecudnn__frontend.html#a0b7ba1175801c56d07d26785bcd8fb70',1,'cudnn_frontend']]], + ['ordered_5fjson',['ordered_json',['../d3/d9b/namespacenlohmann.html#ad53cef358adfa7f07cea23eb1e28b9ea',1,'nlohmann']]], + ['other_5ferror',['other_error',['../d9/dcc/classnlohmann_1_1basic__json.html#a6fc373c99facc37aadbc5651b3d6631d',1,'nlohmann::basic_json']]], + ['other_5fiter_5fimpl',['other_iter_impl',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ac7c5a1f964aa1c02f7b046029a5c8904',1,'nlohmann::detail::iter_impl']]], + ['out_5fof_5frange',['out_of_range',['../d9/dcc/classnlohmann_1_1basic__json.html#a2251d8523fa6d16c0fba6388ffa2ef8c',1,'nlohmann::basic_json']]], + ['output_5fadapter_5ft',['output_adapter_t',['../d9/dcc/classnlohmann_1_1basic__json.html#ac4927a4f303011cd45b99f2a7c18c866',1,'nlohmann::basic_json::output_adapter_t()'],['../dc/df0/namespacenlohmann_1_1detail.html#a9b680ddfb58f27eb53a67229447fc556',1,'nlohmann::detail::output_adapter_t()']]] +]; diff --git a/docs/search/typedefs_e.html b/docs/search/typedefs_e.html new file mode 100644 index 00000000..f61d902e --- /dev/null +++ b/docs/search/typedefs_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/typedefs_e.js b/docs/search/typedefs_e.js new file mode 100644 index 00000000..7ea35520 --- /dev/null +++ b/docs/search/typedefs_e.js @@ -0,0 +1,13 @@ +var searchData= +[ + ['parse_5ferror',['parse_error',['../d9/dcc/classnlohmann_1_1basic__json.html#a555b05e9da63d486126759922685a37a',1,'nlohmann::basic_json']]], + ['parse_5ferror_5ffunction_5ft',['parse_error_function_t',['../dc/df0/namespacenlohmann_1_1detail.html#a264d4d58bc1fd82bcc7bf6bf73d6acad',1,'nlohmann::detail']]], + ['parse_5fevent_5ft',['parse_event_t',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#aac6d706967b2ecc2510e172577d8550b',1,'nlohmann::detail::json_sax_dom_callback_parser::parse_event_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a24086b03c5c063849df0307f78c41c54',1,'nlohmann::basic_json::parse_event_t()']]], + ['parser_5fcallback_5ft',['parser_callback_t',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a4f636086fa8e7cf26c35c8afd50903ce',1,'nlohmann::detail::json_sax_dom_callback_parser::parser_callback_t()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a0273d074462644e5d5a7ff313ad0d742',1,'nlohmann::basic_json::parser_callback_t()'],['../dc/df0/namespacenlohmann_1_1detail.html#a2ac1bb00523b2502c10c97d70359ffc8',1,'nlohmann::detail::parser_callback_t()']]], + ['pointer',['pointer',['../d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#aacaf73dc959b7c2119c15e53b5ce00a3',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::pointer()'],['../da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a33ee9a1beb8ee099f989fd4af15178a5',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::pointer()'],['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a44c64feee85b8e7164a05310e6418a4b',1,'nlohmann::detail::iteration_proxy_value::pointer()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a69e52f890ce8c556fd68ce109e24b360',1,'nlohmann::detail::iter_impl::pointer()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a42e5c23402f4c2e1df487e1d102bc5fa',1,'nlohmann::basic_json::pointer()']]], + ['pointer_5ft',['pointer_t',['../dc/df0/namespacenlohmann_1_1detail.html#a26dc71e2dd9336587e56062178f9abce',1,'nlohmann::detail']]], + ['pointwisedesc',['PointWiseDesc',['../df/de1/namespacecudnn__frontend.html#ada5353494ce649fc915154ced52dcceb',1,'cudnn_frontend']]], + ['pointwisedescbuilder',['PointWiseDescBuilder',['../df/de1/namespacecudnn__frontend.html#a7f878662c40c287736343affc43f25dc',1,'cudnn_frontend']]], + ['predicate',['Predicate',['../df/de1/namespacecudnn__frontend.html#ad31f040777311d1d1a7a2490f23e026e',1,'cudnn_frontend']]], + ['primitive_5fiterator_5ft',['primitive_iterator_t',['../d9/dcc/classnlohmann_1_1basic__json.html#ae2cb9166f46abfc6d3910e076410f1ca',1,'nlohmann::basic_json']]] +]; diff --git a/docs/search/typedefs_f.html b/docs/search/typedefs_f.html new file mode 100644 index 00000000..aefe5758 --- /dev/null +++ b/docs/search/typedefs_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/typedefs_f.js b/docs/search/typedefs_f.js new file mode 100644 index 00000000..6eea4d87 --- /dev/null +++ b/docs/search/typedefs_f.js @@ -0,0 +1,10 @@ +var searchData= +[ + ['reallimits',['RealLimits',['../d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html#ab267aabfe36c5b9c305c5e5faf06ea36',1,'nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >']]], + ['reductiondesc',['ReductionDesc',['../df/de1/namespacecudnn__frontend.html#a4b09ba4625f988c32edfc305b5397f48',1,'cudnn_frontend']]], + ['reductiondescbuilder',['ReductionDescBuilder',['../df/de1/namespacecudnn__frontend.html#aa5a388535aed6e36ef90002af0b80a80',1,'cudnn_frontend']]], + ['reference',['reference',['../d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.html#a5e82d2d8dabd022b8ff916f2e83a82f2',1,'nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::reference()'],['../da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.html#a0809c5949d22f08a993231d2fdf285f0',1,'nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::reference()'],['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a5bc7d3133daab5ec4797f3132e093af8',1,'nlohmann::detail::iteration_proxy_value::reference()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a5be8001be099c6b82310f4d387b953ce',1,'nlohmann::detail::iter_impl::reference()'],['../de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.html#a42f51a69bac7b2aebb613b2164e457f1',1,'nlohmann::detail::json_reverse_iterator::reference()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a220ae98554a76205fb7f8822d36b2d5a',1,'nlohmann::basic_json::reference()']]], + ['reference_5ft',['reference_t',['../dc/df0/namespacenlohmann_1_1detail.html#a082bdafd3b4c61d9d1e92b35b8f75ee3',1,'nlohmann::detail']]], + ['require_5finput_5fiter',['require_input_iter',['../d6/da7/structnlohmann_1_1ordered__map.html#a89cc338e8466e74baaa138664c79ee98',1,'nlohmann::ordered_map']]], + ['reverse_5fiterator',['reverse_iterator',['../d9/dcc/classnlohmann_1_1basic__json.html#a5b8c0ebedd920b507f4f7ff4e19bf3c6',1,'nlohmann::basic_json']]] +]; diff --git a/docs/search/variables_0.js b/docs/search/variables_0.js index d04a2cea..c35f7144 100644 --- a/docs/search/variables_0.js +++ b/docs/search/variables_0.js @@ -1,10 +1,7 @@ var searchData= [ - ['alignment',['alignment',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a1f41a9f80b8a3b35aed7948e264b0d79',1,'cudnn_frontend::Tensor_v8']]], - ['alpha2_5fd',['alpha2_d',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f533db7bc67978d1ec1a475f4ab9e1c',1,'cudnn_frontend::Operation_v8']]], - ['alpha2_5fs',['alpha2_s',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4003061754cc4b0003a72cc474fca8d9',1,'cudnn_frontend::Operation_v8']]], - ['alpha_5fd',['alpha_d',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#aee00f6897786ce0f16963a7d2f57a2f8',1,'cudnn_frontend::Operation_v8']]], - ['alpha_5fs',['alpha_s',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4a71d73a1231c39e51a74f750586a733',1,'cudnn_frontend::Operation_v8']]], - ['alphabetatype',['alphabetaType',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0414d5eb022c25584d60491f416e6449',1,'cudnn_frontend::Operation_v8']]], - ['amatdesc',['amatdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ae0e0256b292acd560accc1c02a6e393b',1,'cudnn_frontend::Operation_v8']]] + ['_5f_5fpad0_5f_5f',['__pad0__',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#adc7b6ab7810f58afa4d6a5133995c9ba',1,'nlohmann::detail::primitive_iterator_t::__pad0__()'],['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aa4bddeaa9a97b2a9b715918a7e8dcc3a',1,'nlohmann::detail::iter_impl::__pad0__()'],['../da/de8/classnlohmann_1_1json__pointer.html#a551777cfe37bf7adb82253482030d992',1,'nlohmann::json_pointer::__pad0__()'],['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#af15da74dab5b01150eabfed0be7d75df',1,'nlohmann::detail::serializer::__pad0__()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a501740b004225f4c948e657c9e6e539e',1,'nlohmann::basic_json::__pad0__()']]], + ['_5f_5fpad1_5f_5f',['__pad1__',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a4a60e9d074cc53929b73eaa7963f1fa9',1,'nlohmann::detail::iter_impl::__pad1__()'],['../d9/dcc/classnlohmann_1_1basic__json.html#a834674252ca19c65b24963d28eb8932d',1,'nlohmann::basic_json::__pad1__()']]], + ['_5f_5fpad2_5f_5f',['__pad2__',['../d9/dcc/classnlohmann_1_1basic__json.html#ab85f42065b70594c15de42e1f0870fba',1,'nlohmann::basic_json']]], + ['_5f_5fpad3_5f_5f',['__pad3__',['../d9/dcc/classnlohmann_1_1basic__json.html#aa52fb28bbfe1d5484808cad53c35d76c',1,'nlohmann::basic_json']]] ]; diff --git a/docs/search/variables_1.js b/docs/search/variables_1.js index d8526c89..4f1b2a51 100644 --- a/docs/search/variables_1.js +++ b/docs/search/variables_1.js @@ -1,11 +1,17 @@ var searchData= [ - ['bchoices',['bChoices',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a04aedaff21f829caa98aacb68b51dcf1',1,'cudnn_frontend::EngineConfig_v8']]], - ['bdesc',['bdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a1305e0cdaeb029fd52eb189254afe18c',1,'cudnn_frontend::Operation_v8']]], - ['beta_5fd',['beta_d',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a1118f19807c9f58cc1d0892bdb1f8c94',1,'cudnn_frontend::Operation_v8']]], - ['beta_5fs',['beta_s',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0f14ddfbaae6e62375c46dd0d5ed993d',1,'cudnn_frontend::Operation_v8']]], - ['bknobs',['bKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ab2d9ce46cd037407a5c9ec655ad0a25d',1,'cudnn_frontend::Engine_v8']]], - ['bmatdesc',['bmatdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0945c6296efc14ffc41122aaae3946b8',1,'cudnn_frontend::Operation_v8']]], - ['btensor_5fdima',['btensor_dimA',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a7419041bb3bf934f8e9f851fa63acabd',1,'cudnn_frontend::Tensor_v8']]], - ['btensor_5fstra',['btensor_strA',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ae4842fc7fcb87f5b60228fb6fa391b61',1,'cudnn_frontend::Tensor_v8']]] + ['alignment',['alignment',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a1f41a9f80b8a3b35aed7948e264b0d79',1,'cudnn_frontend::Tensor_v8']]], + ['allow_5fexceptions',['allow_exceptions',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#ad0953e8d888339421d909d9016bc6e2c',1,'nlohmann::detail::json_sax_dom_parser::allow_exceptions()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a0a1390c23e2a3da774d75c050f9b3f13',1,'nlohmann::detail::json_sax_dom_callback_parser::allow_exceptions()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#ab0dbaeaa6df00631072f902068c57750',1,'nlohmann::detail::parser::allow_exceptions()']]], + ['alpha2_5fd',['alpha2_d',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f533db7bc67978d1ec1a475f4ab9e1c',1,'cudnn_frontend::Operation_v8']]], + ['alpha2_5fs',['alpha2_s',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4003061754cc4b0003a72cc474fca8d9',1,'cudnn_frontend::Operation_v8']]], + ['alpha_5fd',['alpha_d',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#aee00f6897786ce0f16963a7d2f57a2f8',1,'cudnn_frontend::Operation_v8']]], + ['alpha_5fs',['alpha_s',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4a71d73a1231c39e51a74f750586a733',1,'cudnn_frontend::Operation_v8']]], + ['alphabetatype',['alphabetaType',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0414d5eb022c25584d60491f416e6449',1,'cudnn_frontend::Operation_v8']]], + ['amatdesc',['amatdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ae0e0256b292acd560accc1c02a6e393b',1,'cudnn_frontend::Operation_v8']]], + ['anchor',['anchor',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a073741b6536b7a5166467a5515bc59cb',1,'nlohmann::detail::iteration_proxy_value']]], + ['array',['array',['../d9/dcc/classnlohmann_1_1basic__json.html#ad2b075c694e4564c9742d2c8db7c7c5f',1,'nlohmann::basic_json']]], + ['array_5findex',['array_index',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#ad3d18c83aff5e9f4bdbf99385b29a39a',1,'nlohmann::detail::iteration_proxy_value']]], + ['array_5findex_5flast',['array_index_last',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#aac6e7cc0c17242a0a42c14d1e714747c',1,'nlohmann::detail::iteration_proxy_value']]], + ['array_5findex_5fstr',['array_index_str',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#ab0b34133f45a3610070492d32978f2ea',1,'nlohmann::detail::iteration_proxy_value']]], + ['array_5fiterator',['array_iterator',['../d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html#a8294a6e6f01b58e1cce8fbae66a50b5d',1,'nlohmann::detail::internal_iterator']]] ]; diff --git a/docs/search/variables_10.js b/docs/search/variables_10.js index 44ee0775..80c408d7 100644 --- a/docs/search/variables_10.js +++ b/docs/search/variables_10.js @@ -1,5 +1,14 @@ var searchData= [ - ['wdesc',['wdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ad26bd872d417f6a9bff65768bb02e05f',1,'cudnn_frontend::Operation_v8']]], - ['workspace',['workspace',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a0f8d91939842bb9003fe71280f0b230c',1,'cudnn_frontend::VariantPack_v8']]] + ['sax',['sax',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aba4d89d9d38235f72f60332d6c385222',1,'nlohmann::detail::binary_reader']]], + ['sb',['sb',['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#aa94582dc8262cf35dfcfbe7b7fcd6c6c',1,'nlohmann::detail::input_stream_adapter']]], + ['softplus_5fbeta',['softplus_beta',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a346bf4a4ca5e45b0f19dc8f2fb6b6148',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['state',['state',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a39b0975f219b542d7ca633652e925b4c',1,'nlohmann::detail::serializer']]], + ['status',['status',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a10487abe0a45d35824ec75b0d3894f21',1,'cudnn_frontend::OpaqueBackendPointer::status()'],['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a8a5466c444f2de721118334ac876c6ba',1,'cudnn_frontend::BackendDescriptor::status()']]], + ['str',['str',['../d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.html#ae57cf7d5c5ec641e25860bb9fb8e6cb9',1,'nlohmann::detail::output_string_adapter']]], + ['stream',['stream',['../d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.html#aacc26af02e1e5a988bc5dbfb723b5562',1,'nlohmann::detail::output_stream_adapter']]], + ['stride',['stride',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#ac513728c785a54ef86612a0bd6fa0f1a',1,'cudnn_frontend::ConvDesc_v8::stride()'],['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a8342ab30dbe0e86d8d060983f14aba87',1,'cudnn_frontend::Engine_v8::Knob::stride()']]], + ['string',['string',['../d9/dcc/classnlohmann_1_1basic__json.html#ac32019eb29dc7bb4c326a233e0e2f0cb',1,'nlohmann::basic_json']]], + ['string_5fbuffer',['string_buffer',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a9c9b7ca63a66e59e5e7ffe8a2acf5c8f',1,'nlohmann::detail::serializer']]], + ['swish_5fbeta',['swish_beta',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#aff19ca9077ac2dca8a9f78df586e11db',1,'cudnn_frontend::PointWiseDesc_v8']]] ]; diff --git a/docs/search/variables_11.js b/docs/search/variables_11.js index bea11e8c..b054aeab 100644 --- a/docs/search/variables_11.js +++ b/docs/search/variables_11.js @@ -1,4 +1,7 @@ var searchData= [ - ['xdesc',['xdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a01d1997ae84b86c0565351910bba3416',1,'cudnn_frontend::Operation_v8']]] + ['thousands_5fsep',['thousands_sep',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a78a6ae833bb6cf7f00cb0d51db114b14',1,'nlohmann::detail::serializer']]], + ['time_5fms',['time_ms',['../d6/d1b/structcudnn__frontend_1_1executionOption.html#a56b496b09272c352b557d793adc3acf1',1,'cudnn_frontend::executionOption']]], + ['token_5fbuffer',['token_buffer',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ac4eaf39567bd5f0750e5d7e913fb474d',1,'nlohmann::detail::lexer']]], + ['token_5fstring',['token_string',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a94aec416b883f742ba7f20bd16adb3c3',1,'nlohmann::detail::lexer']]] ]; diff --git a/docs/search/variables_12.js b/docs/search/variables_12.js index dde68e86..bfaf40f3 100644 --- a/docs/search/variables_12.js +++ b/docs/search/variables_12.js @@ -1,4 +1,11 @@ var searchData= [ - ['ydesc',['ydesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a81e9b10c7231ba9ffba37f7fab531a69',1,'cudnn_frontend::Operation_v8']]] + ['uid',['uid',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a5c3371913fd88b20557bcc4d8ef93219',1,'cudnn_frontend::VariantPack_v8']]], + ['undumped_5fchars',['undumped_chars',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a814f27bba20f0e109d0dbcaa4a399415',1,'nlohmann::detail::serializer']]], + ['upper_5fclip',['upper_clip',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#afcb75336d3b99afcec3bb947c1f1a0e8',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['utf8_5faccept',['UTF8_ACCEPT',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a2311a8c756c4a119aa82cd55301d13bc',1,'nlohmann::detail::serializer']]], + ['utf8_5fbytes',['utf8_bytes',['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#af6bded96214b2fe8edd142d92141550e',1,'nlohmann::detail::wide_string_input_adapter']]], + ['utf8_5fbytes_5ffilled',['utf8_bytes_filled',['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a8966550e615e62978b01d3a252b9c649',1,'nlohmann::detail::wide_string_input_adapter']]], + ['utf8_5fbytes_5findex',['utf8_bytes_index',['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a2a1884713fedff6c17cdbbe63070d1ac',1,'nlohmann::detail::wide_string_input_adapter']]], + ['utf8_5freject',['UTF8_REJECT',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a833bd5805e4380549f4e21c304820d6d',1,'nlohmann::detail::serializer']]] ]; diff --git a/docs/search/variables_13.html b/docs/search/variables_13.html new file mode 100644 index 00000000..15437be2 --- /dev/null +++ b/docs/search/variables_13.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/variables_13.js b/docs/search/variables_13.js new file mode 100644 index 00000000..f6ded8e2 --- /dev/null +++ b/docs/search/variables_13.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['v',['v',['../d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.html#a9b1ed9fba14e671ae1abb6692560ef3f',1,'nlohmann::detail::output_vector_adapter']]], + ['value',['value',['../d1/d9b/structnlohmann_1_1detail_1_1static__const.html#a6bb7ab2ddd6abc41fb4ffb7c6dfa237e',1,'nlohmann::detail::static_const::value()'],['../de/dbc/structnlohmann_1_1detail_1_1is__getable.html#a2150b5b5398683147928a61c99cd0070',1,'nlohmann::detail::is_getable::value()'],['../d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.html#a4d1c8c5e3080360d4ba3d4701b00d442',1,'nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value()'],['../df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.html#a5d5bc2b9f1c107696d64d92cf6b5d0d7',1,'nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value()'],['../d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.html#a25600efc3dbab20cebe1a90f97505d6a',1,'nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value()'],['../d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.html#ac2711760b352b8921accc6609957dc90',1,'nlohmann::detail::is_iterator_traits< iterator_traits< T > >::value()'],['../d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.html#a74b723d759119148c44a5e0899956a72',1,'nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >::value()'],['../d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.html#a50418a0a88d63afbf7246af49f3e554c',1,'nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >::value()'],['../d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.html#adac1e17a2ddf9ac94be736e96e8943a9',1,'nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >::value()'],['../df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.html#a3aeae0de0fc37bd5acf3c9d39b132678',1,'nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >::value()'],['../dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.html#ab4a4e921f0676b2e25d1031ca486ddee',1,'nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >::value()'],['../db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.html#a6ae337e4735fd1e84675a7a0eabc09aa',1,'nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >::value()'],['../d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.html#a8fd20d5e7d65d14b4e9f4ee181a3aded',1,'nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >::value()'],['../d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.html#a1e4cacef2d41bdc682a1e2946edb0a41',1,'nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >::value()'],['../dc/dc3/structnlohmann_1_1detail_1_1is__sax.html#a8ab7e51087000e948b4a2492257484dc',1,'nlohmann::detail::is_sax::value()']]], + ['value_5ffloat',['value_float',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a0d74bb18ba7d32ea7e7c9d9a7d6c2e70',1,'nlohmann::detail::lexer']]], + ['value_5finteger',['value_integer',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a5134de850fab8f41474a36ae07998088',1,'nlohmann::detail::lexer']]], + ['value_5fref',['value_ref',['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a45391e581543480fc02007de08d95705',1,'nlohmann::detail::json_ref']]], + ['value_5funsigned',['value_unsigned',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#ae84cbf312215c15d79783380b1592f74',1,'nlohmann::detail::lexer']]] +]; diff --git a/docs/search/variables_14.html b/docs/search/variables_14.html new file mode 100644 index 00000000..3745fec3 --- /dev/null +++ b/docs/search/variables_14.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/variables_14.js b/docs/search/variables_14.js new file mode 100644 index 00000000..69193fbd --- /dev/null +++ b/docs/search/variables_14.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['w',['w',['../df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html#ad1668c60aeade5f2557fafed8b8aee1a',1,'nlohmann::detail::dtoa_impl::boundaries']]], + ['wdesc',['wdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ad26bd872d417f6a9bff65768bb02e05f',1,'cudnn_frontend::Operation_v8']]], + ['workspace',['workspace',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a0f8d91939842bb9003fe71280f0b230c',1,'cudnn_frontend::VariantPack_v8']]] +]; diff --git a/docs/search/variables_15.html b/docs/search/variables_15.html new file mode 100644 index 00000000..7432fd79 --- /dev/null +++ b/docs/search/variables_15.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/variables_15.js b/docs/search/variables_15.js new file mode 100644 index 00000000..bea11e8c --- /dev/null +++ b/docs/search/variables_15.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['xdesc',['xdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a01d1997ae84b86c0565351910bba3416',1,'cudnn_frontend::Operation_v8']]] +]; diff --git a/docs/search/variables_16.html b/docs/search/variables_16.html new file mode 100644 index 00000000..737584f9 --- /dev/null +++ b/docs/search/variables_16.html @@ -0,0 +1,26 @@ + + + + + + + + + +
                                                                                                +
                                                                                                Loading...
                                                                                                +
                                                                                                + +
                                                                                                Searching...
                                                                                                +
                                                                                                No Matches
                                                                                                + +
                                                                                                + + diff --git a/docs/search/variables_16.js b/docs/search/variables_16.js new file mode 100644 index 00000000..dde68e86 --- /dev/null +++ b/docs/search/variables_16.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['ydesc',['ydesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a81e9b10c7231ba9ffba37f7fab531a69',1,'cudnn_frontend::Operation_v8']]] +]; diff --git a/docs/search/variables_2.js b/docs/search/variables_2.js index 1091fb63..defade0d 100644 --- a/docs/search/variables_2.js +++ b/docs/search/variables_2.js @@ -1,6 +1,19 @@ var searchData= [ - ['cdesc',['cdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a19856fbb973574342efedc43134af3a7',1,'cudnn_frontend::Operation_v8']]], - ['choice',['choice',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aee3bbc2a558893309d6882a0e30d439a',1,'cudnn_frontend::Engine_v8::Knob']]], - ['cmatdesc',['cmatdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#adea4f5ef82e61fc375fd2c3ee8e92147',1,'cudnn_frontend::Operation_v8']]] + ['base_5fadapter',['base_adapter',['../d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.html#a6951ed130bc49fbee6e434b62ed187ac',1,'nlohmann::detail::wide_string_input_adapter']]], + ['basicjsontype',['BasicJsonType',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#abf18f18793f84b0222aebb5a2a87da7a',1,'nlohmann::detail::iter_impl']]], + ['bchoices',['bChoices',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a04aedaff21f829caa98aacb68b51dcf1',1,'cudnn_frontend::EngineConfig_v8']]], + ['bdesc',['bdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a1305e0cdaeb029fd52eb189254afe18c',1,'cudnn_frontend::Operation_v8']]], + ['begin_5fvalue',['begin_value',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#afcb3bcf9da8aa95bd82067d1a67c2326',1,'nlohmann::detail::primitive_iterator_t']]], + ['beta_5fd',['beta_d',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a1118f19807c9f58cc1d0892bdb1f8c94',1,'cudnn_frontend::Operation_v8']]], + ['beta_5fs',['beta_s',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0f14ddfbaae6e62375c46dd0d5ed993d',1,'cudnn_frontend::Operation_v8']]], + ['binary',['binary',['../d9/dcc/classnlohmann_1_1basic__json.html#a9a4a1bb634091c7ebd66c4e989ed469d',1,'nlohmann::basic_json']]], + ['bknobs',['bKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#ab2d9ce46cd037407a5c9ec655ad0a25d',1,'cudnn_frontend::Engine_v8']]], + ['bmatdesc',['bmatdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a0945c6296efc14ffc41122aaae3946b8',1,'cudnn_frontend::Operation_v8']]], + ['boolean',['boolean',['../d9/dcc/classnlohmann_1_1basic__json.html#a7386443608348fa4b451f033a1439074',1,'nlohmann::basic_json']]], + ['btensor_5fdima',['btensor_dimA',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a7419041bb3bf934f8e9f851fa63acabd',1,'cudnn_frontend::Tensor_v8']]], + ['btensor_5fstra',['btensor_strA',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ae4842fc7fcb87f5b60228fb6fa391b61',1,'cudnn_frontend::Tensor_v8']]], + ['byte',['byte',['../d5/d1a/classnlohmann_1_1detail_1_1parse__error.html#a9505aaa1ca943be927eec7cc579592ff',1,'nlohmann::detail::parse_error']]], + ['bytes',['bytes',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a4239a42672c7378a6b449ee010e6dace',1,'nlohmann::detail::serializer']]], + ['bytes_5fafter_5flast_5faccept',['bytes_after_last_accept',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a9ae3daaea1941fd02d4c3c1b0f5fbe68',1,'nlohmann::detail::serializer']]] ]; diff --git a/docs/search/variables_3.js b/docs/search/variables_3.js index 8c4d438b..db88f7bf 100644 --- a/docs/search/variables_3.js +++ b/docs/search/variables_3.js @@ -1,9 +1,12 @@ var searchData= [ - ['data_5fpointers',['data_pointers',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a3a03ddd893f41a9ce6ca674bbfae7434',1,'cudnn_frontend::VariantPack_v8']]], - ['data_5ftype',['data_type',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a4a0249ac1d094f9a70967dd69b824f2e',1,'cudnn_frontend::ConvDesc_v8::data_type()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ae9a3d128db54fa92d392e77044f30ca9',1,'cudnn_frontend::Tensor_v8::data_type()']]], - ['dilation',['dilation',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a81e03a2a385d24a2faaf3db249580ac6',1,'cudnn_frontend::ConvDesc_v8']]], - ['dwdesc',['dwdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f565db1b8b85ea43d60631cd3414f47',1,'cudnn_frontend::Operation_v8']]], - ['dxdesc',['dxdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f30409838436d0c4dea5271af86f9b7',1,'cudnn_frontend::Operation_v8']]], - ['dydesc',['dydesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#adf6b55205eac4c52c0ab70e4758e33da',1,'cudnn_frontend::Operation_v8']]] + ['callback',['callback',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a46a72dffd5be4a25602af00f0033c126',1,'nlohmann::detail::json_sax_dom_callback_parser::callback()'],['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a6bf70a72a1632ef55c0068557b1be37a',1,'nlohmann::detail::parser::callback()']]], + ['cdesc',['cdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a19856fbb973574342efedc43134af3a7',1,'cudnn_frontend::Operation_v8']]], + ['chars_5fread',['chars_read',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#aa03c779d4512b5764895dc341b0ef902',1,'nlohmann::detail::binary_reader']]], + ['chars_5fread_5fcurrent_5fline',['chars_read_current_line',['../d6/d02/structnlohmann_1_1detail_1_1position__t.html#a74df94563dd32102152ceb8c6d9041d8',1,'nlohmann::detail::position_t']]], + ['chars_5fread_5ftotal',['chars_read_total',['../d6/d02/structnlohmann_1_1detail_1_1position__t.html#a94cf85cd91d478c20ae143eba906ea1a',1,'nlohmann::detail::position_t']]], + ['choice',['choice',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aee3bbc2a558893309d6882a0e30d439a',1,'cudnn_frontend::Engine_v8::Knob']]], + ['cmatdesc',['cmatdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#adea4f5ef82e61fc375fd2c3ee8e92147',1,'cudnn_frontend::Operation_v8']]], + ['container',['container',['../db/dda/classnlohmann_1_1detail_1_1iteration__proxy.html#a88c0532ba4a5de1d527b18053b24fd19',1,'nlohmann::detail::iteration_proxy']]], + ['current',['current',['../d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a8abccad27590d381a94e474b16161938',1,'nlohmann::detail::iterator_input_adapter::current()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a40bd85d91d377ade9ccb910e35776c22',1,'nlohmann::detail::lexer::current()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ab47df98119524e9c7d9ff0b820913883',1,'nlohmann::detail::binary_reader::current()']]] ]; diff --git a/docs/search/variables_4.js b/docs/search/variables_4.js index 4cfc352e..e98bdf6c 100644 --- a/docs/search/variables_4.js +++ b/docs/search/variables_4.js @@ -1,8 +1,12 @@ var searchData= [ - ['elu_5falpha',['elu_alpha',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a246795e9bc43f846f701ae4214953412',1,'cudnn_frontend::PointWiseDesc_v8']]], - ['engine',['engine',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ac102dce4f496c358a15ca753362fc4b7',1,'cudnn_frontend::EngineConfig_v8']]], - ['engine_5fconfig',['engine_config',['../d7/d0d/group__ExecutionPlanQuery.html#ga5e3dd6d441474ac5ab94aaaf9c45bc5b',1,'cudnn_frontend::ExecutionPlan_v8']]], - ['engine_5fconfig_5fgenerators',['engine_config_generators',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a1a06febdf947e151276bf09947c62436',1,'cudnn_frontend::EngineConfigGenerator']]], - ['err_5fmsg',['err_msg',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a0d416655dab2b5a675fecb5df9ea8521',1,'cudnn_frontend::BackendDescriptor']]] + ['data_5fpointers',['data_pointers',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a3a03ddd893f41a9ce6ca674bbfae7434',1,'cudnn_frontend::VariantPack_v8']]], + ['data_5ftype',['data_type',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a4a0249ac1d094f9a70967dd69b824f2e',1,'cudnn_frontend::ConvDesc_v8::data_type()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#ae9a3d128db54fa92d392e77044f30ca9',1,'cudnn_frontend::Tensor_v8::data_type()']]], + ['decimal_5fpoint',['decimal_point',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a311e5d6f4b31d5be0eb3c0cb20b6965a',1,'nlohmann::detail::serializer']]], + ['decimal_5fpoint_5fchar',['decimal_point_char',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a6f2fd5b4b6b153f11fc8f77213350073',1,'nlohmann::detail::lexer']]], + ['dilation',['dilation',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a81e03a2a385d24a2faaf3db249580ac6',1,'cudnn_frontend::ConvDesc_v8']]], + ['discarded',['discarded',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a8997ee6dc3bd39116b951465b946445e',1,'nlohmann::detail::json_sax_dom_callback_parser']]], + ['dwdesc',['dwdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f565db1b8b85ea43d60631cd3414f47',1,'cudnn_frontend::Operation_v8']]], + ['dxdesc',['dxdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a4f30409838436d0c4dea5271af86f9b7',1,'cudnn_frontend::Operation_v8']]], + ['dydesc',['dydesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#adf6b55205eac4c52c0ab70e4758e33da',1,'cudnn_frontend::Operation_v8']]] ]; diff --git a/docs/search/variables_5.js b/docs/search/variables_5.js index 59a437c6..c2536e05 100644 --- a/docs/search/variables_5.js +++ b/docs/search/variables_5.js @@ -1,4 +1,17 @@ var searchData= [ - ['handle',['handle',['../d7/d0d/group__ExecutionPlanQuery.html#ga4c36108c6511420d81fcda5292761726',1,'cudnn_frontend::ExecutionPlan_v8::handle()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#abd35d4e84bb6ee70e8df38de093fc376',1,'cudnn_frontend::OperationGraph_v8::handle()']]] + ['e',['e',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#ae22e170815983961447c429f324c944d',1,'nlohmann::detail::dtoa_impl::diyfp::e()'],['../d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html#a9e89bc89bb7bf4361f43ea27eed91d23',1,'nlohmann::detail::dtoa_impl::cached_power::e()']]], + ['else',['else',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ae510f640d26ce0f7d5eb8191b31591c0',1,'nlohmann::detail::serializer']]], + ['elu_5falpha',['elu_alpha',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a246795e9bc43f846f701ae4214953412',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['empty_5fstr',['empty_str',['../d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.html#a298dae04e3c0a64719752c16754d1d71',1,'nlohmann::detail::iteration_proxy_value']]], + ['end',['end',['../d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.html#a8aa29994ca6fdc0f8c96abf9151738ab',1,'nlohmann::detail::iterator_input_adapter']]], + ['end_5fvalue',['end_value',['../d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.html#aa37c37da44f19e6ec1d7d4a9910511c7',1,'nlohmann::detail::primitive_iterator_t']]], + ['engine',['engine',['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#ac102dce4f496c358a15ca753362fc4b7',1,'cudnn_frontend::EngineConfig_v8']]], + ['engine_5fconfig',['engine_config',['../d7/d0d/group__ExecutionPlanQuery.html#ga5e3dd6d441474ac5ab94aaaf9c45bc5b',1,'cudnn_frontend::ExecutionPlan_v8']]], + ['engine_5fconfig_5fgenerators',['engine_config_generators',['../dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.html#a1a06febdf947e151276bf09947c62436',1,'cudnn_frontend::EngineConfigGenerator']]], + ['ensure_5fascii',['ensure_ascii',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ab4c340f2a5230f766a833366603a0049',1,'nlohmann::detail::serializer']]], + ['err_5fmsg',['err_msg',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a0d416655dab2b5a675fecb5df9ea8521',1,'cudnn_frontend::BackendDescriptor']]], + ['error_5fhandler',['error_handler',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a09d5a046fb0f7cb61977d6e5fbe8b3a1',1,'nlohmann::detail::serializer']]], + ['error_5fmessage',['error_message',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a84cbcd8c897c98c2ce04d29a29bf84cc',1,'nlohmann::detail::lexer']]], + ['errored',['errored',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a31ccb472ed855e2f2370fd091d91aad7',1,'nlohmann::detail::json_sax_dom_parser::errored()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ab06baaa640cfaae5846daa7c3594b116',1,'nlohmann::detail::json_sax_dom_callback_parser::errored()']]] ]; diff --git a/docs/search/variables_6.js b/docs/search/variables_6.js index ae8532d1..9ca7e458 100644 --- a/docs/search/variables_6.js +++ b/docs/search/variables_6.js @@ -1,12 +1,4 @@ var searchData= [ - ['id',['id',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a062e54efdec89943fcb0602cc06dfd28',1,'cudnn_frontend::Tensor_v8']]], - ['idx',['idx',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#aae4b49a84f8ecb114449784e43496521',1,'cudnn_frontend::Engine_v8']]], - ['is_5fconvolution_5fop',['is_convolution_op',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#ad82e287889be2ebef348a00479ce3bc0',1,'cudnn_frontend::OperationBuilder_v8']]], - ['is_5fmatmul_5fop',['is_matmul_op',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#ac806a488b58cc78e338ba96eccee70fd',1,'cudnn_frontend::OperationBuilder_v8']]], - ['is_5fpointwise_5factivation_5fbwd_5fop',['is_pointwise_activation_bwd_op',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ab8c4c8c81e8cebc44cb725f4a4b4add9',1,'cudnn_frontend::Operation_v8']]], - ['is_5fpointwise_5factivation_5ffwd_5fop',['is_pointwise_activation_fwd_op',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a12d0d0fa40152f5205570f40e681795f',1,'cudnn_frontend::Operation_v8']]], - ['is_5fpointwise_5fmath_5fop',['is_pointwise_math_op',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a2e1e0fb15b7df300945cae2347db635a',1,'cudnn_frontend::Operation_v8']]], - ['is_5fpointwise_5fop',['is_pointwise_op',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a98044359c005b796e35fba1a5b689f3d',1,'cudnn_frontend::OperationBuilder_v8']]], - ['isvirtual',['isVirtual',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a611fc05f3c7b6ca90d0e3c0f6ef07d84',1,'cudnn_frontend::Tensor_v8']]] + ['f',['f',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#aea90459e340a231ca31d46946803ef51',1,'nlohmann::detail::dtoa_impl::diyfp::f()'],['../d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html#a21ae81f515f5b08d5bf423775ee56074',1,'nlohmann::detail::dtoa_impl::cached_power::f()']]] ]; diff --git a/docs/search/variables_7.js b/docs/search/variables_7.js index 360109d6..59a437c6 100644 --- a/docs/search/variables_7.js +++ b/docs/search/variables_7.js @@ -1,5 +1,4 @@ var searchData= [ - ['knobs',['knobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#add2d5998a38944fd0dba03fce96fe7aa',1,'cudnn_frontend::Engine_v8']]], - ['knobtype',['knobType',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#adc13c98616305cd23d86dc5dc1dfe86e',1,'cudnn_frontend::Engine_v8::Knob']]] + ['handle',['handle',['../d7/d0d/group__ExecutionPlanQuery.html#ga4c36108c6511420d81fcda5292761726',1,'cudnn_frontend::ExecutionPlan_v8::handle()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#abd35d4e84bb6ee70e8df38de093fc376',1,'cudnn_frontend::OperationGraph_v8::handle()']]] ]; diff --git a/docs/search/variables_8.js b/docs/search/variables_8.js index 5b006f27..116ea6ea 100644 --- a/docs/search/variables_8.js +++ b/docs/search/variables_8.js @@ -1,5 +1,21 @@ var searchData= [ - ['lower_5fclip',['lower_clip',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a26f1b0f84dc331ca9f1330cf6f425d36',1,'cudnn_frontend::PointWiseDesc_v8']]], - ['lower_5fclip_5fslope',['lower_clip_slope',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ad8731460bbcf7cb2804dd3a9840f276e',1,'cudnn_frontend::PointWiseDesc_v8']]] + ['ia',['ia',['../da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.html#a3e223a7784502be20ace441e84f8cf43',1,'nlohmann::detail::span_input_adapter::ia()'],['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a526d001dd91ec55b8032ba98466765c0',1,'nlohmann::detail::lexer::ia()'],['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#a548c770e60f2285a931de4b7333c1ab0',1,'nlohmann::detail::binary_reader::ia()']]], + ['id',['id',['../de/df2/classnlohmann_1_1detail_1_1exception.html#a0d4589a3fb54e81646d986c05efa3b9a',1,'nlohmann::detail::exception::id()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a062e54efdec89943fcb0602cc06dfd28',1,'cudnn_frontend::Tensor_v8::id()']]], + ['idx',['idx',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#aae4b49a84f8ecb114449784e43496521',1,'cudnn_frontend::Engine_v8']]], + ['ignore_5fcomments',['ignore_comments',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a11528814930243028ac5b8901f4a17d7',1,'nlohmann::detail::lexer']]], + ['indent_5fchar',['indent_char',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a9a55e6b028d09676fe35aefa0c72ea5b',1,'nlohmann::detail::serializer']]], + ['indent_5fstring',['indent_string',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#ae9268a10d88a5526e32735a55a132fc6',1,'nlohmann::detail::serializer']]], + ['is',['is',['../db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.html#a55893bf84cb17d877464984942df9632',1,'nlohmann::detail::input_stream_adapter']]], + ['is_5fconvolution_5fop',['is_convolution_op',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#ad82e287889be2ebef348a00479ce3bc0',1,'cudnn_frontend::OperationBuilder_v8']]], + ['is_5flittle_5fendian',['is_little_endian',['../d6/d30/classnlohmann_1_1detail_1_1binary__reader.html#ad615eba561e265165a80c95061af75b0',1,'nlohmann::detail::binary_reader::is_little_endian()'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a048887c907afe39759b777e8c888414c',1,'nlohmann::detail::binary_writer::is_little_endian()']]], + ['is_5fmatmul_5fop',['is_matmul_op',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#ac806a488b58cc78e338ba96eccee70fd',1,'cudnn_frontend::OperationBuilder_v8']]], + ['is_5fpointwise_5factivation_5fbwd_5fop',['is_pointwise_activation_bwd_op',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ab8c4c8c81e8cebc44cb725f4a4b4add9',1,'cudnn_frontend::Operation_v8']]], + ['is_5fpointwise_5factivation_5ffwd_5fop',['is_pointwise_activation_fwd_op',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a12d0d0fa40152f5205570f40e681795f',1,'cudnn_frontend::Operation_v8']]], + ['is_5fpointwise_5fmath_5fop',['is_pointwise_math_op',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a2e1e0fb15b7df300945cae2347db635a',1,'cudnn_frontend::Operation_v8']]], + ['is_5fpointwise_5fop',['is_pointwise_op',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a98044359c005b796e35fba1a5b689f3d',1,'cudnn_frontend::OperationBuilder_v8']]], + ['is_5freduction_5fop',['is_reduction_op',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a65bf6693a5952e65b856dfdf9ad68770',1,'cudnn_frontend::OperationBuilder_v8']]], + ['isvirtual',['isVirtual',['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a611fc05f3c7b6ca90d0e3c0f6ef07d84',1,'cudnn_frontend::Tensor_v8']]], + ['iteration_5fproxy_3c_20iter_5fimpl_20_3e',['iteration_proxy< iter_impl >',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a28328d17a18d9754c89c5c8159677a6f',1,'nlohmann::detail::iter_impl']]], + ['iteration_5fproxy_5fvalue_3c_20iter_5fimpl_20_3e',['iteration_proxy_value< iter_impl >',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#ac501dc2374b4d17a884fc9a656e80d5a',1,'nlohmann::detail::iter_impl']]] ]; diff --git a/docs/search/variables_9.js b/docs/search/variables_9.js index c4183663..d94bf190 100644 --- a/docs/search/variables_9.js +++ b/docs/search/variables_9.js @@ -1,23 +1,11 @@ var searchData= [ - ['m_5fconvdesc',['m_convDesc',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a67e82b4d8b94b55ecc50a9151799fff9',1,'cudnn_frontend::ConvDescBuilder_v8']]], - ['m_5fdesc',['m_desc',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a47968d641c0da8d33882f86d8afa30b4',1,'cudnn_frontend::OpaqueBackendPointer']]], - ['m_5fengine',['m_engine',['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#adc25c468425d9b6b71b9592b80ea715d',1,'cudnn_frontend::EngineBuilder_v8']]], - ['m_5fengine_5fconfig',['m_engine_config',['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a8dc6947bf5dac837ea233bfaec4bf03f',1,'cudnn_frontend::EngineConfigBuilder_v8']]], - ['m_5fengine_5fconfigs',['m_engine_configs',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a71e6146b18a0aa4de8fbc6ba457efbb9',1,'cudnn_frontend::EngineFallbackList_v8']]], - ['m_5fexecution_5fplan',['m_execution_plan',['../d7/d0d/group__ExecutionPlanQuery.html#gae1a2e3dd89dbe455e7067531ec5b5562',1,'cudnn_frontend::ExecutionPlanBuilder_v8']]], - ['m_5ffallback_5flist',['m_fallback_list',['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a56f2014918d259c53a2ebb3e815073e9',1,'cudnn_frontend::EngineFallbackListBuilder_v8']]], - ['m_5fheuristic_5fresults',['m_heuristic_results',['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a7a1e931b0f7910db6e6f5d5bfbfe3511',1,'cudnn_frontend::EngineHeuristics_v8']]], - ['m_5fheuristics',['m_heuristics',['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#aa046a778075f260f7950ee5a51c2addb',1,'cudnn_frontend::EngineHeuristicsBuilder_v8']]], - ['m_5fmatmuldesc',['m_matMulDesc',['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#aa71bc8242df4035ff5d6b4d54083db4b',1,'cudnn_frontend::MatMulDescBuilder_v8']]], - ['m_5foperation',['m_operation',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a8724628060c71b17e7458c01338b234a',1,'cudnn_frontend::OperationBuilder_v8']]], - ['m_5foperationgraph',['m_operationGraph',['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#ad9cb3e166ab001b3b0c60ed2198cd6d9',1,'cudnn_frontend::OperationGraphBuilder_v8']]], - ['m_5fpointwisedesc',['m_pointWiseDesc',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a804a2b5438f464185b16a4652fc14cf5',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], - ['m_5ftensor',['m_tensor',['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a87c53bd36c748fe2327743bd852fb144',1,'cudnn_frontend::TensorBuilder_v8']]], - ['m_5fvariant_5fpack',['m_variant_pack',['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a41a6e8afb46228fea2310f5cad75badc',1,'cudnn_frontend::VariantPackBuilder_v8']]], - ['math_5fprecision',['math_precision',['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a1dd13143c85b67f2c0da90f02884fab1',1,'cudnn_frontend::MatMulDesc_v8::math_precision()'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a7f1bee44a57b6dad1ce493cd18ffbc18',1,'cudnn_frontend::PointWiseDesc_v8::math_precision()']]], - ['matmuldesc',['matmuldesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ac4b85cbb9ba522c98eb524a7712721af',1,'cudnn_frontend::Operation_v8']]], - ['maxvalue',['maxValue',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aecda8659b5a5d1dbb21b540a73141fb9',1,'cudnn_frontend::Engine_v8::Knob']]], - ['minvalue',['minValue',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a2403145dcb4bc55f970c6d07c1ed796e',1,'cudnn_frontend::Engine_v8::Knob']]], - ['mode',['mode',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#adcb7e5f546b83bbdab63773030e3b909',1,'cudnn_frontend::ConvDesc_v8::mode()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9a557db46e3559fcaa0e800d976d6238',1,'cudnn_frontend::EngineFallbackList_v8::mode()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a71e7822002502874f6b2dfec4ede7e01',1,'cudnn_frontend::EngineHeuristics_v8::mode()'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ad6d99d57f2a5b345fe5af5bc777b8d1c',1,'cudnn_frontend::PointWiseDesc_v8::mode()']]] + ['k',['k',['../d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.html#a8c1f2efed643eeaa8fae83c697a29c6a',1,'nlohmann::detail::dtoa_impl::cached_power']]], + ['kalpha',['kAlpha',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#ac1ea1316de0b4a219f707c76b1db1966',1,'nlohmann::detail::dtoa_impl']]], + ['keep_5fstack',['keep_stack',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#ac24fd6c9f1b31b44328c16d65755ae76',1,'nlohmann::detail::json_sax_dom_callback_parser']]], + ['key_5fkeep_5fstack',['key_keep_stack',['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a8f0e96e8bc4f692169024105693f5706',1,'nlohmann::detail::json_sax_dom_callback_parser']]], + ['kgamma',['kGamma',['../dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.html#a4a750fcc38da1ce68b7e25ab3a230e20',1,'nlohmann::detail::dtoa_impl']]], + ['knobs',['knobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#add2d5998a38944fd0dba03fce96fe7aa',1,'cudnn_frontend::Engine_v8']]], + ['knobtype',['knobType',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#adc13c98616305cd23d86dc5dc1dfe86e',1,'cudnn_frontend::Engine_v8::Knob']]], + ['kprecision',['kPrecision',['../d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.html#a03682754b06ed4f30b263119eecc2d52',1,'nlohmann::detail::dtoa_impl::diyfp']]] ]; diff --git a/docs/search/variables_a.js b/docs/search/variables_a.js index 6f93476f..b92930dd 100644 --- a/docs/search/variables_a.js +++ b/docs/search/variables_a.js @@ -1,8 +1,8 @@ var searchData= [ - ['nan_5fpropagation',['nan_propagation',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a740aed43da4ed8ab351d926cee6bfc6a',1,'cudnn_frontend::PointWiseDesc_v8']]], - ['ndims',['nDims',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a9b478d1207d8241ff67cc931754cd6cf',1,'cudnn_frontend::ConvDesc_v8::nDims()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a1370de050fc91e9d992995fae5f22011',1,'cudnn_frontend::Tensor_v8::nDims()']]], - ['num_5fptrs',['num_ptrs',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#afeaea07e176fa0c943704285f258ba28',1,'cudnn_frontend::VariantPack_v8']]], - ['numknobs',['numKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#aed64863b9d73b7f6f3a7e16dc6e7eb04',1,'cudnn_frontend::Engine_v8::numKnobs()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a9365e32afd0eae60e3d87a853dd24e33',1,'cudnn_frontend::EngineConfig_v8::numKnobs()']]], - ['numops',['numOps',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a52c12bb0014a899c4c5201fb66301eb2',1,'cudnn_frontend::OperationGraph_v8']]] + ['last_5ftoken',['last_token',['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a307ed42d5f31a9c5bec991ceee87b0e7',1,'nlohmann::detail::parser']]], + ['lines_5fread',['lines_read',['../d6/d02/structnlohmann_1_1detail_1_1position__t.html#a4bbad8bc2c0d17c1b61c3ce729908b71',1,'nlohmann::detail::position_t']]], + ['loc',['loc',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a1952945b7652afb59d3903cc8457a589',1,'nlohmann::detail::serializer']]], + ['lower_5fclip',['lower_clip',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a26f1b0f84dc331ca9f1330cf6f425d36',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['lower_5fclip_5fslope',['lower_clip_slope',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ad8731460bbcf7cb2804dd3a9840f276e',1,'cudnn_frontend::PointWiseDesc_v8']]] ]; diff --git a/docs/search/variables_b.js b/docs/search/variables_b.js index cfe262a8..4bebbf6a 100644 --- a/docs/search/variables_b.js +++ b/docs/search/variables_b.js @@ -1,8 +1,32 @@ var searchData= [ - ['op_5fmode',['op_mode',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a43cbfcab995a238e2001c4ec6543ae50',1,'cudnn_frontend::Operation_v8']]], - ['operationtag',['operationTag',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a736317246d52e774170bc60511870932',1,'cudnn_frontend::Operation_v8']]], - ['opgraph',['opGraph',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a6053f049f393faebc7188bfa1e8c2d38',1,'cudnn_frontend::Engine_v8::opGraph()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#ae8995303eac50633f6320f5949a045bb',1,'cudnn_frontend::EngineFallbackList_v8::opGraph()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a081860775bfc5626bd57066066eb4299',1,'cudnn_frontend::EngineHeuristics_v8::opGraph()']]], - ['opgraphtag',['opGraphTag',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a620ad17c3560e87d5a859d7f0eb121d4',1,'cudnn_frontend::Engine_v8::opGraphTag()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a37695c0659b489b06ff3b83194be59bb',1,'cudnn_frontend::EngineConfig_v8::opGraphTag()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9f8070f063b1c0564297260ebe812506',1,'cudnn_frontend::EngineFallbackList_v8::opGraphTag()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a7c958bd4b97b4a77694d2bee01acec4c',1,'cudnn_frontend::EngineHeuristics_v8::opGraphTag()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#ac8ca1ba29ac3f8e68ba1bf3e5e500338',1,'cudnn_frontend::OperationGraph_v8::opGraphTag()']]], - ['ops',['ops',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#ab2570d81fc01c1b6b9a76220b0abd717',1,'cudnn_frontend::OperationGraph_v8']]] + ['m',['m',['../de/df2/classnlohmann_1_1detail_1_1exception.html#ad54778dc4f125488cbce8ec276dfdde2',1,'nlohmann::detail::exception']]], + ['m_5fconvdesc',['m_convDesc',['../db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.html#a67e82b4d8b94b55ecc50a9151799fff9',1,'cudnn_frontend::ConvDescBuilder_v8']]], + ['m_5fdesc',['m_desc',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a47968d641c0da8d33882f86d8afa30b4',1,'cudnn_frontend::OpaqueBackendPointer']]], + ['m_5fengine',['m_engine',['../d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.html#adc25c468425d9b6b71b9592b80ea715d',1,'cudnn_frontend::EngineBuilder_v8']]], + ['m_5fengine_5fconfig',['m_engine_config',['../dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.html#a8dc6947bf5dac837ea233bfaec4bf03f',1,'cudnn_frontend::EngineConfigBuilder_v8']]], + ['m_5fengine_5fconfigs',['m_engine_configs',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a71e6146b18a0aa4de8fbc6ba457efbb9',1,'cudnn_frontend::EngineFallbackList_v8']]], + ['m_5fexecution_5fplan',['m_execution_plan',['../d7/d0d/group__ExecutionPlanQuery.html#gae1a2e3dd89dbe455e7067531ec5b5562',1,'cudnn_frontend::ExecutionPlanBuilder_v8']]], + ['m_5ffallback_5flist',['m_fallback_list',['../d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.html#a56f2014918d259c53a2ebb3e815073e9',1,'cudnn_frontend::EngineFallbackListBuilder_v8']]], + ['m_5ffile',['m_file',['../da/d14/classnlohmann_1_1detail_1_1file__input__adapter.html#a164fbe2739ac97e517e22bc1fff1c174',1,'nlohmann::detail::file_input_adapter']]], + ['m_5fhas_5fsubtype',['m_has_subtype',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#a69aa7a914a7a31b61d3a9567d74ddf7b',1,'nlohmann::byte_container_with_subtype']]], + ['m_5fheuristic_5fresults',['m_heuristic_results',['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a7a1e931b0f7910db6e6f5d5bfbfe3511',1,'cudnn_frontend::EngineHeuristics_v8']]], + ['m_5fheuristics',['m_heuristics',['../d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.html#aa046a778075f260f7950ee5a51c2addb',1,'cudnn_frontend::EngineHeuristicsBuilder_v8']]], + ['m_5fit',['m_it',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#a8a86a7c0d4af0cc4ab345b6f0e13cdfa',1,'nlohmann::detail::iter_impl']]], + ['m_5flexer',['m_lexer',['../df/d6b/classnlohmann_1_1detail_1_1parser.html#a01a73810f794c239aaf123aa2af7371d',1,'nlohmann::detail::parser']]], + ['m_5fmatmuldesc',['m_matMulDesc',['../de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.html#aa71bc8242df4035ff5d6b4d54083db4b',1,'cudnn_frontend::MatMulDescBuilder_v8']]], + ['m_5foperation',['m_operation',['../d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.html#a8724628060c71b17e7458c01338b234a',1,'cudnn_frontend::OperationBuilder_v8']]], + ['m_5foperationgraph',['m_operationGraph',['../d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.html#ad9cb3e166ab001b3b0c60ed2198cd6d9',1,'cudnn_frontend::OperationGraphBuilder_v8']]], + ['m_5fpointwisedesc',['m_pointWiseDesc',['../d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.html#a804a2b5438f464185b16a4652fc14cf5',1,'cudnn_frontend::PointWiseDescBuilder_v8']]], + ['m_5freductiondesc',['m_reductionDesc',['../d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.html#a462f9f96ab258f9dfdb490de30ca9d22',1,'cudnn_frontend::ReductionDescBuilder_v8']]], + ['m_5fsubtype',['m_subtype',['../dd/d0d/classnlohmann_1_1byte__container__with__subtype.html#ae36c8f29f4f50a00962b0e9110ba2756',1,'nlohmann::byte_container_with_subtype']]], + ['m_5ftensor',['m_tensor',['../db/dae/classcudnn__frontend_1_1TensorBuilder__v8.html#a87c53bd36c748fe2327743bd852fb144',1,'cudnn_frontend::TensorBuilder_v8']]], + ['m_5fvalue',['m_value',['../d9/dcc/classnlohmann_1_1basic__json.html#a72f1c0ede41f166429ce3fe7c2ffefc0',1,'nlohmann::basic_json']]], + ['m_5fvariant_5fpack',['m_variant_pack',['../d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.html#a41a6e8afb46228fea2310f5cad75badc',1,'cudnn_frontend::VariantPackBuilder_v8']]], + ['math_5fprecision',['math_precision',['../d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.html#a1dd13143c85b67f2c0da90f02884fab1',1,'cudnn_frontend::MatMulDesc_v8::math_precision()'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a7f1bee44a57b6dad1ce493cd18ffbc18',1,'cudnn_frontend::PointWiseDesc_v8::math_precision()'],['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#ab20fbdc2c97f07ff305cc6693adc242f',1,'cudnn_frontend::ReductionDesc_v8::math_precision()']]], + ['matmuldesc',['matmuldesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#ac4b85cbb9ba522c98eb524a7712721af',1,'cudnn_frontend::Operation_v8']]], + ['maxvalue',['maxValue',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#aecda8659b5a5d1dbb21b540a73141fb9',1,'cudnn_frontend::Engine_v8::Knob']]], + ['minus',['minus',['../df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html#aec4e5028333c01f3229062f31ce16763',1,'nlohmann::detail::dtoa_impl::boundaries']]], + ['minvalue',['minValue',['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a2403145dcb4bc55f970c6d07c1ed796e',1,'cudnn_frontend::Engine_v8::Knob']]], + ['mode',['mode',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#adcb7e5f546b83bbdab63773030e3b909',1,'cudnn_frontend::ConvDesc_v8::mode()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9a557db46e3559fcaa0e800d976d6238',1,'cudnn_frontend::EngineFallbackList_v8::mode()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a71e7822002502874f6b2dfec4ede7e01',1,'cudnn_frontend::EngineHeuristics_v8::mode()'],['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#ad6d99d57f2a5b345fe5af5bc777b8d1c',1,'cudnn_frontend::PointWiseDesc_v8::mode()']]] ]; diff --git a/docs/search/variables_c.js b/docs/search/variables_c.js index 4b011cc2..65dea594 100644 --- a/docs/search/variables_c.js +++ b/docs/search/variables_c.js @@ -1,11 +1,14 @@ var searchData= [ - ['padlower',['padLower',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#aff824fb1cf44c188a7400b017458327e',1,'cudnn_frontend::ConvDesc_v8']]], - ['padupper',['padUpper',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a28e6ad906bf25653c87525f9f8e90a28',1,'cudnn_frontend::ConvDesc_v8']]], - ['plan',['plan',['../d6/d1b/structcudnn__frontend_1_1executionOption.html#ae84235aee01c4556303b39961e1e1c5e',1,'cudnn_frontend::executionOption']]], - ['plantag',['planTag',['../d7/d0d/group__ExecutionPlanQuery.html#gaf732b37c9c05a2a8bd1a76289c740c4a',1,'cudnn_frontend::ExecutionPlan_v8']]], - ['pointer',['pointer',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a62312f29dbbc7c11c1da54a2ad41c52f',1,'cudnn_frontend::BackendDescriptor']]], - ['pointwise_5fmode',['pointwise_mode',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a09f5151a90f805d81550a30617bcec0c',1,'cudnn_frontend::Operation_v8']]], - ['pointwise_5fport_5fcount',['pointwise_port_count',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a5c6b2986d2d703c672b5fc461f2eee05',1,'cudnn_frontend::Operation_v8']]], - ['pwdesc',['pwdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#aac54965185417e264093156b143a3751',1,'cudnn_frontend::Operation_v8']]] + ['nan_5fpropagation',['nan_propagation',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a740aed43da4ed8ab351d926cee6bfc6a',1,'cudnn_frontend::PointWiseDesc_v8']]], + ['ndims',['nDims',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a9b478d1207d8241ff67cc931754cd6cf',1,'cudnn_frontend::ConvDesc_v8::nDims()'],['../d6/da7/classcudnn__frontend_1_1Tensor__v8.html#a1370de050fc91e9d992995fae5f22011',1,'cudnn_frontend::Tensor_v8::nDims()']]], + ['next_5funget',['next_unget',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a40b108a0e45a7253f6ad85fbdaa6a262',1,'nlohmann::detail::lexer']]], + ['num_5fops',['num_ops',['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a31046a12eb8da37897063a99efa637a4',1,'cudnn_frontend::EngineFallbackList_v8']]], + ['num_5fptrs',['num_ptrs',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#afeaea07e176fa0c943704285f258ba28',1,'cudnn_frontend::VariantPack_v8']]], + ['number_5fbuffer',['number_buffer',['../d4/d0a/classnlohmann_1_1detail_1_1serializer.html#a1a9d8b344a6cb47728a3519693ec03d1',1,'nlohmann::detail::serializer']]], + ['number_5ffloat',['number_float',['../d9/dcc/classnlohmann_1_1basic__json.html#abe229fa4c3b1f3536c7a85ab9cbff2e7',1,'nlohmann::basic_json']]], + ['number_5finteger',['number_integer',['../d9/dcc/classnlohmann_1_1basic__json.html#ad88685d4cc24d7e86ddc5b0edb64192a',1,'nlohmann::basic_json']]], + ['number_5funsigned',['number_unsigned',['../d9/dcc/classnlohmann_1_1basic__json.html#a077b1e7977afafb97a6a38a3a617ba66',1,'nlohmann::basic_json']]], + ['numknobs',['numKnobs',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#aed64863b9d73b7f6f3a7e16dc6e7eb04',1,'cudnn_frontend::Engine_v8::numKnobs()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a9365e32afd0eae60e3d87a853dd24e33',1,'cudnn_frontend::EngineConfig_v8::numKnobs()']]], + ['numops',['numOps',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#a52c12bb0014a899c4c5201fb66301eb2',1,'cudnn_frontend::OperationGraph_v8']]] ]; diff --git a/docs/search/variables_d.js b/docs/search/variables_d.js index 01520aa3..97ea7354 100644 --- a/docs/search/variables_d.js +++ b/docs/search/variables_d.js @@ -1,7 +1,13 @@ var searchData= [ - ['softplus_5fbeta',['softplus_beta',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#a346bf4a4ca5e45b0f19dc8f2fb6b6148',1,'cudnn_frontend::PointWiseDesc_v8']]], - ['status',['status',['../d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.html#a10487abe0a45d35824ec75b0d3894f21',1,'cudnn_frontend::OpaqueBackendPointer::status()'],['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a8a5466c444f2de721118334ac876c6ba',1,'cudnn_frontend::BackendDescriptor::status()']]], - ['stride',['stride',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#ac513728c785a54ef86612a0bd6fa0f1a',1,'cudnn_frontend::ConvDesc_v8::stride()'],['../dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.html#a8342ab30dbe0e86d8d060983f14aba87',1,'cudnn_frontend::Engine_v8::Knob::stride()']]], - ['swish_5fbeta',['swish_beta',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#aff19ca9077ac2dca8a9f78df586e11db',1,'cudnn_frontend::PointWiseDesc_v8']]] + ['oa',['oa',['../df/d13/classnlohmann_1_1detail_1_1output__adapter.html#a323c18d74d6680faafec6dc3ace825e2',1,'nlohmann::detail::output_adapter::oa()'],['../df/d1a/classnlohmann_1_1detail_1_1binary__writer.html#a6f15b782a7900f50ef37d123008e601b',1,'nlohmann::detail::binary_writer::oa()']]], + ['object_5felement',['object_element',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#a9c03c76d3a8e89c8928097ba0b92c2db',1,'nlohmann::detail::json_sax_dom_parser::object_element()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a2a8adecd936ba6ec187f1216241b508f',1,'nlohmann::detail::json_sax_dom_callback_parser::object_element()']]], + ['object_5fiterator',['object_iterator',['../d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html#a8cb0af3498061426c1d0a65ad6220408',1,'nlohmann::detail::internal_iterator']]], + ['op_5fmode',['op_mode',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a43cbfcab995a238e2001c4ec6543ae50',1,'cudnn_frontend::Operation_v8']]], + ['operationtag',['operationTag',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a736317246d52e774170bc60511870932',1,'cudnn_frontend::Operation_v8']]], + ['opgraph',['opGraph',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a6053f049f393faebc7188bfa1e8c2d38',1,'cudnn_frontend::Engine_v8::opGraph()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#ae8995303eac50633f6320f5949a045bb',1,'cudnn_frontend::EngineFallbackList_v8::opGraph()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a081860775bfc5626bd57066066eb4299',1,'cudnn_frontend::EngineHeuristics_v8::opGraph()']]], + ['opgraphtag',['opGraphTag',['../dc/d3c/classcudnn__frontend_1_1Engine__v8.html#a620ad17c3560e87d5a859d7f0eb121d4',1,'cudnn_frontend::Engine_v8::opGraphTag()'],['../df/d83/classcudnn__frontend_1_1EngineConfig__v8.html#a37695c0659b489b06ff3b83194be59bb',1,'cudnn_frontend::EngineConfig_v8::opGraphTag()'],['../db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.html#a9f8070f063b1c0564297260ebe812506',1,'cudnn_frontend::EngineFallbackList_v8::opGraphTag()'],['../db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.html#a7c958bd4b97b4a77694d2bee01acec4c',1,'cudnn_frontend::EngineHeuristics_v8::opGraphTag()'],['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#ac8ca1ba29ac3f8e68ba1bf3e5e500338',1,'cudnn_frontend::OperationGraph_v8::opGraphTag()']]], + ['ops',['ops',['../de/dd9/classcudnn__frontend_1_1OperationGraph__v8.html#ab2570d81fc01c1b6b9a76220b0abd717',1,'cudnn_frontend::OperationGraph_v8']]], + ['other_5fiter_5fimpl',['other_iter_impl',['../d1/d7c/classnlohmann_1_1detail_1_1iter__impl.html#aba0841e618c77cc65ccfd52164c346b9',1,'nlohmann::detail::iter_impl']]], + ['owned_5fvalue',['owned_value',['../da/d10/classnlohmann_1_1detail_1_1json__ref.html#a5d7bd67a5ab713d9be1e248cf9d509cd',1,'nlohmann::detail::json_ref']]] ]; diff --git a/docs/search/variables_e.js b/docs/search/variables_e.js index 5d662edd..0839605d 100644 --- a/docs/search/variables_e.js +++ b/docs/search/variables_e.js @@ -1,4 +1,15 @@ var searchData= [ - ['time_5fms',['time_ms',['../d6/d1b/structcudnn__frontend_1_1executionOption.html#a56b496b09272c352b557d793adc3acf1',1,'cudnn_frontend::executionOption']]] + ['padlower',['padLower',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#aff824fb1cf44c188a7400b017458327e',1,'cudnn_frontend::ConvDesc_v8']]], + ['padupper',['padUpper',['../d6/d73/classcudnn__frontend_1_1ConvDesc__v8.html#a28e6ad906bf25653c87525f9f8e90a28',1,'cudnn_frontend::ConvDesc_v8']]], + ['parent',['parent',['../da/de8/classnlohmann_1_1json__pointer.html#a9d826fc24f7821325e4f24d4393d6adc',1,'nlohmann::json_pointer']]], + ['plan',['plan',['../d6/d1b/structcudnn__frontend_1_1executionOption.html#ae84235aee01c4556303b39961e1e1c5e',1,'cudnn_frontend::executionOption']]], + ['plantag',['planTag',['../d7/d0d/group__ExecutionPlanQuery.html#gaf732b37c9c05a2a8bd1a76289c740c4a',1,'cudnn_frontend::ExecutionPlan_v8']]], + ['plus',['plus',['../df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.html#a3321ae2816a6ec5250a0d8e29f798232',1,'nlohmann::detail::dtoa_impl::boundaries']]], + ['pointer',['pointer',['../d6/d88/classcudnn__frontend_1_1BackendDescriptor.html#a62312f29dbbc7c11c1da54a2ad41c52f',1,'cudnn_frontend::BackendDescriptor']]], + ['pointwise_5fmode',['pointwise_mode',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a09f5151a90f805d81550a30617bcec0c',1,'cudnn_frontend::Operation_v8']]], + ['pointwise_5fport_5fcount',['pointwise_port_count',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a5c6b2986d2d703c672b5fc461f2eee05',1,'cudnn_frontend::Operation_v8']]], + ['position',['position',['../d8/d22/classnlohmann_1_1detail_1_1lexer.html#a8a1bda107ce1622c0cb3174fa12155ea',1,'nlohmann::detail::lexer']]], + ['primitive_5fiterator',['primitive_iterator',['../d7/d10/structnlohmann_1_1detail_1_1internal__iterator.html#a2b3bb45f968210e42c282017eeeb63a8',1,'nlohmann::detail::internal_iterator']]], + ['pwdesc',['pwdesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#aac54965185417e264093156b143a3751',1,'cudnn_frontend::Operation_v8']]] ]; diff --git a/docs/search/variables_f.js b/docs/search/variables_f.js index 82124aa8..61b615f9 100644 --- a/docs/search/variables_f.js +++ b/docs/search/variables_f.js @@ -1,5 +1,9 @@ var searchData= [ - ['uid',['uid',['../d0/d20/classcudnn__frontend_1_1VariantPack__v8.html#a5c3371913fd88b20557bcc4d8ef93219',1,'cudnn_frontend::VariantPack_v8']]], - ['upper_5fclip',['upper_clip',['../d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.html#afcb75336d3b99afcec3bb947c1f1a0e8',1,'cudnn_frontend::PointWiseDesc_v8']]] + ['reduction_5fop',['reduction_op',['../d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.html#a7de6c8f64b486904b1e7542eb6b40281',1,'cudnn_frontend::ReductionDesc_v8']]], + ['reductiondesc',['reductiondesc',['../d4/d30/classcudnn__frontend_1_1Operation__v8.html#a99735bf6f673f0e3346e9be611125e2f',1,'cudnn_frontend::Operation_v8']]], + ['ref_5fstack',['ref_stack',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aa7526e7ae7be7f63803a23fd8cf36e5d',1,'nlohmann::detail::json_sax_dom_parser::ref_stack()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a82a0e49479660b9903597e1ef55c6601',1,'nlohmann::detail::json_sax_dom_callback_parser::ref_stack()']]], + ['reference_5ftokens',['reference_tokens',['../da/de8/classnlohmann_1_1json__pointer.html#a468dde132b1384d962c75eca7306f6cb',1,'nlohmann::json_pointer::reference_tokens()'],['../da/de8/classnlohmann_1_1json__pointer.html#a07a990a6838de4f38ee9d881e7b9fd61',1,'nlohmann::json_pointer::reference_tokens()']]], + ['result',['result',['../da/de8/classnlohmann_1_1json__pointer.html#ae3d35f4085faec07b87c88ba0dae457d',1,'nlohmann::json_pointer::result()'],['../da/de8/classnlohmann_1_1json__pointer.html#a8473b794a810d3fdb46cf985bfa9e2bb',1,'nlohmann::json_pointer::result()']]], + ['root',['root',['../dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.html#aef0477277389e399d7128898841b71c0',1,'nlohmann::detail::json_sax_dom_parser::root()'],['../d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.html#a7b12037ca38be3ddec09c42bd71080cc',1,'nlohmann::detail::json_sax_dom_callback_parser::root()']]] ]; diff --git a/docs/xml/d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.xml b/docs/xml/d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.xml new file mode 100644 index 00000000..0a66a7c1 --- /dev/null +++ b/docs/xml/d0/d14/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl_3_01RealIntegerType_00_01Compatie5920c849e839ebb9f8c57349c900796.xml @@ -0,0 +1,85 @@ + + + + nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > > + json.hpp + + + typename RealIntegerType + + + typename CompatibleNumberIntegerType + + + + + std::numeric_limits< RealIntegerType > + using nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >::RealLimits = std::numeric_limits<RealIntegerType> + + RealLimits + + + + + + + + + + std::numeric_limits< CompatibleNumberIntegerType > + using nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >::CompatibleLimits = std::numeric_limits<CompatibleNumberIntegerType> + + CompatibleLimits + + + + + + + + + + + + constexpr auto + constexpr auto nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >::value + + value + = + is_constructible<RealIntegerType, + CompatibleNumberIntegerType>::value && + CompatibleLimits::is_integer && + RealLimits::is_signed == CompatibleLimits::is_signed + + + + + + + + + + + + + + + + + + + +value + + + + + + + + + nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >CompatibleLimits + nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >RealLimits + nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > >value + + + diff --git a/docs/xml/d0/d20/classcudnn__frontend_1_1VariantPack__v8.xml b/docs/xml/d0/d20/classcudnn__frontend_1_1VariantPack__v8.xml index 51d59ceb..9104dd2d 100644 --- a/docs/xml/d0/d20/classcudnn__frontend_1_1VariantPack__v8.xml +++ b/docs/xml/d0/d20/classcudnn__frontend_1_1VariantPack__v8.xml @@ -193,63 +193,63 @@ num knobsChoiceEngine Use VariantPackBuilder_v8 to build this class. Describe returns a string describing the tensor class - + - + - + - + - + - + - + - + - + - + -num_ptrs -uid - + -data_pointers -workspace - + - + - + #err_msg - + #pointer - + #status - + - + diff --git a/docs/xml/d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.xml b/docs/xml/d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.xml new file mode 100644 index 00000000..71880868 --- /dev/null +++ b/docs/xml/d0/d3d/structnlohmann_1_1detail_1_1has__from__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is3ee028c64c76c768be45996bb13fc9c5.xml @@ -0,0 +1,69 @@ + + + + nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > + json.hpp + + + typename BasicJsonType + + + typename T + + + + + typename BasicJsonType::template json_serializer< T, void > + using nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer = typename BasicJsonType::template json_serializer<T, void> + + serializer + + + + + + + + + + + + constexpr bool + constexpr bool nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value + + value + = + is_detected_exact<void, from_json_function, serializer, + const BasicJsonType&, T&>::value + + + + + + + + + + + + + + + + + + + + + + +value + + + + + + nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >serializer + nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >value + + + diff --git a/docs/xml/d0/d82/structnlohmann_1_1json__sax.xml b/docs/xml/d0/d82/structnlohmann_1_1json__sax.xml new file mode 100644 index 00000000..772739f2 --- /dev/null +++ b/docs/xml/d0/d82/structnlohmann_1_1json__sax.xml @@ -0,0 +1,548 @@ + + + + nlohmann::json_sax + json.hpp + + + typename BasicJsonType + + + + + typename BasicJsonType::number_integer_t + using nlohmann::json_sax< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t + + number_integer_t + + + + + + + + + + typename BasicJsonType::number_unsigned_t + using nlohmann::json_sax< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t + + number_unsigned_t + + + + + + + + + + typename BasicJsonType::number_float_t + using nlohmann::json_sax< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t + + number_float_t + + + + + + + + + + typename BasicJsonType::string_t + using nlohmann::json_sax< BasicJsonType >::string_t = typename BasicJsonType::string_t + + string_t + + + + + + + + + + typename BasicJsonType::binary_t + using nlohmann::json_sax< BasicJsonType >::binary_t = typename BasicJsonType::binary_t + + binary_t + + + + + + + + + + + + bool + virtual bool nlohmann::json_sax< BasicJsonType >::null + ()=0 + null + +a null value was read + +whether parsing should proceed + + + + + + + bool + virtual bool nlohmann::json_sax< BasicJsonType >::boolean + (bool val)=0 + boolean + + bool + val + + +a boolean value was read + + + +val + + +boolean value + + +whether parsing should proceed + + + + + + + bool + virtual bool nlohmann::json_sax< BasicJsonType >::number_integer + (number_integer_t val)=0 + number_integer + + number_integer_t + val + + +an integer number was read + + + +val + + +integer value + + +whether parsing should proceed + + + + + + + bool + virtual bool nlohmann::json_sax< BasicJsonType >::number_unsigned + (number_unsigned_t val)=0 + number_unsigned + + number_unsigned_t + val + + +an unsigned integer number was read + + + +val + + +unsigned integer value + + +whether parsing should proceed + + + + + + + bool + virtual bool nlohmann::json_sax< BasicJsonType >::number_float + (number_float_t val, const string_t &s)=0 + number_float + + number_float_t + val + + + const string_t & + s + + +an floating-point number was read + + + +val + + +floating-point value + + + +s + + +raw token value + + +whether parsing should proceed + + + + + + + bool + virtual bool nlohmann::json_sax< BasicJsonType >::string + (string_t &val)=0 + string + + string_t & + val + + +a string was read + + + +val + + +string value + + +whether parsing should proceed +It is safe to move the passed string. + + + + + + + bool + virtual bool nlohmann::json_sax< BasicJsonType >::binary + (binary_t &val)=0 + binary + + binary_t & + val + + +a binary string was read + + + +val + + +binary value + + +whether parsing should proceed +It is safe to move the passed binary. + + + + + + + bool + virtual bool nlohmann::json_sax< BasicJsonType >::start_object + (std::size_t elements)=0 + start_object + + std::size_t + elements + + +the beginning of an object was read + + + +elements + + +number of object elements or -1 if unknown + + +whether parsing should proceed +binary formats may report the number of elements + + + + + + + bool + virtual bool nlohmann::json_sax< BasicJsonType >::key + (string_t &val)=0 + key + + string_t & + val + + +an object key was read + + + +val + + +object key + + +whether parsing should proceed +It is safe to move the passed string. + + + + + + + bool + virtual bool nlohmann::json_sax< BasicJsonType >::end_object + ()=0 + end_object + +the end of an object was read + +whether parsing should proceed + + + + + + + bool + virtual bool nlohmann::json_sax< BasicJsonType >::start_array + (std::size_t elements)=0 + start_array + + std::size_t + elements + + +the beginning of an array was read + + + +elements + + +number of array elements or -1 if unknown + + +whether parsing should proceed +binary formats may report the number of elements + + + + + + + bool + virtual bool nlohmann::json_sax< BasicJsonType >::end_array + ()=0 + end_array + +the end of an array was read + +whether parsing should proceed + + + + + + + bool + virtual bool nlohmann::json_sax< BasicJsonType >::parse_error + (std::size_t position, const std::string &last_token, const detail::exception &ex)=0 + parse_error + + std::size_t + position + + + const std::string & + last_token + + + const detail::exception & + ex + + +a parse error occurred + + + +position + + +the position in the input where the error occurs + + + +last_token + + +the last read token + + + +ex + + +an exception object describing the error + + +whether parsing should proceed (must return false) + + + + + + + + nlohmann::json_sax< BasicJsonType >::json_sax + ()=default + json_sax + + + + + + + + + + + nlohmann::json_sax< BasicJsonType >::json_sax + (const json_sax &)=default + json_sax + + const json_sax & + + + + + + + + + + + + nlohmann::json_sax< BasicJsonType >::json_sax + (json_sax &&) noexcept=default + json_sax + + json_sax && + + + + + + + + + + + json_sax & + json_sax& nlohmann::json_sax< BasicJsonType >::operator= + (const json_sax &)=default + operator= + + const json_sax & + + + + + + + + + + + json_sax & + json_sax& nlohmann::json_sax< BasicJsonType >::operator= + (json_sax &&) noexcept=default + operator= + + json_sax && + + + + + + + + + + + + virtual nlohmann::json_sax< BasicJsonType >::~json_sax + ()=default + ~json_sax + + + + + + + + + + +SAX interface. + +This class describes the SAX interface used by nlohmann::json::sax_parse. Each function is called in different situations while the input is parsed. The boolean return value informs the parser whether to continue processing the input. + + + + + + + + + nlohmann::json_saxbinary + nlohmann::json_saxbinary_t + nlohmann::json_saxboolean + nlohmann::json_saxend_array + nlohmann::json_saxend_object + nlohmann::json_saxjson_sax + nlohmann::json_saxjson_sax + nlohmann::json_saxjson_sax + nlohmann::json_saxkey + nlohmann::json_saxnull + nlohmann::json_saxnumber_float + nlohmann::json_saxnumber_float_t + nlohmann::json_saxnumber_integer + nlohmann::json_saxnumber_integer_t + nlohmann::json_saxnumber_unsigned + nlohmann::json_saxnumber_unsigned_t + nlohmann::json_saxoperator= + nlohmann::json_saxoperator= + nlohmann::json_saxparse_error + nlohmann::json_saxstart_array + nlohmann::json_saxstart_object + nlohmann::json_saxstring + nlohmann::json_saxstring_t + nlohmann::json_sax~json_sax + + + diff --git a/docs/xml/d0/d8d/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4.xml b/docs/xml/d0/d8d/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4.xml new file mode 100644 index 00000000..2ed6c82e --- /dev/null +++ b/docs/xml/d0/d8d/structnlohmann_1_1detail_1_1is__json__ref_3_01json__ref_3_01T_01_4_01_4.xml @@ -0,0 +1,42 @@ + + + + nlohmann::detail::is_json_ref< json_ref< T > > + true_type + json.hpp + + + typename T + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.xml b/docs/xml/d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.xml new file mode 100644 index 00000000..3d7525e0 --- /dev/null +++ b/docs/xml/d0/dad/structnlohmann_1_1detail_1_1is__compatible__string__type__impl_3_01BasicJsonType_00_01Compatible494e9dc742c819c61e54b8282030b5b6.xml @@ -0,0 +1,52 @@ + + + + nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > > + json.hpp + + + typename BasicJsonType + + + typename CompatibleStringType + + + + + constexpr auto + constexpr auto nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >::value + + value + = + is_constructible<typename BasicJsonType::string_t, CompatibleStringType>::value + + + + + + + + + + + + + + + + + + + + + + +value + + + + + + nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >value + + + diff --git a/docs/xml/d0/db1/structnlohmann_1_1detail_1_1identity__tag.xml b/docs/xml/d0/db1/structnlohmann_1_1detail_1_1identity__tag.xml new file mode 100644 index 00000000..df8869c8 --- /dev/null +++ b/docs/xml/d0/db1/structnlohmann_1_1detail_1_1identity__tag.xml @@ -0,0 +1,25 @@ + + + + nlohmann::detail::identity_tag + json.hpp + + + class T + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.xml b/docs/xml/d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.xml new file mode 100644 index 00000000..e1cedf61 --- /dev/null +++ b/docs/xml/d0/dc6/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapte602516bdb0b70b8ee5c6d4ff825368be.xml @@ -0,0 +1,62 @@ + + + + nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> > + json.hpp + + + typename ContainerType + + + + + decltype(input_adapter(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))) + using nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >::adapter_type = decltype(input_adapter(begin(std::declval<ContainerType>()), end(std::declval<ContainerType>()))) + + adapter_type + + + + + + + + + + + + adapter_type + static adapter_type nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >::create + (const ContainerType &container) + create + + const ContainerType & + container + + + + + + + + + nlohmann::detail::input_adapter + + + + + + + + + + + + + + + nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >adapter_type + nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >create + + + diff --git a/docs/xml/d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.xml b/docs/xml/d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.xml new file mode 100644 index 00000000..8a408949 --- /dev/null +++ b/docs/xml/d1/d07/structnlohmann_1_1detail_1_1is__compatible__type__impl_3_01BasicJsonType_00_01CompatibleType_00_fa54cb60e66f5c6ba93b1dd3f418b703.xml @@ -0,0 +1,52 @@ + + + + nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > > + json.hpp + + + typename BasicJsonType + + + typename CompatibleType + + + + + constexpr bool + constexpr bool nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >::value + + value + = + has_to_json<BasicJsonType, CompatibleType>::value + + + + + + + + + + + + + + + + + + + +value + + + + + + + + + nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >value + + + diff --git a/docs/xml/d1/d21/structnlohmann_1_1detail_1_1is__compatible__integer__type.xml b/docs/xml/d1/d21/structnlohmann_1_1detail_1_1is__compatible__integer__type.xml new file mode 100644 index 00000000..2fcc8e77 --- /dev/null +++ b/docs/xml/d1/d21/structnlohmann_1_1detail_1_1is__compatible__integer__type.xml @@ -0,0 +1,75 @@ + + + + nlohmann::detail::is_compatible_integer_type + nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType > + json.hpp + + + typename RealIntegerType + + + typename CompatibleNumberIntegerType + + + + + + + + + + + + + + + + + < RealIntegerType, CompatibleNumberIntegerType > + + + + + + + + + + + + + + + + + + + + + + + + + + < RealIntegerType, CompatibleNumberIntegerType > + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.xml b/docs/xml/d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.xml index 3b109cb2..aae66b60 100644 --- a/docs/xml/d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.xml +++ b/docs/xml/d1/d28/classcudnn__frontend_1_1EngineHeuristicsBuilder__v8.xml @@ -150,80 +150,80 @@ EngineHeuristicsBuilder_v8 Class Helper class used to build EngineHeuristics_v8 class - + - + - + - + +elements - + - + -m_heuristics - + - + - + +elements - + < ManagedOpaqueDescriptor > - + - + - + - + -m_heuristic_results - + -mode - + -opGraphTag - + -opGraph - + - + - + #err_msg - + #pointer - + #status - + - + - + diff --git a/docs/xml/d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.xml b/docs/xml/d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.xml index c0b1da63..e85a1ff7 100644 --- a/docs/xml/d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.xml +++ b/docs/xml/d1/d29/classcudnn__frontend_1_1OperationBuilder__v8.xml @@ -15,7 +15,7 @@ - + bool @@ -29,7 +29,7 @@ - + bool @@ -43,7 +43,7 @@ - + bool @@ -57,7 +57,21 @@ - + + + + bool + bool cudnn_frontend::OperationBuilder_v8::is_reduction_op + + is_reduction_op + = false + + + + + + + @@ -76,8 +90,8 @@ - - cudnn_frontend::Operation_v8::xdesc + + cudnn_frontend::Operation_v8::xdesc auto @@ -94,8 +108,8 @@ - - cudnn_frontend::Operation_v8::xdesc + + cudnn_frontend::Operation_v8::xdesc auto @@ -112,8 +126,8 @@ - - cudnn_frontend::Operation_v8::bdesc + + cudnn_frontend::Operation_v8::bdesc cudnn_frontend::set_error_and_throw_exception @@ -131,8 +145,8 @@ - - cudnn_frontend::Operation_v8::ydesc + + cudnn_frontend::Operation_v8::ydesc auto @@ -149,9 +163,9 @@ - + cudnn_frontend::set_error_and_throw_exception - cudnn_frontend::Operation_v8::wdesc + cudnn_frontend::Operation_v8::wdesc auto @@ -168,8 +182,8 @@ - - cudnn_frontend::Operation_v8::dydesc + + cudnn_frontend::Operation_v8::dydesc auto @@ -186,8 +200,8 @@ - - cudnn_frontend::Operation_v8::dydesc + + cudnn_frontend::Operation_v8::dydesc auto @@ -204,8 +218,8 @@ - - cudnn_frontend::Operation_v8::dxdesc + + cudnn_frontend::Operation_v8::dxdesc auto @@ -222,8 +236,8 @@ - - cudnn_frontend::Operation_v8::dwdesc + + cudnn_frontend::Operation_v8::dwdesc auto @@ -240,8 +254,8 @@ - - cudnn_frontend::Operation_v8::cdesc + + cudnn_frontend::Operation_v8::cdesc cudnn_frontend::set_error_and_throw_exception @@ -259,8 +273,8 @@ - - cudnn_frontend::Operation_v8::amatdesc + + cudnn_frontend::Operation_v8::amatdesc cudnn_frontend::set_error_and_throw_exception @@ -278,8 +292,8 @@ - - cudnn_frontend::Operation_v8::bmatdesc + + cudnn_frontend::Operation_v8::bmatdesc cudnn_frontend::set_error_and_throw_exception @@ -297,8 +311,8 @@ - - cudnn_frontend::Operation_v8::cmatdesc + + cudnn_frontend::Operation_v8::cmatdesc cudnn_frontend::set_error_and_throw_exception @@ -316,8 +330,27 @@ - - cudnn_frontend::Operation_v8::matmuldesc + + cudnn_frontend::Operation_v8::matmuldesc + cudnn_frontend::set_error_and_throw_exception + + + auto + auto cudnn_frontend::OperationBuilder_v8::setreductionDesc + (ReductionDesc_v8 const &reductionDesc) -> OperationBuilder_v8 & + setreductionDesc + + ReductionDesc_v8 const & + reductionDesc + + + + + + + + + cudnn_frontend::Operation_v8::reductiondesc cudnn_frontend::set_error_and_throw_exception @@ -335,13 +368,13 @@ - - cudnn_frontend::Operation_v8::is_pointwise_activation_bwd_op - cudnn_frontend::Operation_v8::is_pointwise_activation_fwd_op - cudnn_frontend::Operation_v8::is_pointwise_math_op - cudnn_frontend::Operation_v8::pointwise_mode - cudnn_frontend::Operation_v8::pointwise_port_count - cudnn_frontend::Operation_v8::pwdesc + + cudnn_frontend::Operation_v8::is_pointwise_activation_bwd_op + cudnn_frontend::Operation_v8::is_pointwise_activation_fwd_op + cudnn_frontend::Operation_v8::is_pointwise_math_op + cudnn_frontend::Operation_v8::pointwise_mode + cudnn_frontend::Operation_v8::pointwise_port_count + cudnn_frontend::Operation_v8::pwdesc cudnn_frontend::set_error_and_throw_exception @@ -359,10 +392,10 @@ - - cudnn_frontend::Operation_v8::alpha_d - cudnn_frontend::Operation_v8::alpha_s - cudnn_frontend::Operation_v8::alphabetaType + + cudnn_frontend::Operation_v8::alpha_d + cudnn_frontend::Operation_v8::alpha_s + cudnn_frontend::Operation_v8::alphabetaType auto @@ -379,10 +412,10 @@ - - cudnn_frontend::Operation_v8::alpha_d - cudnn_frontend::Operation_v8::alpha_s - cudnn_frontend::Operation_v8::alphabetaType + + cudnn_frontend::Operation_v8::alpha_d + cudnn_frontend::Operation_v8::alpha_s + cudnn_frontend::Operation_v8::alphabetaType auto @@ -399,10 +432,10 @@ - - cudnn_frontend::Operation_v8::alpha2_d - cudnn_frontend::Operation_v8::alpha2_s - cudnn_frontend::Operation_v8::alphabetaType + + cudnn_frontend::Operation_v8::alpha2_d + cudnn_frontend::Operation_v8::alpha2_s + cudnn_frontend::Operation_v8::alphabetaType auto @@ -419,10 +452,10 @@ - - cudnn_frontend::Operation_v8::alpha2_d - cudnn_frontend::Operation_v8::alpha2_s - cudnn_frontend::Operation_v8::alphabetaType + + cudnn_frontend::Operation_v8::alpha2_d + cudnn_frontend::Operation_v8::alpha2_s + cudnn_frontend::Operation_v8::alphabetaType auto @@ -439,10 +472,10 @@ - - cudnn_frontend::Operation_v8::alphabetaType - cudnn_frontend::Operation_v8::beta_d - cudnn_frontend::Operation_v8::beta_s + + cudnn_frontend::Operation_v8::alphabetaType + cudnn_frontend::Operation_v8::beta_d + cudnn_frontend::Operation_v8::beta_s auto @@ -459,10 +492,10 @@ - - cudnn_frontend::Operation_v8::alphabetaType - cudnn_frontend::Operation_v8::beta_d - cudnn_frontend::Operation_v8::beta_s + + cudnn_frontend::Operation_v8::alphabetaType + cudnn_frontend::Operation_v8::beta_d + cudnn_frontend::Operation_v8::beta_s @@ -479,8 +512,8 @@ - - cudnn_frontend::Operation_v8::op_mode + + cudnn_frontend::Operation_v8::op_mode Operation_v8 && @@ -493,38 +526,39 @@ constructs the backend Operation_v8 by calling the cudnn API Throws the appropriate error message - - cudnn_frontend::Operation_v8::alpha2_d - cudnn_frontend::Operation_v8::alpha2_s - cudnn_frontend::Operation_v8::alpha_d - cudnn_frontend::Operation_v8::alpha_s - cudnn_frontend::Operation_v8::alphabetaType - cudnn_frontend::Operation_v8::amatdesc - cudnn_frontend::Operation_v8::bdesc - cudnn_frontend::Operation_v8::beta_d - cudnn_frontend::Operation_v8::beta_s - cudnn_frontend::Operation_v8::bmatdesc - cudnn_frontend::Operation_v8::cdesc - cudnn_frontend::Operation_v8::cmatdesc - cudnn_frontend::Operation_v8::dwdesc - cudnn_frontend::Operation_v8::dxdesc - cudnn_frontend::Operation_v8::dydesc + + cudnn_frontend::Operation_v8::alpha2_d + cudnn_frontend::Operation_v8::alpha2_s + cudnn_frontend::Operation_v8::alpha_d + cudnn_frontend::Operation_v8::alpha_s + cudnn_frontend::Operation_v8::alphabetaType + cudnn_frontend::Operation_v8::amatdesc + cudnn_frontend::Operation_v8::bdesc + cudnn_frontend::Operation_v8::beta_d + cudnn_frontend::Operation_v8::beta_s + cudnn_frontend::Operation_v8::bmatdesc + cudnn_frontend::Operation_v8::cdesc + cudnn_frontend::Operation_v8::cmatdesc + cudnn_frontend::Operation_v8::dwdesc + cudnn_frontend::Operation_v8::dxdesc + cudnn_frontend::Operation_v8::dydesc cudnn_frontend::BackendDescriptor::initialize_managed_backend_pointer - cudnn_frontend::Operation_v8::is_pointwise_activation_bwd_op - cudnn_frontend::Operation_v8::is_pointwise_activation_fwd_op - cudnn_frontend::Operation_v8::is_pointwise_math_op - cudnn_frontend::Operation_v8::matmuldesc - cudnn_frontend::Operation_v8::op_mode - cudnn_frontend::Operation_v8::operationTag + cudnn_frontend::Operation_v8::is_pointwise_activation_bwd_op + cudnn_frontend::Operation_v8::is_pointwise_activation_fwd_op + cudnn_frontend::Operation_v8::is_pointwise_math_op + cudnn_frontend::Operation_v8::matmuldesc + cudnn_frontend::Operation_v8::op_mode + cudnn_frontend::Operation_v8::operationTag cudnn_frontend::BackendDescriptor::pointer - cudnn_frontend::Operation_v8::pointwise_mode - cudnn_frontend::Operation_v8::pointwise_port_count - cudnn_frontend::Operation_v8::pwdesc + cudnn_frontend::Operation_v8::pointwise_mode + cudnn_frontend::Operation_v8::pointwise_port_count + cudnn_frontend::Operation_v8::pwdesc + cudnn_frontend::Operation_v8::reductiondesc cudnn_frontend::set_error_and_throw_exception cudnn_frontend::BackendDescriptor::status - cudnn_frontend::Operation_v8::wdesc - cudnn_frontend::Operation_v8::xdesc - cudnn_frontend::Operation_v8::ydesc + cudnn_frontend::Operation_v8::wdesc + cudnn_frontend::Operation_v8::xdesc + cudnn_frontend::Operation_v8::ydesc @@ -532,122 +566,124 @@ OperationBuilder_v8 Class Helper class used to build Operation_v8 class - + - + -is_matmul_op -is_pointwise_op -is_convolution_op + -is_reduction_op - + -m_operation - + - + - + - + -alpha2_d -alpha_d -beta_d - + -alphabetaType - + -pointwise_mode - + -alpha_s -beta_s -alpha2_s - + -pointwise_port_count - + -operationTag - + -is_pointwise_math_op -is_pointwise_activation_fwd_op -is_pointwise_activation_bwd_op - + -dwdesc -dxdesc -dydesc -bdesc -pwdesc -cdesc + -reductiondesc -wdesc -xdesc -ydesc - -cmatdesc ... - + -op_mode - + - + - + - + - + - + - + - + - + - + - + #err_msg - + #pointer - + #status - + - + - + cudnn_frontend::OperationBuilder_v8build cudnn_frontend::OperationBuilder_v8is_convolution_op cudnn_frontend::OperationBuilder_v8is_matmul_op cudnn_frontend::OperationBuilder_v8is_pointwise_op + cudnn_frontend::OperationBuilder_v8is_reduction_op cudnn_frontend::OperationBuilder_v8m_operation cudnn_frontend::OperationBuilder_v8OperationBuilder_v8 cudnn_frontend::OperationBuilder_v8setAlpha @@ -667,6 +703,7 @@ cudnn_frontend::OperationBuilder_v8setdyDesc cudnn_frontend::OperationBuilder_v8setmatmulDesc cudnn_frontend::OperationBuilder_v8setpwDesc + cudnn_frontend::OperationBuilder_v8setreductionDesc cudnn_frontend::OperationBuilder_v8setwDesc cudnn_frontend::OperationBuilder_v8setxDesc cudnn_frontend::OperationBuilder_v8setxDesc diff --git a/docs/xml/d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.xml b/docs/xml/d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.xml new file mode 100644 index 00000000..56323ea3 --- /dev/null +++ b/docs/xml/d1/d2d/structnlohmann_1_1detail_1_1is__sax__static__asserts.xml @@ -0,0 +1,114 @@ + + + + nlohmann::detail::is_sax_static_asserts + json.hpp + + + typename SAX + + + typename BasicJsonType + + + + + typename BasicJsonType::number_integer_t + using nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t + + number_integer_t + + + + + + + + + + typename BasicJsonType::number_unsigned_t + using nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t + + number_unsigned_t + + + + + + + + + + typename BasicJsonType::number_float_t + using nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t + + number_float_t + + + + + + + + + + typename BasicJsonType::string_t + using nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >::string_t = typename BasicJsonType::string_t + + string_t + + + + + + + + + + typename BasicJsonType::binary_t + using nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >::binary_t = typename BasicJsonType::binary_t + + binary_t + + + + + + + + + + typename BasicJsonType::exception + using nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >::exception_t = typename BasicJsonType::exception + + exception_t + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::is_sax_static_assertsbinary_t + nlohmann::detail::is_sax_static_assertsexception_t + nlohmann::detail::is_sax_static_assertsnumber_float_t + nlohmann::detail::is_sax_static_assertsnumber_integer_t + nlohmann::detail::is_sax_static_assertsnumber_unsigned_t + nlohmann::detail::is_sax_static_assertsstring_t + + + diff --git a/docs/xml/d1/d62/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory.xml b/docs/xml/d1/d62/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory.xml new file mode 100644 index 00000000..898b9a01 --- /dev/null +++ b/docs/xml/d1/d62/structnlohmann_1_1detail_1_1container__input__adapter__factory__impl_1_1container__input__adapter__factory.xml @@ -0,0 +1,29 @@ + + + + nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory + json.hpp + + + typename ContainerType + + + typename Enable + void + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d1/d74/classcudnn__frontend_1_1ExecutionPlanBuilder__v8.xml b/docs/xml/d1/d74/classcudnn__frontend_1_1ExecutionPlanBuilder__v8.xml index 9615f904..7fac9220 100644 --- a/docs/xml/d1/d74/classcudnn__frontend_1_1ExecutionPlanBuilder__v8.xml +++ b/docs/xml/d1/d74/classcudnn__frontend_1_1ExecutionPlanBuilder__v8.xml @@ -172,56 +172,56 @@ ExecutionPlanBuilder_v8 Class Helper class used to build ExecutionPlan_v8 class - + - + - + - + - + - + -m_execution_plan - + - + - + -planTag - + -handle - + -engine_config - + - + #err_msg - + #pointer - + #status - + - + diff --git a/docs/xml/d1/d7c/classnlohmann_1_1detail_1_1iter__impl.xml b/docs/xml/d1/d7c/classnlohmann_1_1detail_1_1iter__impl.xml new file mode 100644 index 00000000..e2e6d1c1 --- /dev/null +++ b/docs/xml/d1/d7c/classnlohmann_1_1detail_1_1iter__impl.xml @@ -0,0 +1,1029 @@ + + + + nlohmann::detail::iter_impl + json.hpp + + + typename + BasicJsonType + BasicJsonType + + + + + iter_impl< typename std::conditional< std::is_const< BasicJsonType >::value, typename std::remove_const< BasicJsonType >::type, const BasicJsonType >::type > + using nlohmann::detail::iter_impl< BasicJsonType >::other_iter_impl = iter_impl<typename std::conditional<std::is_const<BasicJsonType>::value, typename std::remove_const<BasicJsonType>::type, const BasicJsonType>::type> + + other_iter_impl + +the iterator with BasicJsonType of different const-ness + + + + + + + + typename BasicJsonType::object_t + using nlohmann::detail::iter_impl< BasicJsonType >::object_t = typename BasicJsonType::object_t + + object_t + + + + + + + + + + typename BasicJsonType::array_t + using nlohmann::detail::iter_impl< BasicJsonType >::array_t = typename BasicJsonType::array_t + + array_t + + + + + + + + + + + + std::bidirectional_iterator_tag + using nlohmann::detail::iter_impl< BasicJsonType >::iterator_category = std::bidirectional_iterator_tag + + iterator_category + + + +The std::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. The C++ Standard has never required user-defined iterators to derive from std::iterator. A user-defined iterator should provide publicly accessible typedefs named iterator_category, value_type, difference_type, pointer, and reference. Note that value_type is required to be non-const, even for constant iterators. + + + + + + typename BasicJsonType::value_type + using nlohmann::detail::iter_impl< BasicJsonType >::value_type = typename BasicJsonType::value_type + + value_type + +the type of the values when the iterator is dereferenced + + + + + + + + typename BasicJsonType::difference_type + using nlohmann::detail::iter_impl< BasicJsonType >::difference_type = typename BasicJsonType::difference_type + + difference_type + +a type to represent differences between iterators + + + + + + + + typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer >::type + using nlohmann::detail::iter_impl< BasicJsonType >::pointer = typename std::conditional<std::is_const<BasicJsonType>::value, typename BasicJsonType::const_pointer, typename BasicJsonType::pointer>::type + + pointer + +defines a pointer to the type iterated over (value_type) + + + + + + + + typename std::conditional< std::is_const< BasicJsonType >::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference >::type + using nlohmann::detail::iter_impl< BasicJsonType >::reference = typename std::conditional<std::is_const<BasicJsonType>::value, typename BasicJsonType::const_reference, typename BasicJsonType::reference>::type + + reference + +defines a reference to the type iterated over (value_type) + + + + + + + + + + friend + friend nlohmann::detail::iter_impl< BasicJsonType >::other_iter_impl + + other_iter_impl + +allow basic_json to access private members + + + + + + + + friend + friend nlohmann::detail::iter_impl< BasicJsonType >::BasicJsonType + + BasicJsonType + + + + + + + + + + friend + friend nlohmann::detail::iter_impl< BasicJsonType >::iteration_proxy< iter_impl > + + iteration_proxy< iter_impl > + + + + + + + + + + friend + friend nlohmann::detail::iter_impl< BasicJsonType >::iteration_proxy_value< iter_impl > + + iteration_proxy_value< iter_impl > + + + + + + + + + + + + JSON_PRIVATE_UNLESS_TESTED + JSON_PRIVATE_UNLESS_TESTED nlohmann::detail::iter_impl< BasicJsonType >::__pad0__ + + __pad0__ + void set_begin() noexcept { JSON_ASSERT(m_object != nullptr) + + + + + + + + + + JSON_PRIVATE_UNLESS_TESTED + JSON_PRIVATE_UNLESS_TESTED nlohmann::detail::iter_impl< BasicJsonType >::__pad1__ + + __pad1__ + pointer m_object = nullptr + + + + + + + + + + internal_iterator< typename std::remove_const< BasicJsonType >::type > + internal_iterator<typename std::remove_const<BasicJsonType>::type> nlohmann::detail::iter_impl< BasicJsonType >::m_it + + m_it + {} + +the actual iterator of the associated instance + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert_iterator + nlohmann::detail::iter_impl< BasicJsonType >::operator- + nlohmann::detail::iter_impl< BasicJsonType >::operator< + nlohmann::detail::iter_impl< BasicJsonType >::operator= + + + + + + nlohmann::detail::iter_impl< BasicJsonType >::iter_impl + ()=default + iter_impl + + + + + + + + + + + nlohmann::detail::iter_impl< BasicJsonType >::~iter_impl + ()=default + ~iter_impl + + + + + + + + + + + nlohmann::detail::iter_impl< BasicJsonType >::iter_impl + (iter_impl &&) noexcept=default + iter_impl + + iter_impl && + + + + + + + + + + + iter_impl & + iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator= + (iter_impl &&) noexcept=default + operator= + + iter_impl && + + + + + + + + + + + + nlohmann::detail::iter_impl< BasicJsonType >::iter_impl + (pointer object) noexcept + iter_impl + + pointer + object + + +constructor for a given JSON instance + + + +object + + +pointer to a JSON object for this iterator + + +object != nullptr +The iterator is initialized; i.e. m_object != nullptr. + + + + + nlohmann::detail::array + JSON_ASSERT + nlohmann::detail::object + + + + nlohmann::detail::iter_impl< BasicJsonType >::iter_impl + (const iter_impl< const BasicJsonType > &other) noexcept + iter_impl + + const iter_impl< const BasicJsonType > & + other + + +const copy constructor + +The conventional copy constructor and copy assignment are implicitly defined. Combined with the following converting constructor and assignment, they support: (1) copy from iterator to iterator, (2) copy from const iterator to const iterator, and (3) conversion from iterator to const iterator. However conversion from const iterator to iterator is not defined. + + +other + + +const iterator to copy from + + +This copy constructor had to be defined explicitly to circumvent a bug occurring on msvc v19.0 compiler (VS 2015) debug build. For more information refer to: https://github.com/nlohmann/json/issues/1608 + + + + + + + iter_impl & + iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator= + (const iter_impl< const BasicJsonType > &other) noexcept + operator= + + const iter_impl< const BasicJsonType > & + other + + +converting assignment + + + +other + + +const iterator to copy from + + +const/non-const iterator +It is not checked whether other is initialized. + + + + + nlohmann::detail::iter_impl< BasicJsonType >::m_it + + + + nlohmann::detail::iter_impl< BasicJsonType >::iter_impl + (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept + iter_impl + + const iter_impl< typename std::remove_const< BasicJsonType >::type > & + other + + +converting constructor + + + +other + + +non-const iterator to copy from + + +It is not checked whether other is initialized. + + + + + + + iter_impl & + iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator= + (const iter_impl< typename std::remove_const< BasicJsonType >::type > &other) noexcept + operator= + + const iter_impl< typename std::remove_const< BasicJsonType >::type > & + other + + +converting assignment + + + +other + + +non-const iterator to copy from + + +const/non-const iterator +It is not checked whether other is initialized. + + + + + JSON_PRIVATE_UNLESS_TESTED + nlohmann::detail::iter_impl< BasicJsonType >::m_it + + + + nlohmann::detail::iter_impl< BasicJsonType >::switch + (m_object->m_type) + switch + + m_object-> + m_type + + + + + + + + + nlohmann::detail::array + nlohmann::detail::null + nlohmann::detail::object + + + void + void nlohmann::detail::iter_impl< BasicJsonType >::set_end + () noexcept + set_end + +set the iterator past the last value + +The iterator is initialized; i.e. m_object != nullptr. + + + + + nlohmann::detail::array + JSON_ASSERT + nlohmann::detail::object + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::cend + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::end + + + reference + reference nlohmann::detail::iter_impl< BasicJsonType >::operator* + () const + operator* + +return a reference to the value pointed to by the iterator + +The iterator is initialized; i.e. m_object != nullptr. + + + + + nlohmann::detail::array + nlohmann::detail::invalid_iterator::create + JSON_ASSERT + JSON_HEDLEY_LIKELY + JSON_THROW + nlohmann::detail::null + nlohmann::detail::object + + + pointer + pointer nlohmann::detail::iter_impl< BasicJsonType >::operator-> + () const + operator-> + +dereference the iterator + +The iterator is initialized; i.e. m_object != nullptr. + + + + + nlohmann::detail::array + nlohmann::detail::invalid_iterator::create + JSON_ASSERT + JSON_HEDLEY_LIKELY + JSON_THROW + nlohmann::detail::object + + + iter_impl const + iter_impl const nlohmann::detail::iter_impl< BasicJsonType >::operator++ + (int) + operator++ + + int + + +post-increment (it++) + +The iterator is initialized; i.e. m_object != nullptr. + + + + + + + iter_impl & + iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator++ + () + operator++ + +pre-increment (++it) + +The iterator is initialized; i.e. m_object != nullptr. + + + + + nlohmann::detail::array + JSON_ASSERT + nlohmann::detail::object + + + iter_impl const + iter_impl const nlohmann::detail::iter_impl< BasicJsonType >::operator-- + (int) + operator-- + + int + + +post-decrement (it) + +The iterator is initialized; i.e. m_object != nullptr. + + + + + + + iter_impl & + iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator-- + () + operator-- + +pre-decrement (it) + +The iterator is initialized; i.e. m_object != nullptr. + + + + + nlohmann::detail::array + JSON_ASSERT + nlohmann::detail::object + + + + + typename IterImpl + + + detail::enable_if_t<(std::is_same< IterImpl, iter_impl >::value||std::is_same< IterImpl, other_iter_impl >::value), std::nullptr_t > + nullptr + + + bool + bool nlohmann::detail::iter_impl< BasicJsonType >::operator== + (const IterImpl &other) const + operator== + + const IterImpl & + other + + +comparison: equal + +The iterator is initialized; i.e. m_object != nullptr. + + + + + nlohmann::detail::array + nlohmann::detail::invalid_iterator::create + JSON_ASSERT + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::object + + + + + typename IterImpl + + + detail::enable_if_t<(std::is_same< IterImpl, iter_impl >::value||std::is_same< IterImpl, other_iter_impl >::value), std::nullptr_t > + nullptr + + + bool + bool nlohmann::detail::iter_impl< BasicJsonType >::operator!= + (const IterImpl &other) const + operator!= + + const IterImpl & + other + + +comparison: not equal + +The iterator is initialized; i.e. m_object != nullptr. + + + + + + + bool + bool nlohmann::detail::iter_impl< BasicJsonType >::operator< + (const iter_impl &other) const + operator< + + const iter_impl & + other + + +comparison: smaller + +The iterator is initialized; i.e. m_object != nullptr. + + + + + nlohmann::detail::array + nlohmann::detail::internal_iterator< BasicJsonType >::array_iterator + nlohmann::detail::invalid_iterator::create + JSON_ASSERT + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::iter_impl< BasicJsonType >::m_it + nlohmann::detail::object + nlohmann::detail::internal_iterator< BasicJsonType >::primitive_iterator + + + bool + bool nlohmann::detail::iter_impl< BasicJsonType >::operator<= + (const iter_impl &other) const + operator<= + + const iter_impl & + other + + +comparison: less than or equal + +The iterator is initialized; i.e. m_object != nullptr. + + + + + + + bool + bool nlohmann::detail::iter_impl< BasicJsonType >::operator> + (const iter_impl &other) const + operator> + + const iter_impl & + other + + +comparison: greater than + +The iterator is initialized; i.e. m_object != nullptr. + + + + + + + bool + bool nlohmann::detail::iter_impl< BasicJsonType >::operator>= + (const iter_impl &other) const + operator>= + + const iter_impl & + other + + +comparison: greater than or equal + +The iterator is initialized; i.e. m_object != nullptr. + + + + + nlohmann::detail::operator< + + + iter_impl & + iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator+= + (difference_type i) + operator+= + + difference_type + i + + +add to iterator + +The iterator is initialized; i.e. m_object != nullptr. + + + + + nlohmann::detail::array + nlohmann::detail::invalid_iterator::create + JSON_ASSERT + JSON_THROW + nlohmann::detail::object + + + iter_impl & + iter_impl& nlohmann::detail::iter_impl< BasicJsonType >::operator-= + (difference_type i) + operator-= + + difference_type + i + + +subtract from iterator + +The iterator is initialized; i.e. m_object != nullptr. + + + + + + + iter_impl + iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator+ + (difference_type i) const + operator+ + + difference_type + i + + +add to iterator + +The iterator is initialized; i.e. m_object != nullptr. + + + + + + + iter_impl + iter_impl nlohmann::detail::iter_impl< BasicJsonType >::operator- + (difference_type i) const + operator- + + difference_type + i + + +subtract from iterator + +The iterator is initialized; i.e. m_object != nullptr. + + + + + + + difference_type + difference_type nlohmann::detail::iter_impl< BasicJsonType >::operator- + (const iter_impl &other) const + operator- + + const iter_impl & + other + + +return difference + +The iterator is initialized; i.e. m_object != nullptr. + + + + + nlohmann::detail::array + nlohmann::detail::internal_iterator< BasicJsonType >::array_iterator + nlohmann::detail::invalid_iterator::create + JSON_ASSERT + JSON_THROW + nlohmann::detail::iter_impl< BasicJsonType >::m_it + nlohmann::detail::object + nlohmann::detail::internal_iterator< BasicJsonType >::primitive_iterator + + + reference + reference nlohmann::detail::iter_impl< BasicJsonType >::operator[] + (difference_type n) const + operator[] + + difference_type + n + + +access to successor + +The iterator is initialized; i.e. m_object != nullptr. + + + + + nlohmann::detail::array + nlohmann::detail::invalid_iterator::create + JSON_ASSERT + JSON_HEDLEY_LIKELY + JSON_THROW + nlohmann::detail::null + nlohmann::detail::object + + + const object_t::key_type & + const object_t::key_type& nlohmann::detail::iter_impl< BasicJsonType >::key + () const + key + +return the key of an object iterator + +The iterator is initialized; i.e. m_object != nullptr. + + + + + nlohmann::detail::invalid_iterator::create + JSON_ASSERT + JSON_HEDLEY_LIKELY + JSON_THROW + + + reference + reference nlohmann::detail::iter_impl< BasicJsonType >::value + () const + value + +return the value of an iterator + +The iterator is initialized; i.e. m_object != nullptr. + + + + + JSON_PRIVATE_UNLESS_TESTED + + + + + friend iter_impl + iter_impl operator+ + (difference_type i, const iter_impl &it) + operator+ + + difference_type + i + + + const iter_impl & + it + + +addition of distance and iterator + +The iterator is initialized; i.e. m_object != nullptr. + + + + + + + +a template for a bidirectional iterator for the basic_json class This class implements a both iterators (iterator and const_iterator) for the basic_json class. + +An iterator is called initialized when a pointer to a JSON value has been set (e.g., by a constructor or a copy assignment). If the iterator is default-constructed, it is uninitialized and most methods are undefined. The library uses assertions to detect calls on uninitialized iterators.** The class satisfies the following concept requirements: +BidirectionalIterator: The iterator that can be moved can be moved in both directions (i.e. incremented and decremented). + +version 1.0.0, simplified in version 2.0.9, change to bidirectional iterators in version 3.0.0 (see https://github.com/nlohmann/json/issues/593) + + + + + + + +m_it + + + +__pad0__ + +__pad1__ + + + -other_iter_impl + -iteration_proxy_value< iter_impl > + -iteration_proxy< iter_impl > + -BasicJsonType + + + + + + + + + + + + + + + + +array_iterator + + + +object_iterator + + + +primitive_iterator + + + < typename std::remove_const< BasicJsonType >::type > + + + + + + + -end_value + -begin_value + + + -__pad0__ + + + + + + + +array_iterator + + + +object_iterator + + + +primitive_iterator + + + + + + + + + nlohmann::detail::iter_impl__pad0__ + nlohmann::detail::iter_impl__pad1__ + nlohmann::detail::iter_implarray_t + nlohmann::detail::iter_implBasicJsonType + nlohmann::detail::iter_impldifference_type + nlohmann::detail::iter_impliter_impl + nlohmann::detail::iter_impliter_impl + nlohmann::detail::iter_impliter_impl + nlohmann::detail::iter_impliter_impl + nlohmann::detail::iter_impliter_impl + nlohmann::detail::iter_impliteration_proxy< iter_impl > + nlohmann::detail::iter_impliteration_proxy_value< iter_impl > + nlohmann::detail::iter_impliterator_category + nlohmann::detail::iter_implkey + nlohmann::detail::iter_implm_it + nlohmann::detail::iter_implobject_t + nlohmann::detail::iter_imploperator!= + nlohmann::detail::iter_imploperator* + nlohmann::detail::iter_imploperator+ + nlohmann::detail::iter_imploperator+ + nlohmann::detail::iter_imploperator++ + nlohmann::detail::iter_imploperator++ + nlohmann::detail::iter_imploperator+= + nlohmann::detail::iter_imploperator- + nlohmann::detail::iter_imploperator- + nlohmann::detail::iter_imploperator-- + nlohmann::detail::iter_imploperator-- + nlohmann::detail::iter_imploperator-= + nlohmann::detail::iter_imploperator-> + nlohmann::detail::iter_imploperator< + nlohmann::detail::iter_imploperator<= + nlohmann::detail::iter_imploperator= + nlohmann::detail::iter_imploperator= + nlohmann::detail::iter_imploperator= + nlohmann::detail::iter_imploperator== + nlohmann::detail::iter_imploperator> + nlohmann::detail::iter_imploperator>= + nlohmann::detail::iter_imploperator[] + nlohmann::detail::iter_implother_iter_impl + nlohmann::detail::iter_implother_iter_impl + nlohmann::detail::iter_implpointer + nlohmann::detail::iter_implreference + nlohmann::detail::iter_implset_end + nlohmann::detail::iter_implswitch + nlohmann::detail::iter_implvalue + nlohmann::detail::iter_implvalue_type + nlohmann::detail::iter_impl~iter_impl + + + diff --git a/docs/xml/d1/d8d/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.xml b/docs/xml/d1/d8d/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.xml new file mode 100644 index 00000000..326a3ee6 --- /dev/null +++ b/docs/xml/d1/d8d/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.xml @@ -0,0 +1,92 @@ + + + + nlohmann::detail::is_constructible< const std::tuple< Ts... > > + nlohmann::detail::is_default_constructible< const std::tuple< Ts... > > + json.hpp + + + typename... + Ts + Ts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < is_default_constructible< Ts >... > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < is_default_constructible< Ts >... > + + + + + + + + + + + + + + diff --git a/docs/xml/d1/d96/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4.xml b/docs/xml/d1/d96/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4.xml new file mode 100644 index 00000000..75405688 --- /dev/null +++ b/docs/xml/d1/d96/structnlohmann_1_1detail_1_1conjunction_3_01B1_01_4.xml @@ -0,0 +1,44 @@ + + + + nlohmann::detail::conjunction< B1 > + B1 + json.hpp + + + class B1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d1/d9b/structnlohmann_1_1detail_1_1static__const.xml b/docs/xml/d1/d9b/structnlohmann_1_1detail_1_1static__const.xml new file mode 100644 index 00000000..2d89a697 --- /dev/null +++ b/docs/xml/d1/d9b/structnlohmann_1_1detail_1_1static__const.xml @@ -0,0 +1,48 @@ + + + + nlohmann::detail::static_const + json.hpp + + + typename T + + + + + constexpr T + constexpr T nlohmann::detail::static_const< T >::value + + value + {} + + + + + + + + + + + + + + + + + + + + + + +value + + + + + + nlohmann::detail::static_constvalue + + + diff --git a/docs/xml/d1/de7/cudnn__frontend__ConvDesc_8h.xml b/docs/xml/d1/de7/cudnn__frontend__ConvDesc_8h.xml index a7c5c508..c2f45246 100644 --- a/docs/xml/d1/de7/cudnn__frontend__ConvDesc_8h.xml +++ b/docs/xml/d1/de7/cudnn__frontend__ConvDesc_8h.xml @@ -14,150 +14,150 @@ cudnn_frontend.h cudnn_frontend_Operation.h - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -215,8 +215,8 @@ std::stringstreamss; charsep=''; ss<<"CUDNN_BACKEND_CONVOLUTION_DESCRIPTOR:" -<<"Datatype:"<<std::to_string(data_type)<<"Mode:"<<std::to_string(mode) -<<"NumDimensions:"<<std::to_string(nDims); +<<"Datatype:"<<std::to_string(data_type)<<"Mode:"<<std::to_string(mode) +<<"NumDimensions:"<<std::to_string(nDims); ss<<"PadLower["; std::for_each(std::begin(padLower),std::end(padLower),[&ss,sep](intx)mutable{ ss<<sep<<x; diff --git a/docs/xml/d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.xml b/docs/xml/d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.xml new file mode 100644 index 00000000..c39d03d8 --- /dev/null +++ b/docs/xml/d1/dea/classnlohmann_1_1detail_1_1wide__string__input__adapter.xml @@ -0,0 +1,200 @@ + + + + nlohmann::detail::wide_string_input_adapter + json.hpp + + + typename BaseInputAdapter + + + typename WideCharType + + + + + char + using nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::char_type = char + + char_type + + + + + + + + + + + + BaseInputAdapter + BaseInputAdapter nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::base_adapter + + base_adapter + + + + + + + + + + std::array< std::char_traits< char >::int_type, 4 > + std::array<std::char_traits<char>::int_type, 4> nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::utf8_bytes + + utf8_bytes + = {{0, 0, 0, 0}} + +a buffer for UTF-8 bytes + + + + + + + + std::size_t + std::size_t nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::utf8_bytes_index + + utf8_bytes_index + = 0 + +index to the utf8_codes array for the next valid byte + + + + + + + + std::size_t + std::size_t nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::utf8_bytes_filled + + utf8_bytes_filled + = 0 + +number of valid bytes in the utf8_codes array + + + + + + + + + + + nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::wide_string_input_adapter + (BaseInputAdapter base) + wide_string_input_adapter + + BaseInputAdapter + base + + + + + + + + + + + std::char_traits< char >::int_type + std::char_traits<char>::int_type nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::get_character + () noexcept + get_character + + + + + + + + JSON_ASSERT + + + + + + + size_t + T + T + + + void + void nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::fill_buffer + () + fill_buffer + + + + + + + + + + + + + + + + + + + + + + -utf8_bytes + + + -base_adapter + + + -utf8_bytes_filled + -utf8_bytes_index + + + + + + + + + +elements + + + + + + + + + + + + +elements + + + < std::char_traits< char >::int_type, 4 > + + + + + + nlohmann::detail::wide_string_input_adapterbase_adapter + nlohmann::detail::wide_string_input_adapterchar_type + nlohmann::detail::wide_string_input_adapterfill_buffer + nlohmann::detail::wide_string_input_adapterget_character + nlohmann::detail::wide_string_input_adapterutf8_bytes + nlohmann::detail::wide_string_input_adapterutf8_bytes_filled + nlohmann::detail::wide_string_input_adapterutf8_bytes_index + nlohmann::detail::wide_string_input_adapterwide_string_input_adapter + + + diff --git a/docs/xml/d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.xml b/docs/xml/d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.xml new file mode 100644 index 00000000..56ecef56 --- /dev/null +++ b/docs/xml/d2/d2a/classnlohmann_1_1detail_1_1json__sax__acceptor.xml @@ -0,0 +1,324 @@ + + + + nlohmann::detail::json_sax_acceptor + json.hpp + + + typename + BasicJsonType + BasicJsonType + + + + + typename BasicJsonType::number_integer_t + using nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t + + number_integer_t + + + + + + + + + + typename BasicJsonType::number_unsigned_t + using nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t + + number_unsigned_t + + + + + + + + + + typename BasicJsonType::number_float_t + using nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t + + number_float_t + + + + + + + + + + typename BasicJsonType::string_t + using nlohmann::detail::json_sax_acceptor< BasicJsonType >::string_t = typename BasicJsonType::string_t + + string_t + + + + + + + + + + typename BasicJsonType::binary_t + using nlohmann::detail::json_sax_acceptor< BasicJsonType >::binary_t = typename BasicJsonType::binary_t + + binary_t + + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::null + () + null + + + + + + + + + + bool + bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::boolean + (bool) + boolean + + bool + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_integer + (number_integer_t) + number_integer + + number_integer_t + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_unsigned + (number_unsigned_t) + number_unsigned + + number_unsigned_t + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::number_float + (number_float_t, const string_t &) + number_float + + number_float_t + + + const string_t & + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::string + (string_t &) + string + + string_t & + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::binary + (binary_t &) + binary + + binary_t & + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::start_object + (std::size_t=std::size_t(-1)) + start_object + + std::size_t + std::size_t(-1) + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::key + (string_t &) + key + + string_t & + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::end_object + () + end_object + + + + + + + + + + bool + bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::start_array + (std::size_t=std::size_t(-1)) + start_array + + std::size_t + std::size_t(-1) + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::end_array + () + end_array + + + + + + + + + + bool + bool nlohmann::detail::json_sax_acceptor< BasicJsonType >::parse_error + (std::size_t, const std::string &, const detail::exception &) + parse_error + + std::size_t + + + const std::string & + + + const detail::exception & + + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::json_sax_acceptorbinary + nlohmann::detail::json_sax_acceptorbinary_t + nlohmann::detail::json_sax_acceptorboolean + nlohmann::detail::json_sax_acceptorend_array + nlohmann::detail::json_sax_acceptorend_object + nlohmann::detail::json_sax_acceptorkey + nlohmann::detail::json_sax_acceptornull + nlohmann::detail::json_sax_acceptornumber_float + nlohmann::detail::json_sax_acceptornumber_float_t + nlohmann::detail::json_sax_acceptornumber_integer + nlohmann::detail::json_sax_acceptornumber_integer_t + nlohmann::detail::json_sax_acceptornumber_unsigned + nlohmann::detail::json_sax_acceptornumber_unsigned_t + nlohmann::detail::json_sax_acceptorparse_error + nlohmann::detail::json_sax_acceptorstart_array + nlohmann::detail::json_sax_acceptorstart_object + nlohmann::detail::json_sax_acceptorstring + nlohmann::detail::json_sax_acceptorstring_t + + + diff --git a/docs/xml/d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.xml b/docs/xml/d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.xml new file mode 100644 index 00000000..afe15627 --- /dev/null +++ b/docs/xml/d2/d2c/classnlohmann_1_1detail_1_1primitive__iterator__t.xml @@ -0,0 +1,354 @@ + + + + nlohmann::detail::primitive_iterator_t + json.hpp + + + std::ptrdiff_t + using nlohmann::detail::primitive_iterator_t::difference_type = std::ptrdiff_t + + difference_type + + + + + + + + + + + + constexpr difference_type + constexpr difference_type nlohmann::detail::primitive_iterator_t::begin_value + + begin_value + = 0 + + + + + + + + + + constexpr difference_type + constexpr difference_type nlohmann::detail::primitive_iterator_t::end_value + + end_value + = begin_value + 1 + + + + + + + + + + + + JSON_PRIVATE_UNLESS_TESTED + JSON_PRIVATE_UNLESS_TESTED nlohmann::detail::primitive_iterator_t::__pad0__ + + __pad0__ + difference_type m_it = (std::numeric_limits<std::ptrdiff_t>::min)() + + + + + + + + + + + + constexpr difference_type + constexpr difference_type nlohmann::detail::primitive_iterator_t::get_value + () const noexcept + get_value + + + + + + + + + + void + void nlohmann::detail::primitive_iterator_t::set_begin + () noexcept + set_begin + +set iterator to a defined beginning + + + + + + + + void + void nlohmann::detail::primitive_iterator_t::set_end + () noexcept + set_end + +set iterator to a defined past the end + + + + + + + + constexpr bool + constexpr bool nlohmann::detail::primitive_iterator_t::is_begin + () const noexcept + is_begin + +return whether the iterator can be dereferenced + + + + + + + + constexpr bool + constexpr bool nlohmann::detail::primitive_iterator_t::is_end + () const noexcept + is_end + +return whether the iterator is at end + + + + + + + + primitive_iterator_t + primitive_iterator_t nlohmann::detail::primitive_iterator_t::operator+ + (difference_type n) noexcept + operator+ + + difference_type + n + + + + + + + + + + + primitive_iterator_t & + primitive_iterator_t& nlohmann::detail::primitive_iterator_t::operator++ + () noexcept + operator++ + + + + + + + + + + primitive_iterator_t const + primitive_iterator_t const nlohmann::detail::primitive_iterator_t::operator++ + (int) noexcept + operator++ + + int + + + + + + + + + + + primitive_iterator_t & + primitive_iterator_t& nlohmann::detail::primitive_iterator_t::operator-- + () noexcept + operator-- + + + + + + + + + + primitive_iterator_t const + primitive_iterator_t const nlohmann::detail::primitive_iterator_t::operator-- + (int) noexcept + operator-- + + int + + + + + + + + + + + primitive_iterator_t & + primitive_iterator_t& nlohmann::detail::primitive_iterator_t::operator+= + (difference_type n) noexcept + operator+= + + difference_type + n + + + + + + + + + + + primitive_iterator_t & + primitive_iterator_t& nlohmann::detail::primitive_iterator_t::operator-= + (difference_type n) noexcept + operator-= + + difference_type + n + + + + + + + + + + + + + friend constexpr bool + constexpr bool operator== + (primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept + operator== + + primitive_iterator_t + lhs + + + primitive_iterator_t + rhs + + + + + + + + + + + friend constexpr bool + constexpr bool operator< + (primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept + operator< + + primitive_iterator_t + lhs + + + primitive_iterator_t + rhs + + + + + + + + + + + friend constexpr difference_type + constexpr difference_type operator- + (primitive_iterator_t lhs, primitive_iterator_t rhs) noexcept + operator- + + primitive_iterator_t + lhs + + + primitive_iterator_t + rhs + + + + + + + + + + + + + + + + + + + + + + + + + + -end_value + -begin_value + + + -__pad0__ + + + + + + nlohmann::detail::primitive_iterator_t__pad0__ + nlohmann::detail::primitive_iterator_tbegin_value + nlohmann::detail::primitive_iterator_tdifference_type + nlohmann::detail::primitive_iterator_tend_value + nlohmann::detail::primitive_iterator_tget_value + nlohmann::detail::primitive_iterator_tis_begin + nlohmann::detail::primitive_iterator_tis_end + nlohmann::detail::primitive_iterator_toperator+ + nlohmann::detail::primitive_iterator_toperator++ + nlohmann::detail::primitive_iterator_toperator++ + nlohmann::detail::primitive_iterator_toperator+= + nlohmann::detail::primitive_iterator_toperator- + nlohmann::detail::primitive_iterator_toperator-- + nlohmann::detail::primitive_iterator_toperator-- + nlohmann::detail::primitive_iterator_toperator-= + nlohmann::detail::primitive_iterator_toperator< + nlohmann::detail::primitive_iterator_toperator== + nlohmann::detail::primitive_iterator_tset_begin + nlohmann::detail::primitive_iterator_tset_end + + + diff --git a/docs/xml/d2/d2c/structnlohmann_1_1detail_1_1wide__string__input__helper.xml b/docs/xml/d2/d2c/structnlohmann_1_1detail_1_1wide__string__input__helper.xml new file mode 100644 index 00000000..690ed4ff --- /dev/null +++ b/docs/xml/d2/d2c/structnlohmann_1_1detail_1_1wide__string__input__helper.xml @@ -0,0 +1,30 @@ + + + + nlohmann::detail::wide_string_input_helper + json.hpp + + + typename BaseInputAdapter + + + size_t + T + T + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.xml b/docs/xml/d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.xml new file mode 100644 index 00000000..910bb761 --- /dev/null +++ b/docs/xml/d2/d39/classnlohmann_1_1detail_1_1output__string__adapter.xml @@ -0,0 +1,139 @@ + + + + nlohmann::detail::output_string_adapter + nlohmann::detail::output_adapter_protocol< CharType > + json.hpp + + + typename CharType + + + typename StringType + std::basic_string<CharType> + + + + + StringType & + StringType& nlohmann::detail::output_string_adapter< CharType, StringType >::str + + str + + + + + + + + + + + + + nlohmann::detail::output_string_adapter< CharType, StringType >::output_string_adapter + (StringType &s) noexcept + output_string_adapter + + StringType & + s + + + + + + + + + + + void + void nlohmann::detail::output_string_adapter< CharType, StringType >::write_character + (CharType c) override + write_character + write_character + + CharType + c + + + + + + + + + JSON_HEDLEY_NON_NULL + + + void + void nlohmann::detail::output_string_adapter< CharType, StringType >::write_characters + (const CharType *s, std::size_t length) override + write_characters + write_characters + + const CharType * + s + + + std::size_t + length + + + + + + + + + + + +output adapter for basic_string + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -str + + + + + + nlohmann::detail::output_string_adapteroperator= + nlohmann::detail::output_string_adapteroperator= + nlohmann::detail::output_string_adapteroutput_adapter_protocol + nlohmann::detail::output_string_adapteroutput_adapter_protocol + nlohmann::detail::output_string_adapteroutput_adapter_protocol + nlohmann::detail::output_string_adapteroutput_string_adapter + nlohmann::detail::output_string_adapterstr + nlohmann::detail::output_string_adapterwrite_character + nlohmann::detail::output_string_adapterwrite_characters + nlohmann::detail::output_string_adapter~output_adapter_protocol + + + diff --git a/docs/xml/d2/d3a/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.xml b/docs/xml/d2/d3a/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.xml new file mode 100644 index 00000000..64df85f0 --- /dev/null +++ b/docs/xml/d2/d3a/structnlohmann_1_1detail_1_1is__compatible__string__type__impl.xml @@ -0,0 +1,66 @@ + + + + nlohmann::detail::is_compatible_string_type_impl + false_type + json.hpp + + + typename + BasicJsonType + BasicJsonType + + + typename + CompatibleStringType + CompatibleStringType + + + typename + void + + + + + + + + + + + + + + + < BasicJsonType, ConstructibleStringType > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d2/d3b/cudnn__frontend__get__plan_8h.xml b/docs/xml/d2/d3b/cudnn__frontend__get__plan_8h.xml index 50dbbc7f..c445e378 100644 --- a/docs/xml/d2/d3b/cudnn__frontend__get__plan_8h.xml +++ b/docs/xml/d2/d3b/cudnn__frontend__get__plan_8h.xml @@ -4,367 +4,543 @@ cudnn_frontend_get_plan.h cudnn_frontend_EngineConfigGenerator.h - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + + + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + - + - + + + + + + + + + + + + - + - + - + - + - + - + - + - + + + + - + + + + + + + + + + cudnn_frontend @@ -409,9 +585,9 @@ #ifndefNV_CUDNN_DISABLE_EXCEPTION try{ #endif -plans.push_back(ExecutionPlanBuilder().setHandle(handle).setEngineConfig(engine_config).build()); +plans.push_back(ExecutionPlanBuilder().setHandle(handle).setEngineConfig(engine_config,opGraph.getTag()).build()); #ifndefNV_CUDNN_DISABLE_EXCEPTION -}catch(cudnnExceptione){ +}catch(cudnnException&e){ continue; } #endif diff --git a/docs/xml/d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.xml b/docs/xml/d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.xml new file mode 100644 index 00000000..2cea78a5 --- /dev/null +++ b/docs/xml/d2/d51/structnlohmann_1_1detail_1_1is__constructible__object__type__impl_3_01BasicJsonType_00_01Construa4d1e16800f2c4963485512ecf18377c.xml @@ -0,0 +1,80 @@ + + + + nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > > + json.hpp + + + typename BasicJsonType + + + typename ConstructibleObjectType + + + + + typename BasicJsonType::object_t + using nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >::object_t = typename BasicJsonType::object_t + + object_t + + + + + + + + + + + + constexpr bool + constexpr bool nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >::value + + value + = + (is_default_constructible<ConstructibleObjectType>::value && + (std::is_move_assignable<ConstructibleObjectType>::value || + std::is_copy_assignable<ConstructibleObjectType>::value) && + (is_constructible<typename ConstructibleObjectType::key_type, + typename object_t::key_type>::value && + std::is_same < + typename object_t::mapped_type, + typename ConstructibleObjectType::mapped_type >::value)) || + (has_from_json<BasicJsonType, + typename ConstructibleObjectType::mapped_type>::value || + has_non_default_from_json < + BasicJsonType, + typename ConstructibleObjectType::mapped_type >::value) + + + + + + + + + + + + + + + + + + + +value + + + + + + + + + nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >object_t + nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > >value + + + diff --git a/docs/xml/d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.xml b/docs/xml/d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.xml new file mode 100644 index 00000000..3d60e495 --- /dev/null +++ b/docs/xml/d2/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_011635d85b816e1c1a7e948fa832c519.xml @@ -0,0 +1,51 @@ + + + + nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 > + json.hpp + + + typename T + + + T... + Ints + Ints + + + size_t + SeqSize + SeqSize + + + + + integer_sequence< T, Ints...,(Ints+SeqSize)..., 2 *SeqSize > + using nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 >::type = integer_sequence < T, Ints..., (Ints + SeqSize)..., 2 * SeqSize > + + type + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 >type + + + diff --git a/docs/xml/d2/d67/classnlohmann_1_1detail_1_1out__of__range.xml b/docs/xml/d2/d67/classnlohmann_1_1detail_1_1out__of__range.xml new file mode 100644 index 00000000..ee8ba18a --- /dev/null +++ b/docs/xml/d2/d67/classnlohmann_1_1detail_1_1out__of__range.xml @@ -0,0 +1,171 @@ + + + + nlohmann::detail::out_of_range + nlohmann::detail::exception + json.hpp + + + + + typename BasicJsonType + + + out_of_range + static out_of_range nlohmann::detail::out_of_range::create + (int id_, const std::string &what_arg, const BasicJsonType &context) + create + + int + id_ + + + const std::string & + what_arg + + + const BasicJsonType & + context + + + + + + + + + nlohmann::detail::exception::diagnostics + JSON_HEDLEY_NON_NULL + nlohmann::detail::exception::name + nlohmann::detail::string + nlohmann::json_pointer< BasicJsonType >::array_index + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at + nlohmann::json_pointer< BasicJsonType >::back + nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_entry_header_size + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase + nlohmann::json_pointer< BasicJsonType >::get_checked + nlohmann::json_pointer< BasicJsonType >::get_unchecked + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + nlohmann::json_pointer< BasicJsonType >::pop_back + nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_array + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_array + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_object + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_object + nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_unsigned + + + + + + nlohmann::detail::out_of_range::out_of_range + (int id_, const char *what_arg) + out_of_range + + int + id_ + + + const char * + what_arg + + + + + + + + + + + +exception indicating access out of the defined range + +This exception is thrown in case a library function is called on an input parameter that exceeds the expected range, for instance in case of array indices or nonexisting object keys.Exceptions have ids 4xx. +name / id example message description + +json.exception.out_of_range.401 array index 3 is out of range The provided array index i is larger than size-1. + +json.exception.out_of_range.402 array index '-' (3) is out of range The special array index - in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it. + +json.exception.out_of_range.403 key 'foo' not found The provided key was not found in the JSON object. + +json.exception.out_of_range.404 unresolved reference token 'foo' A reference token in a JSON Pointer could not be resolved. + +json.exception.out_of_range.405 JSON pointer has no parent The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value. + +json.exception.out_of_range.406 number overflow parsing '10E1000' A parsed number could not be stored as without changing it to NaN or INF. + +json.exception.out_of_range.407 number overflow serializing '9223372036854775808' UBJSON and BSON only support integer numbers up to 9223372036854775807. (until version 3.8.0) + +json.exception.out_of_range.408 excessive array size: 8658170730974374167 The size (following #) of an UBJSON array or object exceeds the maximal capacity. + +json.exception.out_of_range.409 BSON key cannot contain code point U+0000 (at byte 2) Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string +
                                                                                                +{The following code shows how an out_of_range exception can be caught.,out_of_range}
                                                                                                - exception for the base class of the library exceptions +- parse_error for exceptions indicating a parse error +- invalid_iterator for exceptions indicating errors with iterators +- type_error for exceptions indicating executing a member function with a wrong type +- other_error for exceptions indicating other library errors +version 3.0.0 +
                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -m + + + +id + + + + + + nlohmann::detail::out_of_rangecreate + nlohmann::detail::out_of_rangediagnostics + nlohmann::detail::out_of_rangeexception + nlohmann::detail::out_of_rangeid + nlohmann::detail::out_of_rangename + nlohmann::detail::out_of_rangeout_of_range + nlohmann::detail::out_of_rangewhat + +
                                                                                                +
                                                                                                diff --git a/docs/xml/d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.xml b/docs/xml/d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.xml new file mode 100644 index 00000000..9a809513 --- /dev/null +++ b/docs/xml/d2/d7e/structnlohmann_1_1detail_1_1to__json__fn.xml @@ -0,0 +1,53 @@ + + + + nlohmann::detail::to_json_fn + json.hpp + + + + + typename BasicJsonType + + + typename T + + + auto + auto nlohmann::detail::to_json_fn::operator() + (BasicJsonType &j, T &&val) const noexcept(noexcept(to_json(j, std::forward< T >(val)))) -> decltype(to_json(j, std::forward< T >(val)), void()) + operator() + + BasicJsonType & + j + + + T && + val + + + + + + + + + nlohmann::detail::to_json + + + + + + + + + + + + + + + nlohmann::detail::to_json_fnoperator() + + + diff --git a/docs/xml/d2/d91/structnlohmann_1_1detail_1_1is__default__constructible.xml b/docs/xml/d2/d91/structnlohmann_1_1detail_1_1is__default__constructible.xml new file mode 100644 index 00000000..1668c826 --- /dev/null +++ b/docs/xml/d2/d91/structnlohmann_1_1detail_1_1is__default__constructible.xml @@ -0,0 +1,42 @@ + + + + nlohmann::detail::is_default_constructible + std::is_default_constructible< T > + json.hpp + + + typename T + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.xml b/docs/xml/d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.xml new file mode 100644 index 00000000..b81f9e0a --- /dev/null +++ b/docs/xml/d2/da0/classcudnn__frontend_1_1ReductionDescBuilder__v8.xml @@ -0,0 +1,219 @@ + + + + cudnn_frontend::ReductionDescBuilder_v8 + cudnn_frontend_ReductionDesc.h + + + ReductionDesc_v8 + ReductionDesc_v8 cudnn_frontend::ReductionDescBuilder_v8::m_reductionDesc + + m_reductionDesc + + + + + + + + + + + + auto + auto cudnn_frontend::ReductionDescBuilder_v8::setMathPrecision + (cudnnDataType_t data_type_) -> ReductionDescBuilder_v8 & + setMathPrecision + + cudnnDataType_t + data_type_ + + +Set Math Precision Data Type for the Reduction Operation. + + + + + + + + auto + auto cudnn_frontend::ReductionDescBuilder_v8::setReductionOp + (cudnnReduceTensorOp_t op_) -> ReductionDescBuilder_v8 & + setReductionOp + + cudnnReduceTensorOp_t + op_ + + +Set redution operator for the Reduction Operation. + + + + + + + + ReductionDesc_v8 && + ReductionDesc_v8&& cudnn_frontend::ReductionDescBuilder_v8::build + () + build + + + +constructs the ReductionDesc_v8 by calling the cudnn API Throws the appropriate error message + + + + cudnn_frontend::ReductionDesc_v8::operator= + cudnn_frontend::ReductionDesc_v8::ReductionDescBuilder_v8 + cudnn_frontend::set_error_and_throw_exception + cudnn_frontend::BackendDescriptor::status + + + + cudnn_frontend::ReductionDescBuilder_v8::ReductionDescBuilder_v8 + ()=default + ReductionDescBuilder_v8 + + + + + + + + + + + cudnn_frontend::ReductionDescBuilder_v8::~ReductionDescBuilder_v8 + ()=default + ~ReductionDescBuilder_v8 + + + + + + + + + + + cudnn_frontend::ReductionDescBuilder_v8::ReductionDescBuilder_v8 + (ReductionDescBuilder_v8 &&)=delete + ReductionDescBuilder_v8 + + ReductionDescBuilder_v8 && + + + + + + + + + + + + cudnn_frontend::ReductionDescBuilder_v8::ReductionDescBuilder_v8 + (ReductionDescBuilder_v8 const &)=delete + ReductionDescBuilder_v8 + + ReductionDescBuilder_v8 const & + + + + + + + + + + + ReductionDescBuilder_v8 & + ReductionDescBuilder_v8& cudnn_frontend::ReductionDescBuilder_v8::operator= + (ReductionDescBuilder_v8 const &)=delete + operator= + + ReductionDescBuilder_v8 const & + + + + + + + + + + + + + +ReductionDescBuilder_v8 Class Helper class used to build ReductionDesc_v8 class + + + + + + -m_reductionDesc + + + + + + + + + + + + + + + -reduction_op + + + -math_precision + + + + + + + + + + + + + + + + #err_msg + + + #pointer + + + #status + + + + + + + + + + + cudnn_frontend::ReductionDescBuilder_v8build + cudnn_frontend::ReductionDescBuilder_v8m_reductionDesc + cudnn_frontend::ReductionDescBuilder_v8operator= + cudnn_frontend::ReductionDescBuilder_v8ReductionDescBuilder_v8 + cudnn_frontend::ReductionDescBuilder_v8ReductionDescBuilder_v8 + cudnn_frontend::ReductionDescBuilder_v8ReductionDescBuilder_v8 + cudnn_frontend::ReductionDescBuilder_v8setMathPrecision + cudnn_frontend::ReductionDescBuilder_v8setReductionOp + cudnn_frontend::ReductionDescBuilder_v8~ReductionDescBuilder_v8 + + + diff --git a/docs/xml/d2/db3/structnlohmann_1_1detail_1_1is__complete__type.xml b/docs/xml/d2/db3/structnlohmann_1_1detail_1_1is__complete__type.xml new file mode 100644 index 00000000..b8b121a9 --- /dev/null +++ b/docs/xml/d2/db3/structnlohmann_1_1detail_1_1is__complete__type.xml @@ -0,0 +1,46 @@ + + + + nlohmann::detail::is_complete_type + false_type + json.hpp + + + typename T + + + typename + void + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d2/db5/group__PointWiseDescBuilder__v8.xml b/docs/xml/d2/db5/group__PointWiseDescBuilder__v8.xml index af291ba6..2701cfcb 100644 --- a/docs/xml/d2/db5/group__PointWiseDescBuilder__v8.xml +++ b/docs/xml/d2/db5/group__PointWiseDescBuilder__v8.xml @@ -52,7 +52,7 @@ mode_ -Set upper and lower limits for the RELU activation. +Set pointwise mode for the activation.
                                                                                                diff --git a/docs/xml/d2/dbb/group__EngineConfigBuilder__v8.xml b/docs/xml/d2/dbb/group__EngineConfigBuilder__v8.xml index f13f4dbe..d564489b 100644 --- a/docs/xml/d2/dbb/group__EngineConfigBuilder__v8.xml +++ b/docs/xml/d2/dbb/group__EngineConfigBuilder__v8.xml @@ -22,7 +22,7 @@ cudnn_frontend::set_error_and_throw_exception cudnn_frontend::BackendDescriptor::status - cudnn_frontend::EngineFallbackListBuilder_v8::build + cudnn_frontend::EngineFallbackListBuilder_v8::build diff --git a/docs/xml/d2/ddd/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.xml b/docs/xml/d2/ddd/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.xml new file mode 100644 index 00000000..b0720dda --- /dev/null +++ b/docs/xml/d2/ddd/structnlohmann_1_1detail_1_1priority__tag_3_010_01_4.xml @@ -0,0 +1,22 @@ + + + + nlohmann::detail::priority_tag< 0 > + json.hpp + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d2/df4/structnlohmann_1_1detail_1_1external__constructor.xml b/docs/xml/d2/df4/structnlohmann_1_1detail_1_1external__constructor.xml new file mode 100644 index 00000000..3fc2c1d8 --- /dev/null +++ b/docs/xml/d2/df4/structnlohmann_1_1detail_1_1external__constructor.xml @@ -0,0 +1,25 @@ + + + + nlohmann::detail::external_constructor + json.hpp + + + value_t + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d2/df5/group__OperationGraphBuilder__v8.xml b/docs/xml/d2/df5/group__OperationGraphBuilder__v8.xml index d6d4e50d..54501bae 100644 --- a/docs/xml/d2/df5/group__OperationGraphBuilder__v8.xml +++ b/docs/xml/d2/df5/group__OperationGraphBuilder__v8.xml @@ -19,7 +19,7 @@ - + auto @@ -40,7 +40,7 @@ - + diff --git a/docs/xml/d3/d09/group__EngineBuilder__v8.xml b/docs/xml/d3/d09/group__EngineBuilder__v8.xml index 18af4967..adaee07b 100644 --- a/docs/xml/d3/d09/group__EngineBuilder__v8.xml +++ b/docs/xml/d3/d09/group__EngineBuilder__v8.xml @@ -54,7 +54,7 @@ - cudnn_frontend::EngineFallbackListBuilder_v8::build + cudnn_frontend::EngineFallbackListBuilder_v8::build diff --git a/docs/xml/d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.xml b/docs/xml/d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.xml new file mode 100644 index 00000000..ae36c3cc --- /dev/null +++ b/docs/xml/d3/d09/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1binary_01_4.xml @@ -0,0 +1,80 @@ + + + + nlohmann::detail::external_constructor< value_t::binary > + json.hpp + + + + + + + typename BasicJsonType + + + void + static void nlohmann::detail::external_constructor< value_t::binary >::construct + (BasicJsonType &j, const typename BasicJsonType::binary_t &b) + construct + + BasicJsonType & + j + + + const typename BasicJsonType::binary_t & + b + + + + + + + + + nlohmann::detail::binary + + + + + typename BasicJsonType + + + void + static void nlohmann::detail::external_constructor< value_t::binary >::construct + (BasicJsonType &j, typename BasicJsonType::binary_t &&b) + construct + + BasicJsonType & + j + + + typename BasicJsonType::binary_t && + b + + + + + + + + + nlohmann::detail::binary + + + + + + + + + + + + + + + nlohmann::detail::external_constructor< value_t::binary >construct + nlohmann::detail::external_constructor< value_t::binary >construct + + + diff --git a/docs/xml/d3/d0b/structnlohmann_1_1detail_1_1is__json__ref.xml b/docs/xml/d3/d0b/structnlohmann_1_1detail_1_1is__json__ref.xml new file mode 100644 index 00000000..0d18ab58 --- /dev/null +++ b/docs/xml/d3/d0b/structnlohmann_1_1detail_1_1is__json__ref.xml @@ -0,0 +1,42 @@ + + + + nlohmann::detail::is_json_ref + false_type + json.hpp + + + typename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d3/d30/structnlohmann_1_1detail_1_1is__iterator__traits.xml b/docs/xml/d3/d30/structnlohmann_1_1detail_1_1is__iterator__traits.xml new file mode 100644 index 00000000..eb13594f --- /dev/null +++ b/docs/xml/d3/d30/structnlohmann_1_1detail_1_1is__iterator__traits.xml @@ -0,0 +1,46 @@ + + + + nlohmann::detail::is_iterator_traits + false_type + json.hpp + + + typename T + + + typename + void + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d3/d52/structnlohmann_1_1detail_1_1is__constructible__array__type.xml b/docs/xml/d3/d52/structnlohmann_1_1detail_1_1is__constructible__array__type.xml new file mode 100644 index 00000000..7adfb514 --- /dev/null +++ b/docs/xml/d3/d52/structnlohmann_1_1detail_1_1is__constructible__array__type.xml @@ -0,0 +1,75 @@ + + + + nlohmann::detail::is_constructible_array_type + nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType > + json.hpp + + + typename BasicJsonType + + + typename ConstructibleArrayType + + + + + + + + + + + + + + + + + + + + + + + < BasicJsonType, ConstructibleArrayType > + + + + + + + + + + + + + + + + + + + + + + + + + + < BasicJsonType, ConstructibleArrayType > + + + + + + + + + + + + + + diff --git a/docs/xml/d3/d6a/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.xml b/docs/xml/d3/d6a/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.xml new file mode 100644 index 00000000..d0008bc8 --- /dev/null +++ b/docs/xml/d3/d6a/structnlohmann_1_1detail_1_1is__constructible__tuple_3_01T1_00_01std_1_1tuple_3_01Args_8_8_8_01_4_01_4.xml @@ -0,0 +1,77 @@ + + + + nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > > + nlohmann::detail::conjunction< is_constructible< T1, Args >... > + json.hpp + + + typename T1 + + + typename... + Args + Args + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < is_constructible< T1, Args >... > + + + + + + + + + + + + + + + + + + + + + + + + + + < is_constructible< T1, Args >... > + + + + + + + + diff --git a/docs/xml/d3/d6b/cudnn__frontend__find__plan_8h.xml b/docs/xml/d3/d6b/cudnn__frontend__find__plan_8h.xml index 7ba5b9b8..76889453 100644 --- a/docs/xml/d3/d6b/cudnn__frontend__find__plan_8h.xml +++ b/docs/xml/d3/d6b/cudnn__frontend__find__plan_8h.xml @@ -5,372 +5,545 @@ cudnn_frontend_EngineConfigGenerator.h map - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + + + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + - + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + - + - + + + + + + + + + - + - + - + - + + + + - + - + - + - + - + - + - + + + + - + + + + + + + + + + cudnn_frontend @@ -481,9 +654,9 @@ try{ #endif plans.push_back( -cudnn_frontend::ExecutionPlanBuilder().setHandle(handle).setEngineConfig(engine_config).build()); +cudnn_frontend::ExecutionPlanBuilder().setHandle(handle).setEngineConfig(engine_config,opGraph.getTag()).build()); #ifndefNV_CUDNN_DISABLE_EXCEPTION -}catch(cudnnExceptione){ +}catch(cudnnException&e){ continue; } #endif diff --git a/docs/xml/d3/d71/structnlohmann_1_1detail_1_1is__compatible__type.xml b/docs/xml/d3/d71/structnlohmann_1_1detail_1_1is__compatible__type.xml new file mode 100644 index 00000000..1f72e8db --- /dev/null +++ b/docs/xml/d3/d71/structnlohmann_1_1detail_1_1is__compatible__type.xml @@ -0,0 +1,75 @@ + + + + nlohmann::detail::is_compatible_type + nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType > + json.hpp + + + typename BasicJsonType + + + typename CompatibleType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < BasicJsonType, CompatibleType > + + + + + + + + + + + + + + + + + + + + + + + + + + < BasicJsonType, CompatibleType > + + + + + + + + diff --git a/docs/xml/d3/d72/structnlohmann_1_1detail_1_1make__void.xml b/docs/xml/d3/d72/structnlohmann_1_1detail_1_1make__void.xml new file mode 100644 index 00000000..a4503042 --- /dev/null +++ b/docs/xml/d3/d72/structnlohmann_1_1detail_1_1make__void.xml @@ -0,0 +1,43 @@ + + + + nlohmann::detail::make_void + json.hpp + + + typename ... + Ts + Ts + + + + + void + using nlohmann::detail::make_void< Ts >::type = void + + type + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::make_voidtype + + + diff --git a/docs/xml/d3/d7a/namespacenlohmann_1_1_0D0.xml b/docs/xml/d3/d7a/namespacenlohmann_1_1_0D0.xml new file mode 100644 index 00000000..96cd54e2 --- /dev/null +++ b/docs/xml/d3/d7a/namespacenlohmann_1_1_0D0.xml @@ -0,0 +1,11 @@ + + + + nlohmann::@0 + + + +namespace to hold default from_json function to see why this is required: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4381.html + + + diff --git a/docs/xml/d3/d84/structnlohmann_1_1detail_1_1is__constructible__string__type.xml b/docs/xml/d3/d84/structnlohmann_1_1detail_1_1is__constructible__string__type.xml new file mode 100644 index 00000000..95a53d82 --- /dev/null +++ b/docs/xml/d3/d84/structnlohmann_1_1detail_1_1is__constructible__string__type.xml @@ -0,0 +1,81 @@ + + + + nlohmann::detail::is_constructible_string_type + nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType > + json.hpp + + + typename BasicJsonType + + + typename ConstructibleStringType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < BasicJsonType, ConstructibleStringType > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < BasicJsonType, ConstructibleStringType > + + + + + + + + diff --git a/docs/xml/d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.xml b/docs/xml/d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.xml new file mode 100644 index 00000000..83b4adce --- /dev/null +++ b/docs/xml/d3/d8d/structnlohmann_1_1detail_1_1utility__internal_1_1Gen.xml @@ -0,0 +1,48 @@ + + + + nlohmann::detail::utility_internal::Gen + json.hpp + + + typename + T + T + + + size_t + N + N + + + + + typename Extend< typename Gen< T, N/2 >::type, N/2, N % 2 >::type + using nlohmann::detail::utility_internal::Gen< T, N >::type = typename Extend < typename Gen < T, N / 2 >::type, N / 2, N % 2 >::type + + type + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::utility_internal::Gentype + + + diff --git a/docs/xml/d3/d92/group__OperationBuilder__v8.xml b/docs/xml/d3/d92/group__OperationBuilder__v8.xml index 26e2bb4b..c1c86ee4 100644 --- a/docs/xml/d3/d92/group__OperationBuilder__v8.xml +++ b/docs/xml/d3/d92/group__OperationBuilder__v8.xml @@ -19,8 +19,8 @@ - - cudnn_frontend::Operation_v8::xdesc + + cudnn_frontend::Operation_v8::xdesc auto @@ -37,8 +37,8 @@ - - cudnn_frontend::Operation_v8::xdesc + + cudnn_frontend::Operation_v8::xdesc auto @@ -55,8 +55,8 @@ - - cudnn_frontend::Operation_v8::bdesc + + cudnn_frontend::Operation_v8::bdesc cudnn_frontend::set_error_and_throw_exception @@ -74,8 +74,8 @@ - - cudnn_frontend::Operation_v8::ydesc + + cudnn_frontend::Operation_v8::ydesc auto @@ -92,9 +92,9 @@ - + cudnn_frontend::set_error_and_throw_exception - cudnn_frontend::Operation_v8::wdesc + cudnn_frontend::Operation_v8::wdesc auto @@ -111,8 +111,8 @@ - - cudnn_frontend::Operation_v8::dydesc + + cudnn_frontend::Operation_v8::dydesc auto @@ -129,8 +129,8 @@ - - cudnn_frontend::Operation_v8::dydesc + + cudnn_frontend::Operation_v8::dydesc auto @@ -147,8 +147,8 @@ - - cudnn_frontend::Operation_v8::dxdesc + + cudnn_frontend::Operation_v8::dxdesc auto @@ -165,8 +165,8 @@ - - cudnn_frontend::Operation_v8::dwdesc + + cudnn_frontend::Operation_v8::dwdesc auto @@ -183,8 +183,8 @@ - - cudnn_frontend::Operation_v8::cdesc + + cudnn_frontend::Operation_v8::cdesc cudnn_frontend::set_error_and_throw_exception @@ -202,8 +202,8 @@ - - cudnn_frontend::Operation_v8::amatdesc + + cudnn_frontend::Operation_v8::amatdesc cudnn_frontend::set_error_and_throw_exception @@ -221,8 +221,8 @@ - - cudnn_frontend::Operation_v8::bmatdesc + + cudnn_frontend::Operation_v8::bmatdesc cudnn_frontend::set_error_and_throw_exception @@ -240,8 +240,8 @@ - - cudnn_frontend::Operation_v8::cmatdesc + + cudnn_frontend::Operation_v8::cmatdesc cudnn_frontend::set_error_and_throw_exception @@ -259,8 +259,27 @@ - - cudnn_frontend::Operation_v8::matmuldesc + + cudnn_frontend::Operation_v8::matmuldesc + cudnn_frontend::set_error_and_throw_exception + + + auto + auto cudnn_frontend::OperationBuilder_v8::setreductionDesc + (ReductionDesc_v8 const &reductionDesc) -> OperationBuilder_v8 & + setreductionDesc + + ReductionDesc_v8 const & + reductionDesc + + + + + + + + + cudnn_frontend::Operation_v8::reductiondesc cudnn_frontend::set_error_and_throw_exception @@ -278,13 +297,13 @@ - - cudnn_frontend::Operation_v8::is_pointwise_activation_bwd_op - cudnn_frontend::Operation_v8::is_pointwise_activation_fwd_op - cudnn_frontend::Operation_v8::is_pointwise_math_op - cudnn_frontend::Operation_v8::pointwise_mode - cudnn_frontend::Operation_v8::pointwise_port_count - cudnn_frontend::Operation_v8::pwdesc + + cudnn_frontend::Operation_v8::is_pointwise_activation_bwd_op + cudnn_frontend::Operation_v8::is_pointwise_activation_fwd_op + cudnn_frontend::Operation_v8::is_pointwise_math_op + cudnn_frontend::Operation_v8::pointwise_mode + cudnn_frontend::Operation_v8::pointwise_port_count + cudnn_frontend::Operation_v8::pwdesc cudnn_frontend::set_error_and_throw_exception @@ -302,10 +321,10 @@ - - cudnn_frontend::Operation_v8::alpha_d - cudnn_frontend::Operation_v8::alpha_s - cudnn_frontend::Operation_v8::alphabetaType + + cudnn_frontend::Operation_v8::alpha_d + cudnn_frontend::Operation_v8::alpha_s + cudnn_frontend::Operation_v8::alphabetaType auto @@ -322,10 +341,10 @@ - - cudnn_frontend::Operation_v8::alpha_d - cudnn_frontend::Operation_v8::alpha_s - cudnn_frontend::Operation_v8::alphabetaType + + cudnn_frontend::Operation_v8::alpha_d + cudnn_frontend::Operation_v8::alpha_s + cudnn_frontend::Operation_v8::alphabetaType auto @@ -342,10 +361,10 @@ - - cudnn_frontend::Operation_v8::alpha2_d - cudnn_frontend::Operation_v8::alpha2_s - cudnn_frontend::Operation_v8::alphabetaType + + cudnn_frontend::Operation_v8::alpha2_d + cudnn_frontend::Operation_v8::alpha2_s + cudnn_frontend::Operation_v8::alphabetaType auto @@ -362,10 +381,10 @@ - - cudnn_frontend::Operation_v8::alpha2_d - cudnn_frontend::Operation_v8::alpha2_s - cudnn_frontend::Operation_v8::alphabetaType + + cudnn_frontend::Operation_v8::alpha2_d + cudnn_frontend::Operation_v8::alpha2_s + cudnn_frontend::Operation_v8::alphabetaType auto @@ -382,10 +401,10 @@ - - cudnn_frontend::Operation_v8::alphabetaType - cudnn_frontend::Operation_v8::beta_d - cudnn_frontend::Operation_v8::beta_s + + cudnn_frontend::Operation_v8::alphabetaType + cudnn_frontend::Operation_v8::beta_d + cudnn_frontend::Operation_v8::beta_s auto @@ -402,10 +421,10 @@ - - cudnn_frontend::Operation_v8::alphabetaType - cudnn_frontend::Operation_v8::beta_d - cudnn_frontend::Operation_v8::beta_s + + cudnn_frontend::Operation_v8::alphabetaType + cudnn_frontend::Operation_v8::beta_d + cudnn_frontend::Operation_v8::beta_s @@ -422,8 +441,8 @@ - - cudnn_frontend::Operation_v8::op_mode + + cudnn_frontend::Operation_v8::op_mode diff --git a/docs/xml/d3/d98/cudnn__frontend__Tensor_8h.xml b/docs/xml/d3/d98/cudnn__frontend__Tensor_8h.xml index da7787d1..5389af05 100644 --- a/docs/xml/d3/d98/cudnn__frontend__Tensor_8h.xml +++ b/docs/xml/d3/d98/cudnn__frontend__Tensor_8h.xml @@ -12,143 +12,143 @@ cudnn_frontend_Operation.h cudnn_frontend.h - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -203,8 +203,8 @@ std::stringstreamss; charsep=''; ss<<"CUDNN_BACKEND_TENSOR_DESCRIPTOR:" -<<"Datatype:"<<std::to_string(data_type)<<"Id:"<<std::to_string(id) -<<"Alignment:"<<std::to_string(alignment)<<"nDims"<<nDims; +<<"Datatype:"<<std::to_string(data_type)<<"Id:"<<std::to_string(id) +<<"Alignment:"<<std::to_string(alignment)<<"nDims"<<nDims; ss<<"Dim["; std::for_each(std::begin(btensor_dimA),std::end(btensor_dimA),[&ss,sep](intx)mutable{ ss<<sep<<x; diff --git a/docs/xml/d3/d9b/namespacenlohmann.xml b/docs/xml/d3/d9b/namespacenlohmann.xml new file mode 100644 index 00000000..b6080517 --- /dev/null +++ b/docs/xml/d3/d9b/namespacenlohmann.xml @@ -0,0 +1,108 @@ + + + + nlohmann + nlohmann::adl_serializer + nlohmann::basic_json + nlohmann::byte_container_with_subtype + nlohmann::json_pointer + nlohmann::json_sax + nlohmann::ordered_map + nlohmann::detail + + + basic_json<> + using nlohmann::json = typedef basic_json<> + + json + +default JSON class + +This type is the default specialization of the basic_json class which uses the standard template types.version 1.0.0 + + + + + + + basic_json< nlohmann::ordered_map > + using nlohmann::ordered_json = typedef basic_json<nlohmann::ordered_map> + + ordered_json + +ordered JSON class + +This type preserves the insertion order of object keys.version 3.9.0 + + + + + + + + + NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string + NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string nlohmann::to_string + (const NLOHMANN_BASIC_JSON_TPL &j) + to_string + + const NLOHMANN_BASIC_JSON_TPL & + j + + +user-defined to_string function for JSON values + +This function implements a user-defined to_string for JSON objects. + +j + + +a JSON object + + +a std::string object + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at + nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_array_size + nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_entry_header_size + nlohmann::detail::parse_error::create + cudnn_frontend::Tensor_v8::describe + cudnn_frontend::ConvDesc_v8::describe + cudnn_frontend::Operation_v8::describe + nlohmann::detail::exception::diagnostics + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase + nlohmann::json_pointer< BasicJsonType >::flatten + nlohmann::detail::serializer< BasicJsonType >::for + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_binary + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_string + nlohmann::json_pointer< BasicJsonType >::get_checked + nlohmann::json_pointer< BasicJsonType >::get_unchecked + nlohmann::detail::int_to_string + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::meta + nlohmann::detail::exception::name + nlohmann::json_pointer< BasicJsonType >::operator std::string + nlohmann::json_pointer< BasicJsonType >::operator/= + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + nlohmann::detail::parse_error::position_string + cudnn_frontend::set_error_and_throw_exception + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_array + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_array + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_object + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_object + nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_array + nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_unsigned + + + +namespace for Niels Lohmann + +https://github.com/nlohmann +version 1.0.0 +namespace to hold default to_json function to see why this is required: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4381.html + + + diff --git a/docs/xml/d3/ddb/classB1.xml b/docs/xml/d3/ddb/classB1.xml new file mode 100644 index 00000000..14850e33 --- /dev/null +++ b/docs/xml/d3/ddb/classB1.xml @@ -0,0 +1,32 @@ + + + + B1 + nlohmann::detail::conjunction< B1 > + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d4/d0a/classnlohmann_1_1detail_1_1serializer.xml b/docs/xml/d4/d0a/classnlohmann_1_1detail_1_1serializer.xml new file mode 100644 index 00000000..4f582d77 --- /dev/null +++ b/docs/xml/d4/d0a/classnlohmann_1_1detail_1_1serializer.xml @@ -0,0 +1,696 @@ + + + + nlohmann::detail::serializer + json.hpp + + + typename BasicJsonType + + + + + typename BasicJsonType::string_t + using nlohmann::detail::serializer< BasicJsonType >::string_t = typename BasicJsonType::string_t + + string_t + + + + + + + + + + typename BasicJsonType::number_float_t + using nlohmann::detail::serializer< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t + + number_float_t + + + + + + + + + + typename BasicJsonType::number_integer_t + using nlohmann::detail::serializer< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t + + number_integer_t + + + + + + + + + + typename BasicJsonType::number_unsigned_t + using nlohmann::detail::serializer< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t + + number_unsigned_t + + + + + + + + + + typename BasicJsonType::binary_t::value_type + using nlohmann::detail::serializer< BasicJsonType >::binary_char_t = typename BasicJsonType::binary_t::value_type + + binary_char_t + + + + + + + + + + + + constexpr std::uint8_t + constexpr std::uint8_t nlohmann::detail::serializer< BasicJsonType >::UTF8_ACCEPT + + UTF8_ACCEPT + = 0 + + + + + + + + + + constexpr std::uint8_t + constexpr std::uint8_t nlohmann::detail::serializer< BasicJsonType >::UTF8_REJECT + + UTF8_REJECT + = 1 + + + + + + + + + + + + JSON_PRIVATE_UNLESS_TESTED + JSON_PRIVATE_UNLESS_TESTED nlohmann::detail::serializer< BasicJsonType >::__pad0__ + + __pad0__ + void dump_escaped(const string_t& s + + + + + + + + + + JSON_PRIVATE_UNLESS_TESTED const bool + JSON_PRIVATE_UNLESS_TESTED const bool nlohmann::detail::serializer< BasicJsonType >::ensure_ascii + + ensure_ascii + { + std::uint32_t codepoint{} + + + + + + + + + + std::uint8_t + std::uint8_t nlohmann::detail::serializer< BasicJsonType >::state + + state + = UTF8_ACCEPT + + + + + + + + + + std::size_t + std::size_t nlohmann::detail::serializer< BasicJsonType >::bytes + + bytes + = 0 + + + + + + + + + + std::size_t + std::size_t nlohmann::detail::serializer< BasicJsonType >::bytes_after_last_accept + + bytes_after_last_accept + = 0 + + + + + + + + + + std::size_t + std::size_t nlohmann::detail::serializer< BasicJsonType >::undumped_chars + + undumped_chars + = 0 + + + + + + + + + + + nlohmann::detail::serializer< BasicJsonType >::else + + else + + + + + + + + + + std::array< char, 64 > + std::array<char, 64> nlohmann::detail::serializer< BasicJsonType >::number_buffer + + number_buffer + {{}} + +a (hopefully) large enough character buffer + + + + + + + + const std::lconv * + const std::lconv* nlohmann::detail::serializer< BasicJsonType >::loc + + loc + = nullptr + +the locale + + + + + + + + const char + const char nlohmann::detail::serializer< BasicJsonType >::thousands_sep + + thousands_sep + = '\0' + +the locale's thousand separator character + + + + + + + + const char + const char nlohmann::detail::serializer< BasicJsonType >::decimal_point + + decimal_point + = '\0' + +the locale's decimal point character + + + + + + + + std::array< char, 512 > + std::array<char, 512> nlohmann::detail::serializer< BasicJsonType >::string_buffer + + string_buffer + {{}} + +string buffer + + + + + + + + const char + const char nlohmann::detail::serializer< BasicJsonType >::indent_char + + indent_char + +the indentation character + + + + + + + + string_t + string_t nlohmann::detail::serializer< BasicJsonType >::indent_string + + indent_string + +the indentation string + + + + + + + + const error_handler_t + const error_handler_t nlohmann::detail::serializer< BasicJsonType >::error_handler + + error_handler + +error_handler how to react on decoding errors + + + + + + + + + + + nlohmann::detail::serializer< BasicJsonType >::serializer + (output_adapter_t< char > s, const char ichar, error_handler_t error_handler_=error_handler_t::strict) + serializer + + output_adapter_t< char > + s + + + const char + ichar + + + error_handler_t + error_handler_ + error_handler_t::strict + + + + + + +s + + +output stream to serialize to + + + +ichar + + +indentation character to use + + + +error_handler_ + + +how to react on decoding errors + + + + + + + + + + nlohmann::detail::serializer< BasicJsonType >::serializer + (const serializer &)=delete + serializer + + const serializer & + + + + + + + + + + + serializer & + serializer& nlohmann::detail::serializer< BasicJsonType >::operator= + (const serializer &)=delete + operator= + + const serializer & + + + + + + + + + + + + nlohmann::detail::serializer< BasicJsonType >::serializer + (serializer &&)=delete + serializer + + serializer && + + + + + + + + + + + serializer & + serializer& nlohmann::detail::serializer< BasicJsonType >::operator= + (serializer &&)=delete + operator= + + serializer && + + + + + + + + + + + + nlohmann::detail::serializer< BasicJsonType >::~serializer + ()=default + ~serializer + + + + + + + + + + void + void nlohmann::detail::serializer< BasicJsonType >::dump + (const BasicJsonType &val, const bool pretty_print, const bool ensure_ascii, const unsigned int indent_step, const unsigned int current_indent=0) + dump + + const BasicJsonType & + val + + + const bool + pretty_print + + + const bool + ensure_ascii + + + const unsigned int + indent_step + + + const unsigned int + current_indent + 0 + + +internal implementation of the serialization function + +This function is called by the public member function dump and organizes the serialization internally. The indentation level is propagated as additional parameter. In case of arrays and objects, the function is called recursively. +strings and object keys are escaped using escape_string()integer numbers are converted implicitly via operator<<floating-point numbers are converted to a string using "%g" formatbinary values are serialized as objects containing the subtype and the byte array + + +val + + +value to serialize + + + +pretty_print + + +whether the output shall be pretty-printed + + + +ensure_ascii + + +If ensure_ascii is true, all non-ASCII characters in the output are escaped with \uXXXX sequences, and the result consists of ASCII characters only. + + + +indent_step + + +the indent level + + + +current_indent + + +the current indent level (only used internally) + + + + + + + nlohmann::detail::array + nlohmann::detail::binary + nlohmann::detail::boolean + nlohmann::detail::discarded + JSON_ASSERT + JSON_HEDLEY_UNLIKELY + JSON_PRIVATE_UNLESS_TESTED + nlohmann::detail::null + nlohmann::detail::number_float + nlohmann::detail::number_integer + nlohmann::detail::number_unsigned + nlohmann::detail::object + nlohmann::detail::string + + + + nlohmann::detail::serializer< BasicJsonType >::for + (std::size_t i=0;i< s.size();++i) + for + + + + + + + + nlohmann::detail::type_error::create + nlohmann::detail::ignore + JSON_ASSERT + JSON_THROW + nlohmann::detail::replace + nlohmann::detail::strict + nlohmann::detail::string + nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type + nlohmann::to_string + + + + nlohmann::detail::serializer< BasicJsonType >::if + (JSON_HEDLEY_LIKELY(state==UTF8_ACCEPT)) + if + + JSON_HEDLEY_LIKELY(state==UTF8_ACCEPT) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +elements + + + + + + +elements + + + < char, 512 > + + + + + + + + + + + + +elements + + + < char, 64 > + + + + + + + + + + + + + +number_buffer + + + -UTF8_ACCEPT + -UTF8_REJECT + + + +loc + + + +indent_char + +decimal_point + +thousands_sep + + + +state + + + +indent_string + + + +string_buffer + + + +__pad0__ + +ensure_ascii + + + +bytes_after_last_accept + +bytes + +undumped_chars + + + +error_handler + + + + + + nlohmann::detail::serializer__pad0__ + nlohmann::detail::serializerbinary_char_t + nlohmann::detail::serializerbytes + nlohmann::detail::serializerbytes_after_last_accept + nlohmann::detail::serializerdecimal_point + nlohmann::detail::serializerdump + nlohmann::detail::serializerelse + nlohmann::detail::serializerensure_ascii + nlohmann::detail::serializererror_handler + nlohmann::detail::serializerfor + nlohmann::detail::serializerif + nlohmann::detail::serializerindent_char + nlohmann::detail::serializerindent_string + nlohmann::detail::serializerloc + nlohmann::detail::serializernumber_buffer + nlohmann::detail::serializernumber_float_t + nlohmann::detail::serializernumber_integer_t + nlohmann::detail::serializernumber_unsigned_t + nlohmann::detail::serializeroperator= + nlohmann::detail::serializeroperator= + nlohmann::detail::serializerserializer + nlohmann::detail::serializerserializer + nlohmann::detail::serializerserializer + nlohmann::detail::serializerstate + nlohmann::detail::serializerstring_buffer + nlohmann::detail::serializerstring_t + nlohmann::detail::serializerthousands_sep + nlohmann::detail::serializerundumped_chars + nlohmann::detail::serializerUTF8_ACCEPT + nlohmann::detail::serializerUTF8_REJECT + nlohmann::detail::serializer~serializer + + + diff --git a/docs/xml/d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.xml b/docs/xml/d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.xml index 9053f1d1..554d4d68 100644 --- a/docs/xml/d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.xml +++ b/docs/xml/d4/d26/classcudnn__frontend_1_1PointWiseDesc__v8.xml @@ -289,58 +289,58 @@ math_precisionmodenan_propagationupper_cliplower_cliplower_clip_slopeelu_alphasoftplus_betaswish_beta Use PointWiseDesc_v8 to build this class. Describe returns a string describing the PointWise operation - + - + - + - + - + - + - + - + - + - + - + - + #err_msg - + #pointer - + #status - + - + - + -upper_clip -swish_beta -lower_clip_slope @@ -348,19 +348,19 @@ -elu_alpha -softplus_beta - + -nan_propagation - + -mode - + -math_precision - + - + diff --git a/docs/xml/d4/d30/classcudnn__frontend_1_1Operation__v8.xml b/docs/xml/d4/d30/classcudnn__frontend_1_1Operation__v8.xml index 5e6b384e..49eeaaab 100644 --- a/docs/xml/d4/d30/classcudnn__frontend_1_1Operation__v8.xml +++ b/docs/xml/d4/d30/classcudnn__frontend_1_1Operation__v8.xml @@ -16,7 +16,7 @@ - + @@ -32,11 +32,11 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - getOutputTensor - cudnn_frontend::OperationBuilder_v8::OperationBuilder_v8 + + cudnn_frontend::OperationBuilder_v8::build + describe + getOutputTensor + cudnn_frontend::OperationBuilder_v8::OperationBuilder_v8 ManagedOpaqueDescriptor @@ -50,10 +50,10 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setxDesc + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setxDesc ManagedOpaqueDescriptor @@ -67,11 +67,11 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - getOutputTensor - cudnn_frontend::OperationBuilder_v8::setyDesc + + cudnn_frontend::OperationBuilder_v8::build + describe + getOutputTensor + cudnn_frontend::OperationBuilder_v8::setyDesc ManagedOpaqueDescriptor @@ -85,10 +85,10 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setwDesc + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setwDesc ManagedOpaqueDescriptor @@ -102,10 +102,10 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setbDesc + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setbDesc ManagedOpaqueDescriptor @@ -119,10 +119,10 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setdyDesc + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setdyDesc ManagedOpaqueDescriptor @@ -136,10 +136,10 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setdxDesc + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setdxDesc ManagedOpaqueDescriptor @@ -153,10 +153,10 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setdwDesc + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setdwDesc ManagedOpaqueDescriptor @@ -170,10 +170,10 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setcDesc + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setcDesc ManagedOpaqueDescriptor @@ -187,10 +187,10 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setaMatDesc + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setaMatDesc ManagedOpaqueDescriptor @@ -204,10 +204,10 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setbMatDesc + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setbMatDesc ManagedOpaqueDescriptor @@ -221,11 +221,11 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - getOutputTensor - cudnn_frontend::OperationBuilder_v8::setcMatDesc + + cudnn_frontend::OperationBuilder_v8::build + describe + getOutputTensor + cudnn_frontend::OperationBuilder_v8::setcMatDesc ManagedOpaqueDescriptor @@ -239,10 +239,10 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setpwDesc + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setpwDesc ManagedOpaqueDescriptor @@ -256,10 +256,27 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setmatmulDesc + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setmatmulDesc + + + ManagedOpaqueDescriptor + ManagedOpaqueDescriptor cudnn_frontend::Operation_v8::reductiondesc + + reductiondesc + = nullptr + + + + + + + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setreductionDesc cudnnBackendAttributeType_t @@ -273,12 +290,12 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setAlpha - cudnn_frontend::OperationBuilder_v8::setAlpha2 - cudnn_frontend::OperationBuilder_v8::setBeta + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setAlpha + cudnn_frontend::OperationBuilder_v8::setAlpha2 + cudnn_frontend::OperationBuilder_v8::setBeta float @@ -292,10 +309,10 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setAlpha + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setAlpha float @@ -309,10 +326,10 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setBeta + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setBeta float @@ -326,10 +343,10 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setAlpha2 + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setAlpha2 double @@ -343,10 +360,10 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setAlpha + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setAlpha double @@ -360,10 +377,10 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setBeta + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setBeta double @@ -377,10 +394,10 @@ - - cudnn_frontend::OperationBuilder_v8::build - describe - cudnn_frontend::OperationBuilder_v8::setAlpha2 + + cudnn_frontend::OperationBuilder_v8::build + describe + cudnn_frontend::OperationBuilder_v8::setAlpha2 int64_t @@ -394,9 +411,9 @@ - - cudnn_frontend::OperationBuilder_v8::build - cudnn_frontend::OperationBuilder_v8::setpwDesc + + cudnn_frontend::OperationBuilder_v8::build + cudnn_frontend::OperationBuilder_v8::setpwDesc cudnnPointwiseMode_t @@ -409,9 +426,9 @@ - - cudnn_frontend::OperationBuilder_v8::build - cudnn_frontend::OperationBuilder_v8::setpwDesc + + cudnn_frontend::OperationBuilder_v8::build + cudnn_frontend::OperationBuilder_v8::setpwDesc bool @@ -425,9 +442,9 @@ - - cudnn_frontend::OperationBuilder_v8::build - cudnn_frontend::OperationBuilder_v8::setpwDesc + + cudnn_frontend::OperationBuilder_v8::build + cudnn_frontend::OperationBuilder_v8::setpwDesc bool @@ -441,9 +458,9 @@ - - cudnn_frontend::OperationBuilder_v8::build - cudnn_frontend::OperationBuilder_v8::setpwDesc + + cudnn_frontend::OperationBuilder_v8::build + cudnn_frontend::OperationBuilder_v8::setpwDesc bool @@ -457,9 +474,9 @@ - - cudnn_frontend::OperationBuilder_v8::build - cudnn_frontend::OperationBuilder_v8::setpwDesc + + cudnn_frontend::OperationBuilder_v8::build + cudnn_frontend::OperationBuilder_v8::setpwDesc std::string @@ -472,9 +489,9 @@ - - cudnn_frontend::OperationBuilder_v8::build - getTag + + cudnn_frontend::OperationBuilder_v8::build + getTag @@ -490,28 +507,30 @@ - - alpha2_d - alpha2_s - alpha_d - alpha_s - alphabetaType - amatdesc - bdesc - beta_d - beta_s - bmatdesc - cdesc - cmatdesc - dwdesc - dxdesc - dydesc - matmuldesc - op_mode - pwdesc - wdesc - xdesc - ydesc + + alpha2_d + alpha2_s + alpha_d + alpha_s + alphabetaType + amatdesc + bdesc + beta_d + beta_s + bmatdesc + cdesc + cmatdesc + dwdesc + dxdesc + dydesc + matmuldesc + op_mode + pwdesc + reductiondesc + nlohmann::to_string + wdesc + xdesc + ydesc @@ -528,7 +547,7 @@ - + ManagedOpaqueDescriptor @@ -541,10 +560,10 @@ - - cmatdesc - op_mode - ydesc + + cmatdesc + op_mode + ydesc std::string const & @@ -557,9 +576,9 @@ - + Operation_v8 - operationTag + operationTag operator= ~Operation_v8 @@ -574,8 +593,8 @@ - - getTag + + getTag @@ -590,8 +609,8 @@ - - getTag + + getTag @@ -607,7 +626,7 @@ - + Operation_v8 & @@ -623,128 +642,128 @@ - - getTag + + getTag Operation_v8 Class This class has the properties of the operation Properties: -xDescyDescwdescbdescdydescdxdesccdescamatdescbmatdesccmatdescpwdescmatmuldescalphabetaalpha2 +xDescyDescwdescbdescdydescdxdesccdescamatdescbmatdesccmatdescpwdescmatmuldescreductiondescalphabetaalpha2 Use OperationBuilder_v8 to build this class. Describe returns a string describing the convolution operation - + - + - + - + - + - + - + -alpha2_d -alpha_d -beta_d - + -alphabetaType - + -pointwise_mode - + -alpha_s -beta_s -alpha2_s - + -pointwise_port_count - + -operationTag - + -is_pointwise_math_op -is_pointwise_activation_fwd_op -is_pointwise_activation_bwd_op - + -dwdesc -dxdesc -dydesc -bdesc -pwdesc -cdesc + -reductiondesc -wdesc -xdesc -ydesc - -cmatdesc ... - + -op_mode - + - + - + - + - + - + - + - + - + - + - + #err_msg - + #pointer - + #status - + - + - + cudnn_frontend::Operation_v8alpha2_d cudnn_frontend::Operation_v8alpha2_s @@ -787,6 +806,7 @@ cudnn_frontend::Operation_v8pointwise_mode cudnn_frontend::Operation_v8pointwise_port_count cudnn_frontend::Operation_v8pwdesc + cudnn_frontend::Operation_v8reductiondesc cudnn_frontend::Operation_v8set_error cudnn_frontend::Operation_v8set_status cudnn_frontend::Operation_v8status diff --git a/docs/xml/d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.xml b/docs/xml/d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.xml index 0a942674..46596993 100644 --- a/docs/xml/d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.xml +++ b/docs/xml/d4/d39/classcudnn__frontend_1_1OperationGraphBuilder__v8.xml @@ -15,7 +15,7 @@ - + @@ -34,7 +34,7 @@ - + auto @@ -55,7 +55,7 @@ - + OperationGraph_v8 && @@ -68,7 +68,7 @@ constructs the OperationGraph_v8 by calling the cudnn API Throws the appropriate error message - + cudnn_frontend::OperationGraph_v8::OperationGraphBuilder_v8 cudnn_frontend::OperationGraph_v8::operator= cudnn_frontend::set_error_and_throw_exception @@ -85,7 +85,7 @@ - + @@ -98,7 +98,7 @@ - + @@ -114,7 +114,7 @@ - + @@ -130,7 +130,7 @@ - + OperationGraphBuilder_v8 & @@ -146,7 +146,7 @@ - + @@ -154,87 +154,87 @@ OperationGraphBuilder_v8 Class Helper class used to build OperationGraph_v8 class - + - + - + - + - + +elements - + - + -m_operationGraph - + - + +elements - + < ManagedOpaqueDescriptor, 10 > - + - + - + - + - + -numOps - + -ops - + -opGraphTag - + -handle - + - + - + - + #err_msg - + #pointer - + #status - + - + - + cudnn_frontend::OperationGraphBuilder_v8build cudnn_frontend::OperationGraphBuilder_v8m_operationGraph diff --git a/docs/xml/d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.xml b/docs/xml/d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.xml new file mode 100644 index 00000000..34f77472 --- /dev/null +++ b/docs/xml/d4/d54/structnlohmann_1_1detail_1_1dtoa__impl_1_1diyfp.xml @@ -0,0 +1,212 @@ + + + + nlohmann::detail::dtoa_impl::diyfp + json.hpp + + + constexpr int + constexpr int nlohmann::detail::dtoa_impl::diyfp::kPrecision + + kPrecision + = 64 + + + + + + + + + + + + std::uint64_t + std::uint64_t nlohmann::detail::dtoa_impl::diyfp::f + + f + = 0 + + + + + + + + nlohmann::detail::dtoa_impl::compute_boundaries + nlohmann::detail::dtoa_impl::grisu2 + nlohmann::detail::dtoa_impl::grisu2_digit_gen + + + int + int nlohmann::detail::dtoa_impl::diyfp::e + + e + = 0 + + + + + + + + nlohmann::detail::dtoa_impl::compute_boundaries + nlohmann::detail::dtoa_impl::grisu2 + nlohmann::detail::dtoa_impl::grisu2_digit_gen + normalize_to + + + + + constexpr + constexpr nlohmann::detail::dtoa_impl::diyfp::diyfp + (std::uint64_t f_, int e_) noexcept + diyfp + + std::uint64_t + f_ + + + int + e_ + + + + + + + + + + + + + diyfp + static diyfp nlohmann::detail::dtoa_impl::diyfp::sub + (const diyfp &x, const diyfp &y) noexcept + sub + + const diyfp & + x + + + const diyfp & + y + + +returns x - y + +x.e == y.e and x.f >= y.f + + + + + JSON_ASSERT + + + diyfp + static diyfp nlohmann::detail::dtoa_impl::diyfp::mul + (const diyfp &x, const diyfp &y) noexcept + mul + + const diyfp & + x + + + const diyfp & + y + + +returns x * y + +The result is rounded. (Only the upper q bits are returned.) + + + + + + + diyfp + static diyfp nlohmann::detail::dtoa_impl::diyfp::normalize + (diyfp x) noexcept + normalize + + diyfp + x + + +normalize x such that the significand is >= 2^(q-1) + +x.f != 0 + + + + + JSON_ASSERT + + + diyfp + static diyfp nlohmann::detail::dtoa_impl::diyfp::normalize_to + (const diyfp &x, const int target_exponent) noexcept + normalize_to + + const diyfp & + x + + + const int + target_exponent + + +normalize x such that the result has the exponent E + +e >= x.e and the upper e - x.e bits of x.f must be zero. + + + + + e + JSON_ASSERT + + + + + + + + + + + + + + + +kPrecision + + + +f + + + +e + + + + + + + + + + + + nlohmann::detail::dtoa_impl::diyfpdiyfp + nlohmann::detail::dtoa_impl::diyfpe + nlohmann::detail::dtoa_impl::diyfpf + nlohmann::detail::dtoa_impl::diyfpkPrecision + nlohmann::detail::dtoa_impl::diyfpmul + nlohmann::detail::dtoa_impl::diyfpnormalize + nlohmann::detail::dtoa_impl::diyfpnormalize_to + nlohmann::detail::dtoa_impl::diyfpsub + + + diff --git a/docs/xml/d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.xml b/docs/xml/d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.xml new file mode 100644 index 00000000..67e9e98d --- /dev/null +++ b/docs/xml/d4/d5f/classnlohmann_1_1detail_1_1invalid__iterator.xml @@ -0,0 +1,178 @@ + + + + nlohmann::detail::invalid_iterator + nlohmann::detail::exception + json.hpp + + + + + typename BasicJsonType + + + invalid_iterator + static invalid_iterator nlohmann::detail::invalid_iterator::create + (int id_, const std::string &what_arg, const BasicJsonType &context) + create + + int + id_ + + + const std::string & + what_arg + + + const BasicJsonType & + context + + + + + + + + + nlohmann::detail::exception::diagnostics + JSON_HEDLEY_NON_NULL + nlohmann::detail::exception::name + nlohmann::detail::string + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert + nlohmann::detail::iter_impl< BasicJsonType >::key + nlohmann::detail::iter_impl< BasicJsonType >::operator* + nlohmann::detail::iter_impl< BasicJsonType >::operator+= + nlohmann::detail::iter_impl< BasicJsonType >::operator- + nlohmann::detail::iter_impl< BasicJsonType >::operator-> + nlohmann::detail::iter_impl< BasicJsonType >::operator< + nlohmann::detail::iter_impl< BasicJsonType >::operator== + nlohmann::detail::iter_impl< BasicJsonType >::operator[] + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update + + + + + + nlohmann::detail::invalid_iterator::invalid_iterator + (int id_, const char *what_arg) + invalid_iterator + + int + id_ + + + const char * + what_arg + + + + + + + + + + + +exception indicating errors with iterators + +This exception is thrown if iterators passed to a library function do not match the expected semantics.Exceptions have ids 2xx. +name / id example message description + +json.exception.invalid_iterator.201 iterators are not compatible The iterators passed to constructor basic_json(InputIT first, InputIT last) are not compatible, meaning they do not belong to the same container. Therefore, the range (first, last) is invalid. + +json.exception.invalid_iterator.202 iterator does not fit current value In an erase or insert function, the passed iterator pos does not belong to the JSON value for which the function was called. It hence does not define a valid position for the deletion/insertion. + +json.exception.invalid_iterator.203 iterators do not fit current value Either iterator passed to function erase(IteratorType first, IteratorType last) does not belong to the JSON value from which values shall be erased. It hence does not define a valid range to delete values from. + +json.exception.invalid_iterator.204 iterators out of range When an iterator range for a primitive type (number, boolean, or string) is passed to a constructor or an erase function, this range has to be exactly (begin(), end()), because this is the only way the single stored value is expressed. All other ranges are invalid. + +json.exception.invalid_iterator.205 iterator out of range When an iterator for a primitive type (number, boolean, or string) is passed to an erase function, the iterator has to be the begin() iterator, because it is the only way to address the stored value. All other iterators are invalid. + +json.exception.invalid_iterator.206 cannot construct with iterators from null The iterators passed to constructor basic_json(InputIT first, InputIT last) belong to a JSON null value and hence to not define a valid range. + +json.exception.invalid_iterator.207 cannot use key() for non-object iterators The key() member function can only be used on iterators belonging to a JSON object, because other types do not have a concept of a key. + +json.exception.invalid_iterator.208 cannot use operator[] for object iterators The operator[] to specify a concrete offset cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. + +json.exception.invalid_iterator.209 cannot use offsets with object iterators The offset operators (+, -, +=, -=) cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. + +json.exception.invalid_iterator.210 iterators do not fit The iterator range passed to the insert function are not compatible, meaning they do not belong to the same container. Therefore, the range (first, last) is invalid. + +json.exception.invalid_iterator.211 passed iterators may not belong to container The iterator range passed to the insert function must not be a subrange of the container to insert to. + +json.exception.invalid_iterator.212 cannot compare iterators of different containers When two iterators are compared, they must belong to the same container. + +json.exception.invalid_iterator.213 cannot compare order of object iterators The order of object iterators cannot be compared, because JSON objects are unordered. + +json.exception.invalid_iterator.214 cannot get value Cannot get value for iterator: Either the iterator belongs to a null value or it is an iterator to a primitive type (number, boolean, or string), but the iterator is different to begin(). +
                                                                                                +{The following code shows how an invalid_iterator exception can be caught.,invalid_iterator}
                                                                                                - exception for the base class of the library exceptions +- parse_error for exceptions indicating a parse error +- type_error for exceptions indicating executing a member function with a wrong type +- out_of_range for exceptions indicating access out of the defined range +- other_error for exceptions indicating other library errors +version 3.0.0 +
                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -m + + + +id + + + + + + nlohmann::detail::invalid_iteratorcreate + nlohmann::detail::invalid_iteratordiagnostics + nlohmann::detail::invalid_iteratorexception + nlohmann::detail::invalid_iteratorid + nlohmann::detail::invalid_iteratorinvalid_iterator + nlohmann::detail::invalid_iteratorname + nlohmann::detail::invalid_iteratorwhat + +
                                                                                                +
                                                                                                diff --git a/docs/xml/d4/d6b/group__EngineFallbackListBuilder__v8.xml b/docs/xml/d4/d6b/group__EngineFallbackListBuilder__v8.xml index 16bafd3f..8bac6db1 100644 --- a/docs/xml/d4/d6b/group__EngineFallbackListBuilder__v8.xml +++ b/docs/xml/d4/d6b/group__EngineFallbackListBuilder__v8.xml @@ -19,7 +19,7 @@ - + auto @@ -36,8 +36,8 @@ - - cudnn_frontend::EngineFallbackList_v8::mode + + cudnn_frontend::EngineFallbackList_v8::mode diff --git a/docs/xml/d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.xml b/docs/xml/d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.xml new file mode 100644 index 00000000..d5bb4895 --- /dev/null +++ b/docs/xml/d4/d8c/structnlohmann_1_1detail_1_1iterator__input__adapter__factory.xml @@ -0,0 +1,101 @@ + + + + nlohmann::detail::iterator_input_adapter_factory + json.hpp + + + typename + IteratorType + IteratorType + + + typename + Enable + Enable + void + + + + + IteratorType + using nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >::iterator_type = IteratorType + + iterator_type + + + + + + + + + + typename std::iterator_traits< iterator_type >::value_type + using nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >::char_type = typename std::iterator_traits<iterator_type>::value_type + + char_type + + + + + + + + + + iterator_input_adapter< iterator_type > + using nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >::adapter_type = iterator_input_adapter<iterator_type> + + adapter_type + + + + + + + + + + + + adapter_type + static adapter_type nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >::create + (IteratorType first, IteratorType last) + create + + IteratorType + first + + + IteratorType + last + + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::iterator_input_adapter_factoryadapter_type + nlohmann::detail::iterator_input_adapter_factorychar_type + nlohmann::detail::iterator_input_adapter_factorycreate + nlohmann::detail::iterator_input_adapter_factoryiterator_type + + + diff --git a/docs/xml/d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.xml b/docs/xml/d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.xml new file mode 100644 index 00000000..8d134468 --- /dev/null +++ b/docs/xml/d4/d91/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1array_01_4.xml @@ -0,0 +1,178 @@ + + + + nlohmann::detail::external_constructor< value_t::array > + json.hpp + + + + + + + typename BasicJsonType + + + void + static void nlohmann::detail::external_constructor< value_t::array >::construct + (BasicJsonType &j, const typename BasicJsonType::array_t &arr) + construct + + BasicJsonType & + j + + + const typename BasicJsonType::array_t & + arr + + + + + + + + + nlohmann::detail::array + + + + + typename BasicJsonType + + + void + static void nlohmann::detail::external_constructor< value_t::array >::construct + (BasicJsonType &j, typename BasicJsonType::array_t &&arr) + construct + + BasicJsonType & + j + + + typename BasicJsonType::array_t && + arr + + + + + + + + + nlohmann::detail::array + + + + + typename BasicJsonType + + + typename CompatibleArrayType + + + enable_if_t< !std::is_same< CompatibleArrayType, typename BasicJsonType::array_t >::value, int > + 0 + + + void + static void nlohmann::detail::external_constructor< value_t::array >::construct + (BasicJsonType &j, const CompatibleArrayType &arr) + construct + + BasicJsonType & + j + + + const CompatibleArrayType & + arr + + + + + + + + + nlohmann::detail::array + + + + + typename BasicJsonType + + + void + static void nlohmann::detail::external_constructor< value_t::array >::construct + (BasicJsonType &j, const std::vector< bool > &arr) + construct + + BasicJsonType & + j + + + const std::vector< bool > & + arr + + + + + + + + + nlohmann::detail::array + + + + + typename BasicJsonType + + + typename T + + + enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > + 0 + + + void + static void nlohmann::detail::external_constructor< value_t::array >::construct + (BasicJsonType &j, const std::valarray< T > &arr) + construct + + BasicJsonType & + j + + + const std::valarray< T > & + arr + + + + + + + + + nlohmann::detail::array + + + + + + + + + + + + + + + nlohmann::detail::external_constructor< value_t::array >construct + nlohmann::detail::external_constructor< value_t::array >construct + nlohmann::detail::external_constructor< value_t::array >construct + nlohmann::detail::external_constructor< value_t::array >construct + nlohmann::detail::external_constructor< value_t::array >construct + + + diff --git a/docs/xml/d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.xml b/docs/xml/d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.xml new file mode 100644 index 00000000..74439316 --- /dev/null +++ b/docs/xml/d4/dbe/classnlohmann_1_1detail_1_1iterator__input__adapter.xml @@ -0,0 +1,159 @@ + + + + nlohmann::detail::iterator_input_adapter + json.hpp + + + typename IteratorType + + + + + typename std::iterator_traits< IteratorType >::value_type + using nlohmann::detail::iterator_input_adapter< IteratorType >::char_type = typename std::iterator_traits<IteratorType>::value_type + + char_type + + + + + + + + + + + + IteratorType + IteratorType nlohmann::detail::iterator_input_adapter< IteratorType >::current + + current + + + + + + + + + + IteratorType + IteratorType nlohmann::detail::iterator_input_adapter< IteratorType >::end + + end + + + + + + + + + + + + + + typename BaseInputAdapter + + + size_t + T + T + + + friend struct + friend struct wide_string_input_helper + + wide_string_input_helper + + + + + + + + + + + + + nlohmann::detail::iterator_input_adapter< IteratorType >::iterator_input_adapter + (IteratorType first, IteratorType last) + iterator_input_adapter + + IteratorType + first + + + IteratorType + last + + + + + + + + + + + std::char_traits< char_type >::int_type + std::char_traits<char_type>::int_type nlohmann::detail::iterator_input_adapter< IteratorType >::get_character + () + get_character + + + + + + + + JSON_HEDLEY_LIKELY + + + + + bool + bool nlohmann::detail::iterator_input_adapter< IteratorType >::empty + () const + empty + + + + + + + + + + + + + + + + + + + -current + -end + + + + + + + + + nlohmann::detail::iterator_input_adapterchar_type + nlohmann::detail::iterator_input_adaptercurrent + nlohmann::detail::iterator_input_adapterempty + nlohmann::detail::iterator_input_adapterend + nlohmann::detail::iterator_input_adapterget_character + nlohmann::detail::iterator_input_adapteriterator_input_adapter + nlohmann::detail::iterator_input_adapterwide_string_input_helper + + + diff --git a/docs/xml/d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.xml b/docs/xml/d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.xml index cdbfae9c..7109e35a 100644 --- a/docs/xml/d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.xml +++ b/docs/xml/d4/dce/classcudnn__frontend_1_1VariantPackBuilder__v8.xml @@ -194,58 +194,58 @@ VariantPackBuilder_v8 Class Helper class used to build VariantPack_v8 class - + - + - + - + - + - + - + -num_ptrs -uid - + -data_pointers -workspace - + - + - + -m_variant_pack - + - + #err_msg - + #pointer - + #status - + - + diff --git a/docs/xml/d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.xml b/docs/xml/d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.xml new file mode 100644 index 00000000..5983edd6 --- /dev/null +++ b/docs/xml/d4/df1/classcudnn__frontend_1_1ReductionDesc__v8.xml @@ -0,0 +1,247 @@ + + + + cudnn_frontend::ReductionDesc_v8 + cudnn_frontend::BackendDescriptor + cudnn_frontend_ReductionDesc.h + + + friend class + friend class ReductionDescBuilder_v8 + + ReductionDescBuilder_v8 + + + + + + + + cudnn_frontend::ReductionDescBuilder_v8::build + + + + + cudnnDataType_t + cudnnDataType_t cudnn_frontend::ReductionDesc_v8::math_precision + + math_precision + = CUDNN_DATA_FLOAT + + + + + + + + describe + + + cudnnReduceTensorOp_t + cudnnReduceTensorOp_t cudnn_frontend::ReductionDesc_v8::reduction_op + + reduction_op + = CUDNN_REDUCE_TENSOR_ADD + + + + + + + + describe + + + + + std::string + std::string cudnn_frontend::ReductionDesc_v8::describe + () const override + describe + describe + +Return a string describing the backend Descriptor. + + + + + + math_precision + reduction_op + + + + cudnn_frontend::ReductionDesc_v8::ReductionDesc_v8 + (ReductionDesc_v8 &&from) + ReductionDesc_v8 + + ReductionDesc_v8 && + from + + + + + + + + + operator= + ReductionDesc_v8 + ~ReductionDesc_v8 + + + + cudnn_frontend::ReductionDesc_v8::~ReductionDesc_v8 + ()=default + ~ReductionDesc_v8 + + + + + + + + ReductionDesc_v8 + + + + + + cudnn_frontend::ReductionDesc_v8::ReductionDesc_v8 + ()=default + ReductionDesc_v8 + + + + + + + + ReductionDesc_v8 + + + + cudnn_frontend::ReductionDesc_v8::ReductionDesc_v8 + (ReductionDesc_v8 const &)=delete + ReductionDesc_v8 + + ReductionDesc_v8 const & + + + + + + + + + + + ReductionDesc_v8 & + ReductionDesc_v8& cudnn_frontend::ReductionDesc_v8::operator= + (ReductionDesc_v8 const &)=delete + operator= + + ReductionDesc_v8 const & + + + + + + + + + cudnn_frontend::ReductionDescBuilder_v8::build + ReductionDesc_v8 + + + + + +ReductionDesc Descriptor Class This class tells the properties of the Reduction operation Properties: +math_precisionreduction_op +Use ReductionDesc_v8 to build this class. Describe returns a string describing the Reduction operation + + + + + + + + + + + + + + + + + + + + + + + + + + -reduction_op + + + -math_precision + + + + + + + + + + + + + + + + #err_msg + + + #pointer + + + #status + + + + + + + + + + + cudnn_frontend::ReductionDesc_v8BackendDescriptor + cudnn_frontend::ReductionDesc_v8BackendDescriptor + cudnn_frontend::ReductionDesc_v8describe + cudnn_frontend::ReductionDesc_v8err_msg + cudnn_frontend::ReductionDesc_v8get_desc + cudnn_frontend::ReductionDesc_v8get_error + cudnn_frontend::ReductionDesc_v8get_raw_desc + cudnn_frontend::ReductionDesc_v8get_status + cudnn_frontend::ReductionDesc_v8initialize_managed_backend_pointer + cudnn_frontend::ReductionDesc_v8math_precision + cudnn_frontend::ReductionDesc_v8operator= + cudnn_frontend::ReductionDesc_v8pointer + cudnn_frontend::ReductionDesc_v8reduction_op + cudnn_frontend::ReductionDesc_v8ReductionDesc_v8 + cudnn_frontend::ReductionDesc_v8ReductionDesc_v8 + cudnn_frontend::ReductionDesc_v8ReductionDesc_v8 + cudnn_frontend::ReductionDesc_v8ReductionDescBuilder_v8 + cudnn_frontend::ReductionDesc_v8set_error + cudnn_frontend::ReductionDesc_v8set_status + cudnn_frontend::ReductionDesc_v8status + cudnn_frontend::ReductionDesc_v8~ReductionDesc_v8 + + + diff --git a/docs/xml/d4/df4/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.xml b/docs/xml/d4/df4/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.xml new file mode 100644 index 00000000..906c00ed --- /dev/null +++ b/docs/xml/d4/df4/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.xml @@ -0,0 +1,87 @@ + + + + nlohmann::detail::is_constructible< std::pair< T1, T2 > > + nlohmann::detail::is_default_constructible< std::pair< T1, T2 > > + json.hpp + + + typename T1 + + + typename T2 + + + + + + + + + + + + + + < is_default_constructible< T1 >, is_default_constructible< T2 > > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < is_default_constructible< T1 >, is_default_constructible< T2 > > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d4/df6/structnlohmann_1_1detail_1_1is__basic__json.xml b/docs/xml/d4/df6/structnlohmann_1_1detail_1_1is__basic__json.xml new file mode 100644 index 00000000..5d64b4ec --- /dev/null +++ b/docs/xml/d4/df6/structnlohmann_1_1detail_1_1is__basic__json.xml @@ -0,0 +1,42 @@ + + + + nlohmann::detail::is_basic_json + false_type + json.hpp + + + typename + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.xml b/docs/xml/d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.xml index 402ec691..7bc164be 100644 --- a/docs/xml/d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.xml +++ b/docs/xml/d5/d02/classcudnn__frontend_1_1PointWiseDescBuilder__v8.xml @@ -67,7 +67,7 @@ mode_ -Set upper and lower limits for the RELU activation. +Set pointwise mode for the activation. @@ -290,53 +290,53 @@ PointWiseDescBuilder_v8 Class Helper class used to build PointWiseDesc_v8 class - + - + - + - + - + - + - + - + - + #err_msg - + #pointer - + #status - + - + -m_pointWiseDesc - + - + - + -upper_clip -swish_beta -lower_clip_slope @@ -344,19 +344,19 @@ -elu_alpha -softplus_beta - + -nan_propagation - + -mode - + -math_precision - + - + diff --git a/docs/xml/d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.xml b/docs/xml/d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.xml index 092dc6dd..08f56eda 100644 --- a/docs/xml/d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.xml +++ b/docs/xml/d5/d06/classcudnn__frontend_1_1ExecutionPlan__v8.xml @@ -224,61 +224,61 @@ num knobsChoiceEngine Use ExecutionPlanBuilder_v8 to build this class. Describe returns a string describing the tensor class - + - + - + - + - + - + - + - + - + - + -planTag - + -handle - + -engine_config - + - + #err_msg - + #pointer - + #status - + - + diff --git a/docs/xml/d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.xml b/docs/xml/d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.xml index 74b10724..d1526af1 100644 --- a/docs/xml/d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.xml +++ b/docs/xml/d5/d14/classcudnn__frontend_1_1OpaqueBackendPointer.xml @@ -163,20 +163,20 @@ OpaqueBackendPointer class Holds the raws pointer to backend_descriptor Usage is to wrap this into a smart pointer as it helps to create and destroy the backencpointer - + - + -m_desc - + -status - + - + diff --git a/docs/xml/d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.xml b/docs/xml/d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.xml new file mode 100644 index 00000000..7ccbc6fb --- /dev/null +++ b/docs/xml/d5/d14/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_014_01_4.xml @@ -0,0 +1,58 @@ + + + + nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 > + json.hpp + + + typename BaseInputAdapter + + + + + void + static void nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >::fill_buffer + (BaseInputAdapter &input, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled) + fill_buffer + + BaseInputAdapter & + input + + + std::array< std::char_traits< char >::int_type, 4 > & + utf8_bytes + + + size_t & + utf8_bytes_index + + + size_t & + utf8_bytes_filled + + + + + + + + + JSON_HEDLEY_UNLIKELY + + + + + + + + + + + + + + + nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >fill_buffer + + + diff --git a/docs/xml/d5/d1a/classnlohmann_1_1detail_1_1parse__error.xml b/docs/xml/d5/d1a/classnlohmann_1_1detail_1_1parse__error.xml new file mode 100644 index 00000000..cd12d99a --- /dev/null +++ b/docs/xml/d5/d1a/classnlohmann_1_1detail_1_1parse__error.xml @@ -0,0 +1,304 @@ + + + + nlohmann::detail::parse_error + nlohmann::detail::exception + json.hpp + + + const std::size_t + const std::size_t nlohmann::detail::parse_error::byte + + byte + +byte index of the parse error + +The byte index of the last read character in the input file.For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack). + + + + + + + + + + + typename BasicJsonType + + + parse_error + static parse_error nlohmann::detail::parse_error::create + (int id_, const position_t &pos, const std::string &what_arg, const BasicJsonType &context) + create + + int + id_ + + + const position_t & + pos + + + const std::string & + what_arg + + + const BasicJsonType & + context + + +create a parse error exception + + + +id_ + + +the id of the exception + + + +pos + + +the position where the error occurred (or with chars_read_total=0 if the position cannot be determined) + + + +what_arg + + +the explanatory string + + +parse_error object + + + + + nlohmann::detail::position_t::chars_read_total + nlohmann::detail::exception::diagnostics + nlohmann::detail::exception::name + nlohmann::detail::string + nlohmann::json_pointer< BasicJsonType >::array_index + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_binary + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_string + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_binary + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_string + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_string + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_high_precision_number + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_type + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_value + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_string + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_value + nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parse + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_element_internal + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_cbor_internal + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_msgpack_internal + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax_parse + nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse + nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal + nlohmann::json_pointer< BasicJsonType >::split + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::unexpect_eof + + + + + typename BasicJsonType + + + parse_error + static parse_error nlohmann::detail::parse_error::create + (int id_, std::size_t byte_, const std::string &what_arg, const BasicJsonType &context) + create + + int + id_ + + + std::size_t + byte_ + + + const std::string & + what_arg + + + const BasicJsonType & + context + + + + + + + + + nlohmann::detail::exception::diagnostics + nlohmann::detail::exception::name + nlohmann::detail::string + nlohmann::to_string + + + + + + nlohmann::detail::parse_error::parse_error + (int id_, std::size_t byte_, const char *what_arg) + parse_error + + int + id_ + + + std::size_t + byte_ + + + const char * + what_arg + + + + + + + + + + + + + std::string + static std::string nlohmann::detail::parse_error::position_string + (const position_t &pos) + position_string + + const position_t & + pos + + + + + + + + + nlohmann::detail::position_t::chars_read_current_line + nlohmann::detail::position_t::lines_read + nlohmann::to_string + + + +exception indicating a parse error + +This exception is thrown by the library when a parse error occurs. Parse errors can occur during the deserialization of JSON text, CBOR, MessagePack, as well as when using JSON Patch.Member byte holds the byte index of the last read character in the input file.Exceptions have ids 1xx. +name / id example message description + +json.exception.parse_error.101 parse error at 2: unexpected end of input; expected string literal This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member byte indicates the error position. + +json.exception.parse_error.102 parse error at 14: missing or wrong low surrogate JSON uses the \uxxxx format to describe Unicode characters. Code points above above 0xFFFF are split into two \uxxxx entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point. + +json.exception.parse_error.103 parse error: code points above 0x10FFFF are invalid Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid. + +json.exception.parse_error.104 parse error: JSON patch must be an array of objects RFC 6902 requires a JSON Patch document to be a JSON document that represents an array of objects. + +json.exception.parse_error.105 parse error: operation must have string member 'op' An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors. + +json.exception.parse_error.106 parse error: array index '01' must not begin with '0' An array index in a JSON Pointer (RFC 6901) may be 0 or any number without a leading 0. + +json.exception.parse_error.107 parse error: JSON pointer must be empty or begin with '/' - was: 'foo' A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a / character. + +json.exception.parse_error.108 parse error: escape character '~' must be followed with '0' or '1' In a JSON Pointer, only ~0 and ~1 are valid escape sequences. + +json.exception.parse_error.109 parse error: array index 'one' is not a number A JSON Pointer array index must be a number. + +json.exception.parse_error.110 parse error at 1: cannot read 2 bytes from vector When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read. + +json.exception.parse_error.112 parse error at 1: error reading CBOR; last byte: 0xF8 Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read. + +json.exception.parse_error.113 parse error at 2: expected a CBOR string; last byte: 0x98 While parsing a map key, a value that is not a string has been read. + +json.exception.parse_error.114 parse error: Unsupported BSON record type 0x0F The parsing of the corresponding BSON record type is not implemented (yet). + +json.exception.parse_error.115 parse error at byte 5: syntax error while parsing UBJSON high-precision number: invalid number text: 1A A UBJSON high-precision number could not be parsed. +
                                                                                                +For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack). +{The following code shows how a parse_error exception can be caught.,parse_error}
                                                                                                - exception for the base class of the library exceptions +- invalid_iterator for exceptions indicating errors with iterators +- type_error for exceptions indicating executing a member function with a wrong type +- out_of_range for exceptions indicating access out of the defined range +- other_error for exceptions indicating other library errors +version 3.0.0 +
                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +byte + + + + + + + + + + + + + + + -m + + + +id + + + + + + nlohmann::detail::parse_errorbyte + nlohmann::detail::parse_errorcreate + nlohmann::detail::parse_errorcreate + nlohmann::detail::parse_errordiagnostics + nlohmann::detail::parse_errorexception + nlohmann::detail::parse_errorid + nlohmann::detail::parse_errorname + nlohmann::detail::parse_errorparse_error + nlohmann::detail::parse_errorposition_string + nlohmann::detail::parse_errorwhat + +
                                                                                                +
                                                                                                diff --git a/docs/xml/d5/d1b/classnlohmann_1_1detail_1_1other__error.xml b/docs/xml/d5/d1b/classnlohmann_1_1detail_1_1other__error.xml new file mode 100644 index 00000000..930fb5f2 --- /dev/null +++ b/docs/xml/d5/d1b/classnlohmann_1_1detail_1_1other__error.xml @@ -0,0 +1,142 @@ + + + + nlohmann::detail::other_error + nlohmann::detail::exception + json.hpp + + + + + typename BasicJsonType + + + other_error + static other_error nlohmann::detail::other_error::create + (int id_, const std::string &what_arg, const BasicJsonType &context) + create + + int + id_ + + + const std::string & + what_arg + + + const BasicJsonType & + context + + + + + + + + + nlohmann::detail::exception::diagnostics + JSON_HEDLEY_NON_NULL + nlohmann::detail::exception::name + nlohmann::detail::string + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + + + + + + nlohmann::detail::other_error::other_error + (int id_, const char *what_arg) + other_error + + int + id_ + + + const char * + what_arg + + + + + + + + + + + +exception indicating other library errors + +This exception is thrown in case of errors that cannot be classified with the other exception types.Exceptions have ids 5xx. +name / id example message description + +json.exception.other_error.501 unsuccessful: {"op":"test","path":"/baz", "value":"bar"} A JSON Patch operation 'test' failed. The unsuccessful operation is also printed. +
                                                                                                +- exception for the base class of the library exceptions +- parse_error for exceptions indicating a parse error +- invalid_iterator for exceptions indicating errors with iterators +- type_error for exceptions indicating executing a member function with a wrong type +- out_of_range for exceptions indicating access out of the defined range +{The following code shows how an other_error exception can be caught.,other_error}
                                                                                                version 3.0.0 +
                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -m + + + +id + + + + + + + + + + + + nlohmann::detail::other_errorcreate + nlohmann::detail::other_errordiagnostics + nlohmann::detail::other_errorexception + nlohmann::detail::other_errorid + nlohmann::detail::other_errorname + nlohmann::detail::other_errorother_error + nlohmann::detail::other_errorwhat + +
                                                                                                +
                                                                                                diff --git a/docs/xml/d5/d36/cudnn__frontend__Filters_8h.xml b/docs/xml/d5/d36/cudnn__frontend__Filters_8h.xml index 1a12a8ca..e6260ccb 100644 --- a/docs/xml/d5/d36/cudnn__frontend__Filters_8h.xml +++ b/docs/xml/d5/d36/cudnn__frontend__Filters_8h.xml @@ -5,42 +5,42 @@ cudnn.h cudnn_frontend.h - + - + - + - + - + - + - + - + - + - + - + - + @@ -119,7 +119,36 @@ } returnhasNumerics; } -} + +#if(CUDNN_VERSION>=8200) +template<cudnnBackendBehaviorNote_tBEHAVIOR_NOTE> +bool +hasBehaviorNote(cudnnBackendDescriptor_tengine_config){ +boolhasBehavior=false; +autostatus=CUDNN_STATUS_SUCCESS; +ManagedOpaqueDescriptorengine=make_shared_backend_pointer(CUDNN_BACKEND_ENGINE_DESCRIPTOR); +cudnnBackendDescriptor_tengine_=engine->get_backend_descriptor(); +int64_tengine_count=-1; +status=cudnnBackendGetAttribute( +engine_config,CUDNN_ATTR_ENGINECFG_ENGINE,CUDNN_TYPE_BACKEND_DESCRIPTOR,1,&engine_count,&engine_); +if(status==CUDNN_STATUS_SUCCESS){ +cudnnBackendBehaviorNote_tnotes[CUDNN_BEHAVIOR_NOTE_TYPE_COUNT]; +int64_telem_count=0; +cudnnBackendGetAttribute(engine->get_backend_descriptor(), +CUDNN_ATTR_ENGINE_BEHAVIOR_NOTE, +CUDNN_TYPE_BEHAVIOR_NOTE, +CUDNN_BEHAVIOR_NOTE_TYPE_COUNT, +&elem_count, +notes); +if(std::any_of( +notes,notes+elem_count,[](cudnnBackendBehaviorNote_tnote){returnnote==BEHAVIOR_NOTE;})){ +hasBehavior=true; +} +} +returnhasBehavior; +} +#endif +} diff --git a/docs/xml/d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.xml b/docs/xml/d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.xml new file mode 100644 index 00000000..1b7c040a --- /dev/null +++ b/docs/xml/d5/d36/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1boolean_01_4.xml @@ -0,0 +1,52 @@ + + + + nlohmann::detail::external_constructor< value_t::boolean > + json.hpp + + + + + + + typename BasicJsonType + + + void + static void nlohmann::detail::external_constructor< value_t::boolean >::construct + (BasicJsonType &j, typename BasicJsonType::boolean_t b) noexcept + construct + + BasicJsonType & + j + + + typename BasicJsonType::boolean_t + b + + + + + + + + + nlohmann::detail::boolean + + + + + + + + + + + + + + + nlohmann::detail::external_constructor< value_t::boolean >construct + + + diff --git a/docs/xml/d5/d3c/structnlohmann_1_1detail_1_1iterator__types.xml b/docs/xml/d5/d3c/structnlohmann_1_1detail_1_1iterator__types.xml new file mode 100644 index 00000000..a981446a --- /dev/null +++ b/docs/xml/d5/d3c/structnlohmann_1_1detail_1_1iterator__types.xml @@ -0,0 +1,48 @@ + + + + nlohmann::detail::iterator_types + json.hpp + + + typename It + + + typename + void + + + + + + + + + + + + < T > + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.xml b/docs/xml/d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.xml new file mode 100644 index 00000000..dd1a6b1a --- /dev/null +++ b/docs/xml/d5/d4d/structnlohmann_1_1detail_1_1from__json__fn.xml @@ -0,0 +1,53 @@ + + + + nlohmann::detail::from_json_fn + json.hpp + + + + + typename BasicJsonType + + + typename T + + + auto + auto nlohmann::detail::from_json_fn::operator() + (const BasicJsonType &j, T &&val) const noexcept(noexcept(from_json(j, std::forward< T >(val)))) -> decltype(from_json(j, std::forward< T >(val))) + operator() + + const BasicJsonType & + j + + + T && + val + + + + + + + + + nlohmann::detail::from_json + + + + + + + + + + + + + + + nlohmann::detail::from_json_fnoperator() + + + diff --git a/docs/xml/d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.xml b/docs/xml/d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.xml new file mode 100644 index 00000000..6cada18d --- /dev/null +++ b/docs/xml/d5/d66/classnlohmann_1_1detail_1_1output__vector__adapter.xml @@ -0,0 +1,153 @@ + + + + nlohmann::detail::output_vector_adapter + nlohmann::detail::output_adapter_protocol< CharType > + json.hpp + + + typename CharType + + + + + std::vector< CharType > & + std::vector<CharType>& nlohmann::detail::output_vector_adapter< CharType >::v + + v + + + + + + + + + + + + + nlohmann::detail::output_vector_adapter< CharType >::output_vector_adapter + (std::vector< CharType > &vec) noexcept + output_vector_adapter + + std::vector< CharType > & + vec + + + + + + + + + + + void + void nlohmann::detail::output_vector_adapter< CharType >::write_character + (CharType c) override + write_character + write_character + + CharType + c + + + + + + + + + JSON_HEDLEY_NON_NULL + + + void + void nlohmann::detail::output_vector_adapter< CharType >::write_characters + (const CharType *s, std::size_t length) override + write_characters + write_characters + + const CharType * + s + + + std::size_t + length + + + + + + + + + + + +output adapter for byte vectors + + + + + + + + + + + + + + + + + + + + + + +elements + + + + + + + + + -v + + + + + + + + + +elements + + + < CharType > + + + + + + + + + + nlohmann::detail::output_vector_adapteroperator= + nlohmann::detail::output_vector_adapteroperator= + nlohmann::detail::output_vector_adapteroutput_adapter_protocol + nlohmann::detail::output_vector_adapteroutput_adapter_protocol + nlohmann::detail::output_vector_adapteroutput_adapter_protocol + nlohmann::detail::output_vector_adapteroutput_vector_adapter + nlohmann::detail::output_vector_adapterv + nlohmann::detail::output_vector_adapterwrite_character + nlohmann::detail::output_vector_adapterwrite_characters + nlohmann::detail::output_vector_adapter~output_adapter_protocol + + + diff --git a/docs/xml/d5/da3/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_3_01T_01_4_1_1value_01_4_01_4.xml b/docs/xml/d5/da3/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_3_01T_01_4_1_1value_01_4_01_4.xml new file mode 100644 index 00000000..f4211f1a --- /dev/null +++ b/docs/xml/d5/da3/structnlohmann_1_1detail_1_1iterator__traits_3_01T_00_01enable__if__t_3_01_9std_1_1is__pointer_3_01T_01_4_1_1value_01_4_01_4.xml @@ -0,0 +1,58 @@ + + + + nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > > + nlohmann::detail::iterator_types< T > + json.hpp + + + typename T + + + + + + + + + + + + < T > + + + + + + + + + + + + + + + + + + + < T > + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d5/db0/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4.xml b/docs/xml/d5/db0/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4.xml new file mode 100644 index 00000000..480265d1 --- /dev/null +++ b/docs/xml/d5/db0/structnlohmann_1_1detail_1_1conjunction_3_01B1_00_01Bn_8_8_8_01_4.xml @@ -0,0 +1,49 @@ + + + + nlohmann::detail::conjunction< B1, Bn... > + std::conditional::type< bool(B1::value), conjunction< Bn... >, B1 > + json.hpp + + + class B1 + + + class... + Bn + Bn + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d5/db8/json_8hpp.xml b/docs/xml/d5/db8/json_8hpp.xml new file mode 100644 index 00000000..8c81b410 --- /dev/null +++ b/docs/xml/d5/db8/json_8hpp.xml @@ -0,0 +1,24491 @@ + + + + json.hpp + algorithm + cstddef + functional + initializer_list + iosfwd + iterator + memory + numeric + string + utility + vector + type_traits + array + forward_list + map + tuple + unordered_map + valarray + exception + stdexcept + cstdint + cstdlib + cassert + limits + cmath + cstdio + cstring + istream + clocale + cctype + ios + ostream + cudnn_frontend_Errata.h + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::position_t + nlohmann::detail::exception + nlohmann::detail::parse_error + nlohmann::detail::invalid_iterator + nlohmann::detail::type_error + nlohmann::detail::out_of_range + nlohmann::detail::other_error + nlohmann::detail::integer_sequence + nlohmann::detail::utility_internal::Extend + nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 > + nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 > + nlohmann::detail::utility_internal::Gen + nlohmann::detail::utility_internal::Gen< T, 0 > + nlohmann::detail::priority_tag + nlohmann::detail::priority_tag< 0 > + nlohmann::detail::static_const + nlohmann::detail::identity_tag + nlohmann::detail::make_void + nlohmann::detail::iterator_types + nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > > + nlohmann::detail::iterator_traits + nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > > + nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > > + nlohmann::detail::nonesuch + nlohmann::detail::detector + nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... > + nlohmann::adl_serializer + nlohmann::basic_json + nlohmann::json_pointer + nlohmann::ordered_map + nlohmann::detail::is_basic_json + nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL > + nlohmann::detail::json_ref + nlohmann::detail::is_json_ref + nlohmann::detail::is_json_ref< json_ref< T > > + nlohmann::detail::has_from_json + nlohmann::detail::is_getable + nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > + nlohmann::detail::has_non_default_from_json + nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > + nlohmann::detail::has_to_json + nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > + nlohmann::detail::conjunction + nlohmann::detail::conjunction< B1 > + nlohmann::detail::conjunction< B1, Bn... > + nlohmann::detail::is_default_constructible + nlohmann::detail::is_default_constructible< std::pair< T1, T2 > > + nlohmann::detail::is_default_constructible< const std::pair< T1, T2 > > + nlohmann::detail::is_default_constructible< std::tuple< Ts... > > + nlohmann::detail::is_default_constructible< const std::tuple< Ts... > > + nlohmann::detail::is_constructible + nlohmann::detail::is_constructible< std::pair< T1, T2 > > + nlohmann::detail::is_constructible< const std::pair< T1, T2 > > + nlohmann::detail::is_constructible< std::tuple< Ts... > > + nlohmann::detail::is_constructible< const std::tuple< Ts... > > + nlohmann::detail::is_iterator_traits + nlohmann::detail::is_iterator_traits< iterator_traits< T > > + nlohmann::detail::is_complete_type + nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))> + nlohmann::detail::is_compatible_object_type_impl + nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > > + nlohmann::detail::is_compatible_object_type + nlohmann::detail::is_constructible_object_type_impl + nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > > + nlohmann::detail::is_constructible_object_type + nlohmann::detail::is_compatible_string_type_impl + nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > > + nlohmann::detail::is_compatible_string_type + nlohmann::detail::is_constructible_string_type_impl + nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > > + nlohmann::detail::is_constructible_string_type + nlohmann::detail::is_compatible_array_type_impl + nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > > + nlohmann::detail::is_compatible_array_type + nlohmann::detail::is_constructible_array_type_impl + nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > > + nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > > + nlohmann::detail::is_constructible_array_type + nlohmann::detail::is_compatible_integer_type_impl + nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > > + nlohmann::detail::is_compatible_integer_type + nlohmann::detail::is_compatible_type_impl + nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > > + nlohmann::detail::is_compatible_type + nlohmann::detail::is_constructible_tuple + nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > > + nlohmann::detail::from_json_fn + nlohmann::detail::iteration_proxy_value + nlohmann::detail::iteration_proxy + std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > > + std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > > + nlohmann::detail::external_constructor + nlohmann::detail::external_constructor< value_t::boolean > + nlohmann::detail::external_constructor< value_t::string > + nlohmann::detail::external_constructor< value_t::binary > + nlohmann::detail::external_constructor< value_t::number_float > + nlohmann::detail::external_constructor< value_t::number_unsigned > + nlohmann::detail::external_constructor< value_t::number_integer > + nlohmann::detail::external_constructor< value_t::array > + nlohmann::detail::external_constructor< value_t::object > + nlohmann::detail::to_json_fn + nlohmann::adl_serializer + nlohmann::byte_container_with_subtype + nlohmann::detail::file_input_adapter + nlohmann::detail::input_stream_adapter + nlohmann::detail::iterator_input_adapter + nlohmann::detail::wide_string_input_helper + nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 > + nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 > + nlohmann::detail::wide_string_input_adapter + nlohmann::detail::iterator_input_adapter_factory + nlohmann::detail::is_iterator_of_multibyte + nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > > + nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory + nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> > + nlohmann::detail::span_input_adapter + nlohmann::json_sax + nlohmann::detail::json_sax_dom_parser + nlohmann::detail::json_sax_dom_callback_parser + nlohmann::detail::json_sax_acceptor + nlohmann::detail::lexer_base + nlohmann::detail::lexer + nlohmann::detail::is_sax + nlohmann::detail::is_sax_static_asserts + nlohmann::detail::binary_reader + nlohmann::detail::parser + nlohmann::detail::primitive_iterator_t + nlohmann::detail::internal_iterator + nlohmann::detail::iteration_proxy + nlohmann::detail::iteration_proxy_value + nlohmann::detail::iter_impl + nlohmann::detail::json_reverse_iterator + nlohmann::json_pointer + nlohmann::detail::json_ref + nlohmann::detail::output_adapter_protocol + nlohmann::detail::output_vector_adapter + nlohmann::detail::output_stream_adapter + nlohmann::detail::output_string_adapter + nlohmann::detail::output_adapter + nlohmann::detail::binary_writer + nlohmann::detail::dtoa_impl::diyfp + nlohmann::detail::dtoa_impl::boundaries + nlohmann::detail::dtoa_impl::cached_power + nlohmann::detail::serializer + nlohmann::ordered_map + nlohmann::basic_json + std::hash< nlohmann::json > + std::less<::nlohmann::detail::value_t > + nlohmann + nlohmann::detail + nlohmann::detail::utility_internal + std + nlohmann::detail::container_input_adapter_factory_impl + nlohmann::detail::dtoa_impl + + + NLOHMANN_JSON_VERSION_MAJOR + 3 + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::meta + + + NLOHMANN_JSON_VERSION_MINOR + 9 + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::meta + + + NLOHMANN_JSON_VERSION_PATCH + 1 + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::meta + + + JSON_HEDLEY_VERSION + 15 + + + + + + + + + + JSON_HEDLEY_STRINGIFY_EX + x + #x + + + + + + + + + + JSON_HEDLEY_STRINGIFY + x + JSON_HEDLEY_STRINGIFY_EX(x) + + + + + + + + + + JSON_HEDLEY_CONCAT_EX + a + b + a##b + + + + + + + + + + JSON_HEDLEY_CONCAT + a + b + JSON_HEDLEY_CONCAT_EX(a,b) + + + + + + + + + + JSON_HEDLEY_CONCAT3_EX + a + b + c + a##b##c + + + + + + + + + + JSON_HEDLEY_CONCAT3 + a + b + c + JSON_HEDLEY_CONCAT3_EX(a,b,c) + + + + + + + + + + JSON_HEDLEY_VERSION_ENCODE + major + minor + revision + (((major) * 1000000) + ((minor) * 1000) + (revision)) + + + + + + + + + + JSON_HEDLEY_VERSION_DECODE_MAJOR + version + ((version) / 1000000) + + + + + + + + + + JSON_HEDLEY_VERSION_DECODE_MINOR + version + (((version) % 1000000) / 1000) + + + + + + + + + + JSON_HEDLEY_VERSION_DECODE_REVISION + version + ((version) % 1000) + + + + + + + + + + JSON_HEDLEY_GNUC_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_MSVC_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_INTEL_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_INTEL_CL_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_PGI_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_SUNPRO_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_ARM_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_IBM_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_TI_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_TI_CL2000_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_TI_CL430_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_TI_CL6X_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_TI_CL7X_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_CRAY_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_IAR_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_TINYC_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_DMC_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_COMPCERT_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_PELLES_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_MCST_LCC_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_GCC_VERSION_CHECK + major + minor + patch + (0) + + + + + + + + + + JSON_HEDLEY_HAS_ATTRIBUTE + attribute + (0) + + + + + + + + + + JSON_HEDLEY_GNUC_HAS_ATTRIBUTE + attribute + major + minor + patch + JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) + + + + + + + + + + JSON_HEDLEY_GCC_HAS_ATTRIBUTE + attribute + major + minor + patch + JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) + + + + + + + + + + JSON_HEDLEY_HAS_CPP_ATTRIBUTE + attribute + (0) + + + + + + + + + + JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS + ns + attribute + (0) + + + + + + + + + + JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE + attribute + major + minor + patch + JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) + + + + + + + + + + JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE + attribute + major + minor + patch + JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) + + + + + + + + + + JSON_HEDLEY_HAS_BUILTIN + builtin + (0) + + + + + + + + + + JSON_HEDLEY_GNUC_HAS_BUILTIN + builtin + major + minor + patch + JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) + + + + + + + + + + JSON_HEDLEY_GCC_HAS_BUILTIN + builtin + major + minor + patch + JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) + + + + + + + + + + JSON_HEDLEY_HAS_FEATURE + feature + (0) + + + + + + + + + + JSON_HEDLEY_GNUC_HAS_FEATURE + feature + major + minor + patch + JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) + + + + + + + + + + JSON_HEDLEY_GCC_HAS_FEATURE + feature + major + minor + patch + JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) + + + + + + + + + + JSON_HEDLEY_HAS_EXTENSION + extension + (0) + + + + + + + + + + JSON_HEDLEY_GNUC_HAS_EXTENSION + extension + major + minor + patch + JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) + + + + + + + + + + JSON_HEDLEY_GCC_HAS_EXTENSION + extension + major + minor + patch + JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) + + + + + + + + + + JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE + attribute + (0) + + + + + + + + + + JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE + attribute + major + minor + patch + JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) + + + + + + + + + + JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE + attribute + major + minor + patch + JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) + + + + + + + + + + JSON_HEDLEY_HAS_WARNING + warning + (0) + + + + + + + + + + JSON_HEDLEY_GNUC_HAS_WARNING + warning + major + minor + patch + JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) + + + + + + + + + + JSON_HEDLEY_GCC_HAS_WARNING + warning + major + minor + patch + JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) + + + + + + + + + + JSON_HEDLEY_PRAGMA + value + + + + + + + + + + JSON_HEDLEY_DIAGNOSTIC_PUSH + + + + + + + + + + JSON_HEDLEY_DIAGNOSTIC_POP + + + + + + + + + + JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ + x + x + + + + + + + + + + JSON_HEDLEY_CONST_CAST + T + expr + ((T) (expr)) + + + + + + + + + + JSON_HEDLEY_REINTERPRET_CAST + T + expr + ((T) (expr)) + + + + + + + + + + JSON_HEDLEY_STATIC_CAST + T + expr + ((T) (expr)) + + + + + + + + + + JSON_HEDLEY_CPP_CAST + T + expr + (expr) + + + + + + + + + + JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED + + + + + + + + + + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS + + + + + + + + + + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES + + + + + + + + + + JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL + + + + + + + + + + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION + + + + + + + + + + JSON_HEDLEY_DEPRECATED + since + + + + + + + + + + JSON_HEDLEY_DEPRECATED_FOR + since + replacement + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::accept + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::crend + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_bson + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_cbor + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_msgpack + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_ubjson + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::iterator_wrapper + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::sax_parse + + + JSON_HEDLEY_UNAVAILABLE + available_since + + + + + + + + + + JSON_HEDLEY_WARN_UNUSED_RESULT + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::accept + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::array + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_bson + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_cbor + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_msgpack + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_ubjson + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_allocator + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_bson + + + JSON_HEDLEY_WARN_UNUSED_RESULT_MSG + msg + + + + + + + + + + JSON_HEDLEY_SENTINEL + position + + + + + + + + + + JSON_HEDLEY_NO_RETURN + + + + + + + + + + JSON_HEDLEY_NO_ESCAPE + + + + + + + + + + JSON_HEDLEY_ASSUME + expr + JSON_HEDLEY_STATIC_CAST(void, expr) + + + + + + + + + + JSON_HEDLEY_UNREACHABLE_RETURN + value + return (value) + + + + + + + + + + JSON_HEDLEY_UNREACHABLE + + JSON_HEDLEY_ASSUME(0) + + + + + + + + + + JSON_HEDLEY_NON_NULL + ... + + + + + + + + nlohmann::detail::parser< BasicJsonType, InputAdapterType >::accept + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::accept + nlohmann::detail::dtoa_impl::append_exponent + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::binary_reader + nlohmann::detail::invalid_iterator::create + nlohmann::detail::type_error::create + nlohmann::detail::out_of_range::create + nlohmann::detail::other_error::create + nlohmann::detail::dtoa_impl::format_buffer + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_binary + nlohmann::detail::dtoa_impl::grisu2 + nlohmann::detail::dtoa_impl::grisu2_digit_gen + operator"" _json + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] + nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::sax_parse + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_comment + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_number + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::strtof + std::swap< nlohmann::json > + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value + nlohmann::detail::output_vector_adapter< CharType >::write_character + nlohmann::detail::output_stream_adapter< CharType >::write_character + nlohmann::detail::output_string_adapter< CharType, StringType >::write_character + + + JSON_HEDLEY_PRINTF_FORMAT + string_idx + first_to_check + + + + + + + + + + JSON_HEDLEY_CONSTEXPR + + + + + + + + + + JSON_HEDLEY_PREDICT + expr + expected + probability + (JSON_HEDLEY_STATIC_CAST(void, expected), (expr)) + + + + + + + + + + JSON_HEDLEY_PREDICT_TRUE + expr + probability + (!!(expr)) + + + + + + + + + + JSON_HEDLEY_PREDICT_FALSE + expr + probability + (!!(expr)) + + + + + + + + + + JSON_HEDLEY_LIKELY + expr + (!!(expr)) + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get + nlohmann::detail::iterator_input_adapter< IteratorType >::get_character + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ref_impl + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert + nlohmann::detail::iter_impl< BasicJsonType >::key + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::next_byte_in_range + nlohmann::detail::iter_impl< BasicJsonType >::operator* + nlohmann::detail::iter_impl< BasicJsonType >::operator-> + nlohmann::detail::iter_impl< BasicJsonType >::operator[] + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_string + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::unget + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value + + + JSON_HEDLEY_UNLIKELY + expr + (!!(expr)) + + + + + + + + nlohmann::json_pointer< BasicJsonType >::array_index + nlohmann::json_pointer< BasicJsonType >::back + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_entry_header_size + nlohmann::json_pointer< BasicJsonType >::contains + nlohmann::detail::serializer< BasicJsonType >::dump + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::emplace + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::emplace_back + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase + nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >::fill_buffer + nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >::fill_buffer + nlohmann::detail::from_json + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_binary + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_binary + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_cstr + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_string + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_array + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_binary + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_object + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_string + nlohmann::detail::input_stream_adapter::get_character + nlohmann::json_pointer< BasicJsonType >::get_checked + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_array + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_object + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_string + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_number + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_string + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_array + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_high_precision_number + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_object + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_type + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_value + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_string + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_value + nlohmann::json_pointer< BasicJsonType >::get_unchecked + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + nlohmann::detail::iter_impl< BasicJsonType >::operator< + nlohmann::detail::iter_impl< BasicJsonType >::operator== + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_array + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_element_list + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_internal + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_cbor_internal + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + nlohmann::json_pointer< BasicJsonType >::pop_back + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax_parse + nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_literal + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_string + nlohmann::json_pointer< BasicJsonType >::split + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_array + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_array + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_object + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_object + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::unexpect_eof + nlohmann::json_pointer< BasicJsonType >::unflatten + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update + nlohmann::detail::void + + + JSON_HEDLEY_UNPREDICTABLE + expr + JSON_HEDLEY_PREDICT(expr, 1, 0.5) + + + + + + + + + + JSON_HEDLEY_MALLOC + + + + + + + + + + JSON_HEDLEY_PURE + + + + + + + + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::lexer + + + JSON_HEDLEY_CONST + JSON_HEDLEY_PURE + + + + + + + + + + JSON_HEDLEY_RESTRICT + + + + + + + + + + JSON_HEDLEY_INLINE + + + + + + + + + + JSON_HEDLEY_ALWAYS_INLINE + JSON_HEDLEY_INLINE + + + + + + + + + + JSON_HEDLEY_NEVER_INLINE + + + + + + + + + + JSON_HEDLEY_PRIVATE + + + + + + + + + + JSON_HEDLEY_PUBLIC + + + + + + + + + + JSON_HEDLEY_IMPORT + extern + + + + + + + + + + JSON_HEDLEY_NO_THROW + + + + + + + + + + JSON_HEDLEY_FALL_THROUGH + + + + + + + + + + JSON_HEDLEY_RETURNS_NON_NULL + + + + + + + + nlohmann::detail::dtoa_impl::append_exponent + nlohmann::detail::dtoa_impl::format_buffer + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_token_string + nlohmann::detail::dtoa_impl::grisu2 + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::is_errored + + + JSON_HEDLEY_ARRAY_PARAM + name + + + + + + + + + + JSON_HEDLEY_IS_CONSTANT + expr + (0) + + + + + + + + + + JSON_HEDLEY_REQUIRE_CONSTEXPR + expr + (expr) + + + + + + + + + + JSON_HEDLEY_BEGIN_C_DECLS + + + + + + + + + + JSON_HEDLEY_END_C_DECLS + + + + + + + + + + JSON_HEDLEY_C_DECL + + + + + + + + + + JSON_HEDLEY_STATIC_ASSERT + expr + message + + + + + + + + + + JSON_HEDLEY_NULL + ((void*) 0) + + + + + + + + + + JSON_HEDLEY_MESSAGE + msg + + + + + + + + + + JSON_HEDLEY_WARNING + msg + JSON_HEDLEY_MESSAGE(msg) + + + + + + + + + + JSON_HEDLEY_REQUIRE + expr + + + + + + + + + + JSON_HEDLEY_REQUIRE_MSG + expr + msg + + + + + + + + + + JSON_HEDLEY_FLAGS + + + + + + + + + + JSON_HEDLEY_FLAGS_CAST + T + expr + JSON_HEDLEY_STATIC_CAST(T, expr) + + + + + + + + + + JSON_HEDLEY_EMPTY_BASES + + + + + + + + + + JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK + major + minor + patch + JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) + + + + + + + + + + JSON_HEDLEY_CLANG_HAS_ATTRIBUTE + attribute + JSON_HEDLEY_HAS_ATTRIBUTE(attribute) + + + + + + + + + + JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE + attribute + JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) + + + + + + + + + + JSON_HEDLEY_CLANG_HAS_BUILTIN + builtin + JSON_HEDLEY_HAS_BUILTIN(builtin) + + + + + + + + + + JSON_HEDLEY_CLANG_HAS_FEATURE + feature + JSON_HEDLEY_HAS_FEATURE(feature) + + + + + + + + + + JSON_HEDLEY_CLANG_HAS_EXTENSION + extension + JSON_HEDLEY_HAS_EXTENSION(extension) + + + + + + + + + + JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE + attribute + JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) + + + + + + + + + + JSON_HEDLEY_CLANG_HAS_WARNING + warning + JSON_HEDLEY_HAS_WARNING(warning) + + + + + + + + + + JSON_HAS_CPP_11 + + + + + + + + + + JSON_THROW + exception + std::abort() + + + + + + + + nlohmann::json_pointer< BasicJsonType >::array_index + nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::at + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at + nlohmann::json_pointer< BasicJsonType >::back + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_entry_header_size + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::emplace + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::emplace_back + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase + nlohmann::detail::serializer< BasicJsonType >::for + nlohmann::detail::from_json + nlohmann::json_pointer< BasicJsonType >::get_and_create + nlohmann::detail::get_arithmetic_value + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_binary + nlohmann::json_pointer< BasicJsonType >::get_checked + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ref_impl + nlohmann::json_pointer< BasicJsonType >::get_unchecked + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + nlohmann::detail::iter_impl< BasicJsonType >::key + nlohmann::detail::iter_impl< BasicJsonType >::operator* + nlohmann::detail::iter_impl< BasicJsonType >::operator+= + nlohmann::detail::iter_impl< BasicJsonType >::operator- + nlohmann::detail::iter_impl< BasicJsonType >::operator-> + nlohmann::detail::iter_impl< BasicJsonType >::operator< + nlohmann::detail::iter_impl< BasicJsonType >::operator== + nlohmann::detail::iter_impl< BasicJsonType >::operator[] + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::parse_error + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parse_error + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + nlohmann::json_pointer< BasicJsonType >::pop_back + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back + nlohmann::json_pointer< BasicJsonType >::split + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_array + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_array + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_object + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_object + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap + nlohmann::json_pointer< BasicJsonType >::unflatten + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value + nlohmann::detail::void + nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson + nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_unsigned + + + JSON_TRY + if(true) + + + + + + + + nlohmann::json_pointer< BasicJsonType >::array_index + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::assert_invariant + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value + + + JSON_CATCH + exception + if(false) + + + + + + + + nlohmann::json_pointer< BasicJsonType >::array_index + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::assert_invariant + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at + + + JSON_INTERNAL_CATCH + exception + if(false) + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value + + + JSON_ASSERT + x + assert(x) + + + + + + + + nlohmann::detail::dtoa_impl::append_exponent + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::assert_invariant + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + nlohmann::detail::binary_writer< BasicJsonType, CharType >::binary_writer + nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_element_size + nlohmann::detail::dtoa_impl::compute_boundaries + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::create + nlohmann::detail::serializer< BasicJsonType >::dump + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::end_array + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::end_object + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::exception_message + nlohmann::detail::serializer< BasicJsonType >::for + nlohmann::detail::dtoa_impl::format_buffer + nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent + nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >::get_character + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_codepoint + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_decimal_point + nlohmann::detail::dtoa_impl::grisu2 + nlohmann::detail::dtoa_impl::grisu2_digit_gen + nlohmann::detail::dtoa_impl::grisu2_round + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::handle_value + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::handle_value + nlohmann::detail::hash + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert_iterator + nlohmann::detail::iter_impl< BasicJsonType >::iter_impl + nlohmann::detail::iteration_proxy_value< IteratorType >::key + nlohmann::detail::iter_impl< BasicJsonType >::key + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::next_byte_in_range + nlohmann::detail::dtoa_impl::diyfp::normalize + nlohmann::detail::dtoa_impl::diyfp::normalize_to + nlohmann::detail::iter_impl< BasicJsonType >::operator* + nlohmann::detail::iter_impl< BasicJsonType >::operator++ + nlohmann::detail::iter_impl< BasicJsonType >::operator+= + nlohmann::detail::iter_impl< BasicJsonType >::operator- + nlohmann::detail::iter_impl< BasicJsonType >::operator-- + nlohmann::detail::iter_impl< BasicJsonType >::operator-> + nlohmann::detail::iter_impl< BasicJsonType >::operator< + nlohmann::detail::iter_impl< BasicJsonType >::operator== + nlohmann::detail::iter_impl< BasicJsonType >::operator[] + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_cbor_internal + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + nlohmann::detail::replace_substring + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax_parse + nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_literal + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_number + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_string + nlohmann::detail::iter_impl< BasicJsonType >::set_end + nlohmann::json_pointer< BasicJsonType >::split + nlohmann::detail::dtoa_impl::diyfp::sub + nlohmann::detail::to_chars + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::unget + nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_element + nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_ubjson + + + JSON_PRIVATE_UNLESS_TESTED + private + + + + + + + + nlohmann::json_pointer< BasicJsonType >::array_index + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::create + nlohmann::detail::serializer< BasicJsonType >::dump + nlohmann::detail::iter_impl< BasicJsonType >::operator= + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::type_name + nlohmann::detail::iter_impl< BasicJsonType >::value + + + NLOHMANN_JSON_SERIALIZE_ENUM + ENUM_TYPE + ... + template<typename BasicJsonType> \ + inline void to_json(BasicJsonType& j, const ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [e](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \ + { \ + return ej_pair.first == e; \ + }); \ + j = ((it != std::end(m)) ? it : std::begin(m))->second; \ + } \ + template<typename BasicJsonType> \ + inline void from_json(const BasicJsonType& j, ENUM_TYPE& e) \ + { \ + static_assert(std::is_enum<ENUM_TYPE>::value, #ENUM_TYPE " must be an enum!"); \ + static const std::pair<ENUM_TYPE, BasicJsonType> m[] = __VA_ARGS__; \ + auto it = std::find_if(std::begin(m), std::end(m), \ + [&j](const std::pair<ENUM_TYPE, BasicJsonType>& ej_pair) -> bool \ + { \ + return ej_pair.second == j; \ + }); \ + e = ((it != std::end(m)) ? it : std::begin(m))->first; \ + } + +macro to briefly define a mapping between an enum and JSON + +version 3.4.0 + + + + + + + NLOHMANN_BASIC_JSON_TPL_DECLARATION + template<template<typename, typename, typename...> class ObjectType, \ + template<typename, typename...> class ArrayType, \ + class StringType, class BooleanType, class NumberIntegerType, \ + class NumberUnsignedType, class NumberFloatType, \ + template<typename> class AllocatorType, \ + template<typename, typename = void> class JSONSerializer, \ + class BinaryType> + + + + + + + + nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::insert + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::merge_patch + nlohmann::detail::json_reverse_iterator< Base >::value + + + NLOHMANN_BASIC_JSON_TPL + basic_json<ObjectType, ArrayType, StringType, BooleanType, \ + NumberIntegerType, NumberUnsignedType, NumberFloatType, \ + AllocatorType, JSONSerializer, BinaryType> + + + + + + + + + + NLOHMANN_JSON_EXPAND + x + x + + + + + + + + + + NLOHMANN_JSON_GET_MACRO + _1 + _2 + _3 + _4 + _5 + _6 + _7 + _8 + _9 + _10 + _11 + _12 + _13 + _14 + _15 + _16 + _17 + _18 + _19 + _20 + _21 + _22 + _23 + _24 + _25 + _26 + _27 + _28 + _29 + _30 + _31 + _32 + _33 + _34 + _35 + _36 + _37 + _38 + _39 + _40 + _41 + _42 + _43 + _44 + _45 + _46 + _47 + _48 + _49 + _50 + _51 + _52 + _53 + _54 + _55 + _56 + _57 + _58 + _59 + _60 + _61 + _62 + _63 + _64 + NAME + ... + NAME + + + + + + + + + + NLOHMANN_JSON_PASTE + ... + + + + + + + + + + NLOHMANN_JSON_PASTE2 + func + v1 + func(v1) + + + + + + + + + + NLOHMANN_JSON_PASTE3 + func + v1 + v2 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE2(func, v2) + + + + + + + + + + NLOHMANN_JSON_PASTE4 + func + v1 + v2 + v3 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE3(func, v2, v3) + + + + + + + + + + NLOHMANN_JSON_PASTE5 + func + v1 + v2 + v3 + v4 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE4(func, v2, v3, v4) + + + + + + + + + + NLOHMANN_JSON_PASTE6 + func + v1 + v2 + v3 + v4 + v5 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE5(func, v2, v3, v4, v5) + + + + + + + + + + NLOHMANN_JSON_PASTE7 + func + v1 + v2 + v3 + v4 + v5 + v6 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE6(func, v2, v3, v4, v5, v6) + + + + + + + + + + NLOHMANN_JSON_PASTE8 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE7(func, v2, v3, v4, v5, v6, v7) + + + + + + + + + + NLOHMANN_JSON_PASTE9 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE8(func, v2, v3, v4, v5, v6, v7, v8) + + + + + + + + + + NLOHMANN_JSON_PASTE10 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE9(func, v2, v3, v4, v5, v6, v7, v8, v9) + + + + + + + + + + NLOHMANN_JSON_PASTE11 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE10(func, v2, v3, v4, v5, v6, v7, v8, v9, v10) + + + + + + + + + + NLOHMANN_JSON_PASTE12 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE11(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11) + + + + + + + + + + NLOHMANN_JSON_PASTE13 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE12(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12) + + + + + + + + + + NLOHMANN_JSON_PASTE14 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE13(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13) + + + + + + + + + + NLOHMANN_JSON_PASTE15 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE14(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14) + + + + + + + + + + NLOHMANN_JSON_PASTE16 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE15(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15) + + + + + + + + + + NLOHMANN_JSON_PASTE17 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE16(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16) + + + + + + + + + + NLOHMANN_JSON_PASTE18 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE17(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17) + + + + + + + + + + NLOHMANN_JSON_PASTE19 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE18(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18) + + + + + + + + + + NLOHMANN_JSON_PASTE20 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE19(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19) + + + + + + + + + + NLOHMANN_JSON_PASTE21 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE20(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20) + + + + + + + + + + NLOHMANN_JSON_PASTE22 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE21(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21) + + + + + + + + + + NLOHMANN_JSON_PASTE23 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE22(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22) + + + + + + + + + + NLOHMANN_JSON_PASTE24 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE23(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23) + + + + + + + + + + NLOHMANN_JSON_PASTE25 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE24(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24) + + + + + + + + + + NLOHMANN_JSON_PASTE26 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE25(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25) + + + + + + + + + + NLOHMANN_JSON_PASTE27 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE26(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26) + + + + + + + + + + NLOHMANN_JSON_PASTE28 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE27(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27) + + + + + + + + + + NLOHMANN_JSON_PASTE29 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE28(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28) + + + + + + + + + + NLOHMANN_JSON_PASTE30 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE29(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29) + + + + + + + + + + NLOHMANN_JSON_PASTE31 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE30(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30) + + + + + + + + + + NLOHMANN_JSON_PASTE32 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE31(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31) + + + + + + + + + + NLOHMANN_JSON_PASTE33 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE32(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32) + + + + + + + + + + NLOHMANN_JSON_PASTE34 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE33(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33) + + + + + + + + + + NLOHMANN_JSON_PASTE35 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE34(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34) + + + + + + + + + + NLOHMANN_JSON_PASTE36 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE35(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35) + + + + + + + + + + NLOHMANN_JSON_PASTE37 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE36(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36) + + + + + + + + + + NLOHMANN_JSON_PASTE38 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE37(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37) + + + + + + + + + + NLOHMANN_JSON_PASTE39 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE38(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38) + + + + + + + + + + NLOHMANN_JSON_PASTE40 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE39(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39) + + + + + + + + + + NLOHMANN_JSON_PASTE41 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE40(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40) + + + + + + + + + + NLOHMANN_JSON_PASTE42 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE41(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41) + + + + + + + + + + NLOHMANN_JSON_PASTE43 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE42(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42) + + + + + + + + + + NLOHMANN_JSON_PASTE44 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE43(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43) + + + + + + + + + + NLOHMANN_JSON_PASTE45 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE44(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44) + + + + + + + + + + NLOHMANN_JSON_PASTE46 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE45(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45) + + + + + + + + + + NLOHMANN_JSON_PASTE47 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE46(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46) + + + + + + + + + + NLOHMANN_JSON_PASTE48 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE47(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47) + + + + + + + + + + NLOHMANN_JSON_PASTE49 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + v48 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE48(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48) + + + + + + + + + + NLOHMANN_JSON_PASTE50 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + v48 + v49 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE49(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49) + + + + + + + + + + NLOHMANN_JSON_PASTE51 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + v48 + v49 + v50 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE50(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50) + + + + + + + + + + NLOHMANN_JSON_PASTE52 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + v48 + v49 + v50 + v51 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE51(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51) + + + + + + + + + + NLOHMANN_JSON_PASTE53 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + v48 + v49 + v50 + v51 + v52 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE52(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52) + + + + + + + + + + NLOHMANN_JSON_PASTE54 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + v48 + v49 + v50 + v51 + v52 + v53 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE53(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53) + + + + + + + + + + NLOHMANN_JSON_PASTE55 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + v48 + v49 + v50 + v51 + v52 + v53 + v54 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE54(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54) + + + + + + + + + + NLOHMANN_JSON_PASTE56 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + v48 + v49 + v50 + v51 + v52 + v53 + v54 + v55 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE55(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55) + + + + + + + + + + NLOHMANN_JSON_PASTE57 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + v48 + v49 + v50 + v51 + v52 + v53 + v54 + v55 + v56 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE56(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56) + + + + + + + + + + NLOHMANN_JSON_PASTE58 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + v48 + v49 + v50 + v51 + v52 + v53 + v54 + v55 + v56 + v57 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE57(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57) + + + + + + + + + + NLOHMANN_JSON_PASTE59 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + v48 + v49 + v50 + v51 + v52 + v53 + v54 + v55 + v56 + v57 + v58 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE58(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58) + + + + + + + + + + NLOHMANN_JSON_PASTE60 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + v48 + v49 + v50 + v51 + v52 + v53 + v54 + v55 + v56 + v57 + v58 + v59 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE59(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59) + + + + + + + + + + NLOHMANN_JSON_PASTE61 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + v48 + v49 + v50 + v51 + v52 + v53 + v54 + v55 + v56 + v57 + v58 + v59 + v60 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE60(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60) + + + + + + + + + + NLOHMANN_JSON_PASTE62 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + v48 + v49 + v50 + v51 + v52 + v53 + v54 + v55 + v56 + v57 + v58 + v59 + v60 + v61 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE61(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61) + + + + + + + + + + NLOHMANN_JSON_PASTE63 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + v48 + v49 + v50 + v51 + v52 + v53 + v54 + v55 + v56 + v57 + v58 + v59 + v60 + v61 + v62 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE62(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62) + + + + + + + + + + NLOHMANN_JSON_PASTE64 + func + v1 + v2 + v3 + v4 + v5 + v6 + v7 + v8 + v9 + v10 + v11 + v12 + v13 + v14 + v15 + v16 + v17 + v18 + v19 + v20 + v21 + v22 + v23 + v24 + v25 + v26 + v27 + v28 + v29 + v30 + v31 + v32 + v33 + v34 + v35 + v36 + v37 + v38 + v39 + v40 + v41 + v42 + v43 + v44 + v45 + v46 + v47 + v48 + v49 + v50 + v51 + v52 + v53 + v54 + v55 + v56 + v57 + v58 + v59 + v60 + v61 + v62 + v63 + NLOHMANN_JSON_PASTE2(func, v1) NLOHMANN_JSON_PASTE63(func, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36, v37, v38, v39, v40, v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63) + + + + + + + + + + NLOHMANN_JSON_TO + v1 + nlohmann_json_j[#v1] = nlohmann_json_t.v1; + + + + + + + + + + NLOHMANN_JSON_FROM + v1 + nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1); + + + + + + + + + + NLOHMANN_DEFINE_TYPE_INTRUSIVE + Type + ... + friend void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + friend void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +macro + +version 3.9.0 + + + + + + + NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE + Type + ... + inline void to_json(nlohmann::json& nlohmann_json_j, const Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO, __VA_ARGS__)) } \ + inline void from_json(const nlohmann::json& nlohmann_json_j, Type& nlohmann_json_t) { NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM, __VA_ARGS__)) } + +macro + +version 3.9.0 + + + + + + + JSON_USE_IMPLICIT_CONVERSIONS + 1 + + + + + + + + + + JSON_EXPLICIT + + + + + + + + + + INCLUDE_NLOHMANN_JSON_FWD_HPP_ + + + + + + + + + + + + nlohmann::json + nlohmann::json operator"" _json + (const char *s, std::size_t n) + operator"" _json + + const char * + s + + + std::size_t + n + + +user-defined string literal for JSON values + +This operator implements a user-defined string literal for JSON objects. It can be used by adding "_json" to a string literal and returns a JSON object if no parse error occurred. + +s + + +a string representation of a JSON object + + + +n + + +the length of string s + + +a JSON object +version 1.0.0 + + + + + JSON_HEDLEY_NON_NULL + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse + + + nlohmann::json::json_pointer + nlohmann::json::json_pointer operator"" _json_pointer + (const char *s, std::size_t n) + operator"" _json_pointer + + const char * + s + + + std::size_t + n + + +user-defined string literal for JSON pointer + +This operator implements a user-defined string literal for JSON Pointers. It can be used by adding "_json_pointer" to a string literal and returns a JSON pointer object if no parse error occurred. + +s + + +a string representation of a JSON Pointer + + + +n + + +the length of string s + + +a JSON pointer object +version 2.0.0 + + + + + nlohmann::detail::string + + + + + + + +/* +_________________ +__||__||||JSONforModernC++ +|||__||||||version3.9.1 +|_____|_____|_____|_|___|https://github.com/nlohmann/json + +LicensedundertheMITLicense<http://opensource.org/licenses/MIT>. +SPDX-License-Identifier:MIT +Copyright(c)2013-2019NielsLohmann<http://nlohmann.me>. + +Permissionisherebygranted,freeofcharge,toanypersonobtainingacopy +ofthissoftwareandassociateddocumentationfiles(the"Software"),todeal +intheSoftwarewithoutrestriction,includingwithoutlimitationtherights +touse,copy,modify,merge,publish,distribute,sublicense,and/orsell +copiesoftheSoftware,andtopermitpersonstowhomtheSoftwareis +furnishedtodoso,subjecttothefollowingconditions: + +Theabovecopyrightnoticeandthispermissionnoticeshallbeincludedinall +copiesorsubstantialportionsoftheSoftware. + +THESOFTWAREISPROVIDED"ASIS",WITHOUTWARRANTYOFANYKIND,EXPRESSOR +IMPLIED,INCLUDINGBUTNOTLIMITEDTOTHEWARRANTIESOFMERCHANTABILITY, +FITNESSFORAPARTICULARPURPOSEANDNONINFRINGEMENT.INNOEVENTSHALLTHE +AUTHORSORCOPYRIGHTHOLDERSBELIABLEFORANYCLAIM,DAMAGESOROTHER +LIABILITY,WHETHERINANACTIONOFCONTRACT,TORTOROTHERWISE,ARISINGFROM, +OUTOFORINCONNECTIONWITHTHESOFTWAREORTHEUSEOROTHERDEALINGSINTHE +SOFTWARE. +*/ + +#ifndefINCLUDE_NLOHMANN_JSON_HPP_ +#defineINCLUDE_NLOHMANN_JSON_HPP_ + +#defineNLOHMANN_JSON_VERSION_MAJOR3 +#defineNLOHMANN_JSON_VERSION_MINOR9 +#defineNLOHMANN_JSON_VERSION_PATCH1 + +#include<algorithm>//all_of,find,for_each +#include<cstddef>//nullptr_t,ptrdiff_t,size_t +#include<functional>//hash,less +#include<initializer_list>//initializer_list +#include<iosfwd>//istream,ostream +#include<iterator>//random_access_iterator_tag +#include<memory>//unique_ptr +#include<numeric>//accumulate +#include<string>//string,stoi,to_string +#include<utility>//declval,forward,move,pair,swap +#include<vector>//vector + +//#include<nlohmann/adl_serializer.hpp> + + +#include<type_traits> +#include<utility> + +//#include<nlohmann/detail/conversions/from_json.hpp> + + +#include<algorithm>//transform +#include<array>//array +#include<forward_list>//forward_list +#include<iterator>//inserter,front_inserter,end +#include<map>//map +#include<string>//string +#include<tuple>//tuple,make_tuple +#include<type_traits>//is_arithmetic,is_same,is_enum,underlying_type,is_convertible +#include<unordered_map>//unordered_map +#include<utility>//pair,declval +#include<valarray>//valarray + +//#include<nlohmann/detail/exceptions.hpp> + + +#include<exception>//exception +#include<stdexcept>//runtime_error +#include<string>//to_string +#include<vector>//vector + +//#include<nlohmann/detail/value_t.hpp> + + +#include<array>//array +#include<cstddef>//size_t +#include<cstdint>//uint8_t +#include<string>//string + +namespacenlohmann +{ +namespacedetail +{ +//JSONtypeenumeration// + +enumclassvalue_t:std::uint8_t +{ +null, +object, +array, +string, +boolean, +number_integer, +number_unsigned, +number_float, +binary, +discarded +}; + +inlinebooloperator<(constvalue_tlhs,constvalue_trhs)noexcept +{ +staticconstexprstd::array<std::uint8_t,9>order={{ +0/*null*/,3/*object*/,4/*array*/,5/*string*/, +1/*boolean*/,2/*integer*/,2/*unsigned*/,2/*float*/, +6/*binary*/ +} +}; + +constautol_index=static_cast<std::size_t>(lhs); +constautor_index=static_cast<std::size_t>(rhs); +returnl_index<order.size()&&r_index<order.size()&&order[l_index]<order[r_index]; +} +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/string_escape.hpp> + + +#include<string> +//#include<nlohmann/detail/macro_scope.hpp> + + +#include<utility>//pair +//#include<nlohmann/thirdparty/hedley/hedley.hpp> + + +/*Hedley-https://nemequ.github.io/hedley +*CreatedbyEvanNemerson<evan@nemerson.com> +* +*Totheextentpossibleunderlaw,theauthor(s)havededicatedall +*copyrightandrelatedandneighboringrightstothissoftwareto +*thepublicdomainworldwide.Thissoftwareisdistributedwithout +*anywarranty. +* +*Fordetails,see<http://creativecommons.org/publicdomain/zero/1.0/>. +*SPDX-License-Identifier:CC0-1.0 +*/ + +#if!defined(JSON_HEDLEY_VERSION)||(JSON_HEDLEY_VERSION<15) +#ifdefined(JSON_HEDLEY_VERSION) +#undefJSON_HEDLEY_VERSION +#endif +#defineJSON_HEDLEY_VERSION15 + +#ifdefined(JSON_HEDLEY_STRINGIFY_EX) +#undefJSON_HEDLEY_STRINGIFY_EX +#endif +#defineJSON_HEDLEY_STRINGIFY_EX(x)#x + +#ifdefined(JSON_HEDLEY_STRINGIFY) +#undefJSON_HEDLEY_STRINGIFY +#endif +#defineJSON_HEDLEY_STRINGIFY(x)JSON_HEDLEY_STRINGIFY_EX(x) + +#ifdefined(JSON_HEDLEY_CONCAT_EX) +#undefJSON_HEDLEY_CONCAT_EX +#endif +#defineJSON_HEDLEY_CONCAT_EX(a,b)a##b + +#ifdefined(JSON_HEDLEY_CONCAT) +#undefJSON_HEDLEY_CONCAT +#endif +#defineJSON_HEDLEY_CONCAT(a,b)JSON_HEDLEY_CONCAT_EX(a,b) + +#ifdefined(JSON_HEDLEY_CONCAT3_EX) +#undefJSON_HEDLEY_CONCAT3_EX +#endif +#defineJSON_HEDLEY_CONCAT3_EX(a,b,c)a##b##c + +#ifdefined(JSON_HEDLEY_CONCAT3) +#undefJSON_HEDLEY_CONCAT3 +#endif +#defineJSON_HEDLEY_CONCAT3(a,b,c)JSON_HEDLEY_CONCAT3_EX(a,b,c) + +#ifdefined(JSON_HEDLEY_VERSION_ENCODE) +#undefJSON_HEDLEY_VERSION_ENCODE +#endif +#defineJSON_HEDLEY_VERSION_ENCODE(major,minor,revision)(((major)*1000000)+((minor)*1000)+(revision)) + +#ifdefined(JSON_HEDLEY_VERSION_DECODE_MAJOR) +#undefJSON_HEDLEY_VERSION_DECODE_MAJOR +#endif +#defineJSON_HEDLEY_VERSION_DECODE_MAJOR(version)((version)/1000000) + +#ifdefined(JSON_HEDLEY_VERSION_DECODE_MINOR) +#undefJSON_HEDLEY_VERSION_DECODE_MINOR +#endif +#defineJSON_HEDLEY_VERSION_DECODE_MINOR(version)(((version)%1000000)/1000) + +#ifdefined(JSON_HEDLEY_VERSION_DECODE_REVISION) +#undefJSON_HEDLEY_VERSION_DECODE_REVISION +#endif +#defineJSON_HEDLEY_VERSION_DECODE_REVISION(version)((version)%1000) + +#ifdefined(JSON_HEDLEY_GNUC_VERSION) +#undefJSON_HEDLEY_GNUC_VERSION +#endif +#ifdefined(__GNUC__)&&defined(__GNUC_PATCHLEVEL__) +#defineJSON_HEDLEY_GNUC_VERSIONJSON_HEDLEY_VERSION_ENCODE(__GNUC__,__GNUC_MINOR__,__GNUC_PATCHLEVEL__) +#elifdefined(__GNUC__) +#defineJSON_HEDLEY_GNUC_VERSIONJSON_HEDLEY_VERSION_ENCODE(__GNUC__,__GNUC_MINOR__,0) +#endif + +#ifdefined(JSON_HEDLEY_GNUC_VERSION_CHECK) +#undefJSON_HEDLEY_GNUC_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_GNUC_VERSION) +#defineJSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_GNUC_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_MSVC_VERSION) +#undefJSON_HEDLEY_MSVC_VERSION +#endif +#ifdefined(_MSC_FULL_VER)&&(_MSC_FULL_VER>=140000000)&&!defined(__ICL) +#defineJSON_HEDLEY_MSVC_VERSIONJSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER/10000000,(_MSC_FULL_VER%10000000)/100000,(_MSC_FULL_VER%100000)/100) +#elifdefined(_MSC_FULL_VER)&&!defined(__ICL) +#defineJSON_HEDLEY_MSVC_VERSIONJSON_HEDLEY_VERSION_ENCODE(_MSC_FULL_VER/1000000,(_MSC_FULL_VER%1000000)/10000,(_MSC_FULL_VER%10000)/10) +#elifdefined(_MSC_VER)&&!defined(__ICL) +#defineJSON_HEDLEY_MSVC_VERSIONJSON_HEDLEY_VERSION_ENCODE(_MSC_VER/100,_MSC_VER%100,0) +#endif + +#ifdefined(JSON_HEDLEY_MSVC_VERSION_CHECK) +#undefJSON_HEDLEY_MSVC_VERSION_CHECK +#endif +#if!defined(JSON_HEDLEY_MSVC_VERSION) +#defineJSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch)(0) +#elifdefined(_MSC_VER)&&(_MSC_VER>=1400) +#defineJSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch)(_MSC_FULL_VER>=((major*10000000)+(minor*100000)+(patch))) +#elifdefined(_MSC_VER)&&(_MSC_VER>=1200) +#defineJSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch)(_MSC_FULL_VER>=((major*1000000)+(minor*10000)+(patch))) +#else +#defineJSON_HEDLEY_MSVC_VERSION_CHECK(major,minor,patch)(_MSC_VER>=((major*100)+(minor))) +#endif + +#ifdefined(JSON_HEDLEY_INTEL_VERSION) +#undefJSON_HEDLEY_INTEL_VERSION +#endif +#ifdefined(__INTEL_COMPILER)&&defined(__INTEL_COMPILER_UPDATE)&&!defined(__ICL) +#defineJSON_HEDLEY_INTEL_VERSIONJSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER/100,__INTEL_COMPILER%100,__INTEL_COMPILER_UPDATE) +#elifdefined(__INTEL_COMPILER)&&!defined(__ICL) +#defineJSON_HEDLEY_INTEL_VERSIONJSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER/100,__INTEL_COMPILER%100,0) +#endif + +#ifdefined(JSON_HEDLEY_INTEL_VERSION_CHECK) +#undefJSON_HEDLEY_INTEL_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_INTEL_VERSION) +#defineJSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_INTEL_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_INTEL_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_INTEL_CL_VERSION) +#undefJSON_HEDLEY_INTEL_CL_VERSION +#endif +#ifdefined(__INTEL_COMPILER)&&defined(__INTEL_COMPILER_UPDATE)&&defined(__ICL) +#defineJSON_HEDLEY_INTEL_CL_VERSIONJSON_HEDLEY_VERSION_ENCODE(__INTEL_COMPILER,__INTEL_COMPILER_UPDATE,0) +#endif + +#ifdefined(JSON_HEDLEY_INTEL_CL_VERSION_CHECK) +#undefJSON_HEDLEY_INTEL_CL_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_INTEL_CL_VERSION) +#defineJSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_INTEL_CL_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_INTEL_CL_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_PGI_VERSION) +#undefJSON_HEDLEY_PGI_VERSION +#endif +#ifdefined(__PGI)&&defined(__PGIC__)&&defined(__PGIC_MINOR__)&&defined(__PGIC_PATCHLEVEL__) +#defineJSON_HEDLEY_PGI_VERSIONJSON_HEDLEY_VERSION_ENCODE(__PGIC__,__PGIC_MINOR__,__PGIC_PATCHLEVEL__) +#endif + +#ifdefined(JSON_HEDLEY_PGI_VERSION_CHECK) +#undefJSON_HEDLEY_PGI_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_PGI_VERSION) +#defineJSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_PGI_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_PGI_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_SUNPRO_VERSION) +#undefJSON_HEDLEY_SUNPRO_VERSION +#endif +#ifdefined(__SUNPRO_C)&&(__SUNPRO_C>0x1000) +#defineJSON_HEDLEY_SUNPRO_VERSIONJSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_C>>16)&0xf)*10)+((__SUNPRO_C>>12)&0xf),(((__SUNPRO_C>>8)&0xf)*10)+((__SUNPRO_C>>4)&0xf),(__SUNPRO_C&0xf)*10) +#elifdefined(__SUNPRO_C) +#defineJSON_HEDLEY_SUNPRO_VERSIONJSON_HEDLEY_VERSION_ENCODE((__SUNPRO_C>>8)&0xf,(__SUNPRO_C>>4)&0xf,(__SUNPRO_C)&0xf) +#elifdefined(__SUNPRO_CC)&&(__SUNPRO_CC>0x1000) +#defineJSON_HEDLEY_SUNPRO_VERSIONJSON_HEDLEY_VERSION_ENCODE((((__SUNPRO_CC>>16)&0xf)*10)+((__SUNPRO_CC>>12)&0xf),(((__SUNPRO_CC>>8)&0xf)*10)+((__SUNPRO_CC>>4)&0xf),(__SUNPRO_CC&0xf)*10) +#elifdefined(__SUNPRO_CC) +#defineJSON_HEDLEY_SUNPRO_VERSIONJSON_HEDLEY_VERSION_ENCODE((__SUNPRO_CC>>8)&0xf,(__SUNPRO_CC>>4)&0xf,(__SUNPRO_CC)&0xf) +#endif + +#ifdefined(JSON_HEDLEY_SUNPRO_VERSION_CHECK) +#undefJSON_HEDLEY_SUNPRO_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_SUNPRO_VERSION) +#defineJSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_SUNPRO_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_SUNPRO_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_EMSCRIPTEN_VERSION) +#undefJSON_HEDLEY_EMSCRIPTEN_VERSION +#endif +#ifdefined(__EMSCRIPTEN__) +#defineJSON_HEDLEY_EMSCRIPTEN_VERSIONJSON_HEDLEY_VERSION_ENCODE(__EMSCRIPTEN_major__,__EMSCRIPTEN_minor__,__EMSCRIPTEN_tiny__) +#endif + +#ifdefined(JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK) +#undefJSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_EMSCRIPTEN_VERSION) +#defineJSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_EMSCRIPTEN_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_ARM_VERSION) +#undefJSON_HEDLEY_ARM_VERSION +#endif +#ifdefined(__CC_ARM)&&defined(__ARMCOMPILER_VERSION) +#defineJSON_HEDLEY_ARM_VERSIONJSON_HEDLEY_VERSION_ENCODE(__ARMCOMPILER_VERSION/1000000,(__ARMCOMPILER_VERSION%1000000)/10000,(__ARMCOMPILER_VERSION%10000)/100) +#elifdefined(__CC_ARM)&&defined(__ARMCC_VERSION) +#defineJSON_HEDLEY_ARM_VERSIONJSON_HEDLEY_VERSION_ENCODE(__ARMCC_VERSION/1000000,(__ARMCC_VERSION%1000000)/10000,(__ARMCC_VERSION%10000)/100) +#endif + +#ifdefined(JSON_HEDLEY_ARM_VERSION_CHECK) +#undefJSON_HEDLEY_ARM_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_ARM_VERSION) +#defineJSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_ARM_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_ARM_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_IBM_VERSION) +#undefJSON_HEDLEY_IBM_VERSION +#endif +#ifdefined(__ibmxl__) +#defineJSON_HEDLEY_IBM_VERSIONJSON_HEDLEY_VERSION_ENCODE(__ibmxl_version__,__ibmxl_release__,__ibmxl_modification__) +#elifdefined(__xlC__)&&defined(__xlC_ver__) +#defineJSON_HEDLEY_IBM_VERSIONJSON_HEDLEY_VERSION_ENCODE(__xlC__>>8,__xlC__&0xff,(__xlC_ver__>>8)&0xff) +#elifdefined(__xlC__) +#defineJSON_HEDLEY_IBM_VERSIONJSON_HEDLEY_VERSION_ENCODE(__xlC__>>8,__xlC__&0xff,0) +#endif + +#ifdefined(JSON_HEDLEY_IBM_VERSION_CHECK) +#undefJSON_HEDLEY_IBM_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_IBM_VERSION) +#defineJSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_IBM_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_IBM_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_TI_VERSION) +#undefJSON_HEDLEY_TI_VERSION +#endif +#if\ +defined(__TI_COMPILER_VERSION__)&&\ +(\ +defined(__TMS470__)||defined(__TI_ARM__)||\ +defined(__MSP430__)||\ +defined(__TMS320C2000__)\ +) +#if(__TI_COMPILER_VERSION__>=16000000) +#defineJSON_HEDLEY_TI_VERSIONJSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__/1000000,(__TI_COMPILER_VERSION__%1000000)/1000,(__TI_COMPILER_VERSION__%1000)) +#endif +#endif + +#ifdefined(JSON_HEDLEY_TI_VERSION_CHECK) +#undefJSON_HEDLEY_TI_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_TI_VERSION) +#defineJSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_TI_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_TI_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_TI_CL2000_VERSION) +#undefJSON_HEDLEY_TI_CL2000_VERSION +#endif +#ifdefined(__TI_COMPILER_VERSION__)&&defined(__TMS320C2000__) +#defineJSON_HEDLEY_TI_CL2000_VERSIONJSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__/1000000,(__TI_COMPILER_VERSION__%1000000)/1000,(__TI_COMPILER_VERSION__%1000)) +#endif + +#ifdefined(JSON_HEDLEY_TI_CL2000_VERSION_CHECK) +#undefJSON_HEDLEY_TI_CL2000_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_TI_CL2000_VERSION) +#defineJSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_TI_CL2000_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_TI_CL2000_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_TI_CL430_VERSION) +#undefJSON_HEDLEY_TI_CL430_VERSION +#endif +#ifdefined(__TI_COMPILER_VERSION__)&&defined(__MSP430__) +#defineJSON_HEDLEY_TI_CL430_VERSIONJSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__/1000000,(__TI_COMPILER_VERSION__%1000000)/1000,(__TI_COMPILER_VERSION__%1000)) +#endif + +#ifdefined(JSON_HEDLEY_TI_CL430_VERSION_CHECK) +#undefJSON_HEDLEY_TI_CL430_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_TI_CL430_VERSION) +#defineJSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_TI_CL430_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_TI_CL430_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_TI_ARMCL_VERSION) +#undefJSON_HEDLEY_TI_ARMCL_VERSION +#endif +#ifdefined(__TI_COMPILER_VERSION__)&&(defined(__TMS470__)||defined(__TI_ARM__)) +#defineJSON_HEDLEY_TI_ARMCL_VERSIONJSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__/1000000,(__TI_COMPILER_VERSION__%1000000)/1000,(__TI_COMPILER_VERSION__%1000)) +#endif + +#ifdefined(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK) +#undefJSON_HEDLEY_TI_ARMCL_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_TI_ARMCL_VERSION) +#defineJSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_TI_ARMCL_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_TI_ARMCL_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_TI_CL6X_VERSION) +#undefJSON_HEDLEY_TI_CL6X_VERSION +#endif +#ifdefined(__TI_COMPILER_VERSION__)&&defined(__TMS320C6X__) +#defineJSON_HEDLEY_TI_CL6X_VERSIONJSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__/1000000,(__TI_COMPILER_VERSION__%1000000)/1000,(__TI_COMPILER_VERSION__%1000)) +#endif + +#ifdefined(JSON_HEDLEY_TI_CL6X_VERSION_CHECK) +#undefJSON_HEDLEY_TI_CL6X_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_TI_CL6X_VERSION) +#defineJSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_TI_CL6X_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_TI_CL6X_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_TI_CL7X_VERSION) +#undefJSON_HEDLEY_TI_CL7X_VERSION +#endif +#ifdefined(__TI_COMPILER_VERSION__)&&defined(__C7000__) +#defineJSON_HEDLEY_TI_CL7X_VERSIONJSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__/1000000,(__TI_COMPILER_VERSION__%1000000)/1000,(__TI_COMPILER_VERSION__%1000)) +#endif + +#ifdefined(JSON_HEDLEY_TI_CL7X_VERSION_CHECK) +#undefJSON_HEDLEY_TI_CL7X_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_TI_CL7X_VERSION) +#defineJSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_TI_CL7X_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_TI_CL7X_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_TI_CLPRU_VERSION) +#undefJSON_HEDLEY_TI_CLPRU_VERSION +#endif +#ifdefined(__TI_COMPILER_VERSION__)&&defined(__PRU__) +#defineJSON_HEDLEY_TI_CLPRU_VERSIONJSON_HEDLEY_VERSION_ENCODE(__TI_COMPILER_VERSION__/1000000,(__TI_COMPILER_VERSION__%1000000)/1000,(__TI_COMPILER_VERSION__%1000)) +#endif + +#ifdefined(JSON_HEDLEY_TI_CLPRU_VERSION_CHECK) +#undefJSON_HEDLEY_TI_CLPRU_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_TI_CLPRU_VERSION) +#defineJSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_TI_CLPRU_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_TI_CLPRU_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_CRAY_VERSION) +#undefJSON_HEDLEY_CRAY_VERSION +#endif +#ifdefined(_CRAYC) +#ifdefined(_RELEASE_PATCHLEVEL) +#defineJSON_HEDLEY_CRAY_VERSIONJSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR,_RELEASE_MINOR,_RELEASE_PATCHLEVEL) +#else +#defineJSON_HEDLEY_CRAY_VERSIONJSON_HEDLEY_VERSION_ENCODE(_RELEASE_MAJOR,_RELEASE_MINOR,0) +#endif +#endif + +#ifdefined(JSON_HEDLEY_CRAY_VERSION_CHECK) +#undefJSON_HEDLEY_CRAY_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_CRAY_VERSION) +#defineJSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_CRAY_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_CRAY_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_IAR_VERSION) +#undefJSON_HEDLEY_IAR_VERSION +#endif +#ifdefined(__IAR_SYSTEMS_ICC__) +#if__VER__>1000 +#defineJSON_HEDLEY_IAR_VERSIONJSON_HEDLEY_VERSION_ENCODE((__VER__/1000000),((__VER__/1000)%1000),(__VER__%1000)) +#else +#defineJSON_HEDLEY_IAR_VERSIONJSON_HEDLEY_VERSION_ENCODE(__VER__/100,__VER__%100,0) +#endif +#endif + +#ifdefined(JSON_HEDLEY_IAR_VERSION_CHECK) +#undefJSON_HEDLEY_IAR_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_IAR_VERSION) +#defineJSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_IAR_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_IAR_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_TINYC_VERSION) +#undefJSON_HEDLEY_TINYC_VERSION +#endif +#ifdefined(__TINYC__) +#defineJSON_HEDLEY_TINYC_VERSIONJSON_HEDLEY_VERSION_ENCODE(__TINYC__/1000,(__TINYC__/100)%10,__TINYC__%100) +#endif + +#ifdefined(JSON_HEDLEY_TINYC_VERSION_CHECK) +#undefJSON_HEDLEY_TINYC_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_TINYC_VERSION) +#defineJSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_TINYC_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_TINYC_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_DMC_VERSION) +#undefJSON_HEDLEY_DMC_VERSION +#endif +#ifdefined(__DMC__) +#defineJSON_HEDLEY_DMC_VERSIONJSON_HEDLEY_VERSION_ENCODE(__DMC__>>8,(__DMC__>>4)&0xf,__DMC__&0xf) +#endif + +#ifdefined(JSON_HEDLEY_DMC_VERSION_CHECK) +#undefJSON_HEDLEY_DMC_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_DMC_VERSION) +#defineJSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_DMC_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_DMC_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_COMPCERT_VERSION) +#undefJSON_HEDLEY_COMPCERT_VERSION +#endif +#ifdefined(__COMPCERT_VERSION__) +#defineJSON_HEDLEY_COMPCERT_VERSIONJSON_HEDLEY_VERSION_ENCODE(__COMPCERT_VERSION__/10000,(__COMPCERT_VERSION__/100)%100,__COMPCERT_VERSION__%100) +#endif + +#ifdefined(JSON_HEDLEY_COMPCERT_VERSION_CHECK) +#undefJSON_HEDLEY_COMPCERT_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_COMPCERT_VERSION) +#defineJSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_COMPCERT_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_COMPCERT_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_PELLES_VERSION) +#undefJSON_HEDLEY_PELLES_VERSION +#endif +#ifdefined(__POCC__) +#defineJSON_HEDLEY_PELLES_VERSIONJSON_HEDLEY_VERSION_ENCODE(__POCC__/100,__POCC__%100,0) +#endif + +#ifdefined(JSON_HEDLEY_PELLES_VERSION_CHECK) +#undefJSON_HEDLEY_PELLES_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_PELLES_VERSION) +#defineJSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_PELLES_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_PELLES_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_MCST_LCC_VERSION) +#undefJSON_HEDLEY_MCST_LCC_VERSION +#endif +#ifdefined(__LCC__)&&defined(__LCC_MINOR__) +#defineJSON_HEDLEY_MCST_LCC_VERSIONJSON_HEDLEY_VERSION_ENCODE(__LCC__/100,__LCC__%100,__LCC_MINOR__) +#endif + +#ifdefined(JSON_HEDLEY_MCST_LCC_VERSION_CHECK) +#undefJSON_HEDLEY_MCST_LCC_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_MCST_LCC_VERSION) +#defineJSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_MCST_LCC_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_MCST_LCC_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_GCC_VERSION) +#undefJSON_HEDLEY_GCC_VERSION +#endif +#if\ +defined(JSON_HEDLEY_GNUC_VERSION)&&\ +!defined(__clang__)&&\ +!defined(JSON_HEDLEY_INTEL_VERSION)&&\ +!defined(JSON_HEDLEY_PGI_VERSION)&&\ +!defined(JSON_HEDLEY_ARM_VERSION)&&\ +!defined(JSON_HEDLEY_CRAY_VERSION)&&\ +!defined(JSON_HEDLEY_TI_VERSION)&&\ +!defined(JSON_HEDLEY_TI_ARMCL_VERSION)&&\ +!defined(JSON_HEDLEY_TI_CL430_VERSION)&&\ +!defined(JSON_HEDLEY_TI_CL2000_VERSION)&&\ +!defined(JSON_HEDLEY_TI_CL6X_VERSION)&&\ +!defined(JSON_HEDLEY_TI_CL7X_VERSION)&&\ +!defined(JSON_HEDLEY_TI_CLPRU_VERSION)&&\ +!defined(__COMPCERT__)&&\ +!defined(JSON_HEDLEY_MCST_LCC_VERSION) +#defineJSON_HEDLEY_GCC_VERSIONJSON_HEDLEY_GNUC_VERSION +#endif + +#ifdefined(JSON_HEDLEY_GCC_VERSION_CHECK) +#undefJSON_HEDLEY_GCC_VERSION_CHECK +#endif +#ifdefined(JSON_HEDLEY_GCC_VERSION) +#defineJSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)(JSON_HEDLEY_GCC_VERSION>=JSON_HEDLEY_VERSION_ENCODE(major,minor,patch)) +#else +#defineJSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch)(0) +#endif + +#ifdefined(JSON_HEDLEY_HAS_ATTRIBUTE) +#undefJSON_HEDLEY_HAS_ATTRIBUTE +#endif +#if\ +defined(__has_attribute)&&\ +(\ +(!defined(JSON_HEDLEY_IAR_VERSION)||JSON_HEDLEY_IAR_VERSION_CHECK(8,5,9))\ +) +#defineJSON_HEDLEY_HAS_ATTRIBUTE(attribute)__has_attribute(attribute) +#else +#defineJSON_HEDLEY_HAS_ATTRIBUTE(attribute)(0) +#endif + +#ifdefined(JSON_HEDLEY_GNUC_HAS_ATTRIBUTE) +#undefJSON_HEDLEY_GNUC_HAS_ATTRIBUTE +#endif +#ifdefined(__has_attribute) +#defineJSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch)JSON_HEDLEY_HAS_ATTRIBUTE(attribute) +#else +#defineJSON_HEDLEY_GNUC_HAS_ATTRIBUTE(attribute,major,minor,patch)JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#ifdefined(JSON_HEDLEY_GCC_HAS_ATTRIBUTE) +#undefJSON_HEDLEY_GCC_HAS_ATTRIBUTE +#endif +#ifdefined(__has_attribute) +#defineJSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch)JSON_HEDLEY_HAS_ATTRIBUTE(attribute) +#else +#defineJSON_HEDLEY_GCC_HAS_ATTRIBUTE(attribute,major,minor,patch)JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#ifdefined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE) +#undefJSON_HEDLEY_HAS_CPP_ATTRIBUTE +#endif +#if\ +defined(__has_cpp_attribute)&&\ +defined(__cplusplus)&&\ +(!defined(JSON_HEDLEY_SUNPRO_VERSION)||JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)) +#defineJSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)__has_cpp_attribute(attribute) +#else +#defineJSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute)(0) +#endif + +#ifdefined(JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS) +#undefJSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +#endif +#if!defined(__cplusplus)||!defined(__has_cpp_attribute) +#defineJSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute)(0) +#elif\ +!defined(JSON_HEDLEY_PGI_VERSION)&&\ +!defined(JSON_HEDLEY_IAR_VERSION)&&\ +(!defined(JSON_HEDLEY_SUNPRO_VERSION)||JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0))&&\ +(!defined(JSON_HEDLEY_MSVC_VERSION)||JSON_HEDLEY_MSVC_VERSION_CHECK(19,20,0)) +#defineJSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute)JSON_HEDLEY_HAS_CPP_ATTRIBUTE(ns::attribute) +#else +#defineJSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(ns,attribute)(0) +#endif + +#ifdefined(JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE) +#undefJSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +#endif +#ifdefined(__has_cpp_attribute)&&defined(__cplusplus) +#defineJSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch)__has_cpp_attribute(attribute) +#else +#defineJSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch)JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#ifdefined(JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE) +#undefJSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +#endif +#ifdefined(__has_cpp_attribute)&&defined(__cplusplus) +#defineJSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch)__has_cpp_attribute(attribute) +#else +#defineJSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE(attribute,major,minor,patch)JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#ifdefined(JSON_HEDLEY_HAS_BUILTIN) +#undefJSON_HEDLEY_HAS_BUILTIN +#endif +#ifdefined(__has_builtin) +#defineJSON_HEDLEY_HAS_BUILTIN(builtin)__has_builtin(builtin) +#else +#defineJSON_HEDLEY_HAS_BUILTIN(builtin)(0) +#endif + +#ifdefined(JSON_HEDLEY_GNUC_HAS_BUILTIN) +#undefJSON_HEDLEY_GNUC_HAS_BUILTIN +#endif +#ifdefined(__has_builtin) +#defineJSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch)__has_builtin(builtin) +#else +#defineJSON_HEDLEY_GNUC_HAS_BUILTIN(builtin,major,minor,patch)JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#ifdefined(JSON_HEDLEY_GCC_HAS_BUILTIN) +#undefJSON_HEDLEY_GCC_HAS_BUILTIN +#endif +#ifdefined(__has_builtin) +#defineJSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch)__has_builtin(builtin) +#else +#defineJSON_HEDLEY_GCC_HAS_BUILTIN(builtin,major,minor,patch)JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#ifdefined(JSON_HEDLEY_HAS_FEATURE) +#undefJSON_HEDLEY_HAS_FEATURE +#endif +#ifdefined(__has_feature) +#defineJSON_HEDLEY_HAS_FEATURE(feature)__has_feature(feature) +#else +#defineJSON_HEDLEY_HAS_FEATURE(feature)(0) +#endif + +#ifdefined(JSON_HEDLEY_GNUC_HAS_FEATURE) +#undefJSON_HEDLEY_GNUC_HAS_FEATURE +#endif +#ifdefined(__has_feature) +#defineJSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch)__has_feature(feature) +#else +#defineJSON_HEDLEY_GNUC_HAS_FEATURE(feature,major,minor,patch)JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#ifdefined(JSON_HEDLEY_GCC_HAS_FEATURE) +#undefJSON_HEDLEY_GCC_HAS_FEATURE +#endif +#ifdefined(__has_feature) +#defineJSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch)__has_feature(feature) +#else +#defineJSON_HEDLEY_GCC_HAS_FEATURE(feature,major,minor,patch)JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#ifdefined(JSON_HEDLEY_HAS_EXTENSION) +#undefJSON_HEDLEY_HAS_EXTENSION +#endif +#ifdefined(__has_extension) +#defineJSON_HEDLEY_HAS_EXTENSION(extension)__has_extension(extension) +#else +#defineJSON_HEDLEY_HAS_EXTENSION(extension)(0) +#endif + +#ifdefined(JSON_HEDLEY_GNUC_HAS_EXTENSION) +#undefJSON_HEDLEY_GNUC_HAS_EXTENSION +#endif +#ifdefined(__has_extension) +#defineJSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch)__has_extension(extension) +#else +#defineJSON_HEDLEY_GNUC_HAS_EXTENSION(extension,major,minor,patch)JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#ifdefined(JSON_HEDLEY_GCC_HAS_EXTENSION) +#undefJSON_HEDLEY_GCC_HAS_EXTENSION +#endif +#ifdefined(__has_extension) +#defineJSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch)__has_extension(extension) +#else +#defineJSON_HEDLEY_GCC_HAS_EXTENSION(extension,major,minor,patch)JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#ifdefined(JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE) +#undefJSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +#endif +#ifdefined(__has_declspec_attribute) +#defineJSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)__has_declspec_attribute(attribute) +#else +#defineJSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute)(0) +#endif + +#ifdefined(JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE) +#undefJSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +#endif +#ifdefined(__has_declspec_attribute) +#defineJSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch)__has_declspec_attribute(attribute) +#else +#defineJSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch)JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#ifdefined(JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE) +#undefJSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +#endif +#ifdefined(__has_declspec_attribute) +#defineJSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch)__has_declspec_attribute(attribute) +#else +#defineJSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE(attribute,major,minor,patch)JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#ifdefined(JSON_HEDLEY_HAS_WARNING) +#undefJSON_HEDLEY_HAS_WARNING +#endif +#ifdefined(__has_warning) +#defineJSON_HEDLEY_HAS_WARNING(warning)__has_warning(warning) +#else +#defineJSON_HEDLEY_HAS_WARNING(warning)(0) +#endif + +#ifdefined(JSON_HEDLEY_GNUC_HAS_WARNING) +#undefJSON_HEDLEY_GNUC_HAS_WARNING +#endif +#ifdefined(__has_warning) +#defineJSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch)__has_warning(warning) +#else +#defineJSON_HEDLEY_GNUC_HAS_WARNING(warning,major,minor,patch)JSON_HEDLEY_GNUC_VERSION_CHECK(major,minor,patch) +#endif + +#ifdefined(JSON_HEDLEY_GCC_HAS_WARNING) +#undefJSON_HEDLEY_GCC_HAS_WARNING +#endif +#ifdefined(__has_warning) +#defineJSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch)__has_warning(warning) +#else +#defineJSON_HEDLEY_GCC_HAS_WARNING(warning,major,minor,patch)JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#if\ +(defined(__STDC_VERSION__)&&(__STDC_VERSION__>=199901L))||\ +defined(__clang__)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)||\ +JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)||\ +JSON_HEDLEY_TI_VERSION_CHECK(15,12,0)||\ +JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0)||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1)||\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0)||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,0,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)||\ +JSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0)||\ +JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,17)||\ +JSON_HEDLEY_SUNPRO_VERSION_CHECK(8,0,0)||\ +(JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0)&&defined(__C99_PRAGMA_OPERATOR)) +#defineJSON_HEDLEY_PRAGMA(value)_Pragma(#value) +#elifJSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) +#defineJSON_HEDLEY_PRAGMA(value)__pragma(value) +#else +#defineJSON_HEDLEY_PRAGMA(value) +#endif + +#ifdefined(JSON_HEDLEY_DIAGNOSTIC_PUSH) +#undefJSON_HEDLEY_DIAGNOSTIC_PUSH +#endif +#ifdefined(JSON_HEDLEY_DIAGNOSTIC_POP) +#undefJSON_HEDLEY_DIAGNOSTIC_POP +#endif +#ifdefined(__clang__) +#defineJSON_HEDLEY_DIAGNOSTIC_PUSH_Pragma("clangdiagnosticpush") +#defineJSON_HEDLEY_DIAGNOSTIC_POP_Pragma("clangdiagnosticpop") +#elifJSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +#defineJSON_HEDLEY_DIAGNOSTIC_PUSH_Pragma("warning(push)") +#defineJSON_HEDLEY_DIAGNOSTIC_POP_Pragma("warning(pop)") +#elifJSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) +#defineJSON_HEDLEY_DIAGNOSTIC_PUSH_Pragma("GCCdiagnosticpush") +#defineJSON_HEDLEY_DIAGNOSTIC_POP_Pragma("GCCdiagnosticpop") +#elif\ +JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)||\ +JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +#defineJSON_HEDLEY_DIAGNOSTIC_PUSH__pragma(warning(push)) +#defineJSON_HEDLEY_DIAGNOSTIC_POP__pragma(warning(pop)) +#elifJSON_HEDLEY_ARM_VERSION_CHECK(5,6,0) +#defineJSON_HEDLEY_DIAGNOSTIC_PUSH_Pragma("push") +#defineJSON_HEDLEY_DIAGNOSTIC_POP_Pragma("pop") +#elif\ +JSON_HEDLEY_TI_VERSION_CHECK(15,12,0)||\ +JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0)||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,4,0)||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) +#defineJSON_HEDLEY_DIAGNOSTIC_PUSH_Pragma("diag_push") +#defineJSON_HEDLEY_DIAGNOSTIC_POP_Pragma("diag_pop") +#elifJSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) +#defineJSON_HEDLEY_DIAGNOSTIC_PUSH_Pragma("warning(push)") +#defineJSON_HEDLEY_DIAGNOSTIC_POP_Pragma("warning(pop)") +#else +#defineJSON_HEDLEY_DIAGNOSTIC_PUSH +#defineJSON_HEDLEY_DIAGNOSTIC_POP +#endif + +/*JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_isfor +HEDLEYINTERNALUSEONLY.APIsubjecttochangewithoutnotice.*/ +#ifdefined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) +#undefJSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +#endif +#ifdefined(__cplusplus) +#ifJSON_HEDLEY_HAS_WARNING("-Wc++98-compat") +#ifJSON_HEDLEY_HAS_WARNING("-Wc++17-extensions") +#ifJSON_HEDLEY_HAS_WARNING("-Wc++1z-extensions") +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr)\ +JSON_HEDLEY_DIAGNOSTIC_PUSH\ +_Pragma("clangdiagnosticignored\"-Wc++98-compat\"")\ +_Pragma("clangdiagnosticignored\"-Wc++17-extensions\"")\ +_Pragma("clangdiagnosticignored\"-Wc++1z-extensions\"")\ +xpr\ +JSON_HEDLEY_DIAGNOSTIC_POP +#else +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr)\ +JSON_HEDLEY_DIAGNOSTIC_PUSH\ +_Pragma("clangdiagnosticignored\"-Wc++98-compat\"")\ +_Pragma("clangdiagnosticignored\"-Wc++17-extensions\"")\ +xpr\ +JSON_HEDLEY_DIAGNOSTIC_POP +#endif +#else +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(xpr)\ +JSON_HEDLEY_DIAGNOSTIC_PUSH\ +_Pragma("clangdiagnosticignored\"-Wc++98-compat\"")\ +xpr\ +JSON_HEDLEY_DIAGNOSTIC_POP +#endif +#endif +#endif +#if!defined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(x)x +#endif + +#ifdefined(JSON_HEDLEY_CONST_CAST) +#undefJSON_HEDLEY_CONST_CAST +#endif +#ifdefined(__cplusplus) +#defineJSON_HEDLEY_CONST_CAST(T,expr)(const_cast<T>(expr)) +#elif\ +JSON_HEDLEY_HAS_WARNING("-Wcast-qual")||\ +JSON_HEDLEY_GCC_VERSION_CHECK(4,6,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +#defineJSON_HEDLEY_CONST_CAST(T,expr)(__extension__({\ +JSON_HEDLEY_DIAGNOSTIC_PUSH\ +JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL\ +((T)(expr));\ +JSON_HEDLEY_DIAGNOSTIC_POP\ +})) +#else +#defineJSON_HEDLEY_CONST_CAST(T,expr)((T)(expr)) +#endif + +#ifdefined(JSON_HEDLEY_REINTERPRET_CAST) +#undefJSON_HEDLEY_REINTERPRET_CAST +#endif +#ifdefined(__cplusplus) +#defineJSON_HEDLEY_REINTERPRET_CAST(T,expr)(reinterpret_cast<T>(expr)) +#else +#defineJSON_HEDLEY_REINTERPRET_CAST(T,expr)((T)(expr)) +#endif + +#ifdefined(JSON_HEDLEY_STATIC_CAST) +#undefJSON_HEDLEY_STATIC_CAST +#endif +#ifdefined(__cplusplus) +#defineJSON_HEDLEY_STATIC_CAST(T,expr)(static_cast<T>(expr)) +#else +#defineJSON_HEDLEY_STATIC_CAST(T,expr)((T)(expr)) +#endif + +#ifdefined(JSON_HEDLEY_CPP_CAST) +#undefJSON_HEDLEY_CPP_CAST +#endif +#ifdefined(__cplusplus) +#ifJSON_HEDLEY_HAS_WARNING("-Wold-style-cast") +#defineJSON_HEDLEY_CPP_CAST(T,expr)\ +JSON_HEDLEY_DIAGNOSTIC_PUSH\ +_Pragma("clangdiagnosticignored\"-Wold-style-cast\"")\ +((T)(expr))\ +JSON_HEDLEY_DIAGNOSTIC_POP +#elifJSON_HEDLEY_IAR_VERSION_CHECK(8,3,0) +#defineJSON_HEDLEY_CPP_CAST(T,expr)\ +JSON_HEDLEY_DIAGNOSTIC_PUSH\ +_Pragma("diag_suppress=Pe137")\ +JSON_HEDLEY_DIAGNOSTIC_POP +#else +#defineJSON_HEDLEY_CPP_CAST(T,expr)((T)(expr)) +#endif +#else +#defineJSON_HEDLEY_CPP_CAST(T,expr)(expr) +#endif + +#ifdefined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED) +#undefJSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif +#ifJSON_HEDLEY_HAS_WARNING("-Wdeprecated-declarations") +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED_Pragma("clangdiagnosticignored\"-Wdeprecated-declarations\"") +#elifJSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED_Pragma("warning(disable:14781786)") +#elifJSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED__pragma(warning(disable:14781786)) +#elifJSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED_Pragma("diag_suppress1215,1216,1444,1445") +#elifJSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED_Pragma("diag_suppress1215,1444") +#elifJSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED_Pragma("GCCdiagnosticignored\"-Wdeprecated-declarations\"") +#elifJSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED__pragma(warning(disable:4996)) +#elifJSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED_Pragma("diag_suppress1215,1444") +#elif\ +JSON_HEDLEY_TI_VERSION_CHECK(15,12,0)||\ +(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0)||\ +(JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0)||\ +(JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0)||\ +(JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED_Pragma("diag_suppress1291,1718") +#elifJSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0)&&!defined(__cplusplus) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED_Pragma("error_messages(off,E_DEPRECATED_ATT,E_DEPRECATED_ATT_MESS)") +#elifJSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0)&&defined(__cplusplus) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED_Pragma("error_messages(off,symdeprecated,symdeprecated2)") +#elifJSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED_Pragma("diag_suppress=Pe1444,Pe1215") +#elifJSON_HEDLEY_PELLES_VERSION_CHECK(2,90,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED_Pragma("warn(disable:2241)") +#else +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#endif + +#ifdefined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS) +#undefJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif +#ifJSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS_Pragma("clangdiagnosticignored\"-Wunknown-pragmas\"") +#elifJSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS_Pragma("warning(disable:161)") +#elifJSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS__pragma(warning(disable:161)) +#elifJSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS_Pragma("diag_suppress1675") +#elifJSON_HEDLEY_GCC_VERSION_CHECK(4,3,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS_Pragma("GCCdiagnosticignored\"-Wunknown-pragmas\"") +#elifJSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS__pragma(warning(disable:4068)) +#elif\ +JSON_HEDLEY_TI_VERSION_CHECK(16,9,0)||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS_Pragma("diag_suppress163") +#elifJSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS_Pragma("diag_suppress163") +#elifJSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS_Pragma("diag_suppress=Pe161") +#elifJSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS_Pragma("diag_suppress161") +#else +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#endif + +#ifdefined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES) +#undefJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif +#ifJSON_HEDLEY_HAS_WARNING("-Wunknown-attributes") +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES_Pragma("clangdiagnosticignored\"-Wunknown-attributes\"") +#elifJSON_HEDLEY_GCC_VERSION_CHECK(4,6,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES_Pragma("GCCdiagnosticignored\"-Wdeprecated-declarations\"") +#elifJSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES_Pragma("warning(disable:1292)") +#elifJSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES__pragma(warning(disable:1292)) +#elifJSON_HEDLEY_MSVC_VERSION_CHECK(19,0,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES__pragma(warning(disable:5030)) +#elifJSON_HEDLEY_PGI_VERSION_CHECK(20,7,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES_Pragma("diag_suppress1097,1098") +#elifJSON_HEDLEY_PGI_VERSION_CHECK(17,10,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES_Pragma("diag_suppress1097") +#elifJSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0)&&defined(__cplusplus) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES_Pragma("error_messages(off,attrskipunsup)") +#elif\ +JSON_HEDLEY_TI_VERSION_CHECK(18,1,0)||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES_Pragma("diag_suppress1173") +#elifJSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES_Pragma("diag_suppress=Pe1097") +#elifJSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES_Pragma("diag_suppress1097") +#else +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#endif + +#ifdefined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL) +#undefJSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif +#ifJSON_HEDLEY_HAS_WARNING("-Wcast-qual") +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL_Pragma("clangdiagnosticignored\"-Wcast-qual\"") +#elifJSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL_Pragma("warning(disable:22032331)") +#elifJSON_HEDLEY_GCC_VERSION_CHECK(3,0,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL_Pragma("GCCdiagnosticignored\"-Wcast-qual\"") +#else +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#endif + +#ifdefined(JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION) +#undefJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#endif +#ifJSON_HEDLEY_HAS_WARNING("-Wunused-function") +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION_Pragma("clangdiagnosticignored\"-Wunused-function\"") +#elifJSON_HEDLEY_GCC_VERSION_CHECK(3,4,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION_Pragma("GCCdiagnosticignored\"-Wunused-function\"") +#elifJSON_HEDLEY_MSVC_VERSION_CHECK(1,0,0) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION__pragma(warning(disable:4505)) +#elifJSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION_Pragma("diag_suppress3142") +#else +#defineJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#endif + +#ifdefined(JSON_HEDLEY_DEPRECATED) +#undefJSON_HEDLEY_DEPRECATED +#endif +#ifdefined(JSON_HEDLEY_DEPRECATED_FOR) +#undefJSON_HEDLEY_DEPRECATED_FOR +#endif +#if\ +JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0)||\ +JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +#defineJSON_HEDLEY_DEPRECATED(since)__declspec(deprecated("Since"#since)) +#defineJSON_HEDLEY_DEPRECATED_FOR(since,replacement)__declspec(deprecated("Since"#since";use"#replacement)) +#elif\ +(JSON_HEDLEY_HAS_EXTENSION(attribute_deprecated_with_message)&&!defined(JSON_HEDLEY_IAR_VERSION))||\ +JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0)||\ +JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,13,0)||\ +JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)||\ +JSON_HEDLEY_TI_VERSION_CHECK(18,1,0)||\ +JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(18,1,0)||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,3,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,3,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_DEPRECATED(since)__attribute__((__deprecated__("Since"#since))) +#defineJSON_HEDLEY_DEPRECATED_FOR(since,replacement)__attribute__((__deprecated__("Since"#since";use"#replacement))) +#elifdefined(__cplusplus)&&(__cplusplus>=201402L) +#defineJSON_HEDLEY_DEPRECATED(since)JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since"#since)]]) +#defineJSON_HEDLEY_DEPRECATED_FOR(since,replacement)JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[deprecated("Since"#since";use"#replacement)]]) +#elif\ +JSON_HEDLEY_HAS_ATTRIBUTE(deprecated)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)||\ +JSON_HEDLEY_TI_VERSION_CHECK(15,12,0)||\ +(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0)||\ +(JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0)||\ +(JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0)||\ +(JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)||\ +JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) +#defineJSON_HEDLEY_DEPRECATED(since)__attribute__((__deprecated__)) +#defineJSON_HEDLEY_DEPRECATED_FOR(since,replacement)__attribute__((__deprecated__)) +#elif\ +JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0)||\ +JSON_HEDLEY_PELLES_VERSION_CHECK(6,50,0)||\ +JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +#defineJSON_HEDLEY_DEPRECATED(since)__declspec(deprecated) +#defineJSON_HEDLEY_DEPRECATED_FOR(since,replacement)__declspec(deprecated) +#elifJSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +#defineJSON_HEDLEY_DEPRECATED(since)_Pragma("deprecated") +#defineJSON_HEDLEY_DEPRECATED_FOR(since,replacement)_Pragma("deprecated") +#else +#defineJSON_HEDLEY_DEPRECATED(since) +#defineJSON_HEDLEY_DEPRECATED_FOR(since,replacement) +#endif + +#ifdefined(JSON_HEDLEY_UNAVAILABLE) +#undefJSON_HEDLEY_UNAVAILABLE +#endif +#if\ +JSON_HEDLEY_HAS_ATTRIBUTE(warning)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(4,3,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_UNAVAILABLE(available_since)__attribute__((__warning__("Notavailableuntil"#available_since))) +#else +#defineJSON_HEDLEY_UNAVAILABLE(available_since) +#endif + +#ifdefined(JSON_HEDLEY_WARN_UNUSED_RESULT) +#undefJSON_HEDLEY_WARN_UNUSED_RESULT +#endif +#ifdefined(JSON_HEDLEY_WARN_UNUSED_RESULT_MSG) +#undefJSON_HEDLEY_WARN_UNUSED_RESULT_MSG +#endif +#if\ +JSON_HEDLEY_HAS_ATTRIBUTE(warn_unused_result)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_TI_VERSION_CHECK(15,12,0)||\ +(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0)||\ +(JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0)||\ +(JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0)||\ +(JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)||\ +(JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)&&defined(__cplusplus))||\ +JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_WARN_UNUSED_RESULT__attribute__((__warn_unused_result__)) +#defineJSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)__attribute__((__warn_unused_result__)) +#elif(JSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard)>=201907L) +#defineJSON_HEDLEY_WARN_UNUSED_RESULTJSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) +#defineJSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard(msg)]]) +#elifJSON_HEDLEY_HAS_CPP_ATTRIBUTE(nodiscard) +#defineJSON_HEDLEY_WARN_UNUSED_RESULTJSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) +#defineJSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[nodiscard]]) +#elifdefined(_Check_return_)/*SAL*/ +#defineJSON_HEDLEY_WARN_UNUSED_RESULT_Check_return_ +#defineJSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg)_Check_return_ +#else +#defineJSON_HEDLEY_WARN_UNUSED_RESULT +#defineJSON_HEDLEY_WARN_UNUSED_RESULT_MSG(msg) +#endif + +#ifdefined(JSON_HEDLEY_SENTINEL) +#undefJSON_HEDLEY_SENTINEL +#endif +#if\ +JSON_HEDLEY_HAS_ATTRIBUTE(sentinel)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_SENTINEL(position)__attribute__((__sentinel__(position))) +#else +#defineJSON_HEDLEY_SENTINEL(position) +#endif + +#ifdefined(JSON_HEDLEY_NO_RETURN) +#undefJSON_HEDLEY_NO_RETURN +#endif +#ifJSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +#defineJSON_HEDLEY_NO_RETURN__noreturn +#elif\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_NO_RETURN__attribute__((__noreturn__)) +#elifdefined(__STDC_VERSION__)&&__STDC_VERSION__>=201112L +#defineJSON_HEDLEY_NO_RETURN_Noreturn +#elifdefined(__cplusplus)&&(__cplusplus>=201103L) +#defineJSON_HEDLEY_NO_RETURNJSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[noreturn]]) +#elif\ +JSON_HEDLEY_HAS_ATTRIBUTE(noreturn)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(3,2,0)||\ +JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)||\ +JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0)||\ +JSON_HEDLEY_TI_VERSION_CHECK(15,12,0)||\ +(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0)||\ +(JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0)||\ +(JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0)||\ +(JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)||\ +JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) +#defineJSON_HEDLEY_NO_RETURN__attribute__((__noreturn__)) +#elifJSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) +#defineJSON_HEDLEY_NO_RETURN_Pragma("does_not_return") +#elif\ +JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0)||\ +JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +#defineJSON_HEDLEY_NO_RETURN__declspec(noreturn) +#elifJSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0)&&defined(__cplusplus) +#defineJSON_HEDLEY_NO_RETURN_Pragma("FUNC_NEVER_RETURNS;") +#elifJSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) +#defineJSON_HEDLEY_NO_RETURN__attribute((noreturn)) +#elifJSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) +#defineJSON_HEDLEY_NO_RETURN__declspec(noreturn) +#else +#defineJSON_HEDLEY_NO_RETURN +#endif + +#ifdefined(JSON_HEDLEY_NO_ESCAPE) +#undefJSON_HEDLEY_NO_ESCAPE +#endif +#ifJSON_HEDLEY_HAS_ATTRIBUTE(noescape) +#defineJSON_HEDLEY_NO_ESCAPE__attribute__((__noescape__)) +#else +#defineJSON_HEDLEY_NO_ESCAPE +#endif + +#ifdefined(JSON_HEDLEY_UNREACHABLE) +#undefJSON_HEDLEY_UNREACHABLE +#endif +#ifdefined(JSON_HEDLEY_UNREACHABLE_RETURN) +#undefJSON_HEDLEY_UNREACHABLE_RETURN +#endif +#ifdefined(JSON_HEDLEY_ASSUME) +#undefJSON_HEDLEY_ASSUME +#endif +#if\ +JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +#defineJSON_HEDLEY_ASSUME(expr)__assume(expr) +#elifJSON_HEDLEY_HAS_BUILTIN(__builtin_assume) +#defineJSON_HEDLEY_ASSUME(expr)__builtin_assume(expr) +#elif\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0)||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) +#ifdefined(__cplusplus) +#defineJSON_HEDLEY_ASSUME(expr)std::_nassert(expr) +#else +#defineJSON_HEDLEY_ASSUME(expr)_nassert(expr) +#endif +#endif +#if\ +(JSON_HEDLEY_HAS_BUILTIN(__builtin_unreachable)&&(!defined(JSON_HEDLEY_ARM_VERSION)))||\ +JSON_HEDLEY_GCC_VERSION_CHECK(4,5,0)||\ +JSON_HEDLEY_PGI_VERSION_CHECK(18,10,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_IBM_VERSION_CHECK(13,1,5)||\ +JSON_HEDLEY_CRAY_VERSION_CHECK(10,0,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_UNREACHABLE()__builtin_unreachable() +#elifdefined(JSON_HEDLEY_ASSUME) +#defineJSON_HEDLEY_UNREACHABLE()JSON_HEDLEY_ASSUME(0) +#endif +#if!defined(JSON_HEDLEY_ASSUME) +#ifdefined(JSON_HEDLEY_UNREACHABLE) +#defineJSON_HEDLEY_ASSUME(expr)JSON_HEDLEY_STATIC_CAST(void,((expr)?1:(JSON_HEDLEY_UNREACHABLE(),1))) +#else +#defineJSON_HEDLEY_ASSUME(expr)JSON_HEDLEY_STATIC_CAST(void,expr) +#endif +#endif +#ifdefined(JSON_HEDLEY_UNREACHABLE) +#if\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0)||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0) +#defineJSON_HEDLEY_UNREACHABLE_RETURN(value)return(JSON_HEDLEY_STATIC_CAST(void,JSON_HEDLEY_ASSUME(0)),(value)) +#else +#defineJSON_HEDLEY_UNREACHABLE_RETURN(value)JSON_HEDLEY_UNREACHABLE() +#endif +#else +#defineJSON_HEDLEY_UNREACHABLE_RETURN(value)return(value) +#endif +#if!defined(JSON_HEDLEY_UNREACHABLE) +#defineJSON_HEDLEY_UNREACHABLE()JSON_HEDLEY_ASSUME(0) +#endif + +JSON_HEDLEY_DIAGNOSTIC_PUSH +#ifJSON_HEDLEY_HAS_WARNING("-Wpedantic") +#pragmaclangdiagnosticignored"-Wpedantic" +#endif +#ifJSON_HEDLEY_HAS_WARNING("-Wc++98-compat-pedantic")&&defined(__cplusplus) +#pragmaclangdiagnosticignored"-Wc++98-compat-pedantic" +#endif +#ifJSON_HEDLEY_GCC_HAS_WARNING("-Wvariadic-macros",4,0,0) +#ifdefined(__clang__) +#pragmaclangdiagnosticignored"-Wvariadic-macros" +#elifdefined(JSON_HEDLEY_GCC_VERSION) +#pragmaGCCdiagnosticignored"-Wvariadic-macros" +#endif +#endif +#ifdefined(JSON_HEDLEY_NON_NULL) +#undefJSON_HEDLEY_NON_NULL +#endif +#if\ +JSON_HEDLEY_HAS_ATTRIBUTE(nonnull)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) +#defineJSON_HEDLEY_NON_NULL(...)__attribute__((__nonnull__(__VA_ARGS__))) +#else +#defineJSON_HEDLEY_NON_NULL(...) +#endif +JSON_HEDLEY_DIAGNOSTIC_POP + +#ifdefined(JSON_HEDLEY_PRINTF_FORMAT) +#undefJSON_HEDLEY_PRINTF_FORMAT +#endif +#ifdefined(__MINGW32__)&&JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0)&&!defined(__USE_MINGW_ANSI_STDIO) +#defineJSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)__attribute__((__format__(ms_printf,string_idx,first_to_check))) +#elifdefined(__MINGW32__)&&JSON_HEDLEY_GCC_HAS_ATTRIBUTE(format,4,4,0)&&defined(__USE_MINGW_ANSI_STDIO) +#defineJSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)__attribute__((__format__(gnu_printf,string_idx,first_to_check))) +#elif\ +JSON_HEDLEY_HAS_ATTRIBUTE(format)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(5,6,0)||\ +JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0)||\ +JSON_HEDLEY_TI_VERSION_CHECK(15,12,0)||\ +(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0)||\ +(JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0)||\ +(JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0)||\ +(JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)__attribute__((__format__(__printf__,string_idx,first_to_check))) +#elifJSON_HEDLEY_PELLES_VERSION_CHECK(6,0,0) +#defineJSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check)__declspec(vaformat(printf,string_idx,first_to_check)) +#else +#defineJSON_HEDLEY_PRINTF_FORMAT(string_idx,first_to_check) +#endif + +#ifdefined(JSON_HEDLEY_CONSTEXPR) +#undefJSON_HEDLEY_CONSTEXPR +#endif +#ifdefined(__cplusplus) +#if__cplusplus>=201103L +#defineJSON_HEDLEY_CONSTEXPRJSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(constexpr) +#endif +#endif +#if!defined(JSON_HEDLEY_CONSTEXPR) +#defineJSON_HEDLEY_CONSTEXPR +#endif + +#ifdefined(JSON_HEDLEY_PREDICT) +#undefJSON_HEDLEY_PREDICT +#endif +#ifdefined(JSON_HEDLEY_LIKELY) +#undefJSON_HEDLEY_LIKELY +#endif +#ifdefined(JSON_HEDLEY_UNLIKELY) +#undefJSON_HEDLEY_UNLIKELY +#endif +#ifdefined(JSON_HEDLEY_UNPREDICTABLE) +#undefJSON_HEDLEY_UNPREDICTABLE +#endif +#ifJSON_HEDLEY_HAS_BUILTIN(__builtin_unpredictable) +#defineJSON_HEDLEY_UNPREDICTABLE(expr)__builtin_unpredictable((expr)) +#endif +#if\ +(JSON_HEDLEY_HAS_BUILTIN(__builtin_expect_with_probability)&&!defined(JSON_HEDLEY_PGI_VERSION))||\ +JSON_HEDLEY_GCC_VERSION_CHECK(9,0,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_PREDICT(expr,value,probability)__builtin_expect_with_probability((expr),(value),(probability)) +#defineJSON_HEDLEY_PREDICT_TRUE(expr,probability)__builtin_expect_with_probability(!!(expr),1,(probability)) +#defineJSON_HEDLEY_PREDICT_FALSE(expr,probability)__builtin_expect_with_probability(!!(expr),0,(probability)) +#defineJSON_HEDLEY_LIKELY(expr)__builtin_expect(!!(expr),1) +#defineJSON_HEDLEY_UNLIKELY(expr)__builtin_expect(!!(expr),0) +#elif\ +(JSON_HEDLEY_HAS_BUILTIN(__builtin_expect)&&!defined(JSON_HEDLEY_INTEL_CL_VERSION))||\ +JSON_HEDLEY_GCC_VERSION_CHECK(3,0,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +(JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,15,0)&&defined(__cplusplus))||\ +JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)||\ +JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0)||\ +JSON_HEDLEY_TI_VERSION_CHECK(15,12,0)||\ +JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,7,0)||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0)||\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,1,0)||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)||\ +JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,27)||\ +JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_PREDICT(expr,expected,probability)\ +(((probability)>=0.9)?__builtin_expect((expr),(expected)):(JSON_HEDLEY_STATIC_CAST(void,expected),(expr))) +#defineJSON_HEDLEY_PREDICT_TRUE(expr,probability)\ +(__extension__({\ +doublehedley_probability_=(probability);\ +((hedley_probability_>=0.9)?__builtin_expect(!!(expr),1):((hedley_probability_<=0.1)?__builtin_expect(!!(expr),0):!!(expr)));\ +})) +#defineJSON_HEDLEY_PREDICT_FALSE(expr,probability)\ +(__extension__({\ +doublehedley_probability_=(probability);\ +((hedley_probability_>=0.9)?__builtin_expect(!!(expr),0):((hedley_probability_<=0.1)?__builtin_expect(!!(expr),1):!!(expr)));\ +})) +#defineJSON_HEDLEY_LIKELY(expr)__builtin_expect(!!(expr),1) +#defineJSON_HEDLEY_UNLIKELY(expr)__builtin_expect(!!(expr),0) +#else +#defineJSON_HEDLEY_PREDICT(expr,expected,probability)(JSON_HEDLEY_STATIC_CAST(void,expected),(expr)) +#defineJSON_HEDLEY_PREDICT_TRUE(expr,probability)(!!(expr)) +#defineJSON_HEDLEY_PREDICT_FALSE(expr,probability)(!!(expr)) +#defineJSON_HEDLEY_LIKELY(expr)(!!(expr)) +#defineJSON_HEDLEY_UNLIKELY(expr)(!!(expr)) +#endif +#if!defined(JSON_HEDLEY_UNPREDICTABLE) +#defineJSON_HEDLEY_UNPREDICTABLE(expr)JSON_HEDLEY_PREDICT(expr,1,0.5) +#endif + +#ifdefined(JSON_HEDLEY_MALLOC) +#undefJSON_HEDLEY_MALLOC +#endif +#if\ +JSON_HEDLEY_HAS_ATTRIBUTE(malloc)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)||\ +JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0)||\ +JSON_HEDLEY_TI_VERSION_CHECK(15,12,0)||\ +(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0)||\ +(JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0)||\ +(JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0)||\ +(JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_MALLOC__attribute__((__malloc__)) +#elifJSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) +#defineJSON_HEDLEY_MALLOC_Pragma("returns_new_memory") +#elif\ +JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0)||\ +JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +#defineJSON_HEDLEY_MALLOC__declspec(restrict) +#else +#defineJSON_HEDLEY_MALLOC +#endif + +#ifdefined(JSON_HEDLEY_PURE) +#undefJSON_HEDLEY_PURE +#endif +#if\ +JSON_HEDLEY_HAS_ATTRIBUTE(pure)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(2,96,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)||\ +JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0)||\ +JSON_HEDLEY_TI_VERSION_CHECK(15,12,0)||\ +(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0)||\ +(JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0)||\ +(JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0)||\ +(JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)||\ +JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_PURE__attribute__((__pure__)) +#elifJSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) +#defineJSON_HEDLEY_PURE_Pragma("does_not_write_global_data") +#elifdefined(__cplusplus)&&\ +(\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(2,0,1)||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(4,0,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)\ +) +#defineJSON_HEDLEY_PURE_Pragma("FUNC_IS_PURE;") +#else +#defineJSON_HEDLEY_PURE +#endif + +#ifdefined(JSON_HEDLEY_CONST) +#undefJSON_HEDLEY_CONST +#endif +#if\ +JSON_HEDLEY_HAS_ATTRIBUTE(const)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(2,5,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)||\ +JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0)||\ +JSON_HEDLEY_TI_VERSION_CHECK(15,12,0)||\ +(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0)||\ +(JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0)||\ +(JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0)||\ +(JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)||\ +JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_CONST__attribute__((__const__)) +#elif\ +JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0) +#defineJSON_HEDLEY_CONST_Pragma("no_side_effect") +#else +#defineJSON_HEDLEY_CONSTJSON_HEDLEY_PURE +#endif + +#ifdefined(JSON_HEDLEY_RESTRICT) +#undefJSON_HEDLEY_RESTRICT +#endif +#ifdefined(__STDC_VERSION__)&&(__STDC_VERSION__>=199901L)&&!defined(__cplusplus) +#defineJSON_HEDLEY_RESTRICTrestrict +#elif\ +JSON_HEDLEY_GCC_VERSION_CHECK(3,1,0)||\ +JSON_HEDLEY_MSVC_VERSION_CHECK(14,0,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)||\ +JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0)||\ +JSON_HEDLEY_PGI_VERSION_CHECK(17,10,0)||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0)||\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,4)||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,1,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +(JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,14,0)&&defined(__cplusplus))||\ +JSON_HEDLEY_IAR_VERSION_CHECK(8,0,0)||\ +defined(__clang__)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_RESTRICT__restrict +#elifJSON_HEDLEY_SUNPRO_VERSION_CHECK(5,3,0)&&!defined(__cplusplus) +#defineJSON_HEDLEY_RESTRICT_Restrict +#else +#defineJSON_HEDLEY_RESTRICT +#endif + +#ifdefined(JSON_HEDLEY_INLINE) +#undefJSON_HEDLEY_INLINE +#endif +#if\ +(defined(__STDC_VERSION__)&&(__STDC_VERSION__>=199901L))||\ +(defined(__cplusplus)&&(__cplusplus>=199711L)) +#defineJSON_HEDLEY_INLINEinline +#elif\ +defined(JSON_HEDLEY_GCC_VERSION)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(6,2,0) +#defineJSON_HEDLEY_INLINE__inline__ +#elif\ +JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0)||\ +JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)||\ +JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,1,0)||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(3,1,0)||\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,2,0)||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(8,0,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_INLINE__inline +#else +#defineJSON_HEDLEY_INLINE +#endif + +#ifdefined(JSON_HEDLEY_ALWAYS_INLINE) +#undefJSON_HEDLEY_ALWAYS_INLINE +#endif +#if\ +JSON_HEDLEY_HAS_ATTRIBUTE(always_inline)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)||\ +JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0)||\ +JSON_HEDLEY_TI_VERSION_CHECK(15,12,0)||\ +(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0)||\ +(JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0)||\ +(JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0)||\ +(JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)||\ +JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) +#defineJSON_HEDLEY_ALWAYS_INLINE__attribute__((__always_inline__))JSON_HEDLEY_INLINE +#elif\ +JSON_HEDLEY_MSVC_VERSION_CHECK(12,0,0)||\ +JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +#defineJSON_HEDLEY_ALWAYS_INLINE__forceinline +#elifdefined(__cplusplus)&&\ +(\ +JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0)||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0)||\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0)||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)\ +) +#defineJSON_HEDLEY_ALWAYS_INLINE_Pragma("FUNC_ALWAYS_INLINE;") +#elifJSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +#defineJSON_HEDLEY_ALWAYS_INLINE_Pragma("inline=forced") +#else +#defineJSON_HEDLEY_ALWAYS_INLINEJSON_HEDLEY_INLINE +#endif + +#ifdefined(JSON_HEDLEY_NEVER_INLINE) +#undefJSON_HEDLEY_NEVER_INLINE +#endif +#if\ +JSON_HEDLEY_HAS_ATTRIBUTE(noinline)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(4,0,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)||\ +JSON_HEDLEY_IBM_VERSION_CHECK(10,1,0)||\ +JSON_HEDLEY_TI_VERSION_CHECK(15,12,0)||\ +(JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(4,8,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_ARMCL_VERSION_CHECK(5,2,0)||\ +(JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL2000_VERSION_CHECK(6,4,0)||\ +(JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,0,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(4,3,0)||\ +(JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0)||\ +JSON_HEDLEY_TI_CL7X_VERSION_CHECK(1,2,0)||\ +JSON_HEDLEY_TI_CLPRU_VERSION_CHECK(2,1,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10)||\ +JSON_HEDLEY_IAR_VERSION_CHECK(8,10,0) +#defineJSON_HEDLEY_NEVER_INLINE__attribute__((__noinline__)) +#elif\ +JSON_HEDLEY_MSVC_VERSION_CHECK(13,10,0)||\ +JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +#defineJSON_HEDLEY_NEVER_INLINE__declspec(noinline) +#elifJSON_HEDLEY_PGI_VERSION_CHECK(10,2,0) +#defineJSON_HEDLEY_NEVER_INLINE_Pragma("noinline") +#elifJSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,0,0)&&defined(__cplusplus) +#defineJSON_HEDLEY_NEVER_INLINE_Pragma("FUNC_CANNOT_INLINE;") +#elifJSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +#defineJSON_HEDLEY_NEVER_INLINE_Pragma("inline=never") +#elifJSON_HEDLEY_COMPCERT_VERSION_CHECK(3,2,0) +#defineJSON_HEDLEY_NEVER_INLINE__attribute((noinline)) +#elifJSON_HEDLEY_PELLES_VERSION_CHECK(9,0,0) +#defineJSON_HEDLEY_NEVER_INLINE__declspec(noinline) +#else +#defineJSON_HEDLEY_NEVER_INLINE +#endif + +#ifdefined(JSON_HEDLEY_PRIVATE) +#undefJSON_HEDLEY_PRIVATE +#endif +#ifdefined(JSON_HEDLEY_PUBLIC) +#undefJSON_HEDLEY_PUBLIC +#endif +#ifdefined(JSON_HEDLEY_IMPORT) +#undefJSON_HEDLEY_IMPORT +#endif +#ifdefined(_WIN32)||defined(__CYGWIN__) +#defineJSON_HEDLEY_PRIVATE +#defineJSON_HEDLEY_PUBLIC__declspec(dllexport) +#defineJSON_HEDLEY_IMPORT__declspec(dllimport) +#else +#if\ +JSON_HEDLEY_HAS_ATTRIBUTE(visibility)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0)||\ +JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,11,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)||\ +JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0)||\ +(\ +defined(__TI_EABI__)&&\ +(\ +(JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,2,0)&&defined(__TI_GNU_ATTRIBUTE_SUPPORT__))||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(7,5,0)\ +)\ +)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_PRIVATE__attribute__((__visibility__("hidden"))) +#defineJSON_HEDLEY_PUBLIC__attribute__((__visibility__("default"))) +#else +#defineJSON_HEDLEY_PRIVATE +#defineJSON_HEDLEY_PUBLIC +#endif +#defineJSON_HEDLEY_IMPORTextern +#endif + +#ifdefined(JSON_HEDLEY_NO_THROW) +#undefJSON_HEDLEY_NO_THROW +#endif +#if\ +JSON_HEDLEY_HAS_ATTRIBUTE(nothrow)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(3,3,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_NO_THROW__attribute__((__nothrow__)) +#elif\ +JSON_HEDLEY_MSVC_VERSION_CHECK(13,1,0)||\ +JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0) +#defineJSON_HEDLEY_NO_THROW__declspec(nothrow) +#else +#defineJSON_HEDLEY_NO_THROW +#endif + +#ifdefined(JSON_HEDLEY_FALL_THROUGH) +#undefJSON_HEDLEY_FALL_THROUGH +#endif +#if\ +JSON_HEDLEY_HAS_ATTRIBUTE(fallthrough)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(7,0,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_FALL_THROUGH__attribute__((__fallthrough__)) +#elifJSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS(clang,fallthrough) +#defineJSON_HEDLEY_FALL_THROUGHJSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[clang::fallthrough]]) +#elifJSON_HEDLEY_HAS_CPP_ATTRIBUTE(fallthrough) +#defineJSON_HEDLEY_FALL_THROUGHJSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_([[fallthrough]]) +#elifdefined(__fallthrough)/*SAL*/ +#defineJSON_HEDLEY_FALL_THROUGH__fallthrough +#else +#defineJSON_HEDLEY_FALL_THROUGH +#endif + +#ifdefined(JSON_HEDLEY_RETURNS_NON_NULL) +#undefJSON_HEDLEY_RETURNS_NON_NULL +#endif +#if\ +JSON_HEDLEY_HAS_ATTRIBUTE(returns_nonnull)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_RETURNS_NON_NULL__attribute__((__returns_nonnull__)) +#elifdefined(_Ret_notnull_)/*SAL*/ +#defineJSON_HEDLEY_RETURNS_NON_NULL_Ret_notnull_ +#else +#defineJSON_HEDLEY_RETURNS_NON_NULL +#endif + +#ifdefined(JSON_HEDLEY_ARRAY_PARAM) +#undefJSON_HEDLEY_ARRAY_PARAM +#endif +#if\ +defined(__STDC_VERSION__)&&(__STDC_VERSION__>=199901L)&&\ +!defined(__STDC_NO_VLA__)&&\ +!defined(__cplusplus)&&\ +!defined(JSON_HEDLEY_PGI_VERSION)&&\ +!defined(JSON_HEDLEY_TINYC_VERSION) +#defineJSON_HEDLEY_ARRAY_PARAM(name)(name) +#else +#defineJSON_HEDLEY_ARRAY_PARAM(name) +#endif + +#ifdefined(JSON_HEDLEY_IS_CONSTANT) +#undefJSON_HEDLEY_IS_CONSTANT +#endif +#ifdefined(JSON_HEDLEY_REQUIRE_CONSTEXPR) +#undefJSON_HEDLEY_REQUIRE_CONSTEXPR +#endif +/*JSON_HEDLEY_IS_CONSTEXPR_isfor +HEDLEYINTERNALUSEONLY.APIsubjecttochangewithoutnotice.*/ +#ifdefined(JSON_HEDLEY_IS_CONSTEXPR_) +#undefJSON_HEDLEY_IS_CONSTEXPR_ +#endif +#if\ +JSON_HEDLEY_HAS_BUILTIN(__builtin_constant_p)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,19)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(4,1,0)||\ +JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0)||\ +JSON_HEDLEY_TI_CL6X_VERSION_CHECK(6,1,0)||\ +(JSON_HEDLEY_SUNPRO_VERSION_CHECK(5,10,0)&&!defined(__cplusplus))||\ +JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0)||\ +JSON_HEDLEY_MCST_LCC_VERSION_CHECK(1,25,10) +#defineJSON_HEDLEY_IS_CONSTANT(expr)__builtin_constant_p(expr) +#endif +#if!defined(__cplusplus) +#if\ +JSON_HEDLEY_HAS_BUILTIN(__builtin_types_compatible_p)||\ +JSON_HEDLEY_GCC_VERSION_CHECK(3,4,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +JSON_HEDLEY_IBM_VERSION_CHECK(13,1,0)||\ +JSON_HEDLEY_CRAY_VERSION_CHECK(8,1,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(5,4,0)||\ +JSON_HEDLEY_TINYC_VERSION_CHECK(0,9,24) +#ifdefined(__INTPTR_TYPE__) +#defineJSON_HEDLEY_IS_CONSTEXPR_(expr)__builtin_types_compatible_p(__typeof__((1?(void*)((__INTPTR_TYPE__)((expr)*0)):(int*)0)),int*) +#else +#include<stdint.h> +#defineJSON_HEDLEY_IS_CONSTEXPR_(expr)__builtin_types_compatible_p(__typeof__((1?(void*)((intptr_t)((expr)*0)):(int*)0)),int*) +#endif +#elif\ +(\ +defined(__STDC_VERSION__)&&(__STDC_VERSION__>=201112L)&&\ +!defined(JSON_HEDLEY_SUNPRO_VERSION)&&\ +!defined(JSON_HEDLEY_PGI_VERSION)&&\ +!defined(JSON_HEDLEY_IAR_VERSION))||\ +(JSON_HEDLEY_HAS_EXTENSION(c_generic_selections)&&!defined(JSON_HEDLEY_IAR_VERSION))||\ +JSON_HEDLEY_GCC_VERSION_CHECK(4,9,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(17,0,0)||\ +JSON_HEDLEY_IBM_VERSION_CHECK(12,1,0)||\ +JSON_HEDLEY_ARM_VERSION_CHECK(5,3,0) +#ifdefined(__INTPTR_TYPE__) +#defineJSON_HEDLEY_IS_CONSTEXPR_(expr)_Generic((1?(void*)((__INTPTR_TYPE__)((expr)*0)):(int*)0),int*:1,void*:0) +#else +#include<stdint.h> +#defineJSON_HEDLEY_IS_CONSTEXPR_(expr)_Generic((1?(void*)((intptr_t)*0):(int*)0),int*:1,void*:0) +#endif +#elif\ +defined(JSON_HEDLEY_GCC_VERSION)||\ +defined(JSON_HEDLEY_INTEL_VERSION)||\ +defined(JSON_HEDLEY_TINYC_VERSION)||\ +defined(JSON_HEDLEY_TI_ARMCL_VERSION)||\ +JSON_HEDLEY_TI_CL430_VERSION_CHECK(18,12,0)||\ +defined(JSON_HEDLEY_TI_CL2000_VERSION)||\ +defined(JSON_HEDLEY_TI_CL6X_VERSION)||\ +defined(JSON_HEDLEY_TI_CL7X_VERSION)||\ +defined(JSON_HEDLEY_TI_CLPRU_VERSION)||\ +defined(__clang__) +#defineJSON_HEDLEY_IS_CONSTEXPR_(expr)(\ +sizeof(void)!=\ +sizeof(*(\ +1?\ +((void*)((expr)*0L)):\ +((struct{charv[sizeof(void)*2];}*)1)\ +)\ +)\ +) +#endif +#endif +#ifdefined(JSON_HEDLEY_IS_CONSTEXPR_) +#if!defined(JSON_HEDLEY_IS_CONSTANT) +#defineJSON_HEDLEY_IS_CONSTANT(expr)JSON_HEDLEY_IS_CONSTEXPR_(expr) +#endif +#defineJSON_HEDLEY_REQUIRE_CONSTEXPR(expr)(JSON_HEDLEY_IS_CONSTEXPR_(expr)?(expr):(-1)) +#else +#if!defined(JSON_HEDLEY_IS_CONSTANT) +#defineJSON_HEDLEY_IS_CONSTANT(expr)(0) +#endif +#defineJSON_HEDLEY_REQUIRE_CONSTEXPR(expr)(expr) +#endif + +#ifdefined(JSON_HEDLEY_BEGIN_C_DECLS) +#undefJSON_HEDLEY_BEGIN_C_DECLS +#endif +#ifdefined(JSON_HEDLEY_END_C_DECLS) +#undefJSON_HEDLEY_END_C_DECLS +#endif +#ifdefined(JSON_HEDLEY_C_DECL) +#undefJSON_HEDLEY_C_DECL +#endif +#ifdefined(__cplusplus) +#defineJSON_HEDLEY_BEGIN_C_DECLSextern"C"{ +#defineJSON_HEDLEY_END_C_DECLS} +#defineJSON_HEDLEY_C_DECLextern"C" +#else +#defineJSON_HEDLEY_BEGIN_C_DECLS +#defineJSON_HEDLEY_END_C_DECLS +#defineJSON_HEDLEY_C_DECL +#endif + +#ifdefined(JSON_HEDLEY_STATIC_ASSERT) +#undefJSON_HEDLEY_STATIC_ASSERT +#endif +#if\ +!defined(__cplusplus)&&(\ +(defined(__STDC_VERSION__)&&(__STDC_VERSION__>=201112L))||\ +(JSON_HEDLEY_HAS_FEATURE(c_static_assert)&&!defined(JSON_HEDLEY_INTEL_CL_VERSION))||\ +JSON_HEDLEY_GCC_VERSION_CHECK(6,0,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0)||\ +defined(_Static_assert)\ +) +#defineJSON_HEDLEY_STATIC_ASSERT(expr,message)_Static_assert(expr,message) +#elif\ +(defined(__cplusplus)&&(__cplusplus>=201103L))||\ +JSON_HEDLEY_MSVC_VERSION_CHECK(16,0,0)||\ +JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +#defineJSON_HEDLEY_STATIC_ASSERT(expr,message)JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(static_assert(expr,message)) +#else +#defineJSON_HEDLEY_STATIC_ASSERT(expr,message) +#endif + +#ifdefined(JSON_HEDLEY_NULL) +#undefJSON_HEDLEY_NULL +#endif +#ifdefined(__cplusplus) +#if__cplusplus>=201103L +#defineJSON_HEDLEY_NULLJSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_(nullptr) +#elifdefined(NULL) +#defineJSON_HEDLEY_NULLNULL +#else +#defineJSON_HEDLEY_NULLJSON_HEDLEY_STATIC_CAST(void*,0) +#endif +#elifdefined(NULL) +#defineJSON_HEDLEY_NULLNULL +#else +#defineJSON_HEDLEY_NULL((void*)0) +#endif + +#ifdefined(JSON_HEDLEY_MESSAGE) +#undefJSON_HEDLEY_MESSAGE +#endif +#ifJSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +#defineJSON_HEDLEY_MESSAGE(msg)\ +JSON_HEDLEY_DIAGNOSTIC_PUSH\ +JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS\ +JSON_HEDLEY_PRAGMA(messagemsg)\ +JSON_HEDLEY_DIAGNOSTIC_POP +#elif\ +JSON_HEDLEY_GCC_VERSION_CHECK(4,4,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +#defineJSON_HEDLEY_MESSAGE(msg)JSON_HEDLEY_PRAGMA(messagemsg) +#elifJSON_HEDLEY_CRAY_VERSION_CHECK(5,0,0) +#defineJSON_HEDLEY_MESSAGE(msg)JSON_HEDLEY_PRAGMA(_CRImessagemsg) +#elifJSON_HEDLEY_IAR_VERSION_CHECK(8,0,0) +#defineJSON_HEDLEY_MESSAGE(msg)JSON_HEDLEY_PRAGMA(message(msg)) +#elifJSON_HEDLEY_PELLES_VERSION_CHECK(2,0,0) +#defineJSON_HEDLEY_MESSAGE(msg)JSON_HEDLEY_PRAGMA(message(msg)) +#else +#defineJSON_HEDLEY_MESSAGE(msg) +#endif + +#ifdefined(JSON_HEDLEY_WARNING) +#undefJSON_HEDLEY_WARNING +#endif +#ifJSON_HEDLEY_HAS_WARNING("-Wunknown-pragmas") +#defineJSON_HEDLEY_WARNING(msg)\ +JSON_HEDLEY_DIAGNOSTIC_PUSH\ +JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS\ +JSON_HEDLEY_PRAGMA(clangwarningmsg)\ +JSON_HEDLEY_DIAGNOSTIC_POP +#elif\ +JSON_HEDLEY_GCC_VERSION_CHECK(4,8,0)||\ +JSON_HEDLEY_PGI_VERSION_CHECK(18,4,0)||\ +JSON_HEDLEY_INTEL_VERSION_CHECK(13,0,0) +#defineJSON_HEDLEY_WARNING(msg)JSON_HEDLEY_PRAGMA(GCCwarningmsg) +#elif\ +JSON_HEDLEY_MSVC_VERSION_CHECK(15,0,0)||\ +JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +#defineJSON_HEDLEY_WARNING(msg)JSON_HEDLEY_PRAGMA(message(msg)) +#else +#defineJSON_HEDLEY_WARNING(msg)JSON_HEDLEY_MESSAGE(msg) +#endif + +#ifdefined(JSON_HEDLEY_REQUIRE) +#undefJSON_HEDLEY_REQUIRE +#endif +#ifdefined(JSON_HEDLEY_REQUIRE_MSG) +#undefJSON_HEDLEY_REQUIRE_MSG +#endif +#ifJSON_HEDLEY_HAS_ATTRIBUTE(diagnose_if) +#ifJSON_HEDLEY_HAS_WARNING("-Wgcc-compat") +#defineJSON_HEDLEY_REQUIRE(expr)\ +JSON_HEDLEY_DIAGNOSTIC_PUSH\ +_Pragma("clangdiagnosticignored\"-Wgcc-compat\"")\ +__attribute__((diagnose_if(!(expr),#expr,"error")))\ +JSON_HEDLEY_DIAGNOSTIC_POP +#defineJSON_HEDLEY_REQUIRE_MSG(expr,msg)\ +JSON_HEDLEY_DIAGNOSTIC_PUSH\ +_Pragma("clangdiagnosticignored\"-Wgcc-compat\"")\ +__attribute__((diagnose_if(!(expr),msg,"error")))\ +JSON_HEDLEY_DIAGNOSTIC_POP +#else +#defineJSON_HEDLEY_REQUIRE(expr)__attribute__((diagnose_if(!(expr),#expr,"error"))) +#defineJSON_HEDLEY_REQUIRE_MSG(expr,msg)__attribute__((diagnose_if(!(expr),msg,"error"))) +#endif +#else +#defineJSON_HEDLEY_REQUIRE(expr) +#defineJSON_HEDLEY_REQUIRE_MSG(expr,msg) +#endif + +#ifdefined(JSON_HEDLEY_FLAGS) +#undefJSON_HEDLEY_FLAGS +#endif +#ifJSON_HEDLEY_HAS_ATTRIBUTE(flag_enum)&&(!defined(__cplusplus)||JSON_HEDLEY_HAS_WARNING("-Wbitfield-enum-conversion")) +#defineJSON_HEDLEY_FLAGS__attribute__((__flag_enum__)) +#else +#defineJSON_HEDLEY_FLAGS +#endif + +#ifdefined(JSON_HEDLEY_FLAGS_CAST) +#undefJSON_HEDLEY_FLAGS_CAST +#endif +#ifJSON_HEDLEY_INTEL_VERSION_CHECK(19,0,0) +#defineJSON_HEDLEY_FLAGS_CAST(T,expr)(__extension__({\ +JSON_HEDLEY_DIAGNOSTIC_PUSH\ +_Pragma("warning(disable:188)")\ +((T)(expr));\ +JSON_HEDLEY_DIAGNOSTIC_POP\ +})) +#else +#defineJSON_HEDLEY_FLAGS_CAST(T,expr)JSON_HEDLEY_STATIC_CAST(T,expr) +#endif + +#ifdefined(JSON_HEDLEY_EMPTY_BASES) +#undefJSON_HEDLEY_EMPTY_BASES +#endif +#if\ +(JSON_HEDLEY_MSVC_VERSION_CHECK(19,0,23918)&&!JSON_HEDLEY_MSVC_VERSION_CHECK(20,0,0))||\ +JSON_HEDLEY_INTEL_CL_VERSION_CHECK(2021,1,0) +#defineJSON_HEDLEY_EMPTY_BASES__declspec(empty_bases) +#else +#defineJSON_HEDLEY_EMPTY_BASES +#endif + +/*Remainingmacrosaredeprecated.*/ + +#ifdefined(JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK) +#undefJSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +#endif +#ifdefined(__clang__) +#defineJSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch)(0) +#else +#defineJSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK(major,minor,patch)JSON_HEDLEY_GCC_VERSION_CHECK(major,minor,patch) +#endif + +#ifdefined(JSON_HEDLEY_CLANG_HAS_ATTRIBUTE) +#undefJSON_HEDLEY_CLANG_HAS_ATTRIBUTE +#endif +#defineJSON_HEDLEY_CLANG_HAS_ATTRIBUTE(attribute)JSON_HEDLEY_HAS_ATTRIBUTE(attribute) + +#ifdefined(JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE) +#undefJSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +#endif +#defineJSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE(attribute)JSON_HEDLEY_HAS_CPP_ATTRIBUTE(attribute) + +#ifdefined(JSON_HEDLEY_CLANG_HAS_BUILTIN) +#undefJSON_HEDLEY_CLANG_HAS_BUILTIN +#endif +#defineJSON_HEDLEY_CLANG_HAS_BUILTIN(builtin)JSON_HEDLEY_HAS_BUILTIN(builtin) + +#ifdefined(JSON_HEDLEY_CLANG_HAS_FEATURE) +#undefJSON_HEDLEY_CLANG_HAS_FEATURE +#endif +#defineJSON_HEDLEY_CLANG_HAS_FEATURE(feature)JSON_HEDLEY_HAS_FEATURE(feature) + +#ifdefined(JSON_HEDLEY_CLANG_HAS_EXTENSION) +#undefJSON_HEDLEY_CLANG_HAS_EXTENSION +#endif +#defineJSON_HEDLEY_CLANG_HAS_EXTENSION(extension)JSON_HEDLEY_HAS_EXTENSION(extension) + +#ifdefined(JSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE) +#undefJSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE +#endif +#defineJSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE(attribute)JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE(attribute) + +#ifdefined(JSON_HEDLEY_CLANG_HAS_WARNING) +#undefJSON_HEDLEY_CLANG_HAS_WARNING +#endif +#defineJSON_HEDLEY_CLANG_HAS_WARNING(warning)JSON_HEDLEY_HAS_WARNING(warning) + +#endif/*!defined(JSON_HEDLEY_VERSION)||(JSON_HEDLEY_VERSION<X)*/ + + +//Thisfilecontainsallinternalmacrodefinitions +//YouMUSTincludemacro_unscope.hppattheendofjson.hpptoundefallofthem + +//excludeunsupportedcompilers +#if!defined(JSON_SKIP_UNSUPPORTED_COMPILER_CHECK) +#ifdefined(__clang__) +#if(__clang_major__*10000+__clang_minor__*100+__clang_patchlevel__)<30400 +#error"unsupportedClangversion-seehttps://github.com/nlohmann/json#supported-compilers" +#endif +#elifdefined(__GNUC__)&&!(defined(__ICC)||defined(__INTEL_COMPILER)) +#if(__GNUC__*10000+__GNUC_MINOR__*100+__GNUC_PATCHLEVEL__)<40800 +#error"unsupportedGCCversion-seehttps://github.com/nlohmann/json#supported-compilers" +#endif +#endif +#endif + +//C++languagestandarddetection +//iftheusermanuallyspecifiedtheusedc++versionthisisskipped +#if!defined(JSON_HAS_CPP_20)&&!defined(JSON_HAS_CPP_17)&&!defined(JSON_HAS_CPP_14)&&!defined(JSON_HAS_CPP_11) +#if(defined(__cplusplus)&&__cplusplus>=202002L)||(defined(_MSVC_LANG)&&_MSVC_LANG>=202002L) +#defineJSON_HAS_CPP_20 +#defineJSON_HAS_CPP_17 +#defineJSON_HAS_CPP_14 +#elif(defined(__cplusplus)&&__cplusplus>=201703L)||(defined(_HAS_CXX17)&&_HAS_CXX17==1)//fixforissue#464 +#defineJSON_HAS_CPP_17 +#defineJSON_HAS_CPP_14 +#elif(defined(__cplusplus)&&__cplusplus>=201402L)||(defined(_HAS_CXX14)&&_HAS_CXX14==1) +#defineJSON_HAS_CPP_14 +#endif +//thecpp11flagisalwaysspecifiedbecauseitistheminimalrequiredversion +#defineJSON_HAS_CPP_11 +#endif + +//disabledocumentationwarningsonclang +#ifdefined(__clang__) +#pragmaGCCdiagnosticpush +#pragmaGCCdiagnosticignored"-Wdocumentation" +#endif + +//allowtodisableexceptions +#if(defined(__cpp_exceptions)||defined(__EXCEPTIONS)||defined(_CPPUNWIND))&&!defined(JSON_NOEXCEPTION) +#defineJSON_THROW(exception)throwexception +#defineJSON_TRYtry +#defineJSON_CATCH(exception)catch(exception) +#defineJSON_INTERNAL_CATCH(exception)catch(exception) +#else +#include<cstdlib> +#defineJSON_THROW(exception)std::abort() +#defineJSON_TRYif(true) +#defineJSON_CATCH(exception)if(false) +#defineJSON_INTERNAL_CATCH(exception)if(false) +#endif + +//overrideexceptionmacros +#ifdefined(JSON_THROW_USER) +#undefJSON_THROW +#defineJSON_THROWJSON_THROW_USER +#endif +#ifdefined(JSON_TRY_USER) +#undefJSON_TRY +#defineJSON_TRYJSON_TRY_USER +#endif +#ifdefined(JSON_CATCH_USER) +#undefJSON_CATCH +#defineJSON_CATCHJSON_CATCH_USER +#undefJSON_INTERNAL_CATCH +#defineJSON_INTERNAL_CATCHJSON_CATCH_USER +#endif +#ifdefined(JSON_INTERNAL_CATCH_USER) +#undefJSON_INTERNAL_CATCH +#defineJSON_INTERNAL_CATCHJSON_INTERNAL_CATCH_USER +#endif + +//allowtooverrideassert +#if!defined(JSON_ASSERT) +#include<cassert>//assert +#defineJSON_ASSERT(x)assert(x) +#endif + +//allowtoaccesssomeprivatefunctions(neededbythetestsuite) +#ifdefined(JSON_TESTS_PRIVATE) +#defineJSON_PRIVATE_UNLESS_TESTEDpublic +#else +#defineJSON_PRIVATE_UNLESS_TESTEDprivate +#endif + +#defineNLOHMANN_JSON_SERIALIZE_ENUM(ENUM_TYPE,...)\ +template<typenameBasicJsonType>\ +inlinevoidto_json(BasicJsonType&j,constENUM_TYPE&e)\ +{\ +static_assert(std::is_enum<ENUM_TYPE>::value,#ENUM_TYPE"mustbeanenum!");\ +staticconststd::pair<ENUM_TYPE,BasicJsonType>m[]=__VA_ARGS__;\ +autoit=std::find_if(std::begin(m),std::end(m),\ +[e](conststd::pair<ENUM_TYPE,BasicJsonType>&ej_pair)->bool\ +{\ +returnej_pair.first==e;\ +});\ +j=((it!=std::end(m))?it:std::begin(m))->second;\ +}\ +template<typenameBasicJsonType>\ +inlinevoidfrom_json(constBasicJsonType&j,ENUM_TYPE&e)\ +{\ +static_assert(std::is_enum<ENUM_TYPE>::value,#ENUM_TYPE"mustbeanenum!");\ +staticconststd::pair<ENUM_TYPE,BasicJsonType>m[]=__VA_ARGS__;\ +autoit=std::find_if(std::begin(m),std::end(m),\ +[&j](conststd::pair<ENUM_TYPE,BasicJsonType>&ej_pair)->bool\ +{\ +returnej_pair.second==j;\ +});\ +e=((it!=std::end(m))?it:std::begin(m))->first;\ +} + +//Uglymacrostoavoidugliercopy-pastewhenspecializingbasic_json.They +//mayberemovedinthefutureoncetheclassissplit. + +#defineNLOHMANN_BASIC_JSON_TPL_DECLARATION\ +template<template<typename,typename,typename...>classObjectType,\ +template<typename,typename...>classArrayType,\ +classStringType,classBooleanType,classNumberIntegerType,\ +classNumberUnsignedType,classNumberFloatType,\ +template<typename>classAllocatorType,\ +template<typename,typename=void>classJSONSerializer,\ +classBinaryType> + +#defineNLOHMANN_BASIC_JSON_TPL\ +basic_json<ObjectType,ArrayType,StringType,BooleanType,\ +NumberIntegerType,NumberUnsignedType,NumberFloatType,\ +AllocatorType,JSONSerializer,BinaryType> + +//Macrostosimplifyconversionfrom/totypes + +#defineNLOHMANN_JSON_EXPAND(x)x +#defineNLOHMANN_JSON_GET_MACRO(_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14,_15,_16,_17,_18,_19,_20,_21,_22,_23,_24,_25,_26,_27,_28,_29,_30,_31,_32,_33,_34,_35,_36,_37,_38,_39,_40,_41,_42,_43,_44,_45,_46,_47,_48,_49,_50,_51,_52,_53,_54,_55,_56,_57,_58,_59,_60,_61,_62,_63,_64,NAME,...)NAME +#defineNLOHMANN_JSON_PASTE(...)NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_GET_MACRO(__VA_ARGS__,\ +NLOHMANN_JSON_PASTE64,\ +NLOHMANN_JSON_PASTE63,\ +NLOHMANN_JSON_PASTE62,\ +NLOHMANN_JSON_PASTE61,\ +NLOHMANN_JSON_PASTE60,\ +NLOHMANN_JSON_PASTE59,\ +NLOHMANN_JSON_PASTE58,\ +NLOHMANN_JSON_PASTE57,\ +NLOHMANN_JSON_PASTE56,\ +NLOHMANN_JSON_PASTE55,\ +NLOHMANN_JSON_PASTE54,\ +NLOHMANN_JSON_PASTE53,\ +NLOHMANN_JSON_PASTE52,\ +NLOHMANN_JSON_PASTE51,\ +NLOHMANN_JSON_PASTE50,\ +NLOHMANN_JSON_PASTE49,\ +NLOHMANN_JSON_PASTE48,\ +NLOHMANN_JSON_PASTE47,\ +NLOHMANN_JSON_PASTE46,\ +NLOHMANN_JSON_PASTE45,\ +NLOHMANN_JSON_PASTE44,\ +NLOHMANN_JSON_PASTE43,\ +NLOHMANN_JSON_PASTE42,\ +NLOHMANN_JSON_PASTE41,\ +NLOHMANN_JSON_PASTE40,\ +NLOHMANN_JSON_PASTE39,\ +NLOHMANN_JSON_PASTE38,\ +NLOHMANN_JSON_PASTE37,\ +NLOHMANN_JSON_PASTE36,\ +NLOHMANN_JSON_PASTE35,\ +NLOHMANN_JSON_PASTE34,\ +NLOHMANN_JSON_PASTE33,\ +NLOHMANN_JSON_PASTE32,\ +NLOHMANN_JSON_PASTE31,\ +NLOHMANN_JSON_PASTE30,\ +NLOHMANN_JSON_PASTE29,\ +NLOHMANN_JSON_PASTE28,\ +NLOHMANN_JSON_PASTE27,\ +NLOHMANN_JSON_PASTE26,\ +NLOHMANN_JSON_PASTE25,\ +NLOHMANN_JSON_PASTE24,\ +NLOHMANN_JSON_PASTE23,\ +NLOHMANN_JSON_PASTE22,\ +NLOHMANN_JSON_PASTE21,\ +NLOHMANN_JSON_PASTE20,\ +NLOHMANN_JSON_PASTE19,\ +NLOHMANN_JSON_PASTE18,\ +NLOHMANN_JSON_PASTE17,\ +NLOHMANN_JSON_PASTE16,\ +NLOHMANN_JSON_PASTE15,\ +NLOHMANN_JSON_PASTE14,\ +NLOHMANN_JSON_PASTE13,\ +NLOHMANN_JSON_PASTE12,\ +NLOHMANN_JSON_PASTE11,\ +NLOHMANN_JSON_PASTE10,\ +NLOHMANN_JSON_PASTE9,\ +NLOHMANN_JSON_PASTE8,\ +NLOHMANN_JSON_PASTE7,\ +NLOHMANN_JSON_PASTE6,\ +NLOHMANN_JSON_PASTE5,\ +NLOHMANN_JSON_PASTE4,\ +NLOHMANN_JSON_PASTE3,\ +NLOHMANN_JSON_PASTE2,\ +NLOHMANN_JSON_PASTE1)(__VA_ARGS__)) +#defineNLOHMANN_JSON_PASTE2(func,v1)func(v1) +#defineNLOHMANN_JSON_PASTE3(func,v1,v2)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE2(func,v2) +#defineNLOHMANN_JSON_PASTE4(func,v1,v2,v3)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE3(func,v2,v3) +#defineNLOHMANN_JSON_PASTE5(func,v1,v2,v3,v4)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE4(func,v2,v3,v4) +#defineNLOHMANN_JSON_PASTE6(func,v1,v2,v3,v4,v5)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE5(func,v2,v3,v4,v5) +#defineNLOHMANN_JSON_PASTE7(func,v1,v2,v3,v4,v5,v6)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE6(func,v2,v3,v4,v5,v6) +#defineNLOHMANN_JSON_PASTE8(func,v1,v2,v3,v4,v5,v6,v7)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE7(func,v2,v3,v4,v5,v6,v7) +#defineNLOHMANN_JSON_PASTE9(func,v1,v2,v3,v4,v5,v6,v7,v8)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE8(func,v2,v3,v4,v5,v6,v7,v8) +#defineNLOHMANN_JSON_PASTE10(func,v1,v2,v3,v4,v5,v6,v7,v8,v9)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE9(func,v2,v3,v4,v5,v6,v7,v8,v9) +#defineNLOHMANN_JSON_PASTE11(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE10(func,v2,v3,v4,v5,v6,v7,v8,v9,v10) +#defineNLOHMANN_JSON_PASTE12(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE11(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11) +#defineNLOHMANN_JSON_PASTE13(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE12(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12) +#defineNLOHMANN_JSON_PASTE14(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE13(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13) +#defineNLOHMANN_JSON_PASTE15(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE14(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14) +#defineNLOHMANN_JSON_PASTE16(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE15(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15) +#defineNLOHMANN_JSON_PASTE17(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE16(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16) +#defineNLOHMANN_JSON_PASTE18(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE17(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17) +#defineNLOHMANN_JSON_PASTE19(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE18(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18) +#defineNLOHMANN_JSON_PASTE20(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE19(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19) +#defineNLOHMANN_JSON_PASTE21(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE20(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20) +#defineNLOHMANN_JSON_PASTE22(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE21(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21) +#defineNLOHMANN_JSON_PASTE23(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE22(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22) +#defineNLOHMANN_JSON_PASTE24(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE23(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23) +#defineNLOHMANN_JSON_PASTE25(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE24(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24) +#defineNLOHMANN_JSON_PASTE26(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE25(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25) +#defineNLOHMANN_JSON_PASTE27(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE26(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26) +#defineNLOHMANN_JSON_PASTE28(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE27(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27) +#defineNLOHMANN_JSON_PASTE29(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE28(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28) +#defineNLOHMANN_JSON_PASTE30(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE29(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29) +#defineNLOHMANN_JSON_PASTE31(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE30(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30) +#defineNLOHMANN_JSON_PASTE32(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE31(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31) +#defineNLOHMANN_JSON_PASTE33(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE32(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32) +#defineNLOHMANN_JSON_PASTE34(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE33(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33) +#defineNLOHMANN_JSON_PASTE35(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE34(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34) +#defineNLOHMANN_JSON_PASTE36(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE35(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35) +#defineNLOHMANN_JSON_PASTE37(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE36(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36) +#defineNLOHMANN_JSON_PASTE38(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE37(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37) +#defineNLOHMANN_JSON_PASTE39(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE38(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38) +#defineNLOHMANN_JSON_PASTE40(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE39(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39) +#defineNLOHMANN_JSON_PASTE41(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE40(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40) +#defineNLOHMANN_JSON_PASTE42(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE41(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41) +#defineNLOHMANN_JSON_PASTE43(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE42(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42) +#defineNLOHMANN_JSON_PASTE44(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE43(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43) +#defineNLOHMANN_JSON_PASTE45(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE44(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44) +#defineNLOHMANN_JSON_PASTE46(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE45(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45) +#defineNLOHMANN_JSON_PASTE47(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE46(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46) +#defineNLOHMANN_JSON_PASTE48(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE47(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47) +#defineNLOHMANN_JSON_PASTE49(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE48(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48) +#defineNLOHMANN_JSON_PASTE50(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE49(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49) +#defineNLOHMANN_JSON_PASTE51(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE50(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50) +#defineNLOHMANN_JSON_PASTE52(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE51(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51) +#defineNLOHMANN_JSON_PASTE53(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE52(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52) +#defineNLOHMANN_JSON_PASTE54(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE53(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53) +#defineNLOHMANN_JSON_PASTE55(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE54(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54) +#defineNLOHMANN_JSON_PASTE56(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE55(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55) +#defineNLOHMANN_JSON_PASTE57(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55,v56)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE56(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55,v56) +#defineNLOHMANN_JSON_PASTE58(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55,v56,v57)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE57(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55,v56,v57) +#defineNLOHMANN_JSON_PASTE59(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55,v56,v57,v58)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE58(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55,v56,v57,v58) +#defineNLOHMANN_JSON_PASTE60(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55,v56,v57,v58,v59)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE59(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55,v56,v57,v58,v59) +#defineNLOHMANN_JSON_PASTE61(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55,v56,v57,v58,v59,v60)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE60(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55,v56,v57,v58,v59,v60) +#defineNLOHMANN_JSON_PASTE62(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55,v56,v57,v58,v59,v60,v61)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE61(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55,v56,v57,v58,v59,v60,v61) +#defineNLOHMANN_JSON_PASTE63(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55,v56,v57,v58,v59,v60,v61,v62)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE62(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55,v56,v57,v58,v59,v60,v61,v62) +#defineNLOHMANN_JSON_PASTE64(func,v1,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55,v56,v57,v58,v59,v60,v61,v62,v63)NLOHMANN_JSON_PASTE2(func,v1)NLOHMANN_JSON_PASTE63(func,v2,v3,v4,v5,v6,v7,v8,v9,v10,v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26,v27,v28,v29,v30,v31,v32,v33,v34,v35,v36,v37,v38,v39,v40,v41,v42,v43,v44,v45,v46,v47,v48,v49,v50,v51,v52,v53,v54,v55,v56,v57,v58,v59,v60,v61,v62,v63) + +#defineNLOHMANN_JSON_TO(v1)nlohmann_json_j[#v1]=nlohmann_json_t.v1; +#defineNLOHMANN_JSON_FROM(v1)nlohmann_json_j.at(#v1).get_to(nlohmann_json_t.v1); + +#defineNLOHMANN_DEFINE_TYPE_INTRUSIVE(Type,...)\ +friendvoidto_json(nlohmann::json&nlohmann_json_j,constType&nlohmann_json_t){NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO,__VA_ARGS__))}\ +friendvoidfrom_json(constnlohmann::json&nlohmann_json_j,Type&nlohmann_json_t){NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM,__VA_ARGS__))} + +#defineNLOHMANN_DEFINE_TYPE_NON_INTRUSIVE(Type,...)\ +inlinevoidto_json(nlohmann::json&nlohmann_json_j,constType&nlohmann_json_t){NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_TO,__VA_ARGS__))}\ +inlinevoidfrom_json(constnlohmann::json&nlohmann_json_j,Type&nlohmann_json_t){NLOHMANN_JSON_EXPAND(NLOHMANN_JSON_PASTE(NLOHMANN_JSON_FROM,__VA_ARGS__))} + +#ifndefJSON_USE_IMPLICIT_CONVERSIONS +#defineJSON_USE_IMPLICIT_CONVERSIONS1 +#endif + +#ifJSON_USE_IMPLICIT_CONVERSIONS +#defineJSON_EXPLICIT +#else +#defineJSON_EXPLICITexplicit +#endif + + +namespacenlohmann +{ +namespacedetail +{ + +inlinevoidreplace_substring(std::string&s,conststd::string&f, +conststd::string&t) +{ +JSON_ASSERT(!f.empty()); +for(autopos=s.find(f);//findfirstoccurrenceoff +pos!=std::string::npos;//makesurefwasfound +s.replace(pos,f.size(),t),//replacewitht,and +pos=s.find(f,pos+t.size()))//findnextoccurrenceoff +{} +} + +inlinestd::stringescape(std::strings) +{ +replace_substring(s,"~","~0"); +replace_substring(s,"/","~1"); +returns; +} + +staticvoidunescape(std::string&s) +{ +replace_substring(s,"~1","/"); +replace_substring(s,"~0","~"); +} + +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/input/position_t.hpp> + + +#include<cstddef>//size_t + +namespacenlohmann +{ +namespacedetail +{ +structposition_t +{ +std::size_tchars_read_total=0; +std::size_tchars_read_current_line=0; +std::size_tlines_read=0; + +constexproperatorsize_t()const +{ +returnchars_read_total; +} +}; + +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/macro_scope.hpp> + + +namespacenlohmann +{ +namespacedetail +{ +//exceptions// + +classexception:publicstd::exception +{ +public: +constchar*what()constnoexceptoverride +{ +returnm.what(); +} + +constintid;//NOLINT(cppcoreguidelines-non-private-member-variables-in-classes) + +protected: +JSON_HEDLEY_NON_NULL(3) +exception(intid_,constchar*what_arg):id(id_),m(what_arg){} + +staticstd::stringname(conststd::string&ename,intid_) +{ +return"[json.exception."+ename+"."+std::to_string(id_)+"]"; +} + +template<typenameBasicJsonType> +staticstd::stringdiagnostics(constBasicJsonType&leaf_element) +{ +#ifJSON_DIAGNOSTICS +std::vector<std::string>tokens; +for(constauto*current=&leaf_element;current->m_parent!=nullptr;current=current->m_parent) +{ +switch(current->m_parent->type()) +{ +casevalue_t::array: +{ +for(std::size_ti=0;i<current->m_parent->m_value.array->size();++i) +{ +if(&current->m_parent->m_value.array->operator[](i)==current) +{ +tokens.emplace_back(std::to_string(i)); +break; +} +} +break; +} + +casevalue_t::object: +{ +for(constauto&element:*current->m_parent->m_value.object) +{ +if(&element.second==current) +{ +tokens.emplace_back(element.first.c_str()); +break; +} +} +break; +} + +default://LCOV_EXCL_LINE +break;//LCOV_EXCL_LINE +} +} + +if(tokens.empty()) +{ +return""; +} + +return"("+std::accumulate(tokens.rbegin(),tokens.rend(),std::string{}, +[](conststd::string&a,conststd::string&b) +{ +returna+"/"+detail::escape(b); +})+")"; +#else +static_cast<void>(leaf_element); +return""; +#endif +} + +private: +std::runtime_errorm; +}; + +classparse_error:publicexception +{ +public: +template<typenameBasicJsonType> +staticparse_errorcreate(intid_,constposition_t&pos,conststd::string&what_arg,constBasicJsonType&context) +{ +std::stringw=exception::name("parse_error",id_)+"parseerror"+ +position_string(pos)+":"+exception::diagnostics(context)+what_arg; +returnparse_error(id_,pos.chars_read_total,w.c_str()); +} + +template<typenameBasicJsonType> +staticparse_errorcreate(intid_,std::size_tbyte_,conststd::string&what_arg,constBasicJsonType&context) +{ +std::stringw=exception::name("parse_error",id_)+"parseerror"+ +(byte_!=0?("atbyte"+std::to_string(byte_)):"")+ +":"+exception::diagnostics(context)+what_arg; +returnparse_error(id_,byte_,w.c_str()); +} + +conststd::size_tbyte; + +private: +parse_error(intid_,std::size_tbyte_,constchar*what_arg) +:exception(id_,what_arg),byte(byte_){} + +staticstd::stringposition_string(constposition_t&pos) +{ +return"atline"+std::to_string(pos.lines_read+1)+ +",column"+std::to_string(pos.chars_read_current_line); +} +}; + +classinvalid_iterator:publicexception +{ +public: +template<typenameBasicJsonType> +staticinvalid_iteratorcreate(intid_,conststd::string&what_arg,constBasicJsonType&context) +{ +std::stringw=exception::name("invalid_iterator",id_)+exception::diagnostics(context)+what_arg; +returninvalid_iterator(id_,w.c_str()); +} + +private: +JSON_HEDLEY_NON_NULL(3) +invalid_iterator(intid_,constchar*what_arg) +:exception(id_,what_arg){} +}; + +classtype_error:publicexception +{ +public: +template<typenameBasicJsonType> +statictype_errorcreate(intid_,conststd::string&what_arg,constBasicJsonType&context) +{ +std::stringw=exception::name("type_error",id_)+exception::diagnostics(context)+what_arg; +returntype_error(id_,w.c_str()); +} + +private: +JSON_HEDLEY_NON_NULL(3) +type_error(intid_,constchar*what_arg):exception(id_,what_arg){} +}; + +classout_of_range:publicexception +{ +public: +template<typenameBasicJsonType> +staticout_of_rangecreate(intid_,conststd::string&what_arg,constBasicJsonType&context) +{ +std::stringw=exception::name("out_of_range",id_)+exception::diagnostics(context)+what_arg; +returnout_of_range(id_,w.c_str()); +} + +private: +JSON_HEDLEY_NON_NULL(3) +out_of_range(intid_,constchar*what_arg):exception(id_,what_arg){} +}; + +classother_error:publicexception +{ +public: +template<typenameBasicJsonType> +staticother_errorcreate(intid_,conststd::string&what_arg,constBasicJsonType&context) +{ +std::stringw=exception::name("other_error",id_)+exception::diagnostics(context)+what_arg; +returnother_error(id_,w.c_str()); +} + +private: +JSON_HEDLEY_NON_NULL(3) +other_error(intid_,constchar*what_arg):exception(id_,what_arg){} +}; +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/macro_scope.hpp> + +//#include<nlohmann/detail/meta/cpp_future.hpp> + + +#include<cstddef>//size_t +#include<type_traits>//conditional,enable_if,false_type,integral_constant,is_constructible,is_integral,is_same,remove_cv,remove_reference,true_type +#include<utility>//index_sequence,make_index_sequence,index_sequence_for + +//#include<nlohmann/detail/macro_scope.hpp> + + +namespacenlohmann +{ +namespacedetail +{ + +template<typenameT> +usinguncvref_t=typenamestd::remove_cv<typenamestd::remove_reference<T>::type>::type; + +#ifdefJSON_HAS_CPP_14 + +//thefollowingutilitiesarenativelyavailableinC++14 +usingstd::enable_if_t; +usingstd::index_sequence; +usingstd::make_index_sequence; +usingstd::index_sequence_for; + +#else + +//aliastemplatestoreduceboilerplate +template<boolB,typenameT=void> +usingenable_if_t=typenamestd::enable_if<B,T>::type; + +//Thefollowingcodeistakenfromhttps://github.com/abseil/abseil-cpp/blob/10cb35e459f5ecca5b2ff107635da0bfa41011b4/absl/utility/utility.h +//whichispartofGoogleAbseil(https://github.com/abseil/abseil-cpp),licensedundertheApacheLicense2.0. + + +//integer_sequence +// +//Classtemplaterepresentingacompile-timeintegersequence.Aninstantiation +//of`integer_sequence<T,Ints...>`hasasequenceofintegersencodedinits +//typethroughitstemplatearguments(whichisacommonneedwhen +//workingwithC++11variadictemplates).`absl::integer_sequence`isdesigned +//tobeadrop-inreplacementforC++14's`std::integer_sequence`. +// +//Example: +// +//template<classT,T...Ints> +//voiduser_function(integer_sequence<T,Ints...>); +// +//intmain() +//{ +////user_function's`T`willbededucedto`int`and`Ints...` +////willbededucedto`0,1,2,3,4`. +//user_function(make_integer_sequence<int,5>()); +//} +template<typenameT,T...Ints> +structinteger_sequence +{ +usingvalue_type=T; +staticconstexprstd::size_tsize()noexcept +{ +returnsizeof...(Ints); +} +}; + +//index_sequence +// +//Ahelpertemplateforan`integer_sequence`of`size_t`, +//`absl::index_sequence`isdesignedtobeadrop-inreplacementforC++14's +//`std::index_sequence`. +template<size_t...Ints> +usingindex_sequence=integer_sequence<size_t,Ints...>; + +namespaceutility_internal +{ + +template<typenameSeq,size_tSeqSize,size_tRem> +structExtend; + +//NotethatSeqSize==sizeof...(Ints).It'spassedexplicitlyforefficiency. +template<typenameT,T...Ints,size_tSeqSize> +structExtend<integer_sequence<T,Ints...>,SeqSize,0> +{ +usingtype=integer_sequence<T,Ints...,(Ints+SeqSize)...>; +}; + +template<typenameT,T...Ints,size_tSeqSize> +structExtend<integer_sequence<T,Ints...>,SeqSize,1> +{ +usingtype=integer_sequence<T,Ints...,(Ints+SeqSize)...,2*SeqSize>; +}; + +//Recursionhelperfor'make_integer_sequence<T,N>'. +//'Gen<T,N>::type'isanaliasfor'integer_sequence<T,0,1,...N-1>'. +template<typenameT,size_tN> +structGen +{ +usingtype= +typenameExtend<typenameGen<T,N/2>::type,N/2,N%2>::type; +}; + +template<typenameT> +structGen<T,0> +{ +usingtype=integer_sequence<T>; +}; + +}//namespaceutility_internal + +//Compile-timesequencesofintegers + +//make_integer_sequence +// +//Thistemplatealiasisequivalentto +//`integer_sequence<int,0,1,...,N-1>`,andisdesignedtobeadrop-in +//replacementforC++14's`std::make_integer_sequence`. +template<typenameT,TN> +usingmake_integer_sequence=typenameutility_internal::Gen<T, N>::type; + +//make_index_sequence +// +//Thistemplatealiasisequivalentto`index_sequence<0,1,...,N-1>`, +//andisdesignedtobeadrop-inreplacementforC++14's +//`std::make_index_sequence`. +template<size_tN> +usingmake_index_sequence=make_integer_sequence<size_t, N>; + +//index_sequence_for +// +//Convertsatypenamepackintoanindexsequenceofthesamelength,and +//isdesignedtobeadrop-inreplacementforC++14's +//`std::index_sequence_for()` +template<typename...Ts> +usingindex_sequence_for=make_index_sequence<sizeof...(Ts)>; + + +#endif + +//dispatchutility(takenfromranges-v3) +template<unsignedN>structpriority_tag:priority_tag<N-1>{}; +template<>structpriority_tag<0>{}; + +//takenfromranges-v3 +template<typenameT> +structstatic_const +{ +staticconstexprTvalue{}; +}; + +template<typenameT> +constexprTstatic_const<T>::value; + +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/meta/identity_tag.hpp> + + +namespacenlohmann +{ +namespacedetail +{ +//dispatchinghelperstruct +template<classT>structidentity_tag{}; +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/meta/type_traits.hpp> + + +#include<limits>//numeric_limits +#include<type_traits>//false_type,is_constructible,is_integral,is_same,true_type +#include<utility>//declval +#include<tuple>//tuple + +//#include<nlohmann/detail/iterators/iterator_traits.hpp> + + +#include<iterator>//random_access_iterator_tag + +//#include<nlohmann/detail/meta/void_t.hpp> + + +namespacenlohmann +{ +namespacedetail +{ +template<typename...Ts>structmake_void +{ +usingtype=void; +}; +template<typename...Ts>usingvoid_t=typenamemake_void<Ts...>::type; +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/meta/cpp_future.hpp> + + +namespacenlohmann +{ +namespacedetail +{ +template<typenameIt,typename=void> +structiterator_types{}; + +template<typenameIt> +structiterator_types< +It, +void_t<typenameIt::difference_type,typenameIt::value_type,typenameIt::pointer, +typenameIt::reference,typenameIt::iterator_category>> +{ +usingdifference_type=typenameIt::difference_type; +usingvalue_type=typenameIt::value_type; +usingpointer=typenameIt::pointer; +usingreference=typenameIt::reference; +usingiterator_category=typenameIt::iterator_category; +}; + +//Thisisrequiredassomecompilersimplementstd::iterator_traitsinawaythat +//doesn'tworkwithSFINAE.Seehttps://github.com/nlohmann/json/issues/1341. +template<typenameT,typename=void> +structiterator_traits +{ +}; + +template<typenameT> +structiterator_traits<T,enable_if_t<!std::is_pointer<T>::value>> +:iterator_types<T> +{ +}; + +template<typenameT> +structiterator_traits<T*,enable_if_t<std::is_object<T>::value>> +{ +usingiterator_category=std::random_access_iterator_tag; +usingvalue_type=T; +usingdifference_type=ptrdiff_t; +usingpointer=T*; +usingreference=T&; +}; +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/macro_scope.hpp> + +//#include<nlohmann/detail/meta/cpp_future.hpp> + +//#include<nlohmann/detail/meta/detected.hpp> + + +#include<type_traits> + +//#include<nlohmann/detail/meta/void_t.hpp> + + +//https://en.cppreference.com/w/cpp/experimental/is_detected +namespacenlohmann +{ +namespacedetail +{ +structnonesuch +{ +nonesuch()=delete; +~nonesuch()=delete; +nonesuch(nonesuchconst&)=delete; +nonesuch(nonesuchconst&&)=delete; +voidoperator=(nonesuchconst&)=delete; +voidoperator=(nonesuch&&)=delete; +}; + +template<classDefault, +classAlwaysVoid, +template<class...>classOp, +class...Args> +structdetector +{ +usingvalue_t=std::false_type; +usingtype=Default; +}; + +template<classDefault,template<class...>classOp,class...Args> +structdetector<Default,void_t<Op<Args...>>,Op,Args...> +{ +usingvalue_t=std::true_type; +usingtype=Op<Args...>; +}; + +template<template<class...>classOp,class...Args> +usingis_detected=typenamedetector<nonesuch,void,Op,Args...>::value_t; + +template<template<class...>classOp,class...Args> +usingdetected_t=typenamedetector<nonesuch,void,Op,Args...>::type; + +template<classDefault,template<class...>classOp,class...Args> +usingdetected_or=detector<Default,void,Op,Args...>; + +template<classDefault,template<class...>classOp,class...Args> +usingdetected_or_t=typenamedetected_or<Default,Op,Args...>::type; + +template<classExpected,template<class...>classOp,class...Args> +usingis_detected_exact=std::is_same<Expected,detected_t<Op,Args...>>; + +template<classTo,template<class...>classOp,class...Args> +usingis_detected_convertible= +std::is_convertible<detected_t<Op,Args...>,To>; +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/json_fwd.hpp> +#ifndefINCLUDE_NLOHMANN_JSON_FWD_HPP_ +#defineINCLUDE_NLOHMANN_JSON_FWD_HPP_ + +#include<cstdint>//int64_t,uint64_t +#include<map>//map +#include<memory>//allocator +#include<string>//string +#include<vector>//vector + +namespacenlohmann +{ +template<typenameT=void,typenameSFINAE=void> +structadl_serializer; + +template<template<typenameU,typenameV,typename...Args>classObjectType= +std::map, +template<typenameU,typename...Args>classArrayType=std::vector, +classStringType=std::string,classBooleanType=bool, +classNumberIntegerType=std::int64_t, +classNumberUnsignedType=std::uint64_t, +classNumberFloatType=double, +template<typenameU>classAllocatorType=std::allocator, +template<typenameT,typenameSFINAE=void>classJSONSerializer= +adl_serializer, +classBinaryType=std::vector<std::uint8_t>> +classbasic_json; + +template<typenameBasicJsonType> +classjson_pointer; + +usingjson=basic_json<>; + +template<classKey,classT,classIgnoredLess,classAllocator> +structordered_map; + +usingordered_json=basic_json<nlohmann::ordered_map>; + +}//namespacenlohmann + +#endif//INCLUDE_NLOHMANN_JSON_FWD_HPP_ + + +namespacenlohmann +{ +namespacedetail +{ +//helpers// + +//Notetomaintainers: +// +//EverytraitinthisfileexpectsanonCV-qualifiedtype. +//Theonlyexceptionsareinthe'aliasesfordetected'section +//(i.e.thoseoftheform:decltype(T::member_function(std::declval<T>()))) +// +//Inthiscase,ThastobeproperlyCV-qualifiedtoconstraintthefunctionarguments +//(e.g.to_json(BasicJsonType&,constT&)) + +template<typename>structis_basic_json:std::false_type{}; + +NLOHMANN_BASIC_JSON_TPL_DECLARATION +structis_basic_json<NLOHMANN_BASIC_JSON_TPL>:std::true_type{}; + +//json_refhelpers// + +template<typename> +classjson_ref; + +template<typename> +structis_json_ref:std::false_type{}; + +template<typenameT> +structis_json_ref<json_ref<T>>:std::true_type{}; + +//aliasesfordetected// + +template<typenameT> +usingmapped_type_t=typenameT::mapped_type; + +template<typenameT> +usingkey_type_t=typenameT::key_type; + +template<typenameT> +usingvalue_type_t=typenameT::value_type; + +template<typenameT> +usingdifference_type_t=typenameT::difference_type; + +template<typenameT> +usingpointer_t=typenameT::pointer; + +template<typenameT> +usingreference_t=typenameT::reference; + +template<typenameT> +usingiterator_category_t=typenameT::iterator_category; + +template<typenameT> +usingiterator_t=typenameT::iterator; + +template<typenameT,typename...Args> +usingto_json_function=decltype(T::to_json(std::declval<Args>()...)); + +template<typenameT,typename...Args> +usingfrom_json_function=decltype(T::from_json(std::declval<Args>()...)); + +template<typenameT,typenameU> +usingget_template_function=decltype(std::declval<T>().templateget<U>()); + +//traitcheckingifJSONSerializer<T>::from_json(jsonconst&,udt&)exists +template<typenameBasicJsonType,typenameT,typename=void> +structhas_from_json:std::false_type{}; + +//traitcheckingifj.get<T>isvalid +//usethistraitinsteadofstd::is_constructibleorstd::is_convertible, +//bothrelyon,ormakeuseofimplicitconversions,andthusfailwhenT +//hasseveralconstructors/operator=(seehttps://github.com/nlohmann/json/issues/958) +template<typenameBasicJsonType,typenameT> +structis_getable +{ +staticconstexprboolvalue=is_detected<get_template_function, const BasicJsonType&, T>::value; +}; + +template<typenameBasicJsonType,typenameT> +structhas_from_json<BasicJsonType,T,enable_if_t<!is_basic_json<T>::value>> +{ +usingserializer=typenameBasicJsonType::templatejson_serializer<T,void>; + +staticconstexprboolvalue= +is_detected_exact<void,from_json_function,serializer, +constBasicJsonType&,T&>::value; +}; + +//ThistraitchecksifJSONSerializer<T>::from_json(jsonconst&)exists +//thisoverloadisusedfornon-default-constructibleuser-defined-types +template<typenameBasicJsonType,typenameT,typename=void> +structhas_non_default_from_json:std::false_type{}; + +template<typenameBasicJsonType,typenameT> +structhas_non_default_from_json<BasicJsonType,T,enable_if_t<!is_basic_json<T>::value>> +{ +usingserializer=typenameBasicJsonType::templatejson_serializer<T,void>; + +staticconstexprboolvalue= +is_detected_exact<T,from_json_function,serializer, +constBasicJsonType&>::value; +}; + +//ThistraitchecksifBasicJsonType::json_serializer<T>::to_jsonexists +//DonotevaluatethetraitwhenTisabasic_jsontype,toavoidtemplateinstantiationinfiniterecursion. +template<typenameBasicJsonType,typenameT,typename=void> +structhas_to_json:std::false_type{}; + +template<typenameBasicJsonType,typenameT> +structhas_to_json<BasicJsonType,T,enable_if_t<!is_basic_json<T>::value>> +{ +usingserializer=typenameBasicJsonType::templatejson_serializer<T,void>; + +staticconstexprboolvalue= +is_detected_exact<void,to_json_function,serializer,BasicJsonType&, +T>::value; +}; + + +//is_functions// + +//https://en.cppreference.com/w/cpp/types/conjunction +template<class...>structconjunction:std::true_type{}; +template<classB1>structconjunction<B1>:B1{}; +template<classB1,class...Bn> +structconjunction<B1,Bn...> +:std::conditional<bool(B1::value),conjunction<Bn...>,B1>::type{}; + +//Reimplementationofis_constructibleandis_default_constructible,duetothembeingbrokenfor +//std::pairandstd::tupleuntilLWG2367fix(seehttps://cplusplus.github.io/LWG/lwg-defects.html#2367). +//Thiscausescompileerrorsine.g.clang3.5orgcc4.9. +template<typenameT> +structis_default_constructible:std::is_default_constructible<T>{}; + +template<typenameT1,typenameT2> +structis_default_constructible<std::pair<T1,T2>> +:conjunction<is_default_constructible<T1>,is_default_constructible<T2>>{}; + +template<typenameT1,typenameT2> +structis_default_constructible<conststd::pair<T1,T2>> +:conjunction<is_default_constructible<T1>,is_default_constructible<T2>>{}; + +template<typename...Ts> +structis_default_constructible<std::tuple<Ts...>> +:conjunction<is_default_constructible<Ts>...>{}; + +template<typename...Ts> +structis_default_constructible<conststd::tuple<Ts...>> +:conjunction<is_default_constructible<Ts>...>{}; + + +template<typenameT,typename...Args> +structis_constructible:std::is_constructible<T,Args...>{}; + +template<typenameT1,typenameT2> +structis_constructible<std::pair<T1,T2>>:is_default_constructible<std::pair<T1,T2>>{}; + +template<typenameT1,typenameT2> +structis_constructible<conststd::pair<T1,T2>>:is_default_constructible<conststd::pair<T1,T2>>{}; + +template<typename...Ts> +structis_constructible<std::tuple<Ts...>>:is_default_constructible<std::tuple<Ts...>>{}; + +template<typename...Ts> +structis_constructible<conststd::tuple<Ts...>>:is_default_constructible<conststd::tuple<Ts...>>{}; + + +template<typenameT,typename=void> +structis_iterator_traits:std::false_type{}; + +template<typenameT> +structis_iterator_traits<iterator_traits<T>> +{ +private: +usingtraits=iterator_traits<T>; + +public: +staticconstexprautovalue= +is_detected<value_type_t, traits>::value&& +is_detected<difference_type_t, traits>::value&& +is_detected<pointer_t, traits>::value&& +is_detected<iterator_category_t, traits>::value&& +is_detected<reference_t, traits>::value; +}; + +//Thefollowingimplementationofis_complete_typeistakenfrom +//https://blogs.msdn.microsoft.com/vcblog/2015/12/02/partial-support-for-expression-sfinae-in-vs-2015-update-1/ +//andiswrittenbyXiangFanwhoagreedtousingitinthislibrary. + +template<typenameT,typename=void> +structis_complete_type:std::false_type{}; + +template<typenameT> +structis_complete_type<T,decltype(void(sizeof(T)))>:std::true_type{}; + +template<typenameBasicJsonType,typenameCompatibleObjectType, +typename=void> +structis_compatible_object_type_impl:std::false_type{}; + +template<typenameBasicJsonType,typenameCompatibleObjectType> +structis_compatible_object_type_impl< +BasicJsonType,CompatibleObjectType, +enable_if_t<is_detected<mapped_type_t,CompatibleObjectType>::value&& +is_detected<key_type_t,CompatibleObjectType>::value>> +{ +usingobject_t=typenameBasicJsonType::object_t; + +//macOS'sis_constructibledoesnotplaywellwithnonesuch... +staticconstexprboolvalue= +is_constructible<typenameobject_t::key_type, +typenameCompatibleObjectType::key_type>::value&& +is_constructible<typenameobject_t::mapped_type, +typenameCompatibleObjectType::mapped_type>::value; +}; + +template<typenameBasicJsonType,typenameCompatibleObjectType> +structis_compatible_object_type +:is_compatible_object_type_impl<BasicJsonType,CompatibleObjectType>{}; + +template<typenameBasicJsonType,typenameConstructibleObjectType, +typename=void> +structis_constructible_object_type_impl:std::false_type{}; + +template<typenameBasicJsonType,typenameConstructibleObjectType> +structis_constructible_object_type_impl< +BasicJsonType,ConstructibleObjectType, +enable_if_t<is_detected<mapped_type_t,ConstructibleObjectType>::value&& +is_detected<key_type_t,ConstructibleObjectType>::value>> +{ +usingobject_t=typenameBasicJsonType::object_t; + +staticconstexprboolvalue= +(is_default_constructible<ConstructibleObjectType>::value&& +(std::is_move_assignable<ConstructibleObjectType>::value|| +std::is_copy_assignable<ConstructibleObjectType>::value)&& +(is_constructible<typenameConstructibleObjectType::key_type, +typenameobject_t::key_type>::value&& +std::is_same< +typenameobject_t::mapped_type, +typenameConstructibleObjectType::mapped_type>::value))|| +(has_from_json<BasicJsonType, +typenameConstructibleObjectType::mapped_type>::value|| +has_non_default_from_json< +BasicJsonType, +typenameConstructibleObjectType::mapped_type>::value); +}; + +template<typenameBasicJsonType,typenameConstructibleObjectType> +structis_constructible_object_type +:is_constructible_object_type_impl<BasicJsonType, +ConstructibleObjectType>{}; + +template<typenameBasicJsonType,typenameCompatibleStringType, +typename=void> +structis_compatible_string_type_impl:std::false_type{}; + +template<typenameBasicJsonType,typenameCompatibleStringType> +structis_compatible_string_type_impl< +BasicJsonType,CompatibleStringType, +enable_if_t<is_detected_exact<typenameBasicJsonType::string_t::value_type, +value_type_t,CompatibleStringType>::value>> +{ +staticconstexprautovalue= +is_constructible<typename BasicJsonType::string_t, CompatibleStringType>::value; +}; + +template<typenameBasicJsonType,typenameConstructibleStringType> +structis_compatible_string_type +:is_compatible_string_type_impl<BasicJsonType,ConstructibleStringType>{}; + +template<typenameBasicJsonType,typenameConstructibleStringType, +typename=void> +structis_constructible_string_type_impl:std::false_type{}; + +template<typenameBasicJsonType,typenameConstructibleStringType> +structis_constructible_string_type_impl< +BasicJsonType,ConstructibleStringType, +enable_if_t<is_detected_exact<typenameBasicJsonType::string_t::value_type, +value_type_t,ConstructibleStringType>::value>> +{ +staticconstexprautovalue= +is_constructible<ConstructibleStringType, +typenameBasicJsonType::string_t>::value; +}; + +template<typenameBasicJsonType,typenameConstructibleStringType> +structis_constructible_string_type +:is_constructible_string_type_impl<BasicJsonType,ConstructibleStringType>{}; + +template<typenameBasicJsonType,typenameCompatibleArrayType,typename=void> +structis_compatible_array_type_impl:std::false_type{}; + +template<typenameBasicJsonType,typenameCompatibleArrayType> +structis_compatible_array_type_impl< +BasicJsonType,CompatibleArrayType, +enable_if_t<is_detected<value_type_t,CompatibleArrayType>::value&& +is_detected<iterator_t,CompatibleArrayType>::value&& +//Thisisneededbecausejson_reverse_iteratorhasa::iteratortype... +//ThereforeitisdetectedasaCompatibleArrayType. +//TherealfixwouldbetohaveanIterableconcept. +!is_iterator_traits< +iterator_traits<CompatibleArrayType>>::value>> +{ +staticconstexprboolvalue= +is_constructible<BasicJsonType, +typenameCompatibleArrayType::value_type>::value; +}; + +template<typenameBasicJsonType,typenameCompatibleArrayType> +structis_compatible_array_type +:is_compatible_array_type_impl<BasicJsonType,CompatibleArrayType>{}; + +template<typenameBasicJsonType,typenameConstructibleArrayType,typename=void> +structis_constructible_array_type_impl:std::false_type{}; + +template<typenameBasicJsonType,typenameConstructibleArrayType> +structis_constructible_array_type_impl< +BasicJsonType,ConstructibleArrayType, +enable_if_t<std::is_same<ConstructibleArrayType, +typenameBasicJsonType::value_type>::value>> +:std::true_type{}; + +template<typenameBasicJsonType,typenameConstructibleArrayType> +structis_constructible_array_type_impl< +BasicJsonType,ConstructibleArrayType, +enable_if_t<!std::is_same<ConstructibleArrayType, +typenameBasicJsonType::value_type>::value&& +is_default_constructible<ConstructibleArrayType>::value&& +(std::is_move_assignable<ConstructibleArrayType>::value|| +std::is_copy_assignable<ConstructibleArrayType>::value)&& +is_detected<value_type_t,ConstructibleArrayType>::value&& +is_detected<iterator_t,ConstructibleArrayType>::value&& +is_complete_type< +detected_t<value_type_t,ConstructibleArrayType>>::value>> +{ +staticconstexprboolvalue= +//Thisisneededbecausejson_reverse_iteratorhasa::iteratortype, +//furthermore,std::back_insert_iterator(andotheriterators)havea +//baseclass`iterator`...Thereforeitisdetectedasa +//ConstructibleArrayType.TherealfixwouldbetohaveanIterable +//concept. +!is_iterator_traits<iterator_traits<ConstructibleArrayType>>::value&& + +(std::is_same<typenameConstructibleArrayType::value_type, +typenameBasicJsonType::array_t::value_type>::value|| +has_from_json<BasicJsonType, +typenameConstructibleArrayType::value_type>::value|| +has_non_default_from_json< +BasicJsonType,typenameConstructibleArrayType::value_type>::value); +}; + +template<typenameBasicJsonType,typenameConstructibleArrayType> +structis_constructible_array_type +:is_constructible_array_type_impl<BasicJsonType,ConstructibleArrayType>{}; + +template<typenameRealIntegerType,typenameCompatibleNumberIntegerType, +typename=void> +structis_compatible_integer_type_impl:std::false_type{}; + +template<typenameRealIntegerType,typenameCompatibleNumberIntegerType> +structis_compatible_integer_type_impl< +RealIntegerType,CompatibleNumberIntegerType, +enable_if_t<std::is_integral<RealIntegerType>::value&& +std::is_integral<CompatibleNumberIntegerType>::value&& +!std::is_same<bool,CompatibleNumberIntegerType>::value>> +{ +//isthereanassertsomewhereonoverflows? +usingRealLimits=std::numeric_limits<RealIntegerType>; +usingCompatibleLimits=std::numeric_limits<CompatibleNumberIntegerType>; + +staticconstexprautovalue= +is_constructible<RealIntegerType, +CompatibleNumberIntegerType>::value&& +CompatibleLimits::is_integer&& +RealLimits::is_signed==CompatibleLimits::is_signed; +}; + +template<typenameRealIntegerType,typenameCompatibleNumberIntegerType> +structis_compatible_integer_type +:is_compatible_integer_type_impl<RealIntegerType, +CompatibleNumberIntegerType>{}; + +template<typenameBasicJsonType,typenameCompatibleType,typename=void> +structis_compatible_type_impl:std::false_type{}; + +template<typenameBasicJsonType,typenameCompatibleType> +structis_compatible_type_impl< +BasicJsonType,CompatibleType, +enable_if_t<is_complete_type<CompatibleType>::value>> +{ +staticconstexprboolvalue= +has_to_json<BasicJsonType, CompatibleType>::value; +}; + +template<typenameBasicJsonType,typenameCompatibleType> +structis_compatible_type +:is_compatible_type_impl<BasicJsonType,CompatibleType>{}; + +template<typenameT1,typenameT2> +structis_constructible_tuple:std::false_type{}; + +template<typenameT1,typename...Args> +structis_constructible_tuple<T1,std::tuple<Args...>>:conjunction<is_constructible<T1,Args>...>{}; +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/value_t.hpp> + + +namespacenlohmann +{ +namespacedetail +{ +template<typenameBasicJsonType> +voidfrom_json(constBasicJsonType&j,typenamestd::nullptr_t&n) +{ +if(JSON_HEDLEY_UNLIKELY(!j.is_null())) +{ +JSON_THROW(type_error::create(302,"typemustbenull,butis"+std::string(j.type_name()),j)); +} +n=nullptr; +} + +//overloadsforbasic_jsontemplateparameters +template<typenameBasicJsonType,typenameArithmeticType, +enable_if_t < std::is_arithmetic<ArithmeticType>::value&& +!std::is_same<ArithmeticType,typenameBasicJsonType::boolean_t>::value, +int>=0> +voidget_arithmetic_value(constBasicJsonType&j,ArithmeticType&val) +{ +switch(static_cast<value_t>(j)) +{ +casevalue_t::number_unsigned: +{ +val=static_cast<ArithmeticType>(*j.templateget_ptr<consttypenameBasicJsonType::number_unsigned_t*>()); +break; +} +casevalue_t::number_integer: +{ +val=static_cast<ArithmeticType>(*j.templateget_ptr<consttypenameBasicJsonType::number_integer_t*>()); +break; +} +casevalue_t::number_float: +{ +val=static_cast<ArithmeticType>(*j.templateget_ptr<consttypenameBasicJsonType::number_float_t*>()); +break; +} + +default: +JSON_THROW(type_error::create(302,"typemustbenumber,butis"+std::string(j.type_name()),j)); +} +} + +template<typenameBasicJsonType> +voidfrom_json(constBasicJsonType&j,typenameBasicJsonType::boolean_t&b) +{ +if(JSON_HEDLEY_UNLIKELY(!j.is_boolean())) +{ +JSON_THROW(type_error::create(302,"typemustbeboolean,butis"+std::string(j.type_name()),j)); +} +b=*j.templateget_ptr<consttypenameBasicJsonType::boolean_t*>(); +} + +template<typenameBasicJsonType> +voidfrom_json(constBasicJsonType&j,typenameBasicJsonType::string_t&s) +{ +if(JSON_HEDLEY_UNLIKELY(!j.is_string())) +{ +JSON_THROW(type_error::create(302,"typemustbestring,butis"+std::string(j.type_name()),j)); +} +s=*j.templateget_ptr<consttypenameBasicJsonType::string_t*>(); +} + +template< +typenameBasicJsonType,typenameConstructibleStringType, +enable_if_t< +is_constructible_string_type<BasicJsonType, ConstructibleStringType>::value&& +!std::is_same<typenameBasicJsonType::string_t, +ConstructibleStringType>::value, +int>=0> +voidfrom_json(constBasicJsonType&j,ConstructibleStringType&s) +{ +if(JSON_HEDLEY_UNLIKELY(!j.is_string())) +{ +JSON_THROW(type_error::create(302,"typemustbestring,butis"+std::string(j.type_name()),j)); +} + +s=*j.templateget_ptr<consttypenameBasicJsonType::string_t*>(); +} + +template<typenameBasicJsonType> +voidfrom_json(constBasicJsonType&j,typenameBasicJsonType::number_float_t&val) +{ +get_arithmetic_value(j,val); +} + +template<typenameBasicJsonType> +voidfrom_json(constBasicJsonType&j,typenameBasicJsonType::number_unsigned_t&val) +{ +get_arithmetic_value(j,val); +} + +template<typenameBasicJsonType> +voidfrom_json(constBasicJsonType&j,typenameBasicJsonType::number_integer_t&val) +{ +get_arithmetic_value(j,val); +} + +template<typenameBasicJsonType,typenameEnumType, +enable_if_t<std::is_enum<EnumType>::value,int>=0> +voidfrom_json(constBasicJsonType&j,EnumType&e) +{ +typenamestd::underlying_type<EnumType>::typeval; +get_arithmetic_value(j,val); +e=static_cast<EnumType>(val); +} + +//forward_listdoesn'thaveaninsertmethod +template<typenameBasicJsonType,typenameT,typenameAllocator, +enable_if_t<is_getable<BasicJsonType, T>::value,int>=0> +voidfrom_json(constBasicJsonType&j,std::forward_list<T,Allocator>&l) +{ +if(JSON_HEDLEY_UNLIKELY(!j.is_array())) +{ +JSON_THROW(type_error::create(302,"typemustbearray,butis"+std::string(j.type_name()),j)); +} +l.clear(); +std::transform(j.rbegin(),j.rend(), +std::front_inserter(l),[](constBasicJsonType&i) +{ +returni.templateget<T>(); +}); +} + +//valarraydoesn'thaveaninsertmethod +template<typenameBasicJsonType,typenameT, +enable_if_t<is_getable<BasicJsonType,T>::value,int>=0> +voidfrom_json(constBasicJsonType&j,std::valarray<T>&l) +{ +if(JSON_HEDLEY_UNLIKELY(!j.is_array())) +{ +JSON_THROW(type_error::create(302,"typemustbearray,butis"+std::string(j.type_name()),j)); +} +l.resize(j.size()); +std::transform(j.begin(),j.end(),std::begin(l), +[](constBasicJsonType&elem) +{ +returnelem.templateget<T>(); +}); +} + +template<typenameBasicJsonType,typenameT,std::size_tN> +autofrom_json(constBasicJsonType&j,T(&arr)[N])//NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) +->decltype(j.templateget<T>(),void()) +{ +for(std::size_ti=0;i<N;++i) +{ +arr[i]=j.at(i).templateget<T>(); +} +} + +template<typenameBasicJsonType> +voidfrom_json_array_impl(constBasicJsonType&j,typenameBasicJsonType::array_t&arr,priority_tag<3>/*unused*/) +{ +arr=*j.templateget_ptr<consttypenameBasicJsonType::array_t*>(); +} + +template<typenameBasicJsonType,typenameT,std::size_tN> +autofrom_json_array_impl(constBasicJsonType&j,std::array<T,N>&arr, +priority_tag<2>/*unused*/) +->decltype(j.templateget<T>(),void()) +{ +for(std::size_ti=0;i<N;++i) +{ +arr[i]=j.at(i).templateget<T>(); +} +} + +template<typenameBasicJsonType,typenameConstructibleArrayType, +enable_if_t< +std::is_assignable<ConstructibleArrayType&,ConstructibleArrayType>::value, +int>=0> +autofrom_json_array_impl(constBasicJsonType&j,ConstructibleArrayType&arr,priority_tag<1>/*unused*/) +->decltype( +arr.reserve(std::declval<typenameConstructibleArrayType::size_type>()), +j.templateget<typenameConstructibleArrayType::value_type>(), +void()) +{ +usingstd::end; + +ConstructibleArrayTyperet; +ret.reserve(j.size()); +std::transform(j.begin(),j.end(), +std::inserter(ret,end(ret)),[](constBasicJsonType&i) +{ +//get<BasicJsonType>()returns*this,thiswon'tcallafrom_json +//methodwhenvalue_typeisBasicJsonType +returni.templateget<typenameConstructibleArrayType::value_type>(); +}); +arr=std::move(ret); +} + +template<typenameBasicJsonType,typenameConstructibleArrayType, +enable_if_t< +std::is_assignable<ConstructibleArrayType&,ConstructibleArrayType>::value, +int>=0> +voidfrom_json_array_impl(constBasicJsonType&j,ConstructibleArrayType&arr, +priority_tag<0>/*unused*/) +{ +usingstd::end; + +ConstructibleArrayTyperet; +std::transform( +j.begin(),j.end(),std::inserter(ret,end(ret)), +[](constBasicJsonType&i) +{ +//get<BasicJsonType>()returns*this,thiswon'tcallafrom_json +//methodwhenvalue_typeisBasicJsonType +returni.templateget<typenameConstructibleArrayType::value_type>(); +}); +arr=std::move(ret); +} + +template<typenameBasicJsonType,typenameConstructibleArrayType, +enable_if_t< +is_constructible_array_type<BasicJsonType, ConstructibleArrayType>::value&& +!is_constructible_object_type<BasicJsonType, ConstructibleArrayType>::value&& +!is_constructible_string_type<BasicJsonType, ConstructibleArrayType>::value&& +!std::is_same<ConstructibleArrayType,typenameBasicJsonType::binary_t>::value&& +!is_basic_json<ConstructibleArrayType>::value, +int>=0> +autofrom_json(constBasicJsonType&j,ConstructibleArrayType&arr) +->decltype(from_json_array_impl(j,arr,priority_tag<3>{}), +j.templateget<typenameConstructibleArrayType::value_type>(), +void()) +{ +if(JSON_HEDLEY_UNLIKELY(!j.is_array())) +{ +JSON_THROW(type_error::create(302,"typemustbearray,butis"+std::string(j.type_name()),j)); +} + +from_json_array_impl(j,arr,priority_tag<3>{}); +} + +template<typenameBasicJsonType,typenameT,std::size_t...Idx> +std::array<T,sizeof...(Idx)>from_json_inplace_array_impl(BasicJsonType&&j, +identity_tag<std::array<T,sizeof...(Idx)>>/*unused*/,index_sequence<Idx...>/*unused*/) +{ +return{{std::forward<BasicJsonType>(j).at(Idx).templateget<T>()...}}; +} + +template<typenameBasicJsonType,typenameT,std::size_tN> +autofrom_json(BasicJsonType&&j,identity_tag<std::array<T,N>>tag) +->decltype(from_json_inplace_array_impl(std::forward<BasicJsonType>(j),tag,make_index_sequence<N>{})) +{ +if(JSON_HEDLEY_UNLIKELY(!j.is_array())) +{ +JSON_THROW(type_error::create(302,"typemustbearray,butis"+std::string(j.type_name()),j)); +} + +returnfrom_json_inplace_array_impl(std::forward<BasicJsonType>(j),tag,make_index_sequence<N>{}); +} + +template<typenameBasicJsonType> +voidfrom_json(constBasicJsonType&j,typenameBasicJsonType::binary_t&bin) +{ +if(JSON_HEDLEY_UNLIKELY(!j.is_binary())) +{ +JSON_THROW(type_error::create(302,"typemustbebinary,butis"+std::string(j.type_name()),j)); +} + +bin=*j.templateget_ptr<consttypenameBasicJsonType::binary_t*>(); +} + +template<typenameBasicJsonType,typenameConstructibleObjectType, +enable_if_t<is_constructible_object_type<BasicJsonType, ConstructibleObjectType>::value,int>=0> +voidfrom_json(constBasicJsonType&j,ConstructibleObjectType&obj) +{ +if(JSON_HEDLEY_UNLIKELY(!j.is_object())) +{ +JSON_THROW(type_error::create(302,"typemustbeobject,butis"+std::string(j.type_name()),j)); +} + +ConstructibleObjectTyperet; +constauto*inner_object=j.templateget_ptr<consttypenameBasicJsonType::object_t*>(); +usingvalue_type=typenameConstructibleObjectType::value_type; +std::transform( +inner_object->begin(),inner_object->end(), +std::inserter(ret,ret.begin()), +[](typenameBasicJsonType::object_t::value_typeconst&p) +{ +returnvalue_type(p.first,p.second.templateget<typenameConstructibleObjectType::mapped_type>()); +}); +obj=std::move(ret); +} + +//overloadforarithmetictypes,notchosenforbasic_jsontemplatearguments +//(BooleanType,etc..);note:Isitreallynecessarytoprovideexplicit +//overloadsforboolean_tetc.incaseofacustomBooleanTypewhichisnot +//anarithmetictype? +template<typenameBasicJsonType,typenameArithmeticType, +enable_if_t< +std::is_arithmetic<ArithmeticType>::value&& +!std::is_same<ArithmeticType,typenameBasicJsonType::number_unsigned_t>::value&& +!std::is_same<ArithmeticType,typenameBasicJsonType::number_integer_t>::value&& +!std::is_same<ArithmeticType,typenameBasicJsonType::number_float_t>::value&& +!std::is_same<ArithmeticType,typenameBasicJsonType::boolean_t>::value, +int>=0> +voidfrom_json(constBasicJsonType&j,ArithmeticType&val) +{ +switch(static_cast<value_t>(j)) +{ +casevalue_t::number_unsigned: +{ +val=static_cast<ArithmeticType>(*j.templateget_ptr<consttypenameBasicJsonType::number_unsigned_t*>()); +break; +} +casevalue_t::number_integer: +{ +val=static_cast<ArithmeticType>(*j.templateget_ptr<consttypenameBasicJsonType::number_integer_t*>()); +break; +} +casevalue_t::number_float: +{ +val=static_cast<ArithmeticType>(*j.templateget_ptr<consttypenameBasicJsonType::number_float_t*>()); +break; +} +casevalue_t::boolean: +{ +val=static_cast<ArithmeticType>(*j.templateget_ptr<consttypenameBasicJsonType::boolean_t*>()); +break; +} + +default: +JSON_THROW(type_error::create(302,"typemustbenumber,butis"+std::string(j.type_name()),j)); +} +} + +template<typenameBasicJsonType,typename...Args,std::size_t...Idx> +std::tuple<Args...>from_json_tuple_impl_base(BasicJsonType&&j,index_sequence<Idx...>/*unused*/) +{ +returnstd::make_tuple(std::forward<BasicJsonType>(j).at(Idx).templateget<Args>()...); +} + +template<typenameBasicJsonType,classA1,classA2> +std::pair<A1,A2>from_json_tuple_impl(BasicJsonType&&j,identity_tag<std::pair<A1,A2>>/*unused*/,priority_tag<0>/*unused*/) +{ +return{std::forward<BasicJsonType>(j).at(0).templateget<A1>(), +std::forward<BasicJsonType>(j).at(1).templateget<A2>()}; +} + +template<typenameBasicJsonType,typenameA1,typenameA2> +voidfrom_json_tuple_impl(BasicJsonType&&j,std::pair<A1,A2>&p,priority_tag<1>/*unused*/) +{ +p=from_json_tuple_impl(std::forward<BasicJsonType>(j),identity_tag<std::pair<A1,A2>>{},priority_tag<0>{}); +} + +template<typenameBasicJsonType,typename...Args> +std::tuple<Args...>from_json_tuple_impl(BasicJsonType&&j,identity_tag<std::tuple<Args...>>/*unused*/,priority_tag<2>/*unused*/) +{ +returnfrom_json_tuple_impl_base<BasicJsonType,Args...>(std::forward<BasicJsonType>(j),index_sequence_for<Args...>{}); +} + +template<typenameBasicJsonType,typename...Args> +voidfrom_json_tuple_impl(BasicJsonType&&j,std::tuple<Args...>&t,priority_tag<3>/*unused*/) +{ +t=from_json_tuple_impl_base<BasicJsonType,Args...>(std::forward<BasicJsonType>(j),index_sequence_for<Args...>{}); +} + +template<typenameBasicJsonType,typenameTupleRelated> +autofrom_json(BasicJsonType&&j,TupleRelated&&t) +->decltype(from_json_tuple_impl(std::forward<BasicJsonType>(j),std::forward<TupleRelated>(t),priority_tag<3>{})) +{ +if(JSON_HEDLEY_UNLIKELY(!j.is_array())) +{ +JSON_THROW(type_error::create(302,"typemustbearray,butis"+std::string(j.type_name()),j)); +} + +returnfrom_json_tuple_impl(std::forward<BasicJsonType>(j),std::forward<TupleRelated>(t),priority_tag<3>{}); +} + +template<typenameBasicJsonType,typenameKey,typenameValue,typenameCompare,typenameAllocator, +typename=enable_if_t<!std::is_constructible< +typenameBasicJsonType::string_t,Key>::value>> +voidfrom_json(constBasicJsonType&j,std::map<Key,Value,Compare,Allocator>&m) +{ +if(JSON_HEDLEY_UNLIKELY(!j.is_array())) +{ +JSON_THROW(type_error::create(302,"typemustbearray,butis"+std::string(j.type_name()),j)); +} +m.clear(); +for(constauto&p:j) +{ +if(JSON_HEDLEY_UNLIKELY(!p.is_array())) +{ +JSON_THROW(type_error::create(302,"typemustbearray,butis"+std::string(p.type_name()),j)); +} +m.emplace(p.at(0).templateget<Key>(),p.at(1).templateget<Value>()); +} +} + +template<typenameBasicJsonType,typenameKey,typenameValue,typenameHash,typenameKeyEqual,typenameAllocator, +typename=enable_if_t<!std::is_constructible< +typenameBasicJsonType::string_t,Key>::value>> +voidfrom_json(constBasicJsonType&j,std::unordered_map<Key,Value,Hash,KeyEqual,Allocator>&m) +{ +if(JSON_HEDLEY_UNLIKELY(!j.is_array())) +{ +JSON_THROW(type_error::create(302,"typemustbearray,butis"+std::string(j.type_name()),j)); +} +m.clear(); +for(constauto&p:j) +{ +if(JSON_HEDLEY_UNLIKELY(!p.is_array())) +{ +JSON_THROW(type_error::create(302,"typemustbearray,butis"+std::string(p.type_name()),j)); +} +m.emplace(p.at(0).templateget<Key>(),p.at(1).templateget<Value>()); +} +} + +structfrom_json_fn +{ +template<typenameBasicJsonType,typenameT> +autooperator()(constBasicJsonType&j,T&&val)const +noexcept(noexcept(from_json(j,std::forward<T>(val)))) +->decltype(from_json(j,std::forward<T>(val))) +{ +returnfrom_json(j,std::forward<T>(val)); +} +}; +}//namespacedetail + +namespace//NOLINT(cert-dcl59-cpp,fuchsia-header-anon-namespaces,google-build-namespaces) +{ +constexprconstauto&from_json=detail::static_const<detail::from_json_fn>::value;//NOLINT(misc-definitions-in-headers) +}//namespace +}//namespacenlohmann + +//#include<nlohmann/detail/conversions/to_json.hpp> + + +#include<algorithm>//copy +#include<iterator>//begin,end +#include<string>//string +#include<tuple>//tuple,get +#include<type_traits>//is_same,is_constructible,is_floating_point,is_enum,underlying_type +#include<utility>//move,forward,declval,pair +#include<valarray>//valarray +#include<vector>//vector + +//#include<nlohmann/detail/iterators/iteration_proxy.hpp> + + +#include<cstddef>//size_t +#include<iterator>//input_iterator_tag +#include<string>//string,to_string +#include<tuple>//tuple_size,get,tuple_element +#include<utility>//move + +//#include<nlohmann/detail/meta/type_traits.hpp> + +//#include<nlohmann/detail/value_t.hpp> + + +namespacenlohmann +{ +namespacedetail +{ +template<typenamestring_type> +voidint_to_string(string_type&target,std::size_tvalue) +{ +//ForADL +usingstd::to_string; +target=to_string(value); +} +template<typenameIteratorType>classiteration_proxy_value +{ +public: +usingdifference_type=std::ptrdiff_t; +usingvalue_type=iteration_proxy_value; +usingpointer=value_type*; +usingreference=value_type&; +usingiterator_category=std::input_iterator_tag; +usingstring_type=typenamestd::remove_cv<typenamestd::remove_reference<decltype(std::declval<IteratorType>().key())>::type>::type; + +private: +IteratorTypeanchor; +std::size_tarray_index=0; +mutablestd::size_tarray_index_last=0; +mutablestring_typearray_index_str="0"; +conststring_typeempty_str{}; + +public: +explicititeration_proxy_value(IteratorTypeit)noexcept +:anchor(std::move(it)) +{} + +iteration_proxy_value&operator*() +{ +return*this; +} + +iteration_proxy_value&operator++() +{ +++anchor; +++array_index; + +return*this; +} + +booloperator==(constiteration_proxy_value&o)const +{ +returnanchor==o.anchor; +} + +booloperator!=(constiteration_proxy_value&o)const +{ +returnanchor!=o.anchor; +} + +conststring_type&key()const +{ +JSON_ASSERT(anchor.m_object!=nullptr); + +switch(anchor.m_object->type()) +{ +//useintegerarrayindexaskey +casevalue_t::array: +{ +if(array_index!=array_index_last) +{ +int_to_string(array_index_str,array_index); +array_index_last=array_index; +} +returnarray_index_str; +} + +//usekeyfromtheobject +casevalue_t::object: +returnanchor.key(); + +//useanemptykeyforallprimitivetypes +default: +returnempty_str; +} +} + +typenameIteratorType::referencevalue()const +{ +returnanchor.value(); +} +}; + +template<typenameIteratorType>classiteration_proxy +{ +private: +typenameIteratorType::referencecontainer; + +public: +explicititeration_proxy(typenameIteratorType::referencecont)noexcept +:container(cont){} + +iteration_proxy_value<IteratorType>begin()noexcept +{ +returniteration_proxy_value<IteratorType>(container.begin()); +} + +iteration_proxy_value<IteratorType>end()noexcept +{ +returniteration_proxy_value<IteratorType>(container.end()); +} +}; +//StructuredBindingsSupport +//Forfurtherreferenceseehttps://blog.tartanllama.xyz/structured-bindings/ +//Andseehttps://github.com/nlohmann/json/pull/1391 +template<std::size_tN,typenameIteratorType,enable_if_t<N==0,int>=0> +autoget(constnlohmann::detail::iteration_proxy_value<IteratorType>&i)->decltype(i.key()) +{ +returni.key(); +} +//StructuredBindingsSupport +//Forfurtherreferenceseehttps://blog.tartanllama.xyz/structured-bindings/ +//Andseehttps://github.com/nlohmann/json/pull/1391 +template<std::size_tN,typenameIteratorType,enable_if_t<N==1,int>=0> +autoget(constnlohmann::detail::iteration_proxy_value<IteratorType>&i)->decltype(i.value()) +{ +returni.value(); +} +}//namespacedetail +}//namespacenlohmann + +//TheAdditiontotheSTDNamespaceisrequiredtoadd +//StructuredBindingsSupporttotheiteration_proxy_valueclass +//Forfurtherreferenceseehttps://blog.tartanllama.xyz/structured-bindings/ +//Andseehttps://github.com/nlohmann/json/pull/1391 +namespacestd +{ +#ifdefined(__clang__) +//Fix:https://github.com/nlohmann/json/issues/1401 +#pragmaclangdiagnosticpush +#pragmaclangdiagnosticignored"-Wmismatched-tags" +#endif +template<typenameIteratorType> +classtuple_size<::nlohmann::detail::iteration_proxy_value<IteratorType>> +:publicstd::integral_constant<std::size_t,2>{}; + +template<std::size_tN,typenameIteratorType> +classtuple_element<N,::nlohmann::detail::iteration_proxy_value<IteratorType>> +{ +public: +usingtype=decltype( +get<N>(std::declval< +::nlohmann::detail::iteration_proxy_value<IteratorType >>())); +}; +#ifdefined(__clang__) +#pragmaclangdiagnosticpop +#endif +}//namespacestd + +//#include<nlohmann/detail/meta/cpp_future.hpp> + +//#include<nlohmann/detail/meta/type_traits.hpp> + +//#include<nlohmann/detail/value_t.hpp> + + +namespacenlohmann +{ +namespacedetail +{ +//constructors// + +template<value_t>structexternal_constructor; + +template<> +structexternal_constructor<value_t::boolean> +{ +template<typenameBasicJsonType> +staticvoidconstruct(BasicJsonType&j,typenameBasicJsonType::boolean_tb)noexcept +{ +j.m_type=value_t::boolean; +j.m_value=b; +j.assert_invariant(); +} +}; + +template<> +structexternal_constructor<value_t::string> +{ +template<typenameBasicJsonType> +staticvoidconstruct(BasicJsonType&j,consttypenameBasicJsonType::string_t&s) +{ +j.m_type=value_t::string; +j.m_value=s; +j.assert_invariant(); +} + +template<typenameBasicJsonType> +staticvoidconstruct(BasicJsonType&j,typenameBasicJsonType::string_t&&s) +{ +j.m_type=value_t::string; +j.m_value=std::move(s); +j.assert_invariant(); +} + +template<typenameBasicJsonType,typenameCompatibleStringType, +enable_if_t < !std::is_same<CompatibleStringType, typename BasicJsonType::string_t>::value, +int>=0> +staticvoidconstruct(BasicJsonType&j,constCompatibleStringType&str) +{ +j.m_type=value_t::string; +j.m_value.string=j.templatecreate<typenameBasicJsonType::string_t>(str); +j.assert_invariant(); +} +}; + +template<> +structexternal_constructor<value_t::binary> +{ +template<typenameBasicJsonType> +staticvoidconstruct(BasicJsonType&j,consttypenameBasicJsonType::binary_t&b) +{ +j.m_type=value_t::binary; +j.m_value=typenameBasicJsonType::binary_t(b); +j.assert_invariant(); +} + +template<typenameBasicJsonType> +staticvoidconstruct(BasicJsonType&j,typenameBasicJsonType::binary_t&&b) +{ +j.m_type=value_t::binary; +j.m_value=typenameBasicJsonType::binary_t(std::move(b));; +j.assert_invariant(); +} +}; + +template<> +structexternal_constructor<value_t::number_float> +{ +template<typenameBasicJsonType> +staticvoidconstruct(BasicJsonType&j,typenameBasicJsonType::number_float_tval)noexcept +{ +j.m_type=value_t::number_float; +j.m_value=val; +j.assert_invariant(); +} +}; + +template<> +structexternal_constructor<value_t::number_unsigned> +{ +template<typenameBasicJsonType> +staticvoidconstruct(BasicJsonType&j,typenameBasicJsonType::number_unsigned_tval)noexcept +{ +j.m_type=value_t::number_unsigned; +j.m_value=val; +j.assert_invariant(); +} +}; + +template<> +structexternal_constructor<value_t::number_integer> +{ +template<typenameBasicJsonType> +staticvoidconstruct(BasicJsonType&j,typenameBasicJsonType::number_integer_tval)noexcept +{ +j.m_type=value_t::number_integer; +j.m_value=val; +j.assert_invariant(); +} +}; + +template<> +structexternal_constructor<value_t::array> +{ +template<typenameBasicJsonType> +staticvoidconstruct(BasicJsonType&j,consttypenameBasicJsonType::array_t&arr) +{ +j.m_type=value_t::array; +j.m_value=arr; +j.set_parents(); +j.assert_invariant(); +} + +template<typenameBasicJsonType> +staticvoidconstruct(BasicJsonType&j,typenameBasicJsonType::array_t&&arr) +{ +j.m_type=value_t::array; +j.m_value=std::move(arr); +j.set_parents(); +j.assert_invariant(); +} + +template<typenameBasicJsonType,typenameCompatibleArrayType, +enable_if_t < !std::is_same<CompatibleArrayType, typename BasicJsonType::array_t>::value, +int>=0> +staticvoidconstruct(BasicJsonType&j,constCompatibleArrayType&arr) +{ +usingstd::begin; +usingstd::end; +j.m_type=value_t::array; +j.m_value.array=j.templatecreate<typenameBasicJsonType::array_t>(begin(arr),end(arr)); +j.set_parents(); +j.assert_invariant(); +} + +template<typenameBasicJsonType> +staticvoidconstruct(BasicJsonType&j,conststd::vector<bool>&arr) +{ +j.m_type=value_t::array; +j.m_value=value_t::array; +j.m_value.array->reserve(arr.size()); +for(constboolx:arr) +{ +j.m_value.array->push_back(x); +j.set_parent(j.m_value.array->back()); +} +j.assert_invariant(); +} + +template<typenameBasicJsonType,typenameT, +enable_if_t<std::is_convertible<T, BasicJsonType>::value,int>=0> +staticvoidconstruct(BasicJsonType&j,conststd::valarray<T>&arr) +{ +j.m_type=value_t::array; +j.m_value=value_t::array; +j.m_value.array->resize(arr.size()); +if(arr.size()>0) +{ +std::copy(std::begin(arr),std::end(arr),j.m_value.array->begin()); +} +j.set_parents(); +j.assert_invariant(); +} +}; + +template<> +structexternal_constructor<value_t::object> +{ +template<typenameBasicJsonType> +staticvoidconstruct(BasicJsonType&j,consttypenameBasicJsonType::object_t&obj) +{ +j.m_type=value_t::object; +j.m_value=obj; +j.set_parents(); +j.assert_invariant(); +} + +template<typenameBasicJsonType> +staticvoidconstruct(BasicJsonType&j,typenameBasicJsonType::object_t&&obj) +{ +j.m_type=value_t::object; +j.m_value=std::move(obj); +j.set_parents(); +j.assert_invariant(); +} + +template<typenameBasicJsonType,typenameCompatibleObjectType, +enable_if_t < !std::is_same<CompatibleObjectType, typename BasicJsonType::object_t>::value,int>=0> +staticvoidconstruct(BasicJsonType&j,constCompatibleObjectType&obj) +{ +usingstd::begin; +usingstd::end; + +j.m_type=value_t::object; +j.m_value.object=j.templatecreate<typenameBasicJsonType::object_t>(begin(obj),end(obj)); +j.set_parents(); +j.assert_invariant(); +} +}; + +//to_json// + +template<typenameBasicJsonType,typenameT, +enable_if_t<std::is_same<T, typename BasicJsonType::boolean_t>::value,int>=0> +voidto_json(BasicJsonType&j,Tb)noexcept +{ +external_constructor<value_t::boolean>::construct(j,b); +} + +template<typenameBasicJsonType,typenameCompatibleString, +enable_if_t<std::is_constructible<typename BasicJsonType::string_t, CompatibleString>::value,int>=0> +voidto_json(BasicJsonType&j,constCompatibleString&s) +{ +external_constructor<value_t::string>::construct(j,s); +} + +template<typenameBasicJsonType> +voidto_json(BasicJsonType&j,typenameBasicJsonType::string_t&&s) +{ +external_constructor<value_t::string>::construct(j,std::move(s)); +} + +template<typenameBasicJsonType,typenameFloatType, +enable_if_t<std::is_floating_point<FloatType>::value,int>=0> +voidto_json(BasicJsonType&j,FloatTypeval)noexcept +{ +external_constructor<value_t::number_float>::construct(j,static_cast<typenameBasicJsonType::number_float_t>(val)); +} + +template<typenameBasicJsonType,typenameCompatibleNumberUnsignedType, +enable_if_t<is_compatible_integer_type<typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType>::value,int>=0> +voidto_json(BasicJsonType&j,CompatibleNumberUnsignedTypeval)noexcept +{ +external_constructor<value_t::number_unsigned>::construct(j,static_cast<typenameBasicJsonType::number_unsigned_t>(val)); +} + +template<typenameBasicJsonType,typenameCompatibleNumberIntegerType, +enable_if_t<is_compatible_integer_type<typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType>::value,int>=0> +voidto_json(BasicJsonType&j,CompatibleNumberIntegerTypeval)noexcept +{ +external_constructor<value_t::number_integer>::construct(j,static_cast<typenameBasicJsonType::number_integer_t>(val)); +} + +template<typenameBasicJsonType,typenameEnumType, +enable_if_t<std::is_enum<EnumType>::value,int>=0> +voidto_json(BasicJsonType&j,EnumTypee)noexcept +{ +usingunderlying_type=typenamestd::underlying_type<EnumType>::type; +external_constructor<value_t::number_integer>::construct(j,static_cast<underlying_type>(e)); +} + +template<typenameBasicJsonType> +voidto_json(BasicJsonType&j,conststd::vector<bool>&e) +{ +external_constructor<value_t::array>::construct(j,e); +} + +template<typenameBasicJsonType,typenameCompatibleArrayType, +enable_if_t<is_compatible_array_type<BasicJsonType, +CompatibleArrayType>::value&& +!is_compatible_object_type<BasicJsonType, CompatibleArrayType>::value&& +!is_compatible_string_type<BasicJsonType, CompatibleArrayType>::value&& +!std::is_same<typenameBasicJsonType::binary_t,CompatibleArrayType>::value&& +!is_basic_json<CompatibleArrayType>::value, +int>=0> +voidto_json(BasicJsonType&j,constCompatibleArrayType&arr) +{ +external_constructor<value_t::array>::construct(j,arr); +} + +template<typenameBasicJsonType> +voidto_json(BasicJsonType&j,consttypenameBasicJsonType::binary_t&bin) +{ +external_constructor<value_t::binary>::construct(j,bin); +} + +template<typenameBasicJsonType,typenameT, +enable_if_t<std::is_convertible<T, BasicJsonType>::value,int>=0> +voidto_json(BasicJsonType&j,conststd::valarray<T>&arr) +{ +external_constructor<value_t::array>::construct(j,std::move(arr)); +} + +template<typenameBasicJsonType> +voidto_json(BasicJsonType&j,typenameBasicJsonType::array_t&&arr) +{ +external_constructor<value_t::array>::construct(j,std::move(arr)); +} + +template<typenameBasicJsonType,typenameCompatibleObjectType, +enable_if_t < is_compatible_object_type<BasicJsonType, CompatibleObjectType>::value&&!is_basic_json<CompatibleObjectType>::value,int>=0> +voidto_json(BasicJsonType&j,constCompatibleObjectType&obj) +{ +external_constructor<value_t::object>::construct(j,obj); +} + +template<typenameBasicJsonType> +voidto_json(BasicJsonType&j,typenameBasicJsonType::object_t&&obj) +{ +external_constructor<value_t::object>::construct(j,std::move(obj)); +} + +template< +typenameBasicJsonType,typenameT,std::size_tN, +enable_if_t<!std::is_constructible<typenameBasicJsonType::string_t, +constT(&)[N]>::value,//NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) +int>=0> +voidto_json(BasicJsonType&j,constT(&arr)[N])//NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) +{ +external_constructor<value_t::array>::construct(j,arr); +} + +template<typenameBasicJsonType,typenameT1,typenameT2,enable_if_t<std::is_constructible<BasicJsonType,T1>::value&&std::is_constructible<BasicJsonType,T2>::value,int>=0> +voidto_json(BasicJsonType&j,conststd::pair<T1,T2>&p) +{ +j={p.first,p.second}; +} + +//forhttps://github.com/nlohmann/json/pull/1134 +template<typenameBasicJsonType,typenameT, +enable_if_t<std::is_same<T, iteration_proxy_value<typename BasicJsonType::iterator>>::value,int>=0> +voidto_json(BasicJsonType&j,constT&b) +{ +j={{b.key(),b.value()}}; +} + +template<typenameBasicJsonType,typenameTuple,std::size_t...Idx> +voidto_json_tuple_impl(BasicJsonType&j,constTuple&t,index_sequence<Idx...>/*unused*/) +{ +j={std::get<Idx>(t)...}; +} + +template<typename BasicJsonType, typename T, enable_if_t<is_constructible_tuple<BasicJsonType, T>::value,int>=0> +voidto_json(BasicJsonType&j,constT&t) +{ +to_json_tuple_impl(j,t,make_index_sequence<std::tuple_size<T>::value>{}); +} + +structto_json_fn +{ +template<typenameBasicJsonType,typenameT> +autooperator()(BasicJsonType&j,T&&val)constnoexcept(noexcept(to_json(j,std::forward<T>(val)))) +->decltype(to_json(j,std::forward<T>(val)),void()) +{ +returnto_json(j,std::forward<T>(val)); +} +}; +}//namespacedetail + +namespace//NOLINT(cert-dcl59-cpp,fuchsia-header-anon-namespaces,google-build-namespaces) +{ +constexprconstauto&to_json=detail::static_const<detail::to_json_fn>::value;//NOLINT(misc-definitions-in-headers) +}//namespace +}//namespacenlohmann + +//#include<nlohmann/detail/meta/identity_tag.hpp> + +//#include<nlohmann/detail/meta/type_traits.hpp> + + +namespacenlohmann +{ + +template<typenameValueType,typename> +structadl_serializer +{ +template<typenameBasicJsonType,typenameTargetType=ValueType> +staticautofrom_json(BasicJsonType&&j,TargetType&val)noexcept( +noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j),val))) +->decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j),val),void()) +{ +::nlohmann::from_json(std::forward<BasicJsonType>(j),val); +} + +template<typenameBasicJsonType,typenameTargetType=ValueType> +staticautofrom_json(BasicJsonType&&j)noexcept( +noexcept(::nlohmann::from_json(std::forward<BasicJsonType>(j),detail::identity_tag<TargetType>{}))) +->decltype(::nlohmann::from_json(std::forward<BasicJsonType>(j),detail::identity_tag<TargetType>{})) +{ +return ::nlohmann::from_json(std::forward<BasicJsonType>(j),detail::identity_tag<TargetType>{}); +} + +template<typenameBasicJsonType,typenameTargetType=ValueType> +staticautoto_json(BasicJsonType&j,TargetType&&val)noexcept( +noexcept(::nlohmann::to_json(j,std::forward<TargetType>(val)))) +->decltype(::nlohmann::to_json(j,std::forward<TargetType>(val)),void()) +{ +::nlohmann::to_json(j,std::forward<TargetType>(val)); +} +}; +}//namespacenlohmann + +//#include<nlohmann/byte_container_with_subtype.hpp> + + +#include<cstdint>//uint8_t +#include<tuple>//tie +#include<utility>//move + +namespacenlohmann +{ + +template<typenameBinaryType> +classbyte_container_with_subtype:publicBinaryType +{ +public: +usingcontainer_type=BinaryType; + +byte_container_with_subtype()noexcept(noexcept(container_type())) +:container_type() +{} + +byte_container_with_subtype(constcontainer_type&b)noexcept(noexcept(container_type(b))) +:container_type(b) +{} + +byte_container_with_subtype(container_type&&b)noexcept(noexcept(container_type(std::move(b)))) +:container_type(std::move(b)) +{} + +byte_container_with_subtype(constcontainer_type&b,std::uint8_tsubtype_)noexcept(noexcept(container_type(b))) +:container_type(b) +,m_subtype(subtype_) +,m_has_subtype(true) +{} + +byte_container_with_subtype(container_type&&b,std::uint8_tsubtype_)noexcept(noexcept(container_type(std::move(b)))) +:container_type(std::move(b)) +,m_subtype(subtype_) +,m_has_subtype(true) +{} + +booloperator==(constbyte_container_with_subtype&rhs)const +{ +returnstd::tie(static_cast<constBinaryType&>(*this),m_subtype,m_has_subtype)== +std::tie(static_cast<constBinaryType&>(rhs),rhs.m_subtype,rhs.m_has_subtype); +} + +booloperator!=(constbyte_container_with_subtype&rhs)const +{ +return!(rhs==*this); +} + +voidset_subtype(std::uint8_tsubtype_)noexcept +{ +m_subtype=subtype_; +m_has_subtype=true; +} + +constexprstd::uint8_tsubtype()constnoexcept +{ +returnm_subtype; +} + +constexprboolhas_subtype()constnoexcept +{ +returnm_has_subtype; +} + +voidclear_subtype()noexcept +{ +m_subtype=0; +m_has_subtype=false; +} + +private: +std::uint8_tm_subtype=0; +boolm_has_subtype=false; +}; + +}//namespacenlohmann + +//#include<nlohmann/detail/conversions/from_json.hpp> + +//#include<nlohmann/detail/conversions/to_json.hpp> + +//#include<nlohmann/detail/exceptions.hpp> + +//#include<nlohmann/detail/hash.hpp> + + +#include<cstdint>//uint8_t +#include<cstddef>//size_t +#include<functional>//hash + +//#include<nlohmann/detail/macro_scope.hpp> + + +namespacenlohmann +{ +namespacedetail +{ + +//boost::hash_combine +inlinestd::size_tcombine(std::size_tseed,std::size_th)noexcept +{ +seed^=h+0x9e3779b9+(seed<<6U)+(seed>>2U); +returnseed; +} + +template<typenameBasicJsonType> +std::size_thash(constBasicJsonType&j) +{ +usingstring_t=typenameBasicJsonType::string_t; +usingnumber_integer_t=typenameBasicJsonType::number_integer_t; +usingnumber_unsigned_t=typenameBasicJsonType::number_unsigned_t; +usingnumber_float_t=typenameBasicJsonType::number_float_t; + +constautotype=static_cast<std::size_t>(j.type()); +switch(j.type()) +{ +caseBasicJsonType::value_t::null: +caseBasicJsonType::value_t::discarded: +{ +returncombine(type,0); +} + +caseBasicJsonType::value_t::object: +{ +autoseed=combine(type,j.size()); +for(constauto&element:j.items()) +{ +constautoh=std::hash<string_t>{}(element.key()); +seed=combine(seed,h); +seed=combine(seed,hash(element.value())); +} +returnseed; +} + +caseBasicJsonType::value_t::array: +{ +autoseed=combine(type,j.size()); +for(constauto&element:j) +{ +seed=combine(seed,hash(element)); +} +returnseed; +} + +caseBasicJsonType::value_t::string: +{ +constautoh=std::hash<string_t>{}(j.templateget_ref<conststring_t&>()); +returncombine(type,h); +} + +caseBasicJsonType::value_t::boolean: +{ +constautoh=std::hash<bool>{}(j.templateget<bool>()); +returncombine(type,h); +} + +caseBasicJsonType::value_t::number_integer: +{ +constautoh=std::hash<number_integer_t>{}(j.templateget<number_integer_t>()); +returncombine(type,h); +} + +caseBasicJsonType::value_t::number_unsigned: +{ +constautoh=std::hash<number_unsigned_t>{}(j.templateget<number_unsigned_t>()); +returncombine(type,h); +} + +caseBasicJsonType::value_t::number_float: +{ +constautoh=std::hash<number_float_t>{}(j.templateget<number_float_t>()); +returncombine(type,h); +} + +caseBasicJsonType::value_t::binary: +{ +autoseed=combine(type,j.get_binary().size()); +constautoh=std::hash<bool>{}(j.get_binary().has_subtype()); +seed=combine(seed,h); +seed=combine(seed,j.get_binary().subtype()); +for(constautobyte:j.get_binary()) +{ +seed=combine(seed,std::hash<std::uint8_t>{}(byte)); +} +returnseed; +} + +default://LCOV_EXCL_LINE +JSON_ASSERT(false);//NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert)LCOV_EXCL_LINE +return0;//LCOV_EXCL_LINE +} +} + +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/input/binary_reader.hpp> + + +#include<algorithm>//generate_n +#include<array>//array +#include<cmath>//ldexp +#include<cstddef>//size_t +#include<cstdint>//uint8_t,uint16_t,uint32_t,uint64_t +#include<cstdio>//snprintf +#include<cstring>//memcpy +#include<iterator>//back_inserter +#include<limits>//numeric_limits +#include<string>//char_traits,string +#include<utility>//make_pair,move +#include<vector>//vector + +//#include<nlohmann/detail/exceptions.hpp> + +//#include<nlohmann/detail/input/input_adapters.hpp> + + +#include<array>//array +#include<cstddef>//size_t +#include<cstdio>//FILE* +#include<cstring>//strlen +#include<istream>//istream +#include<iterator>//begin,end,iterator_traits,random_access_iterator_tag,distance,next +#include<memory>//shared_ptr,make_shared,addressof +#include<numeric>//accumulate +#include<string>//string,char_traits +#include<type_traits>//enable_if,is_base_of,is_pointer,is_integral,remove_pointer +#include<utility>//pair,declval + +//#include<nlohmann/detail/iterators/iterator_traits.hpp> + +//#include<nlohmann/detail/macro_scope.hpp> + + +namespacenlohmann +{ +namespacedetail +{ +enumclassinput_format_t{json,cbor,msgpack,ubjson,bson}; + +//inputadapters// + +classfile_input_adapter +{ +public: +usingchar_type=char; + +JSON_HEDLEY_NON_NULL(2) +explicitfile_input_adapter(std::FILE*f)noexcept +:m_file(f) +{} + +//makeclassmove-only +file_input_adapter(constfile_input_adapter&)=delete; +file_input_adapter(file_input_adapter&&)noexcept=default; +file_input_adapter&operator=(constfile_input_adapter&)=delete; +file_input_adapter&operator=(file_input_adapter&&)=delete; +~file_input_adapter()=default; + +std::char_traits<char>::int_typeget_character()noexcept +{ +returnstd::fgetc(m_file); +} + +private: +std::FILE*m_file; +}; + + +classinput_stream_adapter +{ +public: +usingchar_type=char; + +~input_stream_adapter() +{ +//clearstreamflags;weuseunderlyingstreambufI/O,donot +//maintainifstreamflags,excepteof +if(is!=nullptr) +{ +is->clear(is->rdstate()&std::ios::eofbit); +} +} + +explicitinput_stream_adapter(std::istream&i) +:is(&i),sb(i.rdbuf()) +{} + +//deletebecauseofpointermembers +input_stream_adapter(constinput_stream_adapter&)=delete; +input_stream_adapter&operator=(input_stream_adapter&)=delete; +input_stream_adapter&operator=(input_stream_adapter&&)=delete; + +input_stream_adapter(input_stream_adapter&&rhs)noexcept +:is(rhs.is),sb(rhs.sb) +{ +rhs.is=nullptr; +rhs.sb=nullptr; +} + +//std::istream/std::streambufusestd::char_traits<char>::to_int_type,to +//ensurethatstd::char_traits<char>::eof()andthecharacter0xFFdonot +//endupasthesamevalue,eg.0xFFFFFFFF. +std::char_traits<char>::int_typeget_character() +{ +autores=sb->sbumpc(); +//seteofmanually,aswedon'tusetheistreaminterface. +if(JSON_HEDLEY_UNLIKELY(res==EOF)) +{ +is->clear(is->rdstate()|std::ios::eofbit); +} +returnres; +} + +private: +std::istream*is=nullptr; +std::streambuf*sb=nullptr; +}; + +//General-purposeiterator-basedadapter.Itmightnotbeasfastas +//theoreticallypossibleforsomecontainers,butitisextremelyversatile. +template<typenameIteratorType> +classiterator_input_adapter +{ +public: +usingchar_type=typenamestd::iterator_traits<IteratorType>::value_type; + +iterator_input_adapter(IteratorTypefirst,IteratorTypelast) +:current(std::move(first)),end(std::move(last)) +{} + +typenamestd::char_traits<char_type>::int_typeget_character() +{ +if(JSON_HEDLEY_LIKELY(current!=end)) +{ +autoresult=std::char_traits<char_type>::to_int_type(*current); +std::advance(current,1); +returnresult; +} + +returnstd::char_traits<char_type>::eof(); +} + +private: +IteratorTypecurrent; +IteratorTypeend; + +template<typenameBaseInputAdapter,size_tT> +friendstructwide_string_input_helper; + +boolempty()const +{ +returncurrent==end; +} +}; + + +template<typenameBaseInputAdapter,size_tT> +structwide_string_input_helper; + +template<typenameBaseInputAdapter> +structwide_string_input_helper<BaseInputAdapter,4> +{ +//UTF-32 +staticvoidfill_buffer(BaseInputAdapter&input, +std::array<std::char_traits<char>::int_type,4>&utf8_bytes, +size_t&utf8_bytes_index, +size_t&utf8_bytes_filled) +{ +utf8_bytes_index=0; + +if(JSON_HEDLEY_UNLIKELY(input.empty())) +{ +utf8_bytes[0]=std::char_traits<char>::eof(); +utf8_bytes_filled=1; +} +else +{ +//getthecurrentcharacter +constautowc=input.get_character(); + +//UTF-32toUTF-8encoding +if(wc<0x80) +{ +utf8_bytes[0]=static_cast<std::char_traits<char>::int_type>(wc); +utf8_bytes_filled=1; +} +elseif(wc<=0x7FF) +{ +utf8_bytes[0]=static_cast<std::char_traits<char>::int_type>(0xC0u|((static_cast<unsignedint>(wc)>>6u)&0x1Fu)); +utf8_bytes[1]=static_cast<std::char_traits<char>::int_type>(0x80u|(static_cast<unsignedint>(wc)&0x3Fu)); +utf8_bytes_filled=2; +} +elseif(wc<=0xFFFF) +{ +utf8_bytes[0]=static_cast<std::char_traits<char>::int_type>(0xE0u|((static_cast<unsignedint>(wc)>>12u)&0x0Fu)); +utf8_bytes[1]=static_cast<std::char_traits<char>::int_type>(0x80u|((static_cast<unsignedint>(wc)>>6u)&0x3Fu)); +utf8_bytes[2]=static_cast<std::char_traits<char>::int_type>(0x80u|(static_cast<unsignedint>(wc)&0x3Fu)); +utf8_bytes_filled=3; +} +elseif(wc<=0x10FFFF) +{ +utf8_bytes[0]=static_cast<std::char_traits<char>::int_type>(0xF0u|((static_cast<unsignedint>(wc)>>18u)&0x07u)); +utf8_bytes[1]=static_cast<std::char_traits<char>::int_type>(0x80u|((static_cast<unsignedint>(wc)>>12u)&0x3Fu)); +utf8_bytes[2]=static_cast<std::char_traits<char>::int_type>(0x80u|((static_cast<unsignedint>(wc)>>6u)&0x3Fu)); +utf8_bytes[3]=static_cast<std::char_traits<char>::int_type>(0x80u|(static_cast<unsignedint>(wc)&0x3Fu)); +utf8_bytes_filled=4; +} +else +{ +//unknowncharacter +utf8_bytes[0]=static_cast<std::char_traits<char>::int_type>(wc); +utf8_bytes_filled=1; +} +} +} +}; + +template<typenameBaseInputAdapter> +structwide_string_input_helper<BaseInputAdapter,2> +{ +//UTF-16 +staticvoidfill_buffer(BaseInputAdapter&input, +std::array<std::char_traits<char>::int_type,4>&utf8_bytes, +size_t&utf8_bytes_index, +size_t&utf8_bytes_filled) +{ +utf8_bytes_index=0; + +if(JSON_HEDLEY_UNLIKELY(input.empty())) +{ +utf8_bytes[0]=std::char_traits<char>::eof(); +utf8_bytes_filled=1; +} +else +{ +//getthecurrentcharacter +constautowc=input.get_character(); + +//UTF-16toUTF-8encoding +if(wc<0x80) +{ +utf8_bytes[0]=static_cast<std::char_traits<char>::int_type>(wc); +utf8_bytes_filled=1; +} +elseif(wc<=0x7FF) +{ +utf8_bytes[0]=static_cast<std::char_traits<char>::int_type>(0xC0u|((static_cast<unsignedint>(wc)>>6u))); +utf8_bytes[1]=static_cast<std::char_traits<char>::int_type>(0x80u|(static_cast<unsignedint>(wc)&0x3Fu)); +utf8_bytes_filled=2; +} +elseif(0xD800>wc||wc>=0xE000) +{ +utf8_bytes[0]=static_cast<std::char_traits<char>::int_type>(0xE0u|((static_cast<unsignedint>(wc)>>12u))); +utf8_bytes[1]=static_cast<std::char_traits<char>::int_type>(0x80u|((static_cast<unsignedint>(wc)>>6u)&0x3Fu)); +utf8_bytes[2]=static_cast<std::char_traits<char>::int_type>(0x80u|(static_cast<unsignedint>(wc)&0x3Fu)); +utf8_bytes_filled=3; +} +else +{ +if(JSON_HEDLEY_UNLIKELY(!input.empty())) +{ +constautowc2=static_cast<unsignedint>(input.get_character()); +constautocharcode=0x10000u+(((static_cast<unsignedint>(wc)&0x3FFu)<<10u)|(wc2&0x3FFu)); +utf8_bytes[0]=static_cast<std::char_traits<char>::int_type>(0xF0u|(charcode>>18u)); +utf8_bytes[1]=static_cast<std::char_traits<char>::int_type>(0x80u|((charcode>>12u)&0x3Fu)); +utf8_bytes[2]=static_cast<std::char_traits<char>::int_type>(0x80u|((charcode>>6u)&0x3Fu)); +utf8_bytes[3]=static_cast<std::char_traits<char>::int_type>(0x80u|(charcode&0x3Fu)); +utf8_bytes_filled=4; +} +else +{ +utf8_bytes[0]=static_cast<std::char_traits<char>::int_type>(wc); +utf8_bytes_filled=1; +} +} +} +} +}; + +//Wrapsanotherinputapdatertoconvertwidecharactertypesintoindividualbytes. +template<typenameBaseInputAdapter,typenameWideCharType> +classwide_string_input_adapter +{ +public: +usingchar_type=char; + +wide_string_input_adapter(BaseInputAdapterbase) +:base_adapter(base){} + +typenamestd::char_traits<char>::int_typeget_character()noexcept +{ +//checkifbufferneedstobefilled +if(utf8_bytes_index==utf8_bytes_filled) +{ +fill_buffer<sizeof(WideCharType)>(); + +JSON_ASSERT(utf8_bytes_filled>0); +JSON_ASSERT(utf8_bytes_index==0); +} + +//usebuffer +JSON_ASSERT(utf8_bytes_filled>0); +JSON_ASSERT(utf8_bytes_index<utf8_bytes_filled); +returnutf8_bytes[utf8_bytes_index++]; +} + +private: +BaseInputAdapterbase_adapter; + +template<size_tT> +voidfill_buffer() +{ +wide_string_input_helper<BaseInputAdapter, T>::fill_buffer(base_adapter,utf8_bytes,utf8_bytes_index,utf8_bytes_filled); +} + +std::array<std::char_traits<char>::int_type,4>utf8_bytes={{0,0,0,0}}; + +std::size_tutf8_bytes_index=0; +std::size_tutf8_bytes_filled=0; +}; + + +template<typenameIteratorType,typenameEnable=void> +structiterator_input_adapter_factory +{ +usingiterator_type=IteratorType; +usingchar_type=typenamestd::iterator_traits<iterator_type>::value_type; +usingadapter_type=iterator_input_adapter<iterator_type>; + +staticadapter_typecreate(IteratorTypefirst,IteratorTypelast) +{ +returnadapter_type(std::move(first),std::move(last)); +} +}; + +template<typenameT> +structis_iterator_of_multibyte +{ +usingvalue_type=typenamestd::iterator_traits<T>::value_type; +enum +{ +value=sizeof(value_type)>1 +}; +}; + +template<typenameIteratorType> +structiterator_input_adapter_factory<IteratorType,enable_if_t<is_iterator_of_multibyte<IteratorType>::value>> +{ +usingiterator_type=IteratorType; +usingchar_type=typenamestd::iterator_traits<iterator_type>::value_type; +usingbase_adapter_type=iterator_input_adapter<iterator_type>; +usingadapter_type=wide_string_input_adapter<base_adapter_type, char_type>; + +staticadapter_typecreate(IteratorTypefirst,IteratorTypelast) +{ +returnadapter_type(base_adapter_type(std::move(first),std::move(last))); +} +}; + +//Generalpurposeiterator-basedinput +template<typenameIteratorType> +typenameiterator_input_adapter_factory<IteratorType>::adapter_typeinput_adapter(IteratorTypefirst,IteratorTypelast) +{ +usingfactory_type=iterator_input_adapter_factory<IteratorType>; +returnfactory_type::create(first,last); +} + +//Convenienceshorthandfromcontainertoiterator +//EnablesADLonbegin(container)andend(container) +//Enclosestheusingdeclarationsinnamespacefornottoleakthemtooutsidescope + +namespacecontainer_input_adapter_factory_impl +{ + +usingstd::begin; +usingstd::end; + +template<typenameContainerType,typenameEnable=void> +structcontainer_input_adapter_factory{}; + +template<typenameContainerType> +structcontainer_input_adapter_factory<ContainerType, +void_t<decltype(begin(std::declval<ContainerType>()),end(std::declval<ContainerType>()))>> +{ +usingadapter_type=decltype(input_adapter(begin(std::declval<ContainerType>()),end(std::declval<ContainerType>()))); + +staticadapter_typecreate(constContainerType&container) +{ +returninput_adapter(begin(container),end(container)); +} +}; + +}//namespacecontainer_input_adapter_factory_impl + +template<typenameContainerType> +typenamecontainer_input_adapter_factory_impl::container_input_adapter_factory<ContainerType>::adapter_typeinput_adapter(constContainerType&container) +{ +returncontainer_input_adapter_factory_impl::container_input_adapter_factory<ContainerType>::create(container); +} + +//Specialcaseswithfastpaths +inlinefile_input_adapterinput_adapter(std::FILE*file) +{ +returnfile_input_adapter(file); +} + +inlineinput_stream_adapterinput_adapter(std::istream&stream) +{ +returninput_stream_adapter(stream); +} + +inlineinput_stream_adapterinput_adapter(std::istream&&stream) +{ +returninput_stream_adapter(stream); +} + +usingcontiguous_bytes_input_adapter=decltype(input_adapter(std::declval<constchar*>(),std::declval<constchar*>())); + +//Null-delimitedstrings,andthelike. +template<typenameCharT, +typenamestd::enable_if< +std::is_pointer<CharT>::value&& +!std::is_array<CharT>::value&& +std::is_integral<typenamestd::remove_pointer<CharT>::type>::value&& +sizeof(typenamestd::remove_pointer<CharT>::type)==1, +int>::type=0> +contiguous_bytes_input_adapterinput_adapter(CharTb) +{ +autolength=std::strlen(reinterpret_cast<constchar*>(b)); +constauto*ptr=reinterpret_cast<constchar*>(b); +returninput_adapter(ptr,ptr+length); +} + +template<typenameT,std::size_tN> +autoinput_adapter(T(&array)[N])->decltype(input_adapter(array,array+N))//NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) +{ +returninput_adapter(array,array+N); +} + +//Thisclassonlyhandlesinputsofinput_buffer_adaptertype. +//It'srequiredsothatexpressionslike{ptr,len}canbeimplicitelycasted +//tothecorrectadapter. +classspan_input_adapter +{ +public: +template<typenameCharT, +typenamestd::enable_if< +std::is_pointer<CharT>::value&& +std::is_integral<typenamestd::remove_pointer<CharT>::type>::value&& +sizeof(typenamestd::remove_pointer<CharT>::type)==1, +int>::type=0> +span_input_adapter(CharTb,std::size_tl) +:ia(reinterpret_cast<constchar*>(b),reinterpret_cast<constchar*>(b)+l){} + +template<classIteratorType, +typenamestd::enable_if< +std::is_same<typenameiterator_traits<IteratorType>::iterator_category,std::random_access_iterator_tag>::value, +int>::type=0> +span_input_adapter(IteratorTypefirst,IteratorTypelast) +:ia(input_adapter(first,last)){} + +contiguous_bytes_input_adapter&&get() +{ +returnstd::move(ia);//NOLINT(hicpp-move-const-arg,performance-move-const-arg) +} + +private: +contiguous_bytes_input_adapteria; +}; +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/input/json_sax.hpp> + + +#include<cstddef> +#include<string>//string +#include<utility>//move +#include<vector>//vector + +//#include<nlohmann/detail/exceptions.hpp> + +//#include<nlohmann/detail/macro_scope.hpp> + + +namespacenlohmann +{ + +template<typenameBasicJsonType> +structjson_sax +{ +usingnumber_integer_t=typenameBasicJsonType::number_integer_t; +usingnumber_unsigned_t=typenameBasicJsonType::number_unsigned_t; +usingnumber_float_t=typenameBasicJsonType::number_float_t; +usingstring_t=typenameBasicJsonType::string_t; +usingbinary_t=typenameBasicJsonType::binary_t; + +virtualboolnull()=0; + +virtualboolboolean(boolval)=0; + +virtualboolnumber_integer(number_integer_tval)=0; + +virtualboolnumber_unsigned(number_unsigned_tval)=0; + +virtualboolnumber_float(number_float_tval,conststring_t&s)=0; + +virtualboolstring(string_t&val)=0; + +virtualboolbinary(binary_t&val)=0; + +virtualboolstart_object(std::size_telements)=0; + +virtualboolkey(string_t&val)=0; + +virtualboolend_object()=0; + +virtualboolstart_array(std::size_telements)=0; + +virtualboolend_array()=0; + +virtualboolparse_error(std::size_tposition, +conststd::string&last_token, +constdetail::exception&ex)=0; + +json_sax()=default; +json_sax(constjson_sax&)=default; +json_sax(json_sax&&)noexcept=default; +json_sax&operator=(constjson_sax&)=default; +json_sax&operator=(json_sax&&)noexcept=default; +virtual~json_sax()=default; +}; + + +namespacedetail +{ +template<typenameBasicJsonType> +classjson_sax_dom_parser +{ +public: +usingnumber_integer_t=typenameBasicJsonType::number_integer_t; +usingnumber_unsigned_t=typenameBasicJsonType::number_unsigned_t; +usingnumber_float_t=typenameBasicJsonType::number_float_t; +usingstring_t=typenameBasicJsonType::string_t; +usingbinary_t=typenameBasicJsonType::binary_t; + +explicitjson_sax_dom_parser(BasicJsonType&r,constboolallow_exceptions_=true) +:root(r),allow_exceptions(allow_exceptions_) +{} + +//makeclassmove-only +json_sax_dom_parser(constjson_sax_dom_parser&)=delete; +json_sax_dom_parser(json_sax_dom_parser&&)=default;//NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor) +json_sax_dom_parser&operator=(constjson_sax_dom_parser&)=delete; +json_sax_dom_parser&operator=(json_sax_dom_parser&&)=default;//NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor) +~json_sax_dom_parser()=default; + +boolnull() +{ +handle_value(nullptr); +returntrue; +} + +boolboolean(boolval) +{ +handle_value(val); +returntrue; +} + +boolnumber_integer(number_integer_tval) +{ +handle_value(val); +returntrue; +} + +boolnumber_unsigned(number_unsigned_tval) +{ +handle_value(val); +returntrue; +} + +boolnumber_float(number_float_tval,conststring_t&/*unused*/) +{ +handle_value(val); +returntrue; +} + +boolstring(string_t&val) +{ +handle_value(val); +returntrue; +} + +boolbinary(binary_t&val) +{ +handle_value(std::move(val)); +returntrue; +} + +boolstart_object(std::size_tlen) +{ +ref_stack.push_back(handle_value(BasicJsonType::value_t::object)); + +if(JSON_HEDLEY_UNLIKELY(len!=std::size_t(-1)&&len>ref_stack.back()->max_size())) +{ +JSON_THROW(out_of_range::create(408,"excessiveobjectsize:"+std::to_string(len),*ref_stack.back())); +} + +returntrue; +} + +boolkey(string_t&val) +{ +//addnullatgivenkeyandstorethereferenceforlater +object_element=&(ref_stack.back()->m_value.object->operator[](val)); +returntrue; +} + +boolend_object() +{ +ref_stack.back()->set_parents(); +ref_stack.pop_back(); +returntrue; +} + +boolstart_array(std::size_tlen) +{ +ref_stack.push_back(handle_value(BasicJsonType::value_t::array)); + +if(JSON_HEDLEY_UNLIKELY(len!=std::size_t(-1)&&len>ref_stack.back()->max_size())) +{ +JSON_THROW(out_of_range::create(408,"excessivearraysize:"+std::to_string(len),*ref_stack.back())); +} + +returntrue; +} + +boolend_array() +{ +ref_stack.back()->set_parents(); +ref_stack.pop_back(); +returntrue; +} + +template<classException> +boolparse_error(std::size_t/*unused*/,conststd::string&/*unused*/, +constException&ex) +{ +errored=true; +static_cast<void>(ex); +if(allow_exceptions) +{ +JSON_THROW(ex); +} +returnfalse; +} + +constexprboolis_errored()const +{ +returnerrored; +} + +private: +template<typenameValue> +JSON_HEDLEY_RETURNS_NON_NULL +BasicJsonType*handle_value(Value&&v) +{ +if(ref_stack.empty()) +{ +root=BasicJsonType(std::forward<Value>(v)); +return&root; +} + +JSON_ASSERT(ref_stack.back()->is_array()||ref_stack.back()->is_object()); + +if(ref_stack.back()->is_array()) +{ +ref_stack.back()->m_value.array->emplace_back(std::forward<Value>(v)); +return&(ref_stack.back()->m_value.array->back()); +} + +JSON_ASSERT(ref_stack.back()->is_object()); +JSON_ASSERT(object_element); +*object_element=BasicJsonType(std::forward<Value>(v)); +returnobject_element; +} + +BasicJsonType&root; +std::vector<BasicJsonType*>ref_stack{}; +BasicJsonType*object_element=nullptr; +boolerrored=false; +constboolallow_exceptions=true; +}; + +template<typenameBasicJsonType> +classjson_sax_dom_callback_parser +{ +public: +usingnumber_integer_t=typenameBasicJsonType::number_integer_t; +usingnumber_unsigned_t=typenameBasicJsonType::number_unsigned_t; +usingnumber_float_t=typenameBasicJsonType::number_float_t; +usingstring_t=typenameBasicJsonType::string_t; +usingbinary_t=typenameBasicJsonType::binary_t; +usingparser_callback_t=typenameBasicJsonType::parser_callback_t; +usingparse_event_t=typenameBasicJsonType::parse_event_t; + +json_sax_dom_callback_parser(BasicJsonType&r, +constparser_callback_tcb, +constboolallow_exceptions_=true) +:root(r),callback(cb),allow_exceptions(allow_exceptions_) +{ +keep_stack.push_back(true); +} + +//makeclassmove-only +json_sax_dom_callback_parser(constjson_sax_dom_callback_parser&)=delete; +json_sax_dom_callback_parser(json_sax_dom_callback_parser&&)=default;//NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor) +json_sax_dom_callback_parser&operator=(constjson_sax_dom_callback_parser&)=delete; +json_sax_dom_callback_parser&operator=(json_sax_dom_callback_parser&&)=default;//NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor) +~json_sax_dom_callback_parser()=default; + +boolnull() +{ +handle_value(nullptr); +returntrue; +} + +boolboolean(boolval) +{ +handle_value(val); +returntrue; +} + +boolnumber_integer(number_integer_tval) +{ +handle_value(val); +returntrue; +} + +boolnumber_unsigned(number_unsigned_tval) +{ +handle_value(val); +returntrue; +} + +boolnumber_float(number_float_tval,conststring_t&/*unused*/) +{ +handle_value(val); +returntrue; +} + +boolstring(string_t&val) +{ +handle_value(val); +returntrue; +} + +boolbinary(binary_t&val) +{ +handle_value(std::move(val)); +returntrue; +} + +boolstart_object(std::size_tlen) +{ +//checkcallbackforobjectstart +constboolkeep=callback(static_cast<int>(ref_stack.size()),parse_event_t::object_start,discarded); +keep_stack.push_back(keep); + +autoval=handle_value(BasicJsonType::value_t::object,true); +ref_stack.push_back(val.second); + +//checkobjectlimit +if(ref_stack.back()&&JSON_HEDLEY_UNLIKELY(len!=std::size_t(-1)&&len>ref_stack.back()->max_size())) +{ +JSON_THROW(out_of_range::create(408,"excessiveobjectsize:"+std::to_string(len),*ref_stack.back())); +} + +returntrue; +} + +boolkey(string_t&val) +{ +BasicJsonTypek=BasicJsonType(val); + +//checkcallbackforkey +constboolkeep=callback(static_cast<int>(ref_stack.size()),parse_event_t::key,k); +key_keep_stack.push_back(keep); + +//adddiscardedvalueatgivenkeyandstorethereferenceforlater +if(keep&&ref_stack.back()) +{ +object_element=&(ref_stack.back()->m_value.object->operator[](val)=discarded); +} + +returntrue; +} + +boolend_object() +{ +if(ref_stack.back()) +{ +if(!callback(static_cast<int>(ref_stack.size())-1,parse_event_t::object_end,*ref_stack.back())) +{ +//discardobject +*ref_stack.back()=discarded; +} +else +{ +ref_stack.back()->set_parents(); +} +} + +JSON_ASSERT(!ref_stack.empty()); +JSON_ASSERT(!keep_stack.empty()); +ref_stack.pop_back(); +keep_stack.pop_back(); + +if(!ref_stack.empty()&&ref_stack.back()&&ref_stack.back()->is_structured()) +{ +//removediscardedvalue +for(autoit=ref_stack.back()->begin();it!=ref_stack.back()->end();++it) +{ +if(it->is_discarded()) +{ +ref_stack.back()->erase(it); +break; +} +} +} + +returntrue; +} + +boolstart_array(std::size_tlen) +{ +constboolkeep=callback(static_cast<int>(ref_stack.size()),parse_event_t::array_start,discarded); +keep_stack.push_back(keep); + +autoval=handle_value(BasicJsonType::value_t::array,true); +ref_stack.push_back(val.second); + +//checkarraylimit +if(ref_stack.back()&&JSON_HEDLEY_UNLIKELY(len!=std::size_t(-1)&&len>ref_stack.back()->max_size())) +{ +JSON_THROW(out_of_range::create(408,"excessivearraysize:"+std::to_string(len),*ref_stack.back())); +} + +returntrue; +} + +boolend_array() +{ +boolkeep=true; + +if(ref_stack.back()) +{ +keep=callback(static_cast<int>(ref_stack.size())-1,parse_event_t::array_end,*ref_stack.back()); +if(keep) +{ +ref_stack.back()->set_parents(); +} +else +{ +//discardarray +*ref_stack.back()=discarded; +} +} + +JSON_ASSERT(!ref_stack.empty()); +JSON_ASSERT(!keep_stack.empty()); +ref_stack.pop_back(); +keep_stack.pop_back(); + +//removediscardedvalue +if(!keep&&!ref_stack.empty()&&ref_stack.back()->is_array()) +{ +ref_stack.back()->m_value.array->pop_back(); +} + +returntrue; +} + +template<classException> +boolparse_error(std::size_t/*unused*/,conststd::string&/*unused*/, +constException&ex) +{ +errored=true; +static_cast<void>(ex); +if(allow_exceptions) +{ +JSON_THROW(ex); +} +returnfalse; +} + +constexprboolis_errored()const +{ +returnerrored; +} + +private: +template<typenameValue> +std::pair<bool,BasicJsonType*>handle_value(Value&&v,constboolskip_callback=false) +{ +JSON_ASSERT(!keep_stack.empty()); + +//donothandlethisvalueifweknowitwouldbeaddedtoadiscarded +//container +if(!keep_stack.back()) +{ +return{false,nullptr}; +} + +//createvalue +autovalue=BasicJsonType(std::forward<Value>(v)); + +//checkcallback +constboolkeep=skip_callback||callback(static_cast<int>(ref_stack.size()),parse_event_t::value,value); + +//donothandlethisvalueifwejustlearntitshallbediscarded +if(!keep) +{ +return{false,nullptr}; +} + +if(ref_stack.empty()) +{ +root=std::move(value); +return{true,&root}; +} + +//skipthisvalueifwealreadydecidedtoskiptheparent +//(https://github.com/nlohmann/json/issues/971#issuecomment-413678360) +if(!ref_stack.back()) +{ +return{false,nullptr}; +} + +//wenowonlyexpectarraysandobjects +JSON_ASSERT(ref_stack.back()->is_array()||ref_stack.back()->is_object()); + +//array +if(ref_stack.back()->is_array()) +{ +ref_stack.back()->m_value.array->emplace_back(std::move(value)); +return{true,&(ref_stack.back()->m_value.array->back())}; +} + +//object +JSON_ASSERT(ref_stack.back()->is_object()); +//checkifweshouldstoreanelementforthecurrentkey +JSON_ASSERT(!key_keep_stack.empty()); +constboolstore_element=key_keep_stack.back(); +key_keep_stack.pop_back(); + +if(!store_element) +{ +return{false,nullptr}; +} + +JSON_ASSERT(object_element); +*object_element=std::move(value); +return{true,object_element}; +} + +BasicJsonType&root; +std::vector<BasicJsonType*>ref_stack{}; +std::vector<bool>keep_stack{}; +std::vector<bool>key_keep_stack{}; +BasicJsonType*object_element=nullptr; +boolerrored=false; +constparser_callback_tcallback=nullptr; +constboolallow_exceptions=true; +BasicJsonTypediscarded=BasicJsonType::value_t::discarded; +}; + +template<typenameBasicJsonType> +classjson_sax_acceptor +{ +public: +usingnumber_integer_t=typenameBasicJsonType::number_integer_t; +usingnumber_unsigned_t=typenameBasicJsonType::number_unsigned_t; +usingnumber_float_t=typenameBasicJsonType::number_float_t; +usingstring_t=typenameBasicJsonType::string_t; +usingbinary_t=typenameBasicJsonType::binary_t; + +boolnull() +{ +returntrue; +} + +boolboolean(bool/*unused*/) +{ +returntrue; +} + +boolnumber_integer(number_integer_t/*unused*/) +{ +returntrue; +} + +boolnumber_unsigned(number_unsigned_t/*unused*/) +{ +returntrue; +} + +boolnumber_float(number_float_t/*unused*/,conststring_t&/*unused*/) +{ +returntrue; +} + +boolstring(string_t&/*unused*/) +{ +returntrue; +} + +boolbinary(binary_t&/*unused*/) +{ +returntrue; +} + +boolstart_object(std::size_t/*unused*/=std::size_t(-1)) +{ +returntrue; +} + +boolkey(string_t&/*unused*/) +{ +returntrue; +} + +boolend_object() +{ +returntrue; +} + +boolstart_array(std::size_t/*unused*/=std::size_t(-1)) +{ +returntrue; +} + +boolend_array() +{ +returntrue; +} + +boolparse_error(std::size_t/*unused*/,conststd::string&/*unused*/,constdetail::exception&/*unused*/) +{ +returnfalse; +} +}; +}//namespacedetail + +}//namespacenlohmann + +//#include<nlohmann/detail/input/lexer.hpp> + + +#include<array>//array +#include<clocale>//localeconv +#include<cstddef>//size_t +#include<cstdio>//snprintf +#include<cstdlib>//strtof,strtod,strtold,strtoll,strtoull +#include<initializer_list>//initializer_list +#include<string>//char_traits,string +#include<utility>//move +#include<vector>//vector + +//#include<nlohmann/detail/input/input_adapters.hpp> + +//#include<nlohmann/detail/input/position_t.hpp> + +//#include<nlohmann/detail/macro_scope.hpp> + + +namespacenlohmann +{ +namespacedetail +{ +//lexer// + +template<typenameBasicJsonType> +classlexer_base +{ +public: +enumclasstoken_type +{ +uninitialized, +literal_true, +literal_false, +literal_null, +value_string, +value_unsigned, +value_integer, +value_float, +begin_array, +begin_object, +end_array, +end_object, +name_separator, +value_separator, +parse_error, +end_of_input, +literal_or_value +}; + +JSON_HEDLEY_RETURNS_NON_NULL +JSON_HEDLEY_CONST +staticconstchar*token_type_name(consttoken_typet)noexcept +{ +switch(t) +{ +casetoken_type::uninitialized: +return"<uninitialized>"; +casetoken_type::literal_true: +return"trueliteral"; +casetoken_type::literal_false: +return"falseliteral"; +casetoken_type::literal_null: +return"nullliteral"; +casetoken_type::value_string: +return"stringliteral"; +casetoken_type::value_unsigned: +casetoken_type::value_integer: +casetoken_type::value_float: +return"numberliteral"; +casetoken_type::begin_array: +return"'['"; +casetoken_type::begin_object: +return"'{'"; +casetoken_type::end_array: +return"']'"; +casetoken_type::end_object: +return"'}'"; +casetoken_type::name_separator: +return"':'"; +casetoken_type::value_separator: +return"','"; +casetoken_type::parse_error: +return"<parseerror>"; +casetoken_type::end_of_input: +return"endofinput"; +casetoken_type::literal_or_value: +return"'[','{',oraliteral"; +//LCOV_EXCL_START +default://catchnon-enumvalues +return"unknowntoken"; +//LCOV_EXCL_STOP +} +} +}; +template<typenameBasicJsonType,typenameInputAdapterType> +classlexer:publiclexer_base<BasicJsonType> +{ +usingnumber_integer_t=typenameBasicJsonType::number_integer_t; +usingnumber_unsigned_t=typenameBasicJsonType::number_unsigned_t; +usingnumber_float_t=typenameBasicJsonType::number_float_t; +usingstring_t=typenameBasicJsonType::string_t; +usingchar_type=typenameInputAdapterType::char_type; +usingchar_int_type=typenamestd::char_traits<char_type>::int_type; + +public: +usingtoken_type=typenamelexer_base<BasicJsonType>::token_type; + +explicitlexer(InputAdapterType&&adapter,boolignore_comments_=false)noexcept +:ia(std::move(adapter)) +,ignore_comments(ignore_comments_) +,decimal_point_char(static_cast<char_int_type>(get_decimal_point())) +{} + +//deletebecauseofpointermembers +lexer(constlexer&)=delete; +lexer(lexer&&)=default;//NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor) +lexer&operator=(lexer&)=delete; +lexer&operator=(lexer&&)=default;//NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor) +~lexer()=default; + +private: +//locales + +JSON_HEDLEY_PURE +staticcharget_decimal_point()noexcept +{ +constauto*loc=localeconv(); +JSON_ASSERT(loc!=nullptr); +return(loc->decimal_point==nullptr)?'.':*(loc->decimal_point); +} + +//scanfunctions + +intget_codepoint() +{ +//thisfunctiononlymakessenseafterreading`\u` +JSON_ASSERT(current=='u'); +intcodepoint=0; + +constautofactors={12u,8u,4u,0u}; +for(constautofactor:factors) +{ +get(); + +if(current>='0'&&current<='9') +{ +codepoint+=static_cast<int>((static_cast<unsignedint>(current)-0x30u)<<factor); +} +elseif(current>='A'&&current<='F') +{ +codepoint+=static_cast<int>((static_cast<unsignedint>(current)-0x37u)<<factor); +} +elseif(current>='a'&&current<='f') +{ +codepoint+=static_cast<int>((static_cast<unsignedint>(current)-0x57u)<<factor); +} +else +{ +return-1; +} +} + +JSON_ASSERT(0x0000<=codepoint&&codepoint<=0xFFFF); +returncodepoint; +} + +boolnext_byte_in_range(std::initializer_list<char_int_type>ranges) +{ +JSON_ASSERT(ranges.size()==2||ranges.size()==4||ranges.size()==6); +add(current); + +for(autorange=ranges.begin();range!=ranges.end();++range) +{ +get(); +if(JSON_HEDLEY_LIKELY(*range<=current&&current<=*(++range))) +{ +add(current); +} +else +{ +error_message="invalidstring:ill-formedUTF-8byte"; +returnfalse; +} +} + +returntrue; +} + +token_typescan_string() +{ +//resettoken_buffer(ignoreopeningquote) +reset(); + +//weenteredthefunctionbyreadinganopenquote +JSON_ASSERT(current=='\"'); + +while(true) +{ +//getnextcharacter +switch(get()) +{ +//endoffilewhileparsingstring +casestd::char_traits<char_type>::eof(): +{ +error_message="invalidstring:missingclosingquote"; +returntoken_type::parse_error; +} + +//closingquote +case'\"': +{ +returntoken_type::value_string; +} + +//escapes +case'\\': +{ +switch(get()) +{ +//quotationmark +case'\"': +add('\"'); +break; +//reversesolidus +case'\\': +add('\\'); +break; +//solidus +case'/': +add('/'); +break; +//backspace +case'b': +add('\b'); +break; +//formfeed +case'f': +add('\f'); +break; +//linefeed +case'n': +add('\n'); +break; +//carriagereturn +case'r': +add('\r'); +break; +//tab +case't': +add('\t'); +break; + +//unicodeescapes +case'u': +{ +constintcodepoint1=get_codepoint(); +intcodepoint=codepoint1;//startwithcodepoint1 + +if(JSON_HEDLEY_UNLIKELY(codepoint1==-1)) +{ +error_message="invalidstring:'\\u'mustbefollowedby4hexdigits"; +returntoken_type::parse_error; +} + +//checkifcodepointisahighsurrogate +if(0xD800<=codepoint1&&codepoint1<=0xDBFF) +{ +//expectnext\uxxxxentry +if(JSON_HEDLEY_LIKELY(get()=='\\'&&get()=='u')) +{ +constintcodepoint2=get_codepoint(); + +if(JSON_HEDLEY_UNLIKELY(codepoint2==-1)) +{ +error_message="invalidstring:'\\u'mustbefollowedby4hexdigits"; +returntoken_type::parse_error; +} + +//checkifcodepoint2isalowsurrogate +if(JSON_HEDLEY_LIKELY(0xDC00<=codepoint2&&codepoint2<=0xDFFF)) +{ +//overwritecodepoint +codepoint=static_cast<int>( +//highsurrogateoccupiesthemostsignificant22bits +(static_cast<unsignedint>(codepoint1)<<10u) +//lowsurrogateoccupiestheleastsignificant15bits ++static_cast<unsignedint>(codepoint2) +//thereisstillthe0xD800,0xDC00and0x10000noise +//intheresultsowehavetosubtractwith: +//(0xD800<<10)+DC00-0x10000=0x35FDC00 +-0x35FDC00u); +} +else +{ +error_message="invalidstring:surrogateU+D800..U+DBFFmustbefollowedbyU+DC00..U+DFFF"; +returntoken_type::parse_error; +} +} +else +{ +error_message="invalidstring:surrogateU+D800..U+DBFFmustbefollowedbyU+DC00..U+DFFF"; +returntoken_type::parse_error; +} +} +else +{ +if(JSON_HEDLEY_UNLIKELY(0xDC00<=codepoint1&&codepoint1<=0xDFFF)) +{ +error_message="invalidstring:surrogateU+DC00..U+DFFFmustfollowU+D800..U+DBFF"; +returntoken_type::parse_error; +} +} + +//resultoftheabovecalculationyieldsapropercodepoint +JSON_ASSERT(0x00<=codepoint&&codepoint<=0x10FFFF); + +//translatecodepointintobytes +if(codepoint<0x80) +{ +//1-bytecharacters:0xxxxxxx(ASCII) +add(static_cast<char_int_type>(codepoint)); +} +elseif(codepoint<=0x7FF) +{ +//2-bytecharacters:110xxxxx10xxxxxx +add(static_cast<char_int_type>(0xC0u|(static_cast<unsignedint>(codepoint)>>6u))); +add(static_cast<char_int_type>(0x80u|(static_cast<unsignedint>(codepoint)&0x3Fu))); +} +elseif(codepoint<=0xFFFF) +{ +//3-bytecharacters:1110xxxx10xxxxxx10xxxxxx +add(static_cast<char_int_type>(0xE0u|(static_cast<unsignedint>(codepoint)>>12u))); +add(static_cast<char_int_type>(0x80u|((static_cast<unsignedint>(codepoint)>>6u)&0x3Fu))); +add(static_cast<char_int_type>(0x80u|(static_cast<unsignedint>(codepoint)&0x3Fu))); +} +else +{ +//4-bytecharacters:11110xxx10xxxxxx10xxxxxx10xxxxxx +add(static_cast<char_int_type>(0xF0u|(static_cast<unsignedint>(codepoint)>>18u))); +add(static_cast<char_int_type>(0x80u|((static_cast<unsignedint>(codepoint)>>12u)&0x3Fu))); +add(static_cast<char_int_type>(0x80u|((static_cast<unsignedint>(codepoint)>>6u)&0x3Fu))); +add(static_cast<char_int_type>(0x80u|(static_cast<unsignedint>(codepoint)&0x3Fu))); +} + +break; +} + +//othercharactersafterescape +default: +error_message="invalidstring:forbiddencharacterafterbackslash"; +returntoken_type::parse_error; +} + +break; +} + +//invalidcontrolcharacters +case0x00: +{ +error_message="invalidstring:controlcharacterU+0000(NUL)mustbeescapedto\\u0000"; +returntoken_type::parse_error; +} + +case0x01: +{ +error_message="invalidstring:controlcharacterU+0001(SOH)mustbeescapedto\\u0001"; +returntoken_type::parse_error; +} + +case0x02: +{ +error_message="invalidstring:controlcharacterU+0002(STX)mustbeescapedto\\u0002"; +returntoken_type::parse_error; +} + +case0x03: +{ +error_message="invalidstring:controlcharacterU+0003(ETX)mustbeescapedto\\u0003"; +returntoken_type::parse_error; +} + +case0x04: +{ +error_message="invalidstring:controlcharacterU+0004(EOT)mustbeescapedto\\u0004"; +returntoken_type::parse_error; +} + +case0x05: +{ +error_message="invalidstring:controlcharacterU+0005(ENQ)mustbeescapedto\\u0005"; +returntoken_type::parse_error; +} + +case0x06: +{ +error_message="invalidstring:controlcharacterU+0006(ACK)mustbeescapedto\\u0006"; +returntoken_type::parse_error; +} + +case0x07: +{ +error_message="invalidstring:controlcharacterU+0007(BEL)mustbeescapedto\\u0007"; +returntoken_type::parse_error; +} + +case0x08: +{ +error_message="invalidstring:controlcharacterU+0008(BS)mustbeescapedto\\u0008or\\b"; +returntoken_type::parse_error; +} + +case0x09: +{ +error_message="invalidstring:controlcharacterU+0009(HT)mustbeescapedto\\u0009or\\t"; +returntoken_type::parse_error; +} + +case0x0A: +{ +error_message="invalidstring:controlcharacterU+000A(LF)mustbeescapedto\\u000Aor\\n"; +returntoken_type::parse_error; +} + +case0x0B: +{ +error_message="invalidstring:controlcharacterU+000B(VT)mustbeescapedto\\u000B"; +returntoken_type::parse_error; +} + +case0x0C: +{ +error_message="invalidstring:controlcharacterU+000C(FF)mustbeescapedto\\u000Cor\\f"; +returntoken_type::parse_error; +} + +case0x0D: +{ +error_message="invalidstring:controlcharacterU+000D(CR)mustbeescapedto\\u000Dor\\r"; +returntoken_type::parse_error; +} + +case0x0E: +{ +error_message="invalidstring:controlcharacterU+000E(SO)mustbeescapedto\\u000E"; +returntoken_type::parse_error; +} + +case0x0F: +{ +error_message="invalidstring:controlcharacterU+000F(SI)mustbeescapedto\\u000F"; +returntoken_type::parse_error; +} + +case0x10: +{ +error_message="invalidstring:controlcharacterU+0010(DLE)mustbeescapedto\\u0010"; +returntoken_type::parse_error; +} + +case0x11: +{ +error_message="invalidstring:controlcharacterU+0011(DC1)mustbeescapedto\\u0011"; +returntoken_type::parse_error; +} + +case0x12: +{ +error_message="invalidstring:controlcharacterU+0012(DC2)mustbeescapedto\\u0012"; +returntoken_type::parse_error; +} + +case0x13: +{ +error_message="invalidstring:controlcharacterU+0013(DC3)mustbeescapedto\\u0013"; +returntoken_type::parse_error; +} + +case0x14: +{ +error_message="invalidstring:controlcharacterU+0014(DC4)mustbeescapedto\\u0014"; +returntoken_type::parse_error; +} + +case0x15: +{ +error_message="invalidstring:controlcharacterU+0015(NAK)mustbeescapedto\\u0015"; +returntoken_type::parse_error; +} + +case0x16: +{ +error_message="invalidstring:controlcharacterU+0016(SYN)mustbeescapedto\\u0016"; +returntoken_type::parse_error; +} + +case0x17: +{ +error_message="invalidstring:controlcharacterU+0017(ETB)mustbeescapedto\\u0017"; +returntoken_type::parse_error; +} + +case0x18: +{ +error_message="invalidstring:controlcharacterU+0018(CAN)mustbeescapedto\\u0018"; +returntoken_type::parse_error; +} + +case0x19: +{ +error_message="invalidstring:controlcharacterU+0019(EM)mustbeescapedto\\u0019"; +returntoken_type::parse_error; +} + +case0x1A: +{ +error_message="invalidstring:controlcharacterU+001A(SUB)mustbeescapedto\\u001A"; +returntoken_type::parse_error; +} + +case0x1B: +{ +error_message="invalidstring:controlcharacterU+001B(ESC)mustbeescapedto\\u001B"; +returntoken_type::parse_error; +} + +case0x1C: +{ +error_message="invalidstring:controlcharacterU+001C(FS)mustbeescapedto\\u001C"; +returntoken_type::parse_error; +} + +case0x1D: +{ +error_message="invalidstring:controlcharacterU+001D(GS)mustbeescapedto\\u001D"; +returntoken_type::parse_error; +} + +case0x1E: +{ +error_message="invalidstring:controlcharacterU+001E(RS)mustbeescapedto\\u001E"; +returntoken_type::parse_error; +} + +case0x1F: +{ +error_message="invalidstring:controlcharacterU+001F(US)mustbeescapedto\\u001F"; +returntoken_type::parse_error; +} + +//U+0020..U+007F(exceptU+0022(quote)andU+005C(backspace)) +case0x20: +case0x21: +case0x23: +case0x24: +case0x25: +case0x26: +case0x27: +case0x28: +case0x29: +case0x2A: +case0x2B: +case0x2C: +case0x2D: +case0x2E: +case0x2F: +case0x30: +case0x31: +case0x32: +case0x33: +case0x34: +case0x35: +case0x36: +case0x37: +case0x38: +case0x39: +case0x3A: +case0x3B: +case0x3C: +case0x3D: +case0x3E: +case0x3F: +case0x40: +case0x41: +case0x42: +case0x43: +case0x44: +case0x45: +case0x46: +case0x47: +case0x48: +case0x49: +case0x4A: +case0x4B: +case0x4C: +case0x4D: +case0x4E: +case0x4F: +case0x50: +case0x51: +case0x52: +case0x53: +case0x54: +case0x55: +case0x56: +case0x57: +case0x58: +case0x59: +case0x5A: +case0x5B: +case0x5D: +case0x5E: +case0x5F: +case0x60: +case0x61: +case0x62: +case0x63: +case0x64: +case0x65: +case0x66: +case0x67: +case0x68: +case0x69: +case0x6A: +case0x6B: +case0x6C: +case0x6D: +case0x6E: +case0x6F: +case0x70: +case0x71: +case0x72: +case0x73: +case0x74: +case0x75: +case0x76: +case0x77: +case0x78: +case0x79: +case0x7A: +case0x7B: +case0x7C: +case0x7D: +case0x7E: +case0x7F: +{ +add(current); +break; +} + +//U+0080..U+07FF:bytesC2..DF80..BF +case0xC2: +case0xC3: +case0xC4: +case0xC5: +case0xC6: +case0xC7: +case0xC8: +case0xC9: +case0xCA: +case0xCB: +case0xCC: +case0xCD: +case0xCE: +case0xCF: +case0xD0: +case0xD1: +case0xD2: +case0xD3: +case0xD4: +case0xD5: +case0xD6: +case0xD7: +case0xD8: +case0xD9: +case0xDA: +case0xDB: +case0xDC: +case0xDD: +case0xDE: +case0xDF: +{ +if(JSON_HEDLEY_UNLIKELY(!next_byte_in_range({0x80,0xBF}))) +{ +returntoken_type::parse_error; +} +break; +} + +//U+0800..U+0FFF:bytesE0A0..BF80..BF +case0xE0: +{ +if(JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0xA0,0xBF,0x80,0xBF})))) +{ +returntoken_type::parse_error; +} +break; +} + +//U+1000..U+CFFF:bytesE1..EC80..BF80..BF +//U+E000..U+FFFF:bytesEE..EF80..BF80..BF +case0xE1: +case0xE2: +case0xE3: +case0xE4: +case0xE5: +case0xE6: +case0xE7: +case0xE8: +case0xE9: +case0xEA: +case0xEB: +case0xEC: +case0xEE: +case0xEF: +{ +if(JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80,0xBF,0x80,0xBF})))) +{ +returntoken_type::parse_error; +} +break; +} + +//U+D000..U+D7FF:bytesED80..9F80..BF +case0xED: +{ +if(JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80,0x9F,0x80,0xBF})))) +{ +returntoken_type::parse_error; +} +break; +} + +//U+10000..U+3FFFFF090..BF80..BF80..BF +case0xF0: +{ +if(JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x90,0xBF,0x80,0xBF,0x80,0xBF})))) +{ +returntoken_type::parse_error; +} +break; +} + +//U+40000..U+FFFFFF1..F380..BF80..BF80..BF +case0xF1: +case0xF2: +case0xF3: +{ +if(JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80,0xBF,0x80,0xBF,0x80,0xBF})))) +{ +returntoken_type::parse_error; +} +break; +} + +//U+100000..U+10FFFFF480..8F80..BF80..BF +case0xF4: +{ +if(JSON_HEDLEY_UNLIKELY(!(next_byte_in_range({0x80,0x8F,0x80,0xBF,0x80,0xBF})))) +{ +returntoken_type::parse_error; +} +break; +} + +//remainingbytes(80..C1andF5..FF)areill-formed +default: +{ +error_message="invalidstring:ill-formedUTF-8byte"; +returntoken_type::parse_error; +} +} +} +} + +boolscan_comment() +{ +switch(get()) +{ +//single-linecommentsskipinputuntilanewlineorEOFisread +case'/': +{ +while(true) +{ +switch(get()) +{ +case'\n': +case'\r': +casestd::char_traits<char_type>::eof(): +case'\0': +returntrue; + +default: +break; +} +} +} + +//multi-linecommentsskipinputuntil*/isread +case'*': +{ +while(true) +{ +switch(get()) +{ +casestd::char_traits<char_type>::eof(): +case'\0': +{ +error_message="invalidcomment;missingclosing'*/'"; +returnfalse; +} + +case'*': +{ +switch(get()) +{ +case'/': +returntrue; + +default: +{ +unget(); +continue; +} +} +} + +default: +continue; +} +} +} + +//unexpectedcharacterafterreading'/' +default: +{ +error_message="invalidcomment;expecting'/'or'*'after'/'"; +returnfalse; +} +} +} + +JSON_HEDLEY_NON_NULL(2) +staticvoidstrtof(float&f,constchar*str,char**endptr)noexcept +{ +f=std::strtof(str,endptr); +} + +JSON_HEDLEY_NON_NULL(2) +staticvoidstrtof(double&f,constchar*str,char**endptr)noexcept +{ +f=std::strtod(str,endptr); +} + +JSON_HEDLEY_NON_NULL(2) +staticvoidstrtof(longdouble&f,constchar*str,char**endptr)noexcept +{ +f=std::strtold(str,endptr); +} + +token_typescan_number()//lgtm[cpp/use-of-goto] +{ +//resettoken_buffertostorethenumber'sbytes +reset(); + +//thetypeoftheparsednumber;initiallysettounsigned;willbe +//changedifminussign,decimalpointorexponentisread +token_typenumber_type=token_type::value_unsigned; + +//state(init):wejustfoundoutweneedtoscananumber +switch(current) +{ +case'-': +{ +add(current); +gotoscan_number_minus; +} + +case'0': +{ +add(current); +gotoscan_number_zero; +} + +case'1': +case'2': +case'3': +case'4': +case'5': +case'6': +case'7': +case'8': +case'9': +{ +add(current); +gotoscan_number_any1; +} + +//allothercharactersarerejectedoutsidescan_number() +default://LCOV_EXCL_LINE +JSON_ASSERT(false);//NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert)LCOV_EXCL_LINE +} + +scan_number_minus: +//state:wejustparsedaleadingminussign +number_type=token_type::value_integer; +switch(get()) +{ +case'0': +{ +add(current); +gotoscan_number_zero; +} + +case'1': +case'2': +case'3': +case'4': +case'5': +case'6': +case'7': +case'8': +case'9': +{ +add(current); +gotoscan_number_any1; +} + +default: +{ +error_message="invalidnumber;expecteddigitafter'-'"; +returntoken_type::parse_error; +} +} + +scan_number_zero: +//state:wejustparseazero(maybewithaleadingminussign) +switch(get()) +{ +case'.': +{ +add(decimal_point_char); +gotoscan_number_decimal1; +} + +case'e': +case'E': +{ +add(current); +gotoscan_number_exponent; +} + +default: +gotoscan_number_done; +} + +scan_number_any1: +//state:wejustparsedanumber0-9(maybewithaleadingminussign) +switch(get()) +{ +case'0': +case'1': +case'2': +case'3': +case'4': +case'5': +case'6': +case'7': +case'8': +case'9': +{ +add(current); +gotoscan_number_any1; +} + +case'.': +{ +add(decimal_point_char); +gotoscan_number_decimal1; +} + +case'e': +case'E': +{ +add(current); +gotoscan_number_exponent; +} + +default: +gotoscan_number_done; +} + +scan_number_decimal1: +//state:wejustparsedadecimalpoint +number_type=token_type::value_float; +switch(get()) +{ +case'0': +case'1': +case'2': +case'3': +case'4': +case'5': +case'6': +case'7': +case'8': +case'9': +{ +add(current); +gotoscan_number_decimal2; +} + +default: +{ +error_message="invalidnumber;expecteddigitafter'.'"; +returntoken_type::parse_error; +} +} + +scan_number_decimal2: +//wejustparsedatleastonenumberafteradecimalpoint +switch(get()) +{ +case'0': +case'1': +case'2': +case'3': +case'4': +case'5': +case'6': +case'7': +case'8': +case'9': +{ +add(current); +gotoscan_number_decimal2; +} + +case'e': +case'E': +{ +add(current); +gotoscan_number_exponent; +} + +default: +gotoscan_number_done; +} + +scan_number_exponent: +//wejustparsedanexponent +number_type=token_type::value_float; +switch(get()) +{ +case'+': +case'-': +{ +add(current); +gotoscan_number_sign; +} + +case'0': +case'1': +case'2': +case'3': +case'4': +case'5': +case'6': +case'7': +case'8': +case'9': +{ +add(current); +gotoscan_number_any2; +} + +default: +{ +error_message= +"invalidnumber;expected'+','-',ordigitafterexponent"; +returntoken_type::parse_error; +} +} + +scan_number_sign: +//wejustparsedanexponentsign +switch(get()) +{ +case'0': +case'1': +case'2': +case'3': +case'4': +case'5': +case'6': +case'7': +case'8': +case'9': +{ +add(current); +gotoscan_number_any2; +} + +default: +{ +error_message="invalidnumber;expecteddigitafterexponentsign"; +returntoken_type::parse_error; +} +} + +scan_number_any2: +//wejustparsedanumberaftertheexponentorexponentsign +switch(get()) +{ +case'0': +case'1': +case'2': +case'3': +case'4': +case'5': +case'6': +case'7': +case'8': +case'9': +{ +add(current); +gotoscan_number_any2; +} + +default: +gotoscan_number_done; +} + +scan_number_done: +//ungetthecharacterafterthenumber(weonlyreadittoknowthat +//wearedonescanninganumber) +unget(); + +char*endptr=nullptr;//NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-vararg) +errno=0; + +//trytoparseintegersfirstandfallbacktofloats +if(number_type==token_type::value_unsigned) +{ +constautox=std::strtoull(token_buffer.data(),&endptr,10); + +//wecheckedthenumberformatbefore +JSON_ASSERT(endptr==token_buffer.data()+token_buffer.size()); + +if(errno==0) +{ +value_unsigned=static_cast<number_unsigned_t>(x); +if(value_unsigned==x) +{ +returntoken_type::value_unsigned; +} +} +} +elseif(number_type==token_type::value_integer) +{ +constautox=std::strtoll(token_buffer.data(),&endptr,10); + +//wecheckedthenumberformatbefore +JSON_ASSERT(endptr==token_buffer.data()+token_buffer.size()); + +if(errno==0) +{ +value_integer=static_cast<number_integer_t>(x); +if(value_integer==x) +{ +returntoken_type::value_integer; +} +} +} + +//thiscodeisreachedifweparseafloating-pointnumberorifan +//integerconversionabovefailed +strtof(value_float,token_buffer.data(),&endptr); + +//wecheckedthenumberformatbefore +JSON_ASSERT(endptr==token_buffer.data()+token_buffer.size()); + +returntoken_type::value_float; +} + +JSON_HEDLEY_NON_NULL(2) +token_typescan_literal(constchar_type*literal_text,conststd::size_tlength, +token_typereturn_type) +{ +JSON_ASSERT(std::char_traits<char_type>::to_char_type(current)==literal_text[0]); +for(std::size_ti=1;i<length;++i) +{ +if(JSON_HEDLEY_UNLIKELY(std::char_traits<char_type>::to_char_type(get())!=literal_text[i])) +{ +error_message="invalidliteral"; +returntoken_type::parse_error; +} +} +returnreturn_type; +} + +//inputmanagement + +voidreset()noexcept +{ +token_buffer.clear(); +token_string.clear(); +token_string.push_back(std::char_traits<char_type>::to_char_type(current)); +} + +/* +@briefgetnextcharacterfromtheinput + +Thisfunctionprovidestheinterfacetotheusedinputadapter.Itdoes +notthrowincasetheinputreachedEOF,butreturnsa +`std::char_traits<char>::eof()`inthatcase.Storesthescannedcharacters +foruseinerrormessages. + +@returncharacterreadfromtheinput +*/ +char_int_typeget() +{ +++position.chars_read_total; +++position.chars_read_current_line; + +if(next_unget) +{ +//justresetthenext_ungetvariableandworkwithcurrent +next_unget=false; +} +else +{ +current=ia.get_character(); +} + +if(JSON_HEDLEY_LIKELY(current!=std::char_traits<char_type>::eof())) +{ +token_string.push_back(std::char_traits<char_type>::to_char_type(current)); +} + +if(current=='\n') +{ +++position.lines_read; +position.chars_read_current_line=0; +} + +returncurrent; +} + +voidunget() +{ +next_unget=true; + +--position.chars_read_total; + +//incasewe"unget"anewline,wehavetoalsodecrementthelines_read +if(position.chars_read_current_line==0) +{ +if(position.lines_read>0) +{ +--position.lines_read; +} +} +else +{ +--position.chars_read_current_line; +} + +if(JSON_HEDLEY_LIKELY(current!=std::char_traits<char_type>::eof())) +{ +JSON_ASSERT(!token_string.empty()); +token_string.pop_back(); +} +} + +voidadd(char_int_typec) +{ +token_buffer.push_back(static_cast<typenamestring_t::value_type>(c)); +} + +public: +//valuegetters + +constexprnumber_integer_tget_number_integer()constnoexcept +{ +returnvalue_integer; +} + +constexprnumber_unsigned_tget_number_unsigned()constnoexcept +{ +returnvalue_unsigned; +} + +constexprnumber_float_tget_number_float()constnoexcept +{ +returnvalue_float; +} + +string_t&get_string() +{ +returntoken_buffer; +} + +//diagnostics + +constexprposition_tget_position()constnoexcept +{ +returnposition; +} + +std::stringget_token_string()const +{ +//escapecontrolcharacters +std::stringresult; +for(constautoc:token_string) +{ +if(static_cast<unsignedchar>(c)<='\x1F') +{ +//escapecontrolcharacters +std::array<char,9>cs{{}}; +(std::snprintf)(cs.data(),cs.size(),"<U+%.4X>",static_cast<unsignedchar>(c));//NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-vararg) +result+=cs.data(); +} +else +{ +//addcharacterasis +result.push_back(static_cast<std::string::value_type>(c)); +} +} + +returnresult; +} + +JSON_HEDLEY_RETURNS_NON_NULL +constexprconstchar*get_error_message()constnoexcept +{ +returnerror_message; +} + +//actualscanner + +boolskip_bom() +{ +if(get()==0xEF) +{ +//checkifwecompletelyparsetheBOM +returnget()==0xBB&&get()==0xBF; +} + +//thefirstcharacterisnotthebeginningoftheBOM;ungetitto +//processislater +unget(); +returntrue; +} + +voidskip_whitespace() +{ +do +{ +get(); +} +while(current==''||current=='\t'||current=='\n'||current=='\r'); +} + +token_typescan() +{ +//initially,skiptheBOM +if(position.chars_read_total==0&&!skip_bom()) +{ +error_message="invalidBOM;mustbe0xEF0xBB0xBFifgiven"; +returntoken_type::parse_error; +} + +//readnextcharacterandignorewhitespace +skip_whitespace(); + +//ignorecomments +while(ignore_comments&&current=='/') +{ +if(!scan_comment()) +{ +returntoken_type::parse_error; +} + +//skipfollowingwhitespace +skip_whitespace(); +} + +switch(current) +{ +//structuralcharacters +case'[': +returntoken_type::begin_array; +case']': +returntoken_type::end_array; +case'{': +returntoken_type::begin_object; +case'}': +returntoken_type::end_object; +case':': +returntoken_type::name_separator; +case',': +returntoken_type::value_separator; + +//literals +case't': +{ +std::array<char_type,4>true_literal={{char_type('t'),char_type('r'),char_type('u'),char_type('e')}}; +returnscan_literal(true_literal.data(),true_literal.size(),token_type::literal_true); +} +case'f': +{ +std::array<char_type,5>false_literal={{char_type('f'),char_type('a'),char_type('l'),char_type('s'),char_type('e')}}; +returnscan_literal(false_literal.data(),false_literal.size(),token_type::literal_false); +} +case'n': +{ +std::array<char_type,4>null_literal={{char_type('n'),char_type('u'),char_type('l'),char_type('l')}}; +returnscan_literal(null_literal.data(),null_literal.size(),token_type::literal_null); +} + +//string +case'\"': +returnscan_string(); + +//number +case'-': +case'0': +case'1': +case'2': +case'3': +case'4': +case'5': +case'6': +case'7': +case'8': +case'9': +returnscan_number(); + +//endofinput(thenullbyteisneededwhenparsingfrom +//stringliterals) +case'\0': +casestd::char_traits<char_type>::eof(): +returntoken_type::end_of_input; + +//error +default: +error_message="invalidliteral"; +returntoken_type::parse_error; +} +} + +private: +InputAdapterTypeia; + +constboolignore_comments=false; + +char_int_typecurrent=std::char_traits<char_type>::eof(); + +boolnext_unget=false; + +position_tposition{}; + +std::vector<char_type>token_string{}; + +string_ttoken_buffer{}; + +constchar*error_message=""; + +//numbervalues +number_integer_tvalue_integer=0; +number_unsigned_tvalue_unsigned=0; +number_float_tvalue_float=0; + +constchar_int_typedecimal_point_char='.'; +}; +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/macro_scope.hpp> + +//#include<nlohmann/detail/meta/is_sax.hpp> + + +#include<cstdint>//size_t +#include<utility>//declval +#include<string>//string + +//#include<nlohmann/detail/meta/detected.hpp> + +//#include<nlohmann/detail/meta/type_traits.hpp> + + +namespacenlohmann +{ +namespacedetail +{ +template<typenameT> +usingnull_function_t=decltype(std::declval<T&>().null()); + +template<typenameT> +usingboolean_function_t= +decltype(std::declval<T&>().boolean(std::declval<bool>())); + +template<typenameT,typenameInteger> +usingnumber_integer_function_t= +decltype(std::declval<T&>().number_integer(std::declval<Integer>())); + +template<typenameT,typenameUnsigned> +usingnumber_unsigned_function_t= +decltype(std::declval<T&>().number_unsigned(std::declval<Unsigned>())); + +template<typenameT,typenameFloat,typenameString> +usingnumber_float_function_t=decltype(std::declval<T&>().number_float( +std::declval<Float>(),std::declval<constString&>())); + +template<typenameT,typenameString> +usingstring_function_t= +decltype(std::declval<T&>().string(std::declval<String&>())); + +template<typenameT,typenameBinary> +usingbinary_function_t= +decltype(std::declval<T&>().binary(std::declval<Binary&>())); + +template<typenameT> +usingstart_object_function_t= +decltype(std::declval<T&>().start_object(std::declval<std::size_t>())); + +template<typenameT,typenameString> +usingkey_function_t= +decltype(std::declval<T&>().key(std::declval<String&>())); + +template<typenameT> +usingend_object_function_t=decltype(std::declval<T&>().end_object()); + +template<typenameT> +usingstart_array_function_t= +decltype(std::declval<T&>().start_array(std::declval<std::size_t>())); + +template<typenameT> +usingend_array_function_t=decltype(std::declval<T&>().end_array()); + +template<typenameT,typenameException> +usingparse_error_function_t=decltype(std::declval<T&>().parse_error( +std::declval<std::size_t>(),std::declval<conststd::string&>(), +std::declval<constException&>())); + +template<typenameSAX,typenameBasicJsonType> +structis_sax +{ +private: +static_assert(is_basic_json<BasicJsonType>::value, +"BasicJsonTypemustbeoftypebasic_json<...>"); + +usingnumber_integer_t=typenameBasicJsonType::number_integer_t; +usingnumber_unsigned_t=typenameBasicJsonType::number_unsigned_t; +usingnumber_float_t=typenameBasicJsonType::number_float_t; +usingstring_t=typenameBasicJsonType::string_t; +usingbinary_t=typenameBasicJsonType::binary_t; +usingexception_t=typenameBasicJsonType::exception; + +public: +staticconstexprboolvalue= +is_detected_exact<bool, null_function_t, SAX>::value&& +is_detected_exact<bool, boolean_function_t, SAX>::value&& +is_detected_exact<bool, number_integer_function_t, SAX, number_integer_t>::value&& +is_detected_exact<bool, number_unsigned_function_t, SAX, number_unsigned_t>::value&& +is_detected_exact<bool, number_float_function_t, SAX, number_float_t, string_t>::value&& +is_detected_exact<bool, string_function_t, SAX, string_t>::value&& +is_detected_exact<bool, binary_function_t, SAX, binary_t>::value&& +is_detected_exact<bool, start_object_function_t, SAX>::value&& +is_detected_exact<bool, key_function_t, SAX, string_t>::value&& +is_detected_exact<bool, end_object_function_t, SAX>::value&& +is_detected_exact<bool, start_array_function_t, SAX>::value&& +is_detected_exact<bool, end_array_function_t, SAX>::value&& +is_detected_exact<bool, parse_error_function_t, SAX, exception_t>::value; +}; + +template<typenameSAX,typenameBasicJsonType> +structis_sax_static_asserts +{ +private: +static_assert(is_basic_json<BasicJsonType>::value, +"BasicJsonTypemustbeoftypebasic_json<...>"); + +usingnumber_integer_t=typenameBasicJsonType::number_integer_t; +usingnumber_unsigned_t=typenameBasicJsonType::number_unsigned_t; +usingnumber_float_t=typenameBasicJsonType::number_float_t; +usingstring_t=typenameBasicJsonType::string_t; +usingbinary_t=typenameBasicJsonType::binary_t; +usingexception_t=typenameBasicJsonType::exception; + +public: +static_assert(is_detected_exact<bool, null_function_t, SAX>::value, +"Missing/invalidfunction:boolnull()"); +static_assert(is_detected_exact<bool, boolean_function_t, SAX>::value, +"Missing/invalidfunction:boolboolean(bool)"); +static_assert(is_detected_exact<bool, boolean_function_t, SAX>::value, +"Missing/invalidfunction:boolboolean(bool)"); +static_assert( +is_detected_exact<bool,number_integer_function_t,SAX, +number_integer_t>::value, +"Missing/invalidfunction:boolnumber_integer(number_integer_t)"); +static_assert( +is_detected_exact<bool,number_unsigned_function_t,SAX, +number_unsigned_t>::value, +"Missing/invalidfunction:boolnumber_unsigned(number_unsigned_t)"); +static_assert(is_detected_exact<bool,number_float_function_t,SAX, +number_float_t,string_t>::value, +"Missing/invalidfunction:boolnumber_float(number_float_t,conststring_t&)"); +static_assert( +is_detected_exact<bool, string_function_t, SAX, string_t>::value, +"Missing/invalidfunction:boolstring(string_t&)"); +static_assert( +is_detected_exact<bool, binary_function_t, SAX, binary_t>::value, +"Missing/invalidfunction:boolbinary(binary_t&)"); +static_assert(is_detected_exact<bool, start_object_function_t, SAX>::value, +"Missing/invalidfunction:boolstart_object(std::size_t)"); +static_assert(is_detected_exact<bool, key_function_t, SAX, string_t>::value, +"Missing/invalidfunction:boolkey(string_t&)"); +static_assert(is_detected_exact<bool, end_object_function_t, SAX>::value, +"Missing/invalidfunction:boolend_object()"); +static_assert(is_detected_exact<bool, start_array_function_t, SAX>::value, +"Missing/invalidfunction:boolstart_array(std::size_t)"); +static_assert(is_detected_exact<bool, end_array_function_t, SAX>::value, +"Missing/invalidfunction:boolend_array()"); +static_assert( +is_detected_exact<bool, parse_error_function_t, SAX, exception_t>::value, +"Missing/invalidfunction:boolparse_error(std::size_t,const" +"std::string&,constexception&)"); +}; +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/value_t.hpp> + + +namespacenlohmann +{ +namespacedetail +{ + +enumclasscbor_tag_handler_t +{ +error, +ignore +}; + +staticinlineboollittle_endianess(intnum=1)noexcept +{ +return*reinterpret_cast<char*>(&num)==1; +} + + +//binaryreader// + +template<typenameBasicJsonType,typenameInputAdapterType,typenameSAX=json_sax_dom_parser<BasicJsonType>> +classbinary_reader +{ +usingnumber_integer_t=typenameBasicJsonType::number_integer_t; +usingnumber_unsigned_t=typenameBasicJsonType::number_unsigned_t; +usingnumber_float_t=typenameBasicJsonType::number_float_t; +usingstring_t=typenameBasicJsonType::string_t; +usingbinary_t=typenameBasicJsonType::binary_t; +usingjson_sax_t=SAX; +usingchar_type=typenameInputAdapterType::char_type; +usingchar_int_type=typenamestd::char_traits<char_type>::int_type; + +public: +explicitbinary_reader(InputAdapterType&&adapter)noexcept:ia(std::move(adapter)) +{ +(void)detail::is_sax_static_asserts<SAX, BasicJsonType>{}; +} + +//makeclassmove-only +binary_reader(constbinary_reader&)=delete; +binary_reader(binary_reader&&)=default;//NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor) +binary_reader&operator=(constbinary_reader&)=delete; +binary_reader&operator=(binary_reader&&)=default;//NOLINT(hicpp-noexcept-move,performance-noexcept-move-constructor) +~binary_reader()=default; + +JSON_HEDLEY_NON_NULL(3) +boolsax_parse(constinput_format_tformat, +json_sax_t*sax_, +constboolstrict=true, +constcbor_tag_handler_ttag_handler=cbor_tag_handler_t::error) +{ +sax=sax_; +boolresult=false; + +switch(format) +{ +caseinput_format_t::bson: +result=parse_bson_internal(); +break; + +caseinput_format_t::cbor: +result=parse_cbor_internal(true,tag_handler); +break; + +caseinput_format_t::msgpack: +result=parse_msgpack_internal(); +break; + +caseinput_format_t::ubjson: +result=parse_ubjson_internal(); +break; + +default://LCOV_EXCL_LINE +JSON_ASSERT(false);//NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert)LCOV_EXCL_LINE +} + +//strictmode:nextbytemustbeEOF +if(result&&strict) +{ +if(format==input_format_t::ubjson) +{ +get_ignore_noop(); +} +else +{ +get(); +} + +if(JSON_HEDLEY_UNLIKELY(current!=std::char_traits<char_type>::eof())) +{ +returnsax->parse_error(chars_read,get_token_string(), +parse_error::create(110,chars_read,exception_message(format,"expectedendofinput;lastbyte:0x"+get_token_string(),"value"),BasicJsonType())); +} +} + +returnresult; +} + +private: +//BSON// + +boolparse_bson_internal() +{ +std::int32_tdocument_size{}; +get_number<std::int32_t,true>(input_format_t::bson,document_size); + +if(JSON_HEDLEY_UNLIKELY(!sax->start_object(std::size_t(-1)))) +{ +returnfalse; +} + +if(JSON_HEDLEY_UNLIKELY(!parse_bson_element_list(/*is_array*/false))) +{ +returnfalse; +} + +returnsax->end_object(); +} + +boolget_bson_cstr(string_t&result) +{ +autoout=std::back_inserter(result); +while(true) +{ +get(); +if(JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::bson,"cstring"))) +{ +returnfalse; +} +if(current==0x00) +{ +returntrue; +} +*out++=static_cast<typenamestring_t::value_type>(current); +} +} + +template<typenameNumberType> +boolget_bson_string(constNumberTypelen,string_t&result) +{ +if(JSON_HEDLEY_UNLIKELY(len<1)) +{ +autolast_token=get_token_string(); +returnsax->parse_error(chars_read,last_token,parse_error::create(112,chars_read,exception_message(input_format_t::bson,"stringlengthmustbeatleast1,is"+std::to_string(len),"string"),BasicJsonType())); +} + +returnget_string(input_format_t::bson,len-static_cast<NumberType>(1),result)&&get()!=std::char_traits<char_type>::eof(); +} + +template<typenameNumberType> +boolget_bson_binary(constNumberTypelen,binary_t&result) +{ +if(JSON_HEDLEY_UNLIKELY(len<0)) +{ +autolast_token=get_token_string(); +returnsax->parse_error(chars_read,last_token,parse_error::create(112,chars_read,exception_message(input_format_t::bson,"bytearraylengthcannotbenegative,is"+std::to_string(len),"binary"),BasicJsonType())); +} + +//AllBSONbinaryvalueshaveasubtype +std::uint8_tsubtype{}; +get_number<std::uint8_t>(input_format_t::bson,subtype); +result.set_subtype(subtype); + +returnget_binary(input_format_t::bson,len,result); +} + +boolparse_bson_element_internal(constchar_int_typeelement_type, +conststd::size_telement_type_parse_position) +{ +switch(element_type) +{ +case0x01://double +{ +doublenumber{}; +returnget_number<double,true>(input_format_t::bson,number)&&sax->number_float(static_cast<number_float_t>(number),""); +} + +case0x02://string +{ +std::int32_tlen{}; +string_tvalue; +returnget_number<std::int32_t,true>(input_format_t::bson,len)&&get_bson_string(len,value)&&sax->string(value); +} + +case0x03://object +{ +returnparse_bson_internal(); +} + +case0x04://array +{ +returnparse_bson_array(); +} + +case0x05://binary +{ +std::int32_tlen{}; +binary_tvalue; +returnget_number<std::int32_t,true>(input_format_t::bson,len)&&get_bson_binary(len,value)&&sax->binary(value); +} + +case0x08://boolean +{ +returnsax->boolean(get()!=0); +} + +case0x0A://null +{ +returnsax->null(); +} + +case0x10://int32 +{ +std::int32_tvalue{}; +returnget_number<std::int32_t,true>(input_format_t::bson,value)&&sax->number_integer(value); +} + +case0x12://int64 +{ +std::int64_tvalue{}; +returnget_number<std::int64_t,true>(input_format_t::bson,value)&&sax->number_integer(value); +} + +default://anythingelsenotsupported(yet) +{ +std::array<char,3>cr{{}}; +(std::snprintf)(cr.data(),cr.size(),"%.2hhX",static_cast<unsignedchar>(element_type));//NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-vararg) +returnsax->parse_error(element_type_parse_position,std::string(cr.data()),parse_error::create(114,element_type_parse_position,"UnsupportedBSONrecordtype0x"+std::string(cr.data()),BasicJsonType())); +} +} +} + +boolparse_bson_element_list(constboolis_array) +{ +string_tkey; + +while(autoelement_type=get()) +{ +if(JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::bson,"elementlist"))) +{ +returnfalse; +} + +conststd::size_telement_type_parse_position=chars_read; +if(JSON_HEDLEY_UNLIKELY(!get_bson_cstr(key))) +{ +returnfalse; +} + +if(!is_array&&!sax->key(key)) +{ +returnfalse; +} + +if(JSON_HEDLEY_UNLIKELY(!parse_bson_element_internal(element_type,element_type_parse_position))) +{ +returnfalse; +} + +//get_bson_cstronlyappends +key.clear(); +} + +returntrue; +} + +boolparse_bson_array() +{ +std::int32_tdocument_size{}; +get_number<std::int32_t,true>(input_format_t::bson,document_size); + +if(JSON_HEDLEY_UNLIKELY(!sax->start_array(std::size_t(-1)))) +{ +returnfalse; +} + +if(JSON_HEDLEY_UNLIKELY(!parse_bson_element_list(/*is_array*/true))) +{ +returnfalse; +} + +returnsax->end_array(); +} + +//CBOR// + +boolparse_cbor_internal(constboolget_char, +constcbor_tag_handler_ttag_handler) +{ +switch(get_char?get():current) +{ +//EOF +casestd::char_traits<char_type>::eof(): +returnunexpect_eof(input_format_t::cbor,"value"); + +//Integer0x00..0x17(0..23) +case0x00: +case0x01: +case0x02: +case0x03: +case0x04: +case0x05: +case0x06: +case0x07: +case0x08: +case0x09: +case0x0A: +case0x0B: +case0x0C: +case0x0D: +case0x0E: +case0x0F: +case0x10: +case0x11: +case0x12: +case0x13: +case0x14: +case0x15: +case0x16: +case0x17: +returnsax->number_unsigned(static_cast<number_unsigned_t>(current)); + +case0x18://Unsignedinteger(one-byteuint8_tfollows) +{ +std::uint8_tnumber{}; +returnget_number(input_format_t::cbor,number)&&sax->number_unsigned(number); +} + +case0x19://Unsignedinteger(two-byteuint16_tfollows) +{ +std::uint16_tnumber{}; +returnget_number(input_format_t::cbor,number)&&sax->number_unsigned(number); +} + +case0x1A://Unsignedinteger(four-byteuint32_tfollows) +{ +std::uint32_tnumber{}; +returnget_number(input_format_t::cbor,number)&&sax->number_unsigned(number); +} + +case0x1B://Unsignedinteger(eight-byteuint64_tfollows) +{ +std::uint64_tnumber{}; +returnget_number(input_format_t::cbor,number)&&sax->number_unsigned(number); +} + +//Negativeinteger-1-0x00..-1-0x17(-1..-24) +case0x20: +case0x21: +case0x22: +case0x23: +case0x24: +case0x25: +case0x26: +case0x27: +case0x28: +case0x29: +case0x2A: +case0x2B: +case0x2C: +case0x2D: +case0x2E: +case0x2F: +case0x30: +case0x31: +case0x32: +case0x33: +case0x34: +case0x35: +case0x36: +case0x37: +returnsax->number_integer(static_cast<std::int8_t>(0x20-1-current)); + +case0x38://Negativeinteger(one-byteuint8_tfollows) +{ +std::uint8_tnumber{}; +returnget_number(input_format_t::cbor,number)&&sax->number_integer(static_cast<number_integer_t>(-1)-number); +} + +case0x39://Negativeinteger-1-n(two-byteuint16_tfollows) +{ +std::uint16_tnumber{}; +returnget_number(input_format_t::cbor,number)&&sax->number_integer(static_cast<number_integer_t>(-1)-number); +} + +case0x3A://Negativeinteger-1-n(four-byteuint32_tfollows) +{ +std::uint32_tnumber{}; +returnget_number(input_format_t::cbor,number)&&sax->number_integer(static_cast<number_integer_t>(-1)-number); +} + +case0x3B://Negativeinteger-1-n(eight-byteuint64_tfollows) +{ +std::uint64_tnumber{}; +returnget_number(input_format_t::cbor,number)&&sax->number_integer(static_cast<number_integer_t>(-1) +-static_cast<number_integer_t>(number)); +} + +//Binarydata(0x00..0x17bytesfollow) +case0x40: +case0x41: +case0x42: +case0x43: +case0x44: +case0x45: +case0x46: +case0x47: +case0x48: +case0x49: +case0x4A: +case0x4B: +case0x4C: +case0x4D: +case0x4E: +case0x4F: +case0x50: +case0x51: +case0x52: +case0x53: +case0x54: +case0x55: +case0x56: +case0x57: +case0x58://Binarydata(one-byteuint8_tfornfollows) +case0x59://Binarydata(two-byteuint16_tfornfollow) +case0x5A://Binarydata(four-byteuint32_tfornfollow) +case0x5B://Binarydata(eight-byteuint64_tfornfollow) +case0x5F://Binarydata(indefinitelength) +{ +binary_tb; +returnget_cbor_binary(b)&&sax->binary(b); +} + +//UTF-8string(0x00..0x17bytesfollow) +case0x60: +case0x61: +case0x62: +case0x63: +case0x64: +case0x65: +case0x66: +case0x67: +case0x68: +case0x69: +case0x6A: +case0x6B: +case0x6C: +case0x6D: +case0x6E: +case0x6F: +case0x70: +case0x71: +case0x72: +case0x73: +case0x74: +case0x75: +case0x76: +case0x77: +case0x78://UTF-8string(one-byteuint8_tfornfollows) +case0x79://UTF-8string(two-byteuint16_tfornfollow) +case0x7A://UTF-8string(four-byteuint32_tfornfollow) +case0x7B://UTF-8string(eight-byteuint64_tfornfollow) +case0x7F://UTF-8string(indefinitelength) +{ +string_ts; +returnget_cbor_string(s)&&sax->string(s); +} + +//array(0x00..0x17dataitemsfollow) +case0x80: +case0x81: +case0x82: +case0x83: +case0x84: +case0x85: +case0x86: +case0x87: +case0x88: +case0x89: +case0x8A: +case0x8B: +case0x8C: +case0x8D: +case0x8E: +case0x8F: +case0x90: +case0x91: +case0x92: +case0x93: +case0x94: +case0x95: +case0x96: +case0x97: +returnget_cbor_array(static_cast<std::size_t>(static_cast<unsignedint>(current)&0x1Fu),tag_handler); + +case0x98://array(one-byteuint8_tfornfollows) +{ +std::uint8_tlen{}; +returnget_number(input_format_t::cbor,len)&&get_cbor_array(static_cast<std::size_t>(len),tag_handler); +} + +case0x99://array(two-byteuint16_tfornfollow) +{ +std::uint16_tlen{}; +returnget_number(input_format_t::cbor,len)&&get_cbor_array(static_cast<std::size_t>(len),tag_handler); +} + +case0x9A://array(four-byteuint32_tfornfollow) +{ +std::uint32_tlen{}; +returnget_number(input_format_t::cbor,len)&&get_cbor_array(static_cast<std::size_t>(len),tag_handler); +} + +case0x9B://array(eight-byteuint64_tfornfollow) +{ +std::uint64_tlen{}; +returnget_number(input_format_t::cbor,len)&&get_cbor_array(static_cast<std::size_t>(len),tag_handler); +} + +case0x9F://array(indefinitelength) +returnget_cbor_array(std::size_t(-1),tag_handler); + +//map(0x00..0x17pairsofdataitemsfollow) +case0xA0: +case0xA1: +case0xA2: +case0xA3: +case0xA4: +case0xA5: +case0xA6: +case0xA7: +case0xA8: +case0xA9: +case0xAA: +case0xAB: +case0xAC: +case0xAD: +case0xAE: +case0xAF: +case0xB0: +case0xB1: +case0xB2: +case0xB3: +case0xB4: +case0xB5: +case0xB6: +case0xB7: +returnget_cbor_object(static_cast<std::size_t>(static_cast<unsignedint>(current)&0x1Fu),tag_handler); + +case0xB8://map(one-byteuint8_tfornfollows) +{ +std::uint8_tlen{}; +returnget_number(input_format_t::cbor,len)&&get_cbor_object(static_cast<std::size_t>(len),tag_handler); +} + +case0xB9://map(two-byteuint16_tfornfollow) +{ +std::uint16_tlen{}; +returnget_number(input_format_t::cbor,len)&&get_cbor_object(static_cast<std::size_t>(len),tag_handler); +} + +case0xBA://map(four-byteuint32_tfornfollow) +{ +std::uint32_tlen{}; +returnget_number(input_format_t::cbor,len)&&get_cbor_object(static_cast<std::size_t>(len),tag_handler); +} + +case0xBB://map(eight-byteuint64_tfornfollow) +{ +std::uint64_tlen{}; +returnget_number(input_format_t::cbor,len)&&get_cbor_object(static_cast<std::size_t>(len),tag_handler); +} + +case0xBF://map(indefinitelength) +returnget_cbor_object(std::size_t(-1),tag_handler); + +case0xC6://taggeditem +case0xC7: +case0xC8: +case0xC9: +case0xCA: +case0xCB: +case0xCC: +case0xCD: +case0xCE: +case0xCF: +case0xD0: +case0xD1: +case0xD2: +case0xD3: +case0xD4: +case0xD8://taggeditem(1bytesfollow) +case0xD9://taggeditem(2bytesfollow) +case0xDA://taggeditem(4bytesfollow) +case0xDB://taggeditem(8bytesfollow) +{ +switch(tag_handler) +{ +casecbor_tag_handler_t::error: +{ +autolast_token=get_token_string(); +returnsax->parse_error(chars_read,last_token,parse_error::create(112,chars_read,exception_message(input_format_t::cbor,"invalidbyte:0x"+last_token,"value"),BasicJsonType())); +} + +casecbor_tag_handler_t::ignore: +{ +switch(current) +{ +case0xD8: +{ +std::uint8_tlen{}; +get_number(input_format_t::cbor,len); +break; +} +case0xD9: +{ +std::uint16_tlen{}; +get_number(input_format_t::cbor,len); +break; +} +case0xDA: +{ +std::uint32_tlen{}; +get_number(input_format_t::cbor,len); +break; +} +case0xDB: +{ +std::uint64_tlen{}; +get_number(input_format_t::cbor,len); +break; +} +default: +break; +} +returnparse_cbor_internal(true,tag_handler); +} + +default://LCOV_EXCL_LINE +JSON_ASSERT(false);//NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert)LCOV_EXCL_LINE +returnfalse;//LCOV_EXCL_LINE +} +} + +case0xF4://false +returnsax->boolean(false); + +case0xF5://true +returnsax->boolean(true); + +case0xF6://null +returnsax->null(); + +case0xF9://Half-PrecisionFloat(two-byteIEEE754) +{ +constautobyte1_raw=get(); +if(JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor,"number"))) +{ +returnfalse; +} +constautobyte2_raw=get(); +if(JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor,"number"))) +{ +returnfalse; +} + +constautobyte1=static_cast<unsignedchar>(byte1_raw); +constautobyte2=static_cast<unsignedchar>(byte2_raw); + +//codefromRFC7049,AppendixD,Figure3: +//Ashalf-precisionfloating-pointnumberswereonlyadded +//toIEEE754in2008,today'sprogrammingplatformsoften +//stillonlyhavelimitedsupportforthem.Itisvery +//easytoincludeatleastdecodingsupportforthemeven +//withoutsuchsupport.Anexampleofasmalldecoderfor +//half-precisionfloating-pointnumbersintheClanguage +//isshowninFig.3. +constautohalf=static_cast<unsignedint>((byte1<<8u)+byte2); +constdoubleval=[&half] +{ +constintexp=(half>>10u)&0x1Fu; +constunsignedintmant=half&0x3FFu; +JSON_ASSERT(0<=exp&&exp<=32); +JSON_ASSERT(mant<=1024); +switch(exp) +{ +case0: +returnstd::ldexp(mant,-24); +case31: +return(mant==0) +?std::numeric_limits<double>::infinity() +:std::numeric_limits<double>::quiet_NaN(); +default: +returnstd::ldexp(mant+1024,exp-25); +} +}(); +returnsax->number_float((half&0x8000u)!=0 +?static_cast<number_float_t>(-val) +:static_cast<number_float_t>(val),""); +} + +case0xFA://Single-PrecisionFloat(four-byteIEEE754) +{ +floatnumber{}; +returnget_number(input_format_t::cbor,number)&&sax->number_float(static_cast<number_float_t>(number),""); +} + +case0xFB://Double-PrecisionFloat(eight-byteIEEE754) +{ +doublenumber{}; +returnget_number(input_format_t::cbor,number)&&sax->number_float(static_cast<number_float_t>(number),""); +} + +default://anythingelse(0xFFishandledinsidetheothertypes) +{ +autolast_token=get_token_string(); +returnsax->parse_error(chars_read,last_token,parse_error::create(112,chars_read,exception_message(input_format_t::cbor,"invalidbyte:0x"+last_token,"value"),BasicJsonType())); +} +} +} + +boolget_cbor_string(string_t&result) +{ +if(JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor,"string"))) +{ +returnfalse; +} + +switch(current) +{ +//UTF-8string(0x00..0x17bytesfollow) +case0x60: +case0x61: +case0x62: +case0x63: +case0x64: +case0x65: +case0x66: +case0x67: +case0x68: +case0x69: +case0x6A: +case0x6B: +case0x6C: +case0x6D: +case0x6E: +case0x6F: +case0x70: +case0x71: +case0x72: +case0x73: +case0x74: +case0x75: +case0x76: +case0x77: +{ +returnget_string(input_format_t::cbor,static_cast<unsignedint>(current)&0x1Fu,result); +} + +case0x78://UTF-8string(one-byteuint8_tfornfollows) +{ +std::uint8_tlen{}; +returnget_number(input_format_t::cbor,len)&&get_string(input_format_t::cbor,len,result); +} + +case0x79://UTF-8string(two-byteuint16_tfornfollow) +{ +std::uint16_tlen{}; +returnget_number(input_format_t::cbor,len)&&get_string(input_format_t::cbor,len,result); +} + +case0x7A://UTF-8string(four-byteuint32_tfornfollow) +{ +std::uint32_tlen{}; +returnget_number(input_format_t::cbor,len)&&get_string(input_format_t::cbor,len,result); +} + +case0x7B://UTF-8string(eight-byteuint64_tfornfollow) +{ +std::uint64_tlen{}; +returnget_number(input_format_t::cbor,len)&&get_string(input_format_t::cbor,len,result); +} + +case0x7F://UTF-8string(indefinitelength) +{ +while(get()!=0xFF) +{ +string_tchunk; +if(!get_cbor_string(chunk)) +{ +returnfalse; +} +result.append(chunk); +} +returntrue; +} + +default: +{ +autolast_token=get_token_string(); +returnsax->parse_error(chars_read,last_token,parse_error::create(113,chars_read,exception_message(input_format_t::cbor,"expectedlengthspecification(0x60-0x7B)orindefinitestringtype(0x7F);lastbyte:0x"+last_token,"string"),BasicJsonType())); +} +} +} + +boolget_cbor_binary(binary_t&result) +{ +if(JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::cbor,"binary"))) +{ +returnfalse; +} + +switch(current) +{ +//Binarydata(0x00..0x17bytesfollow) +case0x40: +case0x41: +case0x42: +case0x43: +case0x44: +case0x45: +case0x46: +case0x47: +case0x48: +case0x49: +case0x4A: +case0x4B: +case0x4C: +case0x4D: +case0x4E: +case0x4F: +case0x50: +case0x51: +case0x52: +case0x53: +case0x54: +case0x55: +case0x56: +case0x57: +{ +returnget_binary(input_format_t::cbor,static_cast<unsignedint>(current)&0x1Fu,result); +} + +case0x58://Binarydata(one-byteuint8_tfornfollows) +{ +std::uint8_tlen{}; +returnget_number(input_format_t::cbor,len)&& +get_binary(input_format_t::cbor,len,result); +} + +case0x59://Binarydata(two-byteuint16_tfornfollow) +{ +std::uint16_tlen{}; +returnget_number(input_format_t::cbor,len)&& +get_binary(input_format_t::cbor,len,result); +} + +case0x5A://Binarydata(four-byteuint32_tfornfollow) +{ +std::uint32_tlen{}; +returnget_number(input_format_t::cbor,len)&& +get_binary(input_format_t::cbor,len,result); +} + +case0x5B://Binarydata(eight-byteuint64_tfornfollow) +{ +std::uint64_tlen{}; +returnget_number(input_format_t::cbor,len)&& +get_binary(input_format_t::cbor,len,result); +} + +case0x5F://Binarydata(indefinitelength) +{ +while(get()!=0xFF) +{ +binary_tchunk; +if(!get_cbor_binary(chunk)) +{ +returnfalse; +} +result.insert(result.end(),chunk.begin(),chunk.end()); +} +returntrue; +} + +default: +{ +autolast_token=get_token_string(); +returnsax->parse_error(chars_read,last_token,parse_error::create(113,chars_read,exception_message(input_format_t::cbor,"expectedlengthspecification(0x40-0x5B)orindefinitebinaryarraytype(0x5F);lastbyte:0x"+last_token,"binary"),BasicJsonType())); +} +} +} + +boolget_cbor_array(conststd::size_tlen, +constcbor_tag_handler_ttag_handler) +{ +if(JSON_HEDLEY_UNLIKELY(!sax->start_array(len))) +{ +returnfalse; +} + +if(len!=std::size_t(-1)) +{ +for(std::size_ti=0;i<len;++i) +{ +if(JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(true,tag_handler))) +{ +returnfalse; +} +} +} +else +{ +while(get()!=0xFF) +{ +if(JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(false,tag_handler))) +{ +returnfalse; +} +} +} + +returnsax->end_array(); +} + +boolget_cbor_object(conststd::size_tlen, +constcbor_tag_handler_ttag_handler) +{ +if(JSON_HEDLEY_UNLIKELY(!sax->start_object(len))) +{ +returnfalse; +} + +string_tkey; +if(len!=std::size_t(-1)) +{ +for(std::size_ti=0;i<len;++i) +{ +get(); +if(JSON_HEDLEY_UNLIKELY(!get_cbor_string(key)||!sax->key(key))) +{ +returnfalse; +} + +if(JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(true,tag_handler))) +{ +returnfalse; +} +key.clear(); +} +} +else +{ +while(get()!=0xFF) +{ +if(JSON_HEDLEY_UNLIKELY(!get_cbor_string(key)||!sax->key(key))) +{ +returnfalse; +} + +if(JSON_HEDLEY_UNLIKELY(!parse_cbor_internal(true,tag_handler))) +{ +returnfalse; +} +key.clear(); +} +} + +returnsax->end_object(); +} + +//MsgPack// + +boolparse_msgpack_internal() +{ +switch(get()) +{ +//EOF +casestd::char_traits<char_type>::eof(): +returnunexpect_eof(input_format_t::msgpack,"value"); + +//positivefixint +case0x00: +case0x01: +case0x02: +case0x03: +case0x04: +case0x05: +case0x06: +case0x07: +case0x08: +case0x09: +case0x0A: +case0x0B: +case0x0C: +case0x0D: +case0x0E: +case0x0F: +case0x10: +case0x11: +case0x12: +case0x13: +case0x14: +case0x15: +case0x16: +case0x17: +case0x18: +case0x19: +case0x1A: +case0x1B: +case0x1C: +case0x1D: +case0x1E: +case0x1F: +case0x20: +case0x21: +case0x22: +case0x23: +case0x24: +case0x25: +case0x26: +case0x27: +case0x28: +case0x29: +case0x2A: +case0x2B: +case0x2C: +case0x2D: +case0x2E: +case0x2F: +case0x30: +case0x31: +case0x32: +case0x33: +case0x34: +case0x35: +case0x36: +case0x37: +case0x38: +case0x39: +case0x3A: +case0x3B: +case0x3C: +case0x3D: +case0x3E: +case0x3F: +case0x40: +case0x41: +case0x42: +case0x43: +case0x44: +case0x45: +case0x46: +case0x47: +case0x48: +case0x49: +case0x4A: +case0x4B: +case0x4C: +case0x4D: +case0x4E: +case0x4F: +case0x50: +case0x51: +case0x52: +case0x53: +case0x54: +case0x55: +case0x56: +case0x57: +case0x58: +case0x59: +case0x5A: +case0x5B: +case0x5C: +case0x5D: +case0x5E: +case0x5F: +case0x60: +case0x61: +case0x62: +case0x63: +case0x64: +case0x65: +case0x66: +case0x67: +case0x68: +case0x69: +case0x6A: +case0x6B: +case0x6C: +case0x6D: +case0x6E: +case0x6F: +case0x70: +case0x71: +case0x72: +case0x73: +case0x74: +case0x75: +case0x76: +case0x77: +case0x78: +case0x79: +case0x7A: +case0x7B: +case0x7C: +case0x7D: +case0x7E: +case0x7F: +returnsax->number_unsigned(static_cast<number_unsigned_t>(current)); + +//fixmap +case0x80: +case0x81: +case0x82: +case0x83: +case0x84: +case0x85: +case0x86: +case0x87: +case0x88: +case0x89: +case0x8A: +case0x8B: +case0x8C: +case0x8D: +case0x8E: +case0x8F: +returnget_msgpack_object(static_cast<std::size_t>(static_cast<unsignedint>(current)&0x0Fu)); + +//fixarray +case0x90: +case0x91: +case0x92: +case0x93: +case0x94: +case0x95: +case0x96: +case0x97: +case0x98: +case0x99: +case0x9A: +case0x9B: +case0x9C: +case0x9D: +case0x9E: +case0x9F: +returnget_msgpack_array(static_cast<std::size_t>(static_cast<unsignedint>(current)&0x0Fu)); + +//fixstr +case0xA0: +case0xA1: +case0xA2: +case0xA3: +case0xA4: +case0xA5: +case0xA6: +case0xA7: +case0xA8: +case0xA9: +case0xAA: +case0xAB: +case0xAC: +case0xAD: +case0xAE: +case0xAF: +case0xB0: +case0xB1: +case0xB2: +case0xB3: +case0xB4: +case0xB5: +case0xB6: +case0xB7: +case0xB8: +case0xB9: +case0xBA: +case0xBB: +case0xBC: +case0xBD: +case0xBE: +case0xBF: +case0xD9://str8 +case0xDA://str16 +case0xDB://str32 +{ +string_ts; +returnget_msgpack_string(s)&&sax->string(s); +} + +case0xC0://nil +returnsax->null(); + +case0xC2://false +returnsax->boolean(false); + +case0xC3://true +returnsax->boolean(true); + +case0xC4://bin8 +case0xC5://bin16 +case0xC6://bin32 +case0xC7://ext8 +case0xC8://ext16 +case0xC9://ext32 +case0xD4://fixext1 +case0xD5://fixext2 +case0xD6://fixext4 +case0xD7://fixext8 +case0xD8://fixext16 +{ +binary_tb; +returnget_msgpack_binary(b)&&sax->binary(b); +} + +case0xCA://float32 +{ +floatnumber{}; +returnget_number(input_format_t::msgpack,number)&&sax->number_float(static_cast<number_float_t>(number),""); +} + +case0xCB://float64 +{ +doublenumber{}; +returnget_number(input_format_t::msgpack,number)&&sax->number_float(static_cast<number_float_t>(number),""); +} + +case0xCC://uint8 +{ +std::uint8_tnumber{}; +returnget_number(input_format_t::msgpack,number)&&sax->number_unsigned(number); +} + +case0xCD://uint16 +{ +std::uint16_tnumber{}; +returnget_number(input_format_t::msgpack,number)&&sax->number_unsigned(number); +} + +case0xCE://uint32 +{ +std::uint32_tnumber{}; +returnget_number(input_format_t::msgpack,number)&&sax->number_unsigned(number); +} + +case0xCF://uint64 +{ +std::uint64_tnumber{}; +returnget_number(input_format_t::msgpack,number)&&sax->number_unsigned(number); +} + +case0xD0://int8 +{ +std::int8_tnumber{}; +returnget_number(input_format_t::msgpack,number)&&sax->number_integer(number); +} + +case0xD1://int16 +{ +std::int16_tnumber{}; +returnget_number(input_format_t::msgpack,number)&&sax->number_integer(number); +} + +case0xD2://int32 +{ +std::int32_tnumber{}; +returnget_number(input_format_t::msgpack,number)&&sax->number_integer(number); +} + +case0xD3://int64 +{ +std::int64_tnumber{}; +returnget_number(input_format_t::msgpack,number)&&sax->number_integer(number); +} + +case0xDC://array16 +{ +std::uint16_tlen{}; +returnget_number(input_format_t::msgpack,len)&&get_msgpack_array(static_cast<std::size_t>(len)); +} + +case0xDD://array32 +{ +std::uint32_tlen{}; +returnget_number(input_format_t::msgpack,len)&&get_msgpack_array(static_cast<std::size_t>(len)); +} + +case0xDE://map16 +{ +std::uint16_tlen{}; +returnget_number(input_format_t::msgpack,len)&&get_msgpack_object(static_cast<std::size_t>(len)); +} + +case0xDF://map32 +{ +std::uint32_tlen{}; +returnget_number(input_format_t::msgpack,len)&&get_msgpack_object(static_cast<std::size_t>(len)); +} + +//negativefixint +case0xE0: +case0xE1: +case0xE2: +case0xE3: +case0xE4: +case0xE5: +case0xE6: +case0xE7: +case0xE8: +case0xE9: +case0xEA: +case0xEB: +case0xEC: +case0xED: +case0xEE: +case0xEF: +case0xF0: +case0xF1: +case0xF2: +case0xF3: +case0xF4: +case0xF5: +case0xF6: +case0xF7: +case0xF8: +case0xF9: +case0xFA: +case0xFB: +case0xFC: +case0xFD: +case0xFE: +case0xFF: +returnsax->number_integer(static_cast<std::int8_t>(current)); + +default://anythingelse +{ +autolast_token=get_token_string(); +returnsax->parse_error(chars_read,last_token,parse_error::create(112,chars_read,exception_message(input_format_t::msgpack,"invalidbyte:0x"+last_token,"value"),BasicJsonType())); +} +} +} + +boolget_msgpack_string(string_t&result) +{ +if(JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::msgpack,"string"))) +{ +returnfalse; +} + +switch(current) +{ +//fixstr +case0xA0: +case0xA1: +case0xA2: +case0xA3: +case0xA4: +case0xA5: +case0xA6: +case0xA7: +case0xA8: +case0xA9: +case0xAA: +case0xAB: +case0xAC: +case0xAD: +case0xAE: +case0xAF: +case0xB0: +case0xB1: +case0xB2: +case0xB3: +case0xB4: +case0xB5: +case0xB6: +case0xB7: +case0xB8: +case0xB9: +case0xBA: +case0xBB: +case0xBC: +case0xBD: +case0xBE: +case0xBF: +{ +returnget_string(input_format_t::msgpack,static_cast<unsignedint>(current)&0x1Fu,result); +} + +case0xD9://str8 +{ +std::uint8_tlen{}; +returnget_number(input_format_t::msgpack,len)&&get_string(input_format_t::msgpack,len,result); +} + +case0xDA://str16 +{ +std::uint16_tlen{}; +returnget_number(input_format_t::msgpack,len)&&get_string(input_format_t::msgpack,len,result); +} + +case0xDB://str32 +{ +std::uint32_tlen{}; +returnget_number(input_format_t::msgpack,len)&&get_string(input_format_t::msgpack,len,result); +} + +default: +{ +autolast_token=get_token_string(); +returnsax->parse_error(chars_read,last_token,parse_error::create(113,chars_read,exception_message(input_format_t::msgpack,"expectedlengthspecification(0xA0-0xBF,0xD9-0xDB);lastbyte:0x"+last_token,"string"),BasicJsonType())); +} +} +} + +boolget_msgpack_binary(binary_t&result) +{ +//helperfunctiontosetthesubtype +autoassign_and_return_true=[&result](std::int8_tsubtype) +{ +result.set_subtype(static_cast<std::uint8_t>(subtype)); +returntrue; +}; + +switch(current) +{ +case0xC4://bin8 +{ +std::uint8_tlen{}; +returnget_number(input_format_t::msgpack,len)&& +get_binary(input_format_t::msgpack,len,result); +} + +case0xC5://bin16 +{ +std::uint16_tlen{}; +returnget_number(input_format_t::msgpack,len)&& +get_binary(input_format_t::msgpack,len,result); +} + +case0xC6://bin32 +{ +std::uint32_tlen{}; +returnget_number(input_format_t::msgpack,len)&& +get_binary(input_format_t::msgpack,len,result); +} + +case0xC7://ext8 +{ +std::uint8_tlen{}; +std::int8_tsubtype{}; +returnget_number(input_format_t::msgpack,len)&& +get_number(input_format_t::msgpack,subtype)&& +get_binary(input_format_t::msgpack,len,result)&& +assign_and_return_true(subtype); +} + +case0xC8://ext16 +{ +std::uint16_tlen{}; +std::int8_tsubtype{}; +returnget_number(input_format_t::msgpack,len)&& +get_number(input_format_t::msgpack,subtype)&& +get_binary(input_format_t::msgpack,len,result)&& +assign_and_return_true(subtype); +} + +case0xC9://ext32 +{ +std::uint32_tlen{}; +std::int8_tsubtype{}; +returnget_number(input_format_t::msgpack,len)&& +get_number(input_format_t::msgpack,subtype)&& +get_binary(input_format_t::msgpack,len,result)&& +assign_and_return_true(subtype); +} + +case0xD4://fixext1 +{ +std::int8_tsubtype{}; +returnget_number(input_format_t::msgpack,subtype)&& +get_binary(input_format_t::msgpack,1,result)&& +assign_and_return_true(subtype); +} + +case0xD5://fixext2 +{ +std::int8_tsubtype{}; +returnget_number(input_format_t::msgpack,subtype)&& +get_binary(input_format_t::msgpack,2,result)&& +assign_and_return_true(subtype); +} + +case0xD6://fixext4 +{ +std::int8_tsubtype{}; +returnget_number(input_format_t::msgpack,subtype)&& +get_binary(input_format_t::msgpack,4,result)&& +assign_and_return_true(subtype); +} + +case0xD7://fixext8 +{ +std::int8_tsubtype{}; +returnget_number(input_format_t::msgpack,subtype)&& +get_binary(input_format_t::msgpack,8,result)&& +assign_and_return_true(subtype); +} + +case0xD8://fixext16 +{ +std::int8_tsubtype{}; +returnget_number(input_format_t::msgpack,subtype)&& +get_binary(input_format_t::msgpack,16,result)&& +assign_and_return_true(subtype); +} + +default://LCOV_EXCL_LINE +returnfalse;//LCOV_EXCL_LINE +} +} + +boolget_msgpack_array(conststd::size_tlen) +{ +if(JSON_HEDLEY_UNLIKELY(!sax->start_array(len))) +{ +returnfalse; +} + +for(std::size_ti=0;i<len;++i) +{ +if(JSON_HEDLEY_UNLIKELY(!parse_msgpack_internal())) +{ +returnfalse; +} +} + +returnsax->end_array(); +} + +boolget_msgpack_object(conststd::size_tlen) +{ +if(JSON_HEDLEY_UNLIKELY(!sax->start_object(len))) +{ +returnfalse; +} + +string_tkey; +for(std::size_ti=0;i<len;++i) +{ +get(); +if(JSON_HEDLEY_UNLIKELY(!get_msgpack_string(key)||!sax->key(key))) +{ +returnfalse; +} + +if(JSON_HEDLEY_UNLIKELY(!parse_msgpack_internal())) +{ +returnfalse; +} +key.clear(); +} + +returnsax->end_object(); +} + +//UBJSON// + +boolparse_ubjson_internal(constboolget_char=true) +{ +returnget_ubjson_value(get_char?get_ignore_noop():current); +} + +boolget_ubjson_string(string_t&result,constboolget_char=true) +{ +if(get_char) +{ +get();//TODO(niels):mayweignoreNhere? +} + +if(JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson,"value"))) +{ +returnfalse; +} + +switch(current) +{ +case'U': +{ +std::uint8_tlen{}; +returnget_number(input_format_t::ubjson,len)&&get_string(input_format_t::ubjson,len,result); +} + +case'i': +{ +std::int8_tlen{}; +returnget_number(input_format_t::ubjson,len)&&get_string(input_format_t::ubjson,len,result); +} + +case'I': +{ +std::int16_tlen{}; +returnget_number(input_format_t::ubjson,len)&&get_string(input_format_t::ubjson,len,result); +} + +case'l': +{ +std::int32_tlen{}; +returnget_number(input_format_t::ubjson,len)&&get_string(input_format_t::ubjson,len,result); +} + +case'L': +{ +std::int64_tlen{}; +returnget_number(input_format_t::ubjson,len)&&get_string(input_format_t::ubjson,len,result); +} + +default: +autolast_token=get_token_string(); +returnsax->parse_error(chars_read,last_token,parse_error::create(113,chars_read,exception_message(input_format_t::ubjson,"expectedlengthtypespecification(U,i,I,l,L);lastbyte:0x"+last_token,"string"),BasicJsonType())); +} +} + +boolget_ubjson_size_value(std::size_t&result) +{ +switch(get_ignore_noop()) +{ +case'U': +{ +std::uint8_tnumber{}; +if(JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson,number))) +{ +returnfalse; +} +result=static_cast<std::size_t>(number); +returntrue; +} + +case'i': +{ +std::int8_tnumber{}; +if(JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson,number))) +{ +returnfalse; +} +result=static_cast<std::size_t>(number);//NOLINT(bugprone-signed-char-misuse,cert-str34-c):numberisnotachar +returntrue; +} + +case'I': +{ +std::int16_tnumber{}; +if(JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson,number))) +{ +returnfalse; +} +result=static_cast<std::size_t>(number); +returntrue; +} + +case'l': +{ +std::int32_tnumber{}; +if(JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson,number))) +{ +returnfalse; +} +result=static_cast<std::size_t>(number); +returntrue; +} + +case'L': +{ +std::int64_tnumber{}; +if(JSON_HEDLEY_UNLIKELY(!get_number(input_format_t::ubjson,number))) +{ +returnfalse; +} +result=static_cast<std::size_t>(number); +returntrue; +} + +default: +{ +autolast_token=get_token_string(); +returnsax->parse_error(chars_read,last_token,parse_error::create(113,chars_read,exception_message(input_format_t::ubjson,"expectedlengthtypespecification(U,i,I,l,L)after'#';lastbyte:0x"+last_token,"size"),BasicJsonType())); +} +} +} + +boolget_ubjson_size_type(std::pair<std::size_t,char_int_type>&result) +{ +result.first=string_t::npos;//size +result.second=0;//type + +get_ignore_noop(); + +if(current=='$') +{ +result.second=get();//mustnotignore'N',because'N'maybethetype +if(JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson,"type"))) +{ +returnfalse; +} + +get_ignore_noop(); +if(JSON_HEDLEY_UNLIKELY(current!='#')) +{ +if(JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson,"value"))) +{ +returnfalse; +} +autolast_token=get_token_string(); +returnsax->parse_error(chars_read,last_token,parse_error::create(112,chars_read,exception_message(input_format_t::ubjson,"expected'#'aftertypeinformation;lastbyte:0x"+last_token,"size"),BasicJsonType())); +} + +returnget_ubjson_size_value(result.first); +} + +if(current=='#') +{ +returnget_ubjson_size_value(result.first); +} + +returntrue; +} + +boolget_ubjson_value(constchar_int_typeprefix) +{ +switch(prefix) +{ +casestd::char_traits<char_type>::eof()://EOF +returnunexpect_eof(input_format_t::ubjson,"value"); + +case'T'://true +returnsax->boolean(true); +case'F'://false +returnsax->boolean(false); + +case'Z'://null +returnsax->null(); + +case'U': +{ +std::uint8_tnumber{}; +returnget_number(input_format_t::ubjson,number)&&sax->number_unsigned(number); +} + +case'i': +{ +std::int8_tnumber{}; +returnget_number(input_format_t::ubjson,number)&&sax->number_integer(number); +} + +case'I': +{ +std::int16_tnumber{}; +returnget_number(input_format_t::ubjson,number)&&sax->number_integer(number); +} + +case'l': +{ +std::int32_tnumber{}; +returnget_number(input_format_t::ubjson,number)&&sax->number_integer(number); +} + +case'L': +{ +std::int64_tnumber{}; +returnget_number(input_format_t::ubjson,number)&&sax->number_integer(number); +} + +case'd': +{ +floatnumber{}; +returnget_number(input_format_t::ubjson,number)&&sax->number_float(static_cast<number_float_t>(number),""); +} + +case'D': +{ +doublenumber{}; +returnget_number(input_format_t::ubjson,number)&&sax->number_float(static_cast<number_float_t>(number),""); +} + +case'H': +{ +returnget_ubjson_high_precision_number(); +} + +case'C'://char +{ +get(); +if(JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson,"char"))) +{ +returnfalse; +} +if(JSON_HEDLEY_UNLIKELY(current>127)) +{ +autolast_token=get_token_string(); +returnsax->parse_error(chars_read,last_token,parse_error::create(113,chars_read,exception_message(input_format_t::ubjson,"byteafter'C'mustbeinrange0x00..0x7F;lastbyte:0x"+last_token,"char"),BasicJsonType())); +} +string_ts(1,static_cast<typenamestring_t::value_type>(current)); +returnsax->string(s); +} + +case'S'://string +{ +string_ts; +returnget_ubjson_string(s)&&sax->string(s); +} + +case'['://array +returnget_ubjson_array(); + +case'{'://object +returnget_ubjson_object(); + +default://anythingelse +{ +autolast_token=get_token_string(); +returnsax->parse_error(chars_read,last_token,parse_error::create(112,chars_read,exception_message(input_format_t::ubjson,"invalidbyte:0x"+last_token,"value"),BasicJsonType())); +} +} +} + +boolget_ubjson_array() +{ +std::pair<std::size_t,char_int_type>size_and_type; +if(JSON_HEDLEY_UNLIKELY(!get_ubjson_size_type(size_and_type))) +{ +returnfalse; +} + +if(size_and_type.first!=string_t::npos) +{ +if(JSON_HEDLEY_UNLIKELY(!sax->start_array(size_and_type.first))) +{ +returnfalse; +} + +if(size_and_type.second!=0) +{ +if(size_and_type.second!='N') +{ +for(std::size_ti=0;i<size_and_type.first;++i) +{ +if(JSON_HEDLEY_UNLIKELY(!get_ubjson_value(size_and_type.second))) +{ +returnfalse; +} +} +} +} +else +{ +for(std::size_ti=0;i<size_and_type.first;++i) +{ +if(JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal())) +{ +returnfalse; +} +} +} +} +else +{ +if(JSON_HEDLEY_UNLIKELY(!sax->start_array(std::size_t(-1)))) +{ +returnfalse; +} + +while(current!=']') +{ +if(JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal(false))) +{ +returnfalse; +} +get_ignore_noop(); +} +} + +returnsax->end_array(); +} + +boolget_ubjson_object() +{ +std::pair<std::size_t,char_int_type>size_and_type; +if(JSON_HEDLEY_UNLIKELY(!get_ubjson_size_type(size_and_type))) +{ +returnfalse; +} + +string_tkey; +if(size_and_type.first!=string_t::npos) +{ +if(JSON_HEDLEY_UNLIKELY(!sax->start_object(size_and_type.first))) +{ +returnfalse; +} + +if(size_and_type.second!=0) +{ +for(std::size_ti=0;i<size_and_type.first;++i) +{ +if(JSON_HEDLEY_UNLIKELY(!get_ubjson_string(key)||!sax->key(key))) +{ +returnfalse; +} +if(JSON_HEDLEY_UNLIKELY(!get_ubjson_value(size_and_type.second))) +{ +returnfalse; +} +key.clear(); +} +} +else +{ +for(std::size_ti=0;i<size_and_type.first;++i) +{ +if(JSON_HEDLEY_UNLIKELY(!get_ubjson_string(key)||!sax->key(key))) +{ +returnfalse; +} +if(JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal())) +{ +returnfalse; +} +key.clear(); +} +} +} +else +{ +if(JSON_HEDLEY_UNLIKELY(!sax->start_object(std::size_t(-1)))) +{ +returnfalse; +} + +while(current!='}') +{ +if(JSON_HEDLEY_UNLIKELY(!get_ubjson_string(key,false)||!sax->key(key))) +{ +returnfalse; +} +if(JSON_HEDLEY_UNLIKELY(!parse_ubjson_internal())) +{ +returnfalse; +} +get_ignore_noop(); +key.clear(); +} +} + +returnsax->end_object(); +} + +//Note,noreaderforUBJSONbinarytypesisimplementedbecausetheydo +//notexist + +boolget_ubjson_high_precision_number() +{ +//getsizeoffollowingnumberstring +std::size_tsize{}; +autores=get_ubjson_size_value(size); +if(JSON_HEDLEY_UNLIKELY(!res)) +{ +returnres; +} + +//getnumberstring +std::vector<char>number_vector; +for(std::size_ti=0;i<size;++i) +{ +get(); +if(JSON_HEDLEY_UNLIKELY(!unexpect_eof(input_format_t::ubjson,"number"))) +{ +returnfalse; +} +number_vector.push_back(static_cast<char>(current)); +} + +//parsenumberstring +usingia_type=decltype(detail::input_adapter(number_vector)); +autonumber_lexer=detail::lexer<BasicJsonType, ia_type>(detail::input_adapter(number_vector),false); +constautoresult_number=number_lexer.scan(); +constautonumber_string=number_lexer.get_token_string(); +constautoresult_remainder=number_lexer.scan(); + +usingtoken_type=typenamedetail::lexer_base<BasicJsonType>::token_type; + +if(JSON_HEDLEY_UNLIKELY(result_remainder!=token_type::end_of_input)) +{ +returnsax->parse_error(chars_read,number_string,parse_error::create(115,chars_read,exception_message(input_format_t::ubjson,"invalidnumbertext:"+number_lexer.get_token_string(),"high-precisionnumber"),BasicJsonType())); +} + +switch(result_number) +{ +casetoken_type::value_integer: +returnsax->number_integer(number_lexer.get_number_integer()); +casetoken_type::value_unsigned: +returnsax->number_unsigned(number_lexer.get_number_unsigned()); +casetoken_type::value_float: +returnsax->number_float(number_lexer.get_number_float(),std::move(number_string)); +default: +returnsax->parse_error(chars_read,number_string,parse_error::create(115,chars_read,exception_message(input_format_t::ubjson,"invalidnumbertext:"+number_lexer.get_token_string(),"high-precisionnumber"),BasicJsonType())); +} +} + +//Utilityfunctions// + +char_int_typeget() +{ +++chars_read; +returncurrent=ia.get_character(); +} + +char_int_typeget_ignore_noop() +{ +do +{ +get(); +} +while(current=='N'); + +returncurrent; +} + +/* +@briefreadanumberfromtheinput + +@tparamNumberTypethetypeofthenumber +@param[in]formatthecurrentformat(fordiagnostics) +@param[out]resultnumberoftype@aNumberType + +@returnwhetherconversioncompleted + +@noteThisfunctionneedstorespectthesystem'sendianess,because +bytesinCBOR,MessagePack,andUBJSONarestoredinnetworkorder +(bigendian)andthereforeneedreorderingonlittleendiansystems. +*/ +template<typenameNumberType,boolInputIsLittleEndian=false> +boolget_number(constinput_format_tformat,NumberType&result) +{ +//step1:readinputintoarraywithsystem'sbyteorder +std::array<std::uint8_t,sizeof(NumberType)>vec{}; +for(std::size_ti=0;i<sizeof(NumberType);++i) +{ +get(); +if(JSON_HEDLEY_UNLIKELY(!unexpect_eof(format,"number"))) +{ +returnfalse; +} + +//reversebyteorderpriortoconversionifnecessary +if(is_little_endian!=InputIsLittleEndian) +{ +vec[sizeof(NumberType)-i-1]=static_cast<std::uint8_t>(current); +} +else +{ +vec[i]=static_cast<std::uint8_t>(current);//LCOV_EXCL_LINE +} +} + +//step2:convertarrayintonumberoftypeTandreturn +std::memcpy(&result,vec.data(),sizeof(NumberType)); +returntrue; +} + +template<typenameNumberType> +boolget_string(constinput_format_tformat, +constNumberTypelen, +string_t&result) +{ +boolsuccess=true; +for(NumberTypei=0;i<len;i++) +{ +get(); +if(JSON_HEDLEY_UNLIKELY(!unexpect_eof(format,"string"))) +{ +success=false; +break; +} +result.push_back(static_cast<typenamestring_t::value_type>(current)); +} +returnsuccess; +} + +template<typenameNumberType> +boolget_binary(constinput_format_tformat, +constNumberTypelen, +binary_t&result) +{ +boolsuccess=true; +for(NumberTypei=0;i<len;i++) +{ +get(); +if(JSON_HEDLEY_UNLIKELY(!unexpect_eof(format,"binary"))) +{ +success=false; +break; +} +result.push_back(static_cast<std::uint8_t>(current)); +} +returnsuccess; +} + +JSON_HEDLEY_NON_NULL(3) +boolunexpect_eof(constinput_format_tformat,constchar*context)const +{ +if(JSON_HEDLEY_UNLIKELY(current==std::char_traits<char_type>::eof())) +{ +returnsax->parse_error(chars_read,"<endoffile>", +parse_error::create(110,chars_read,exception_message(format,"unexpectedendofinput",context),BasicJsonType())); +} +returntrue; +} + +std::stringget_token_string()const +{ +std::array<char,3>cr{{}}; +(std::snprintf)(cr.data(),cr.size(),"%.2hhX",static_cast<unsignedchar>(current));//NOLINT(cppcoreguidelines-pro-type-vararg,hicpp-vararg) +returnstd::string{cr.data()}; +} + +std::stringexception_message(constinput_format_tformat, +conststd::string&detail, +conststd::string&context)const +{ +std::stringerror_msg="syntaxerrorwhileparsing"; + +switch(format) +{ +caseinput_format_t::cbor: +error_msg+="CBOR"; +break; + +caseinput_format_t::msgpack: +error_msg+="MessagePack"; +break; + +caseinput_format_t::ubjson: +error_msg+="UBJSON"; +break; + +caseinput_format_t::bson: +error_msg+="BSON"; +break; + +default://LCOV_EXCL_LINE +JSON_ASSERT(false);//NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert)LCOV_EXCL_LINE +} + +returnerror_msg+""+context+":"+detail; +} + +private: +InputAdapterTypeia; + +char_int_typecurrent=std::char_traits<char_type>::eof(); + +std::size_tchars_read=0; + +constboolis_little_endian=little_endianess(); + +json_sax_t*sax=nullptr; +}; +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/input/input_adapters.hpp> + +//#include<nlohmann/detail/input/lexer.hpp> + +//#include<nlohmann/detail/input/parser.hpp> + + +#include<cmath>//isfinite +#include<cstdint>//uint8_t +#include<functional>//function +#include<string>//string +#include<utility>//move +#include<vector>//vector + +//#include<nlohmann/detail/exceptions.hpp> + +//#include<nlohmann/detail/input/input_adapters.hpp> + +//#include<nlohmann/detail/input/json_sax.hpp> + +//#include<nlohmann/detail/input/lexer.hpp> + +//#include<nlohmann/detail/macro_scope.hpp> + +//#include<nlohmann/detail/meta/is_sax.hpp> + +//#include<nlohmann/detail/value_t.hpp> + + +namespacenlohmann +{ +namespacedetail +{ +//parser// + +enumclassparse_event_t:uint8_t +{ +object_start, +object_end, +array_start, +array_end, +key, +value +}; + +template<typenameBasicJsonType> +usingparser_callback_t= +std::function<bool(int/*depth*/,parse_event_t/*event*/,BasicJsonType&/*parsed*/)>; + +template<typenameBasicJsonType,typenameInputAdapterType> +classparser +{ +usingnumber_integer_t=typenameBasicJsonType::number_integer_t; +usingnumber_unsigned_t=typenameBasicJsonType::number_unsigned_t; +usingnumber_float_t=typenameBasicJsonType::number_float_t; +usingstring_t=typenameBasicJsonType::string_t; +usinglexer_t=lexer<BasicJsonType, InputAdapterType>; +usingtoken_type=typenamelexer_t::token_type; + +public: +explicitparser(InputAdapterType&&adapter, +constparser_callback_t<BasicJsonType>cb=nullptr, +constboolallow_exceptions_=true, +constboolskip_comments=false) +:callback(cb) +,m_lexer(std::move(adapter),skip_comments) +,allow_exceptions(allow_exceptions_) +{ +//readfirsttoken +get_token(); +} + +voidparse(constboolstrict,BasicJsonType&result) +{ +if(callback) +{ +json_sax_dom_callback_parser<BasicJsonType>sdp(result,callback,allow_exceptions); +sax_parse_internal(&sdp); + +//instrictmode,inputmustbecompletelyread +if(strict&&(get_token()!=token_type::end_of_input)) +{ +sdp.parse_error(m_lexer.get_position(), +m_lexer.get_token_string(), +parse_error::create(101,m_lexer.get_position(), +exception_message(token_type::end_of_input,"value"),BasicJsonType())); +} + +//incaseofanerror,returndiscardedvalue +if(sdp.is_errored()) +{ +result=value_t::discarded; +return; +} + +//settop-levelvaluetonullifitwasdiscardedbythecallback +//function +if(result.is_discarded()) +{ +result=nullptr; +} +} +else +{ +json_sax_dom_parser<BasicJsonType>sdp(result,allow_exceptions); +sax_parse_internal(&sdp); + +//instrictmode,inputmustbecompletelyread +if(strict&&(get_token()!=token_type::end_of_input)) +{ +sdp.parse_error(m_lexer.get_position(), +m_lexer.get_token_string(), +parse_error::create(101,m_lexer.get_position(),exception_message(token_type::end_of_input,"value"),BasicJsonType())); +} + +//incaseofanerror,returndiscardedvalue +if(sdp.is_errored()) +{ +result=value_t::discarded; +return; +} +} + +result.assert_invariant(); +} + +boolaccept(constboolstrict=true) +{ +json_sax_acceptor<BasicJsonType>sax_acceptor; +returnsax_parse(&sax_acceptor,strict); +} + +template<typenameSAX> +JSON_HEDLEY_NON_NULL(2) +boolsax_parse(SAX*sax,constboolstrict=true) +{ +(void)detail::is_sax_static_asserts<SAX, BasicJsonType>{}; +constboolresult=sax_parse_internal(sax); + +//strictmode:nextbytemustbeEOF +if(result&&strict&&(get_token()!=token_type::end_of_input)) +{ +returnsax->parse_error(m_lexer.get_position(), +m_lexer.get_token_string(), +parse_error::create(101,m_lexer.get_position(),exception_message(token_type::end_of_input,"value"),BasicJsonType())); +} + +returnresult; +} + +private: +template<typenameSAX> +JSON_HEDLEY_NON_NULL(2) +boolsax_parse_internal(SAX*sax) +{ +//stacktorememberthehierarchyofstructuredvaluesweareparsing +//true=array;false=object +std::vector<bool>states; +//valuetoavoidagoto(seecommentwheresettotrue) +boolskip_to_state_evaluation=false; + +while(true) +{ +if(!skip_to_state_evaluation) +{ +//invariant:get_token()wascalledbeforeeachiteration +switch(last_token) +{ +casetoken_type::begin_object: +{ +if(JSON_HEDLEY_UNLIKELY(!sax->start_object(std::size_t(-1)))) +{ +returnfalse; +} + +//closing}->wearedone +if(get_token()==token_type::end_object) +{ +if(JSON_HEDLEY_UNLIKELY(!sax->end_object())) +{ +returnfalse; +} +break; +} + +//parsekey +if(JSON_HEDLEY_UNLIKELY(last_token!=token_type::value_string)) +{ +returnsax->parse_error(m_lexer.get_position(), +m_lexer.get_token_string(), +parse_error::create(101,m_lexer.get_position(),exception_message(token_type::value_string,"objectkey"),BasicJsonType())); +} +if(JSON_HEDLEY_UNLIKELY(!sax->key(m_lexer.get_string()))) +{ +returnfalse; +} + +//parseseparator(:) +if(JSON_HEDLEY_UNLIKELY(get_token()!=token_type::name_separator)) +{ +returnsax->parse_error(m_lexer.get_position(), +m_lexer.get_token_string(), +parse_error::create(101,m_lexer.get_position(),exception_message(token_type::name_separator,"objectseparator"),BasicJsonType())); +} + +//rememberwearenowinsideanobject +states.push_back(false); + +//parsevalues +get_token(); +continue; +} + +casetoken_type::begin_array: +{ +if(JSON_HEDLEY_UNLIKELY(!sax->start_array(std::size_t(-1)))) +{ +returnfalse; +} + +//closing]->wearedone +if(get_token()==token_type::end_array) +{ +if(JSON_HEDLEY_UNLIKELY(!sax->end_array())) +{ +returnfalse; +} +break; +} + +//rememberwearenowinsideanarray +states.push_back(true); + +//parsevalues(noneedtocallget_token) +continue; +} + +casetoken_type::value_float: +{ +constautores=m_lexer.get_number_float(); + +if(JSON_HEDLEY_UNLIKELY(!std::isfinite(res))) +{ +returnsax->parse_error(m_lexer.get_position(), +m_lexer.get_token_string(), +out_of_range::create(406,"numberoverflowparsing'"+m_lexer.get_token_string()+"'",BasicJsonType())); +} + +if(JSON_HEDLEY_UNLIKELY(!sax->number_float(res,m_lexer.get_string()))) +{ +returnfalse; +} + +break; +} + +casetoken_type::literal_false: +{ +if(JSON_HEDLEY_UNLIKELY(!sax->boolean(false))) +{ +returnfalse; +} +break; +} + +casetoken_type::literal_null: +{ +if(JSON_HEDLEY_UNLIKELY(!sax->null())) +{ +returnfalse; +} +break; +} + +casetoken_type::literal_true: +{ +if(JSON_HEDLEY_UNLIKELY(!sax->boolean(true))) +{ +returnfalse; +} +break; +} + +casetoken_type::value_integer: +{ +if(JSON_HEDLEY_UNLIKELY(!sax->number_integer(m_lexer.get_number_integer()))) +{ +returnfalse; +} +break; +} + +casetoken_type::value_string: +{ +if(JSON_HEDLEY_UNLIKELY(!sax->string(m_lexer.get_string()))) +{ +returnfalse; +} +break; +} + +casetoken_type::value_unsigned: +{ +if(JSON_HEDLEY_UNLIKELY(!sax->number_unsigned(m_lexer.get_number_unsigned()))) +{ +returnfalse; +} +break; +} + +casetoken_type::parse_error: +{ +//using"uninitialized"toavoid"expected"message +returnsax->parse_error(m_lexer.get_position(), +m_lexer.get_token_string(), +parse_error::create(101,m_lexer.get_position(),exception_message(token_type::uninitialized,"value"),BasicJsonType())); +} + +default://thelasttokenwasunexpected +{ +returnsax->parse_error(m_lexer.get_position(), +m_lexer.get_token_string(), +parse_error::create(101,m_lexer.get_position(),exception_message(token_type::literal_or_value,"value"),BasicJsonType())); +} +} +} +else +{ +skip_to_state_evaluation=false; +} + +//wereachedthislineafterwesuccessfullyparsedavalue +if(states.empty()) +{ +//emptystack:wereachedtheendofthehierarchy:done +returntrue; +} + +if(states.back())//array +{ +//comma->nextvalue +if(get_token()==token_type::value_separator) +{ +//parseanewvalue +get_token(); +continue; +} + +//closing] +if(JSON_HEDLEY_LIKELY(last_token==token_type::end_array)) +{ +if(JSON_HEDLEY_UNLIKELY(!sax->end_array())) +{ +returnfalse; +} + +//Wearedonewiththisarray.Beforewecanparsea +//newvalue,weneedtoevaluatethenewstatefirst. +//Bysettingskip_to_state_evaluationtofalse,we +//areeffectivelyjumpingtothebeginningofthisif. +JSON_ASSERT(!states.empty()); +states.pop_back(); +skip_to_state_evaluation=true; +continue; +} + +returnsax->parse_error(m_lexer.get_position(), +m_lexer.get_token_string(), +parse_error::create(101,m_lexer.get_position(),exception_message(token_type::end_array,"array"),BasicJsonType())); +} + +//states.back()isfalse->object + +//comma->nextvalue +if(get_token()==token_type::value_separator) +{ +//parsekey +if(JSON_HEDLEY_UNLIKELY(get_token()!=token_type::value_string)) +{ +returnsax->parse_error(m_lexer.get_position(), +m_lexer.get_token_string(), +parse_error::create(101,m_lexer.get_position(),exception_message(token_type::value_string,"objectkey"),BasicJsonType())); +} + +if(JSON_HEDLEY_UNLIKELY(!sax->key(m_lexer.get_string()))) +{ +returnfalse; +} + +//parseseparator(:) +if(JSON_HEDLEY_UNLIKELY(get_token()!=token_type::name_separator)) +{ +returnsax->parse_error(m_lexer.get_position(), +m_lexer.get_token_string(), +parse_error::create(101,m_lexer.get_position(),exception_message(token_type::name_separator,"objectseparator"),BasicJsonType())); +} + +//parsevalues +get_token(); +continue; +} + +//closing} +if(JSON_HEDLEY_LIKELY(last_token==token_type::end_object)) +{ +if(JSON_HEDLEY_UNLIKELY(!sax->end_object())) +{ +returnfalse; +} + +//Wearedonewiththisobject.Beforewecanparsea +//newvalue,weneedtoevaluatethenewstatefirst. +//Bysettingskip_to_state_evaluationtofalse,we +//areeffectivelyjumpingtothebeginningofthisif. +JSON_ASSERT(!states.empty()); +states.pop_back(); +skip_to_state_evaluation=true; +continue; +} + +returnsax->parse_error(m_lexer.get_position(), +m_lexer.get_token_string(), +parse_error::create(101,m_lexer.get_position(),exception_message(token_type::end_object,"object"),BasicJsonType())); +} +} + +token_typeget_token() +{ +returnlast_token=m_lexer.scan(); +} + +std::stringexception_message(consttoken_typeexpected,conststd::string&context) +{ +std::stringerror_msg="syntaxerror"; + +if(!context.empty()) +{ +error_msg+="whileparsing"+context+""; +} + +error_msg+="-"; + +if(last_token==token_type::parse_error) +{ +error_msg+=std::string(m_lexer.get_error_message())+";lastread:'"+ +m_lexer.get_token_string()+"'"; +} +else +{ +error_msg+="unexpected"+std::string(lexer_t::token_type_name(last_token)); +} + +if(expected!=token_type::uninitialized) +{ +error_msg+=";expected"+std::string(lexer_t::token_type_name(expected)); +} + +returnerror_msg; +} + +private: +constparser_callback_t<BasicJsonType>callback=nullptr; +token_typelast_token=token_type::uninitialized; +lexer_tm_lexer; +constboolallow_exceptions=true; +}; + +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/iterators/internal_iterator.hpp> + + +//#include<nlohmann/detail/iterators/primitive_iterator.hpp> + + +#include<cstddef>//ptrdiff_t +#include<limits>//numeric_limits + +//#include<nlohmann/detail/macro_scope.hpp> + + +namespacenlohmann +{ +namespacedetail +{ +/* +@briefaniteratorforprimitiveJSONtypes + +ThisclassmodelsaniteratorforprimitiveJSONtypes(boolean,number, +string).It'sonlypurposeistoallowtheiterator/const_iteratorclasses +to"iterate"overprimitivevalues.Internally,theiteratorismodeledby +a`difference_type`variable.Valuebegin_value(`0`)modelsthebegin, +end_value(`1`)modelspasttheend. +*/ +classprimitive_iterator_t +{ +private: +usingdifference_type=std::ptrdiff_t; +staticconstexprdifference_typebegin_value=0; +staticconstexprdifference_typeend_value=begin_value+1; + +JSON_PRIVATE_UNLESS_TESTED: +difference_typem_it=(std::numeric_limits<std::ptrdiff_t>::min)(); + +public: +constexprdifference_typeget_value()constnoexcept +{ +returnm_it; +} + +voidset_begin()noexcept +{ +m_it=begin_value; +} + +voidset_end()noexcept +{ +m_it=end_value; +} + +constexprboolis_begin()constnoexcept +{ +returnm_it==begin_value; +} + +constexprboolis_end()constnoexcept +{ +returnm_it==end_value; +} + +friendconstexprbooloperator==(primitive_iterator_tlhs,primitive_iterator_trhs)noexcept +{ +returnlhs.m_it==rhs.m_it; +} + +friendconstexprbooloperator<(primitive_iterator_tlhs,primitive_iterator_trhs)noexcept +{ +returnlhs.m_it<rhs.m_it; +} + +primitive_iterator_toperator+(difference_typen)noexcept +{ +autoresult=*this; +result+=n; +returnresult; +} + +friendconstexprdifference_typeoperator-(primitive_iterator_tlhs,primitive_iterator_trhs)noexcept +{ +returnlhs.m_it-rhs.m_it; +} + +primitive_iterator_t&operator++()noexcept +{ +++m_it; +return*this; +} + +primitive_iterator_tconstoperator++(int)noexcept//NOLINT(readability-const-return-type) +{ +autoresult=*this; +++m_it; +returnresult; +} + +primitive_iterator_t&operator--()noexcept +{ +--m_it; +return*this; +} + +primitive_iterator_tconstoperator--(int)noexcept//NOLINT(readability-const-return-type) +{ +autoresult=*this; +--m_it; +returnresult; +} + +primitive_iterator_t&operator+=(difference_typen)noexcept +{ +m_it+=n; +return*this; +} + +primitive_iterator_t&operator-=(difference_typen)noexcept +{ +m_it-=n; +return*this; +} +}; +}//namespacedetail +}//namespacenlohmann + + +namespacenlohmann +{ +namespacedetail +{ +template<typenameBasicJsonType>structinternal_iterator +{ +typenameBasicJsonType::object_t::iteratorobject_iterator{}; +typenameBasicJsonType::array_t::iteratorarray_iterator{}; +primitive_iterator_tprimitive_iterator{}; +}; +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/iterators/iter_impl.hpp> + + +#include<iterator>//iterator,random_access_iterator_tag,bidirectional_iterator_tag,advance,next +#include<type_traits>//conditional,is_const,remove_const + +//#include<nlohmann/detail/exceptions.hpp> + +//#include<nlohmann/detail/iterators/internal_iterator.hpp> + +//#include<nlohmann/detail/iterators/primitive_iterator.hpp> + +//#include<nlohmann/detail/macro_scope.hpp> + +//#include<nlohmann/detail/meta/cpp_future.hpp> + +//#include<nlohmann/detail/meta/type_traits.hpp> + +//#include<nlohmann/detail/value_t.hpp> + + +namespacenlohmann +{ +namespacedetail +{ +//forwarddeclare,tobeabletofrienditlateron +template<typenameIteratorType>classiteration_proxy; +template<typenameIteratorType>classiteration_proxy_value; + +template<typenameBasicJsonType> +classiter_impl +{ +usingother_iter_impl=iter_impl<typename std::conditional<std::is_const<BasicJsonType>::value,typenamestd::remove_const<BasicJsonType>::type,constBasicJsonType>::type>; +friendother_iter_impl; +friendBasicJsonType; +frienditeration_proxy<iter_impl>; +frienditeration_proxy_value<iter_impl>; + +usingobject_t=typenameBasicJsonType::object_t; +usingarray_t=typenameBasicJsonType::array_t; +//makesureBasicJsonTypeisbasic_jsonorconstbasic_json +static_assert(is_basic_json<typenamestd::remove_const<BasicJsonType>::type>::value, +"iter_implonlyaccepts(const)basic_json"); + +public: + +usingiterator_category=std::bidirectional_iterator_tag; + +usingvalue_type=typenameBasicJsonType::value_type; +usingdifference_type=typenameBasicJsonType::difference_type; +usingpointer=typenamestd::conditional<std::is_const<BasicJsonType>::value, +typenameBasicJsonType::const_pointer, +typenameBasicJsonType::pointer>::type; +usingreference= +typenamestd::conditional<std::is_const<BasicJsonType>::value, +typenameBasicJsonType::const_reference, +typenameBasicJsonType::reference>::type; + +iter_impl()=default; +~iter_impl()=default; +iter_impl(iter_impl&&)noexcept=default; +iter_impl&operator=(iter_impl&&)noexcept=default; + +explicititer_impl(pointerobject)noexcept:m_object(object) +{ +JSON_ASSERT(m_object!=nullptr); + +switch(m_object->m_type) +{ +casevalue_t::object: +{ +m_it.object_iterator=typenameobject_t::iterator(); +break; +} + +casevalue_t::array: +{ +m_it.array_iterator=typenamearray_t::iterator(); +break; +} + +default: +{ +m_it.primitive_iterator=primitive_iterator_t(); +break; +} +} +} + +iter_impl(constiter_impl<const BasicJsonType>&other)noexcept +:m_object(other.m_object),m_it(other.m_it) +{} + +iter_impl&operator=(constiter_impl<const BasicJsonType>&other)noexcept +{ +if(&other!=this) +{ +m_object=other.m_object; +m_it=other.m_it; +} +return*this; +} + +iter_impl(constiter_impl<typenamestd::remove_const<BasicJsonType>::type>&other)noexcept +:m_object(other.m_object),m_it(other.m_it) +{} + +iter_impl&operator=(constiter_impl<typenamestd::remove_const<BasicJsonType>::type>&other)noexcept//NOLINT(cert-oop54-cpp) +{ +m_object=other.m_object; +m_it=other.m_it; +return*this; +} + +JSON_PRIVATE_UNLESS_TESTED: +voidset_begin()noexcept +{ +JSON_ASSERT(m_object!=nullptr); + +switch(m_object->m_type) +{ +casevalue_t::object: +{ +m_it.object_iterator=m_object->m_value.object->begin(); +break; +} + +casevalue_t::array: +{ +m_it.array_iterator=m_object->m_value.array->begin(); +break; +} + +casevalue_t::null: +{ +//settoendsobegin()==end()istrue:nullisempty +m_it.primitive_iterator.set_end(); +break; +} + +default: +{ +m_it.primitive_iterator.set_begin(); +break; +} +} +} + +voidset_end()noexcept +{ +JSON_ASSERT(m_object!=nullptr); + +switch(m_object->m_type) +{ +casevalue_t::object: +{ +m_it.object_iterator=m_object->m_value.object->end(); +break; +} + +casevalue_t::array: +{ +m_it.array_iterator=m_object->m_value.array->end(); +break; +} + +default: +{ +m_it.primitive_iterator.set_end(); +break; +} +} +} + +public: +referenceoperator*()const +{ +JSON_ASSERT(m_object!=nullptr); + +switch(m_object->m_type) +{ +casevalue_t::object: +{ +JSON_ASSERT(m_it.object_iterator!=m_object->m_value.object->end()); +returnm_it.object_iterator->second; +} + +casevalue_t::array: +{ +JSON_ASSERT(m_it.array_iterator!=m_object->m_value.array->end()); +return*m_it.array_iterator; +} + +casevalue_t::null: +JSON_THROW(invalid_iterator::create(214,"cannotgetvalue",*m_object)); + +default: +{ +if(JSON_HEDLEY_LIKELY(m_it.primitive_iterator.is_begin())) +{ +return*m_object; +} + +JSON_THROW(invalid_iterator::create(214,"cannotgetvalue",*m_object)); +} +} +} + +pointeroperator->()const +{ +JSON_ASSERT(m_object!=nullptr); + +switch(m_object->m_type) +{ +casevalue_t::object: +{ +JSON_ASSERT(m_it.object_iterator!=m_object->m_value.object->end()); +return&(m_it.object_iterator->second); +} + +casevalue_t::array: +{ +JSON_ASSERT(m_it.array_iterator!=m_object->m_value.array->end()); +return&*m_it.array_iterator; +} + +default: +{ +if(JSON_HEDLEY_LIKELY(m_it.primitive_iterator.is_begin())) +{ +returnm_object; +} + +JSON_THROW(invalid_iterator::create(214,"cannotgetvalue",*m_object)); +} +} +} + +iter_implconstoperator++(int)//NOLINT(readability-const-return-type) +{ +autoresult=*this; +++(*this); +returnresult; +} + +iter_impl&operator++() +{ +JSON_ASSERT(m_object!=nullptr); + +switch(m_object->m_type) +{ +casevalue_t::object: +{ +std::advance(m_it.object_iterator,1); +break; +} + +casevalue_t::array: +{ +std::advance(m_it.array_iterator,1); +break; +} + +default: +{ +++m_it.primitive_iterator; +break; +} +} + +return*this; +} + +iter_implconstoperator--(int)//NOLINT(readability-const-return-type) +{ +autoresult=*this; +--(*this); +returnresult; +} + +iter_impl&operator--() +{ +JSON_ASSERT(m_object!=nullptr); + +switch(m_object->m_type) +{ +casevalue_t::object: +{ +std::advance(m_it.object_iterator,-1); +break; +} + +casevalue_t::array: +{ +std::advance(m_it.array_iterator,-1); +break; +} + +default: +{ +--m_it.primitive_iterator; +break; +} +} + +return*this; +} + +template<typenameIterImpl,detail::enable_if_t<(std::is_same<IterImpl,iter_impl>::value||std::is_same<IterImpl,other_iter_impl>::value),std::nullptr_t>=nullptr> +booloperator==(constIterImpl&other)const +{ +//ifobjectsarenotthesame,thecomparisonisundefined +if(JSON_HEDLEY_UNLIKELY(m_object!=other.m_object)) +{ +JSON_THROW(invalid_iterator::create(212,"cannotcompareiteratorsofdifferentcontainers",*m_object)); +} + +JSON_ASSERT(m_object!=nullptr); + +switch(m_object->m_type) +{ +casevalue_t::object: +return(m_it.object_iterator==other.m_it.object_iterator); + +casevalue_t::array: +return(m_it.array_iterator==other.m_it.array_iterator); + +default: +return(m_it.primitive_iterator==other.m_it.primitive_iterator); +} +} + +template<typenameIterImpl,detail::enable_if_t<(std::is_same<IterImpl,iter_impl>::value||std::is_same<IterImpl,other_iter_impl>::value),std::nullptr_t>=nullptr> +booloperator!=(constIterImpl&other)const +{ +return!operator==(other); +} + +booloperator<(constiter_impl&other)const +{ +//ifobjectsarenotthesame,thecomparisonisundefined +if(JSON_HEDLEY_UNLIKELY(m_object!=other.m_object)) +{ +JSON_THROW(invalid_iterator::create(212,"cannotcompareiteratorsofdifferentcontainers",*m_object)); +} + +JSON_ASSERT(m_object!=nullptr); + +switch(m_object->m_type) +{ +casevalue_t::object: +JSON_THROW(invalid_iterator::create(213,"cannotcompareorderofobjectiterators",*m_object)); + +casevalue_t::array: +return(m_it.array_iterator<other.m_it.array_iterator); + +default: +return(m_it.primitive_iterator<other.m_it.primitive_iterator); +} +} + +booloperator<=(constiter_impl&other)const +{ +return!other.operator<(*this); +} + +booloperator>(constiter_impl&other)const +{ +return!operator<=(other); +} + +booloperator>=(constiter_impl&other)const +{ +return!operator<(other); +} + +iter_impl&operator+=(difference_typei) +{ +JSON_ASSERT(m_object!=nullptr); + +switch(m_object->m_type) +{ +casevalue_t::object: +JSON_THROW(invalid_iterator::create(209,"cannotuseoffsetswithobjectiterators",*m_object)); + +casevalue_t::array: +{ +std::advance(m_it.array_iterator,i); +break; +} + +default: +{ +m_it.primitive_iterator+=i; +break; +} +} + +return*this; +} + +iter_impl&operator-=(difference_typei) +{ +returnoperator+=(-i); +} + +iter_imploperator+(difference_typei)const +{ +autoresult=*this; +result+=i; +returnresult; +} + +frienditer_imploperator+(difference_typei,constiter_impl&it) +{ +autoresult=it; +result+=i; +returnresult; +} + +iter_imploperator-(difference_typei)const +{ +autoresult=*this; +result-=i; +returnresult; +} + +difference_typeoperator-(constiter_impl&other)const +{ +JSON_ASSERT(m_object!=nullptr); + +switch(m_object->m_type) +{ +casevalue_t::object: +JSON_THROW(invalid_iterator::create(209,"cannotuseoffsetswithobjectiterators",*m_object)); + +casevalue_t::array: +returnm_it.array_iterator-other.m_it.array_iterator; + +default: +returnm_it.primitive_iterator-other.m_it.primitive_iterator; +} +} + +referenceoperator[](difference_typen)const +{ +JSON_ASSERT(m_object!=nullptr); + +switch(m_object->m_type) +{ +casevalue_t::object: +JSON_THROW(invalid_iterator::create(208,"cannotuseoperator[]forobjectiterators",*m_object)); + +casevalue_t::array: +return*std::next(m_it.array_iterator,n); + +casevalue_t::null: +JSON_THROW(invalid_iterator::create(214,"cannotgetvalue",*m_object)); + +default: +{ +if(JSON_HEDLEY_LIKELY(m_it.primitive_iterator.get_value()==-n)) +{ +return*m_object; +} + +JSON_THROW(invalid_iterator::create(214,"cannotgetvalue",*m_object)); +} +} +} + +consttypenameobject_t::key_type&key()const +{ +JSON_ASSERT(m_object!=nullptr); + +if(JSON_HEDLEY_LIKELY(m_object->is_object())) +{ +returnm_it.object_iterator->first; +} + +JSON_THROW(invalid_iterator::create(207,"cannotusekey()fornon-objectiterators",*m_object)); +} + +referencevalue()const +{ +returnoperator*(); +} + +JSON_PRIVATE_UNLESS_TESTED: +pointerm_object=nullptr; +internal_iterator<typename std::remove_const<BasicJsonType>::type>m_it{}; +}; +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/iterators/iteration_proxy.hpp> + +//#include<nlohmann/detail/iterators/json_reverse_iterator.hpp> + + +#include<cstddef>//ptrdiff_t +#include<iterator>//reverse_iterator +#include<utility>//declval + +namespacenlohmann +{ +namespacedetail +{ +//reverse_iterator// + +template<typenameBase> +classjson_reverse_iterator:publicstd::reverse_iterator<Base> +{ +public: +usingdifference_type=std::ptrdiff_t; +usingbase_iterator=std::reverse_iterator<Base>; +usingreference=typenameBase::reference; + +explicitjson_reverse_iterator(consttypenamebase_iterator::iterator_type&it)noexcept +:base_iterator(it){} + +explicitjson_reverse_iterator(constbase_iterator&it)noexcept:base_iterator(it){} + +json_reverse_iteratorconstoperator++(int)//NOLINT(readability-const-return-type) +{ +returnstatic_cast<json_reverse_iterator>(base_iterator::operator++(1)); +} + +json_reverse_iterator&operator++() +{ +returnstatic_cast<json_reverse_iterator&>(base_iterator::operator++()); +} + +json_reverse_iteratorconstoperator--(int)//NOLINT(readability-const-return-type) +{ +returnstatic_cast<json_reverse_iterator>(base_iterator::operator--(1)); +} + +json_reverse_iterator&operator--() +{ +returnstatic_cast<json_reverse_iterator&>(base_iterator::operator--()); +} + +json_reverse_iterator&operator+=(difference_typei) +{ +returnstatic_cast<json_reverse_iterator&>(base_iterator::operator+=(i)); +} + +json_reverse_iteratoroperator+(difference_typei)const +{ +returnstatic_cast<json_reverse_iterator>(base_iterator::operator+(i)); +} + +json_reverse_iteratoroperator-(difference_typei)const +{ +returnstatic_cast<json_reverse_iterator>(base_iterator::operator-(i)); +} + +difference_typeoperator-(constjson_reverse_iterator&other)const +{ +returnbase_iterator(*this)-base_iterator(other); +} + +referenceoperator[](difference_typen)const +{ +return*(this->operator+(n)); +} + +autokey()const->decltype(std::declval<Base>().key()) +{ +autoit=--this->base(); +returnit.key(); +} + +referencevalue()const +{ +autoit=--this->base(); +returnit.operator*(); +} +}; +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/iterators/primitive_iterator.hpp> + +//#include<nlohmann/detail/json_pointer.hpp> + + +#include<algorithm>//all_of +#include<cctype>//isdigit +#include<limits>//max +#include<numeric>//accumulate +#include<string>//string +#include<utility>//move +#include<vector>//vector + +//#include<nlohmann/detail/exceptions.hpp> + +//#include<nlohmann/detail/macro_scope.hpp> + +//#include<nlohmann/detail/string_escape.hpp> + +//#include<nlohmann/detail/value_t.hpp> + + +namespacenlohmann +{ +template<typenameBasicJsonType> +classjson_pointer +{ +//allowbasic_jsontoaccessprivatemembers +NLOHMANN_BASIC_JSON_TPL_DECLARATION +friendclassbasic_json; + +public: +explicitjson_pointer(conststd::string&s="") +:reference_tokens(split(s)) +{} + +std::stringto_string()const +{ +returnstd::accumulate(reference_tokens.begin(),reference_tokens.end(), +std::string{}, +[](conststd::string&a,conststd::string&b) +{ +returna+"/"+detail::escape(b); +}); +} + +operatorstd::string()const +{ +returnto_string(); +} + +json_pointer&operator/=(constjson_pointer&ptr) +{ +reference_tokens.insert(reference_tokens.end(), +ptr.reference_tokens.begin(), +ptr.reference_tokens.end()); +return*this; +} + +json_pointer&operator/=(std::stringtoken) +{ +push_back(std::move(token)); +return*this; +} + +json_pointer&operator/=(std::size_tarray_idx) +{ +return*this/=std::to_string(array_idx); +} + +friendjson_pointeroperator/(constjson_pointer&lhs, +constjson_pointer&rhs) +{ +returnjson_pointer(lhs)/=rhs; +} + +friendjson_pointeroperator/(constjson_pointer&ptr,std::stringtoken)//NOLINT(performance-unnecessary-value-param) +{ +returnjson_pointer(ptr)/=std::move(token); +} + +friendjson_pointeroperator/(constjson_pointer&ptr,std::size_tarray_idx) +{ +returnjson_pointer(ptr)/=array_idx; +} + +json_pointerparent_pointer()const +{ +if(empty()) +{ +return*this; +} + +json_pointerres=*this; +res.pop_back(); +returnres; +} + +voidpop_back() +{ +if(JSON_HEDLEY_UNLIKELY(empty())) +{ +JSON_THROW(detail::out_of_range::create(405,"JSONpointerhasnoparent",BasicJsonType())); +} + +reference_tokens.pop_back(); +} + +conststd::string&back()const +{ +if(JSON_HEDLEY_UNLIKELY(empty())) +{ +JSON_THROW(detail::out_of_range::create(405,"JSONpointerhasnoparent",BasicJsonType())); +} + +returnreference_tokens.back(); +} + +voidpush_back(conststd::string&token) +{ +reference_tokens.push_back(token); +} + +voidpush_back(std::string&&token) +{ +reference_tokens.push_back(std::move(token)); +} + +boolempty()constnoexcept +{ +returnreference_tokens.empty(); +} + +private: +statictypenameBasicJsonType::size_typearray_index(conststd::string&s) +{ +usingsize_type=typenameBasicJsonType::size_type; + +//errorcondition(cf.RFC6901,Sect.4) +if(JSON_HEDLEY_UNLIKELY(s.size()>1&&s[0]=='0')) +{ +JSON_THROW(detail::parse_error::create(106,0,"arrayindex'"+s+"'mustnotbeginwith'0'",BasicJsonType())); +} + +//errorcondition(cf.RFC6901,Sect.4) +if(JSON_HEDLEY_UNLIKELY(s.size()>1&&!(s[0]>='1'&&s[0]<='9'))) +{ +JSON_THROW(detail::parse_error::create(109,0,"arrayindex'"+s+"'isnotanumber",BasicJsonType())); +} + +std::size_tprocessed_chars=0; +unsignedlonglongres=0;//NOLINT(runtime/int) +JSON_TRY +{ +res=std::stoull(s,&processed_chars); +} +JSON_CATCH(std::out_of_range&) +{ +JSON_THROW(detail::out_of_range::create(404,"unresolvedreferencetoken'"+s+"'",BasicJsonType())); +} + +//checkifthestringwascompletelyread +if(JSON_HEDLEY_UNLIKELY(processed_chars!=s.size())) +{ +JSON_THROW(detail::out_of_range::create(404,"unresolvedreferencetoken'"+s+"'",BasicJsonType())); +} + +//onlytriggeredonspecialplatforms(like32bit),seealso +//https://github.com/nlohmann/json/pull/2203 +if(res>=static_cast<unsignedlonglong>((std::numeric_limits<size_type>::max)()))//NOLINT(runtime/int) +{ +JSON_THROW(detail::out_of_range::create(410,"arrayindex"+s+"exceedssize_type",BasicJsonType()));//LCOV_EXCL_LINE +} + +returnstatic_cast<size_type>(res); +} + +JSON_PRIVATE_UNLESS_TESTED: +json_pointertop()const +{ +if(JSON_HEDLEY_UNLIKELY(empty())) +{ +JSON_THROW(detail::out_of_range::create(405,"JSONpointerhasnoparent",BasicJsonType())); +} + +json_pointerresult=*this; +result.reference_tokens={reference_tokens[0]}; +returnresult; +} + +private: +BasicJsonType&get_and_create(BasicJsonType&j)const +{ +auto*result=&j; + +//incasenoreferencetokensexist,returnareferencetotheJSONvalue +//jwhichwillbeoverwrittenbyaprimitivevalue +for(constauto&reference_token:reference_tokens) +{ +switch(result->type()) +{ +casedetail::value_t::null: +{ +if(reference_token=="0") +{ +//startanewarrayifreferencetokenis0 +result=&result->operator[](0); +} +else +{ +//startanewobjectotherwise +result=&result->operator[](reference_token); +} +break; +} + +casedetail::value_t::object: +{ +//createanentryintheobject +result=&result->operator[](reference_token); +break; +} + +casedetail::value_t::array: +{ +//createanentryinthearray +result=&result->operator[](array_index(reference_token)); +break; +} + +/* +Thefollowingcodeisonlyreachedifthereexistsareference +token_and_thecurrentvalueisprimitive.Inthiscase,wehave +anerrorsituation,becauseprimitivevaluesmayonlyoccuras +singlevalue;thatis,withanemptylistofreferencetokens. +*/ +default: +JSON_THROW(detail::type_error::create(313,"invalidvaluetounflatten",j)); +} +} + +return*result; +} + +BasicJsonType&get_unchecked(BasicJsonType*ptr)const +{ +for(constauto&reference_token:reference_tokens) +{ +//convertnullvaluestoarraysorobjectsbeforecontinuing +if(ptr->is_null()) +{ +//checkifreferencetokenisanumber +constboolnums= +std::all_of(reference_token.begin(),reference_token.end(), +[](constunsignedcharx) +{ +returnstd::isdigit(x); +}); + +//changevaluetoarrayfornumbersor"-"ortoobjectotherwise +*ptr=(nums||reference_token=="-") +?detail::value_t::array +:detail::value_t::object; +} + +switch(ptr->type()) +{ +casedetail::value_t::object: +{ +//useuncheckedobjectaccess +ptr=&ptr->operator[](reference_token); +break; +} + +casedetail::value_t::array: +{ +if(reference_token=="-") +{ +//explicitlytreat"-"asindexbeyondtheend +ptr=&ptr->operator[](ptr->m_value.array->size()); +} +else +{ +//convertarrayindextonumber;uncheckedaccess +ptr=&ptr->operator[](array_index(reference_token)); +} +break; +} + +default: +JSON_THROW(detail::out_of_range::create(404,"unresolvedreferencetoken'"+reference_token+"'",*ptr)); +} +} + +return*ptr; +} + +BasicJsonType&get_checked(BasicJsonType*ptr)const +{ +for(constauto&reference_token:reference_tokens) +{ +switch(ptr->type()) +{ +casedetail::value_t::object: +{ +//note:atperformsrangecheck +ptr=&ptr->at(reference_token); +break; +} + +casedetail::value_t::array: +{ +if(JSON_HEDLEY_UNLIKELY(reference_token=="-")) +{ +//"-"alwaysfailstherangecheck +JSON_THROW(detail::out_of_range::create(402, +"arrayindex'-'("+std::to_string(ptr->m_value.array->size())+ +")isoutofrange",*ptr)); +} + +//note:atperformsrangecheck +ptr=&ptr->at(array_index(reference_token)); +break; +} + +default: +JSON_THROW(detail::out_of_range::create(404,"unresolvedreferencetoken'"+reference_token+"'",*ptr)); +} +} + +return*ptr; +} + +constBasicJsonType&get_unchecked(constBasicJsonType*ptr)const +{ +for(constauto&reference_token:reference_tokens) +{ +switch(ptr->type()) +{ +casedetail::value_t::object: +{ +//useuncheckedobjectaccess +ptr=&ptr->operator[](reference_token); +break; +} + +casedetail::value_t::array: +{ +if(JSON_HEDLEY_UNLIKELY(reference_token=="-")) +{ +//"-"cannotbeusedforconstaccess +JSON_THROW(detail::out_of_range::create(402,"arrayindex'-'("+std::to_string(ptr->m_value.array->size())+")isoutofrange",*ptr)); +} + +//useuncheckedarrayaccess +ptr=&ptr->operator[](array_index(reference_token)); +break; +} + +default: +JSON_THROW(detail::out_of_range::create(404,"unresolvedreferencetoken'"+reference_token+"'",*ptr)); +} +} + +return*ptr; +} + +constBasicJsonType&get_checked(constBasicJsonType*ptr)const +{ +for(constauto&reference_token:reference_tokens) +{ +switch(ptr->type()) +{ +casedetail::value_t::object: +{ +//note:atperformsrangecheck +ptr=&ptr->at(reference_token); +break; +} + +casedetail::value_t::array: +{ +if(JSON_HEDLEY_UNLIKELY(reference_token=="-")) +{ +//"-"alwaysfailstherangecheck +JSON_THROW(detail::out_of_range::create(402, +"arrayindex'-'("+std::to_string(ptr->m_value.array->size())+ +")isoutofrange",*ptr)); +} + +//note:atperformsrangecheck +ptr=&ptr->at(array_index(reference_token)); +break; +} + +default: +JSON_THROW(detail::out_of_range::create(404,"unresolvedreferencetoken'"+reference_token+"'",*ptr)); +} +} + +return*ptr; +} + +boolcontains(constBasicJsonType*ptr)const +{ +for(constauto&reference_token:reference_tokens) +{ +switch(ptr->type()) +{ +casedetail::value_t::object: +{ +if(!ptr->contains(reference_token)) +{ +//wedidnotfindthekeyintheobject +returnfalse; +} + +ptr=&ptr->operator[](reference_token); +break; +} + +casedetail::value_t::array: +{ +if(JSON_HEDLEY_UNLIKELY(reference_token=="-")) +{ +//"-"alwaysfailstherangecheck +returnfalse; +} +if(JSON_HEDLEY_UNLIKELY(reference_token.size()==1&&!("0"<=reference_token&&reference_token<="9"))) +{ +//invalidchar +returnfalse; +} +if(JSON_HEDLEY_UNLIKELY(reference_token.size()>1)) +{ +if(JSON_HEDLEY_UNLIKELY(!('1'<=reference_token[0]&&reference_token[0]<='9'))) +{ +//firstcharshouldbebetween'1'and'9' +returnfalse; +} +for(std::size_ti=1;i<reference_token.size();i++) +{ +if(JSON_HEDLEY_UNLIKELY(!('0'<=reference_token[i]&&reference_token[i]<='9'))) +{ +//othercharshouldbebetween'0'and'9' +returnfalse; +} +} +} + +constautoidx=array_index(reference_token); +if(idx>=ptr->size()) +{ +//indexoutofrange +returnfalse; +} + +ptr=&ptr->operator[](idx); +break; +} + +default: +{ +//wedonotexpectprimitivevaluesifthereisstilla +//referencetokentoprocess +returnfalse; +} +} +} + +//noreferencetokenleftmeanswefoundaprimitivevalue +returntrue; +} + +staticstd::vector<std::string>split(conststd::string&reference_string) +{ +std::vector<std::string>result; + +//specialcase:emptyreferencestring->noreferencetokens +if(reference_string.empty()) +{ +returnresult; +} + +//checkifnonemptyreferencestringbeginswithslash +if(JSON_HEDLEY_UNLIKELY(reference_string[0]!='/')) +{ +JSON_THROW(detail::parse_error::create(107,1,"JSONpointermustbeemptyorbeginwith'/'-was:'"+reference_string+"'",BasicJsonType())); +} + +//extractthereferencetokens: +//-slash:positionofthelastreadslash(orendofstring) +//-start:positionafterthepreviousslash +for( +//searchforthefirstslashafterthefirstcharacter +std::size_tslash=reference_string.find_first_of('/',1), +//setthebeginningofthefirstreferencetoken +start=1; +//wecanstopifstart==0(ifslash==std::string::npos) +start!=0; +//setthebeginningofthenextreferencetoken +//(willeventuallybe0ifslash==std::string::npos) +start=(slash==std::string::npos)?0:slash+1, +//findnextslash +slash=reference_string.find_first_of('/',start)) +{ +//usethetextbetweenthebeginningofthereferencetoken +//(start)andthelastslash(slash). +autoreference_token=reference_string.substr(start,slash-start); + +//checkreferencetokensareproperlyescaped +for(std::size_tpos=reference_token.find_first_of('~'); +pos!=std::string::npos; +pos=reference_token.find_first_of('~',pos+1)) +{ +JSON_ASSERT(reference_token[pos]=='~'); + +//~mustbefollowedby0or1 +if(JSON_HEDLEY_UNLIKELY(pos==reference_token.size()-1|| +(reference_token[pos+1]!='0'&& +reference_token[pos+1]!='1'))) +{ +JSON_THROW(detail::parse_error::create(108,0,"escapecharacter'~'mustbefollowedwith'0'or'1'",BasicJsonType())); +} +} + +//finally,storethereferencetoken +detail::unescape(reference_token); +result.push_back(reference_token); +} + +returnresult; +} + +private: +staticvoidflatten(conststd::string&reference_string, +constBasicJsonType&value, +BasicJsonType&result) +{ +switch(value.type()) +{ +casedetail::value_t::array: +{ +if(value.m_value.array->empty()) +{ +//flattenemptyarrayasnull +result[reference_string]=nullptr; +} +else +{ +//iteratearrayanduseindexasreferencestring +for(std::size_ti=0;i<value.m_value.array->size();++i) +{ +flatten(reference_string+"/"+std::to_string(i), +value.m_value.array->operator[](i),result); +} +} +break; +} + +casedetail::value_t::object: +{ +if(value.m_value.object->empty()) +{ +//flattenemptyobjectasnull +result[reference_string]=nullptr; +} +else +{ +//iterateobjectandusekeysasreferencestring +for(constauto&element:*value.m_value.object) +{ +flatten(reference_string+"/"+detail::escape(element.first),element.second,result); +} +} +break; +} + +default: +{ +//addprimitivevaluewithitsreferencestring +result[reference_string]=value; +break; +} +} +} + +staticBasicJsonType +unflatten(constBasicJsonType&value) +{ +if(JSON_HEDLEY_UNLIKELY(!value.is_object())) +{ +JSON_THROW(detail::type_error::create(314,"onlyobjectscanbeunflattened",value)); +} + +BasicJsonTyperesult; + +//iteratetheJSONobjectvalues +for(constauto&element:*value.m_value.object) +{ +if(JSON_HEDLEY_UNLIKELY(!element.second.is_primitive())) +{ +JSON_THROW(detail::type_error::create(315,"valuesinobjectmustbeprimitive",element.second)); +} + +//assignvaluetoreferencepointedtobyJSONpointer;Notethatif +//theJSONpointeris""(i.e.,pointstothewholevalue),function +//get_and_createreturnsareferencetoresultitself.Anassignment +//willthencreateaprimitivevalue. +json_pointer(element.first).get_and_create(result)=element.second; +} + +returnresult; +} + +friendbooloperator==(json_pointerconst&lhs, +json_pointerconst&rhs)noexcept +{ +returnlhs.reference_tokens==rhs.reference_tokens; +} + +friendbooloperator!=(json_pointerconst&lhs, +json_pointerconst&rhs)noexcept +{ +return!(lhs==rhs); +} + +std::vector<std::string>reference_tokens; +}; +}//namespacenlohmann + +//#include<nlohmann/detail/json_ref.hpp> + + +#include<initializer_list> +#include<utility> + +//#include<nlohmann/detail/meta/type_traits.hpp> + + +namespacenlohmann +{ +namespacedetail +{ +template<typenameBasicJsonType> +classjson_ref +{ +public: +usingvalue_type=BasicJsonType; + +json_ref(value_type&&value) +:owned_value(std::move(value)) +{} + +json_ref(constvalue_type&value) +:value_ref(&value) +{} + +json_ref(std::initializer_list<json_ref>init) +:owned_value(init) +{} + +template< +class...Args, +enable_if_t<std::is_constructible<value_type,Args...>::value,int>=0> +json_ref(Args&&...args) +:owned_value(std::forward<Args>(args)...) +{} + +//classshouldbemovableonly +json_ref(json_ref&&)noexcept=default; +json_ref(constjson_ref&)=delete; +json_ref&operator=(constjson_ref&)=delete; +json_ref&operator=(json_ref&&)=delete; +~json_ref()=default; + +value_typemoved_or_copied()const +{ +if(value_ref==nullptr) +{ +returnstd::move(owned_value); +} +return*value_ref; +} + +value_typeconst&operator*()const +{ +returnvalue_ref?*value_ref:owned_value; +} + +value_typeconst*operator->()const +{ +return&**this; +} + +private: +mutablevalue_typeowned_value=nullptr; +value_typeconst*value_ref=nullptr; +}; +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/macro_scope.hpp> + +//#include<nlohmann/detail/string_escape.hpp> + +//#include<nlohmann/detail/meta/cpp_future.hpp> + +//#include<nlohmann/detail/meta/type_traits.hpp> + +//#include<nlohmann/detail/output/binary_writer.hpp> + + +#include<algorithm>//reverse +#include<array>//array +#include<cmath>//isnan,isinf +#include<cstdint>//uint8_t,uint16_t,uint32_t,uint64_t +#include<cstring>//memcpy +#include<limits>//numeric_limits +#include<string>//string +#include<utility>//move + +//#include<nlohmann/detail/input/binary_reader.hpp> + +//#include<nlohmann/detail/macro_scope.hpp> + +//#include<nlohmann/detail/output/output_adapters.hpp> + + +#include<algorithm>//copy +#include<cstddef>//size_t +#include<ios>//streamsize +#include<iterator>//back_inserter +#include<memory>//shared_ptr,make_shared +#include<ostream>//basic_ostream +#include<string>//basic_string +#include<vector>//vector +//#include<nlohmann/detail/macro_scope.hpp> + + +namespacenlohmann +{ +namespacedetail +{ +template<typenameCharType>structoutput_adapter_protocol +{ +virtualvoidwrite_character(CharTypec)=0; +virtualvoidwrite_characters(constCharType*s,std::size_tlength)=0; +virtual~output_adapter_protocol()=default; + +output_adapter_protocol()=default; +output_adapter_protocol(constoutput_adapter_protocol&)=default; +output_adapter_protocol(output_adapter_protocol&&)noexcept=default; +output_adapter_protocol&operator=(constoutput_adapter_protocol&)=default; +output_adapter_protocol&operator=(output_adapter_protocol&&)noexcept=default; +}; + +template<typenameCharType> +usingoutput_adapter_t=std::shared_ptr<output_adapter_protocol<CharType>>; + +template<typenameCharType> +classoutput_vector_adapter:publicoutput_adapter_protocol<CharType> +{ +public: +explicitoutput_vector_adapter(std::vector<CharType>&vec)noexcept +:v(vec) +{} + +voidwrite_character(CharTypec)override +{ +v.push_back(c); +} + +JSON_HEDLEY_NON_NULL(2) +voidwrite_characters(constCharType*s,std::size_tlength)override +{ +std::copy(s,s+length,std::back_inserter(v)); +} + +private: +std::vector<CharType>&v; +}; + +template<typenameCharType> +classoutput_stream_adapter:publicoutput_adapter_protocol<CharType> +{ +public: +explicitoutput_stream_adapter(std::basic_ostream<CharType>&s)noexcept +:stream(s) +{} + +voidwrite_character(CharTypec)override +{ +stream.put(c); +} + +JSON_HEDLEY_NON_NULL(2) +voidwrite_characters(constCharType*s,std::size_tlength)override +{ +stream.write(s,static_cast<std::streamsize>(length)); +} + +private: +std::basic_ostream<CharType>&stream; +}; + +template<typenameCharType,typenameStringType=std::basic_string<CharType>> +classoutput_string_adapter:publicoutput_adapter_protocol<CharType> +{ +public: +explicitoutput_string_adapter(StringType&s)noexcept +:str(s) +{} + +voidwrite_character(CharTypec)override +{ +str.push_back(c); +} + +JSON_HEDLEY_NON_NULL(2) +voidwrite_characters(constCharType*s,std::size_tlength)override +{ +str.append(s,length); +} + +private: +StringType&str; +}; + +template<typenameCharType,typenameStringType=std::basic_string<CharType>> +classoutput_adapter +{ +public: +output_adapter(std::vector<CharType>&vec) +:oa(std::make_shared<output_vector_adapter<CharType>>(vec)){} + +output_adapter(std::basic_ostream<CharType>&s) +:oa(std::make_shared<output_stream_adapter<CharType>>(s)){} + +output_adapter(StringType&s) +:oa(std::make_shared<output_string_adapter<CharType,StringType>>(s)){} + +operatoroutput_adapter_t<CharType>() +{ +returnoa; +} + +private: +output_adapter_t<CharType>oa=nullptr; +}; +}//namespacedetail +}//namespacenlohmann + + +namespacenlohmann +{ +namespacedetail +{ +//binarywriter// + +template<typenameBasicJsonType,typenameCharType> +classbinary_writer +{ +usingstring_t=typenameBasicJsonType::string_t; +usingbinary_t=typenameBasicJsonType::binary_t; +usingnumber_float_t=typenameBasicJsonType::number_float_t; + +public: +explicitbinary_writer(output_adapter_t<CharType>adapter):oa(std::move(adapter)) +{ +JSON_ASSERT(oa); +} + +voidwrite_bson(constBasicJsonType&j) +{ +switch(j.type()) +{ +casevalue_t::object: +{ +write_bson_object(*j.m_value.object); +break; +} + +default: +{ +JSON_THROW(type_error::create(317,"toserializetoBSON,top-leveltypemustbeobject,butis"+std::string(j.type_name()),j));; +} +} +} + +voidwrite_cbor(constBasicJsonType&j) +{ +switch(j.type()) +{ +casevalue_t::null: +{ +oa->write_character(to_char_type(0xF6)); +break; +} + +casevalue_t::boolean: +{ +oa->write_character(j.m_value.boolean +?to_char_type(0xF5) +:to_char_type(0xF4)); +break; +} + +casevalue_t::number_integer: +{ +if(j.m_value.number_integer>=0) +{ +//CBORdoesnotdifferentiatebetweenpositivesigned +//integersandunsignedintegers.Therefore,weusedthe +//codefromthevalue_t::number_unsignedcasehere. +if(j.m_value.number_integer<=0x17) +{ +write_number(static_cast<std::uint8_t>(j.m_value.number_integer)); +} +elseif(j.m_value.number_integer<=(std::numeric_limits<std::uint8_t>::max)()) +{ +oa->write_character(to_char_type(0x18)); +write_number(static_cast<std::uint8_t>(j.m_value.number_integer)); +} +elseif(j.m_value.number_integer<=(std::numeric_limits<std::uint16_t>::max)()) +{ +oa->write_character(to_char_type(0x19)); +write_number(static_cast<std::uint16_t>(j.m_value.number_integer)); +} +elseif(j.m_value.number_integer<=(std::numeric_limits<std::uint32_t>::max)()) +{ +oa->write_character(to_char_type(0x1A)); +write_number(static_cast<std::uint32_t>(j.m_value.number_integer)); +} +else +{ +oa->write_character(to_char_type(0x1B)); +write_number(static_cast<std::uint64_t>(j.m_value.number_integer)); +} +} +else +{ +//Theconversionsbelowencodethesigninthefirst +//byte,andthevalueisconvertedtoapositivenumber. +constautopositive_number=-1-j.m_value.number_integer; +if(j.m_value.number_integer>=-24) +{ +write_number(static_cast<std::uint8_t>(0x20+positive_number)); +} +elseif(positive_number<=(std::numeric_limits<std::uint8_t>::max)()) +{ +oa->write_character(to_char_type(0x38)); +write_number(static_cast<std::uint8_t>(positive_number)); +} +elseif(positive_number<=(std::numeric_limits<std::uint16_t>::max)()) +{ +oa->write_character(to_char_type(0x39)); +write_number(static_cast<std::uint16_t>(positive_number)); +} +elseif(positive_number<=(std::numeric_limits<std::uint32_t>::max)()) +{ +oa->write_character(to_char_type(0x3A)); +write_number(static_cast<std::uint32_t>(positive_number)); +} +else +{ +oa->write_character(to_char_type(0x3B)); +write_number(static_cast<std::uint64_t>(positive_number)); +} +} +break; +} + +casevalue_t::number_unsigned: +{ +if(j.m_value.number_unsigned<=0x17) +{ +write_number(static_cast<std::uint8_t>(j.m_value.number_unsigned)); +} +elseif(j.m_value.number_unsigned<=(std::numeric_limits<std::uint8_t>::max)()) +{ +oa->write_character(to_char_type(0x18)); +write_number(static_cast<std::uint8_t>(j.m_value.number_unsigned)); +} +elseif(j.m_value.number_unsigned<=(std::numeric_limits<std::uint16_t>::max)()) +{ +oa->write_character(to_char_type(0x19)); +write_number(static_cast<std::uint16_t>(j.m_value.number_unsigned)); +} +elseif(j.m_value.number_unsigned<=(std::numeric_limits<std::uint32_t>::max)()) +{ +oa->write_character(to_char_type(0x1A)); +write_number(static_cast<std::uint32_t>(j.m_value.number_unsigned)); +} +else +{ +oa->write_character(to_char_type(0x1B)); +write_number(static_cast<std::uint64_t>(j.m_value.number_unsigned)); +} +break; +} + +casevalue_t::number_float: +{ +if(std::isnan(j.m_value.number_float)) +{ +//NaNis0xf97e00inCBOR +oa->write_character(to_char_type(0xF9)); +oa->write_character(to_char_type(0x7E)); +oa->write_character(to_char_type(0x00)); +} +elseif(std::isinf(j.m_value.number_float)) +{ +//Infinityis0xf97c00,-Infinityis0xf9fc00 +oa->write_character(to_char_type(0xf9)); +oa->write_character(j.m_value.number_float>0?to_char_type(0x7C):to_char_type(0xFC)); +oa->write_character(to_char_type(0x00)); +} +else +{ +write_compact_float(j.m_value.number_float,detail::input_format_t::cbor); +} +break; +} + +casevalue_t::string: +{ +//step1:writecontrolbyteandthestringlength +constautoN=j.m_value.string->size(); +if(N<=0x17) +{ +write_number(static_cast<std::uint8_t>(0x60+N)); +} +elseif(N<=(std::numeric_limits<std::uint8_t>::max)()) +{ +oa->write_character(to_char_type(0x78)); +write_number(static_cast<std::uint8_t>(N)); +} +elseif(N<=(std::numeric_limits<std::uint16_t>::max)()) +{ +oa->write_character(to_char_type(0x79)); +write_number(static_cast<std::uint16_t>(N)); +} +elseif(N<=(std::numeric_limits<std::uint32_t>::max)()) +{ +oa->write_character(to_char_type(0x7A)); +write_number(static_cast<std::uint32_t>(N)); +} +//LCOV_EXCL_START +elseif(N<=(std::numeric_limits<std::uint64_t>::max)()) +{ +oa->write_character(to_char_type(0x7B)); +write_number(static_cast<std::uint64_t>(N)); +} +//LCOV_EXCL_STOP + +//step2:writethestring +oa->write_characters( +reinterpret_cast<constCharType*>(j.m_value.string->c_str()), +j.m_value.string->size()); +break; +} + +casevalue_t::array: +{ +//step1:writecontrolbyteandthearraysize +constautoN=j.m_value.array->size(); +if(N<=0x17) +{ +write_number(static_cast<std::uint8_t>(0x80+N)); +} +elseif(N<=(std::numeric_limits<std::uint8_t>::max)()) +{ +oa->write_character(to_char_type(0x98)); +write_number(static_cast<std::uint8_t>(N)); +} +elseif(N<=(std::numeric_limits<std::uint16_t>::max)()) +{ +oa->write_character(to_char_type(0x99)); +write_number(static_cast<std::uint16_t>(N)); +} +elseif(N<=(std::numeric_limits<std::uint32_t>::max)()) +{ +oa->write_character(to_char_type(0x9A)); +write_number(static_cast<std::uint32_t>(N)); +} +//LCOV_EXCL_START +elseif(N<=(std::numeric_limits<std::uint64_t>::max)()) +{ +oa->write_character(to_char_type(0x9B)); +write_number(static_cast<std::uint64_t>(N)); +} +//LCOV_EXCL_STOP + +//step2:writeeachelement +for(constauto&el:*j.m_value.array) +{ +write_cbor(el); +} +break; +} + +casevalue_t::binary: +{ +if(j.m_value.binary->has_subtype()) +{ +write_number(static_cast<std::uint8_t>(0xd8)); +write_number(j.m_value.binary->subtype()); +} + +//step1:writecontrolbyteandthebinaryarraysize +constautoN=j.m_value.binary->size(); +if(N<=0x17) +{ +write_number(static_cast<std::uint8_t>(0x40+N)); +} +elseif(N<=(std::numeric_limits<std::uint8_t>::max)()) +{ +oa->write_character(to_char_type(0x58)); +write_number(static_cast<std::uint8_t>(N)); +} +elseif(N<=(std::numeric_limits<std::uint16_t>::max)()) +{ +oa->write_character(to_char_type(0x59)); +write_number(static_cast<std::uint16_t>(N)); +} +elseif(N<=(std::numeric_limits<std::uint32_t>::max)()) +{ +oa->write_character(to_char_type(0x5A)); +write_number(static_cast<std::uint32_t>(N)); +} +//LCOV_EXCL_START +elseif(N<=(std::numeric_limits<std::uint64_t>::max)()) +{ +oa->write_character(to_char_type(0x5B)); +write_number(static_cast<std::uint64_t>(N)); +} +//LCOV_EXCL_STOP + +//step2:writeeachelement +oa->write_characters( +reinterpret_cast<constCharType*>(j.m_value.binary->data()), +N); + +break; +} + +casevalue_t::object: +{ +//step1:writecontrolbyteandtheobjectsize +constautoN=j.m_value.object->size(); +if(N<=0x17) +{ +write_number(static_cast<std::uint8_t>(0xA0+N)); +} +elseif(N<=(std::numeric_limits<std::uint8_t>::max)()) +{ +oa->write_character(to_char_type(0xB8)); +write_number(static_cast<std::uint8_t>(N)); +} +elseif(N<=(std::numeric_limits<std::uint16_t>::max)()) +{ +oa->write_character(to_char_type(0xB9)); +write_number(static_cast<std::uint16_t>(N)); +} +elseif(N<=(std::numeric_limits<std::uint32_t>::max)()) +{ +oa->write_character(to_char_type(0xBA)); +write_number(static_cast<std::uint32_t>(N)); +} +//LCOV_EXCL_START +elseif(N<=(std::numeric_limits<std::uint64_t>::max)()) +{ +oa->write_character(to_char_type(0xBB)); +write_number(static_cast<std::uint64_t>(N)); +} +//LCOV_EXCL_STOP + +//step2:writeeachelement +for(constauto&el:*j.m_value.object) +{ +write_cbor(el.first); +write_cbor(el.second); +} +break; +} + +default: +break; +} +} + +voidwrite_msgpack(constBasicJsonType&j) +{ +switch(j.type()) +{ +casevalue_t::null://nil +{ +oa->write_character(to_char_type(0xC0)); +break; +} + +casevalue_t::boolean://trueandfalse +{ +oa->write_character(j.m_value.boolean +?to_char_type(0xC3) +:to_char_type(0xC2)); +break; +} + +casevalue_t::number_integer: +{ +if(j.m_value.number_integer>=0) +{ +//MessagePackdoesnotdifferentiatebetweenpositive +//signedintegersandunsignedintegers.Therefore,weused +//thecodefromthevalue_t::number_unsignedcasehere. +if(j.m_value.number_unsigned<128) +{ +//positivefixnum +write_number(static_cast<std::uint8_t>(j.m_value.number_integer)); +} +elseif(j.m_value.number_unsigned<=(std::numeric_limits<std::uint8_t>::max)()) +{ +//uint8 +oa->write_character(to_char_type(0xCC)); +write_number(static_cast<std::uint8_t>(j.m_value.number_integer)); +} +elseif(j.m_value.number_unsigned<=(std::numeric_limits<std::uint16_t>::max)()) +{ +//uint16 +oa->write_character(to_char_type(0xCD)); +write_number(static_cast<std::uint16_t>(j.m_value.number_integer)); +} +elseif(j.m_value.number_unsigned<=(std::numeric_limits<std::uint32_t>::max)()) +{ +//uint32 +oa->write_character(to_char_type(0xCE)); +write_number(static_cast<std::uint32_t>(j.m_value.number_integer)); +} +elseif(j.m_value.number_unsigned<=(std::numeric_limits<std::uint64_t>::max)()) +{ +//uint64 +oa->write_character(to_char_type(0xCF)); +write_number(static_cast<std::uint64_t>(j.m_value.number_integer)); +} +} +else +{ +if(j.m_value.number_integer>=-32) +{ +//negativefixnum +write_number(static_cast<std::int8_t>(j.m_value.number_integer)); +} +elseif(j.m_value.number_integer>=(std::numeric_limits<std::int8_t>::min)()&& +j.m_value.number_integer<=(std::numeric_limits<std::int8_t>::max)()) +{ +//int8 +oa->write_character(to_char_type(0xD0)); +write_number(static_cast<std::int8_t>(j.m_value.number_integer)); +} +elseif(j.m_value.number_integer>=(std::numeric_limits<std::int16_t>::min)()&& +j.m_value.number_integer<=(std::numeric_limits<std::int16_t>::max)()) +{ +//int16 +oa->write_character(to_char_type(0xD1)); +write_number(static_cast<std::int16_t>(j.m_value.number_integer)); +} +elseif(j.m_value.number_integer>=(std::numeric_limits<std::int32_t>::min)()&& +j.m_value.number_integer<=(std::numeric_limits<std::int32_t>::max)()) +{ +//int32 +oa->write_character(to_char_type(0xD2)); +write_number(static_cast<std::int32_t>(j.m_value.number_integer)); +} +elseif(j.m_value.number_integer>=(std::numeric_limits<std::int64_t>::min)()&& +j.m_value.number_integer<=(std::numeric_limits<std::int64_t>::max)()) +{ +//int64 +oa->write_character(to_char_type(0xD3)); +write_number(static_cast<std::int64_t>(j.m_value.number_integer)); +} +} +break; +} + +casevalue_t::number_unsigned: +{ +if(j.m_value.number_unsigned<128) +{ +//positivefixnum +write_number(static_cast<std::uint8_t>(j.m_value.number_integer)); +} +elseif(j.m_value.number_unsigned<=(std::numeric_limits<std::uint8_t>::max)()) +{ +//uint8 +oa->write_character(to_char_type(0xCC)); +write_number(static_cast<std::uint8_t>(j.m_value.number_integer)); +} +elseif(j.m_value.number_unsigned<=(std::numeric_limits<std::uint16_t>::max)()) +{ +//uint16 +oa->write_character(to_char_type(0xCD)); +write_number(static_cast<std::uint16_t>(j.m_value.number_integer)); +} +elseif(j.m_value.number_unsigned<=(std::numeric_limits<std::uint32_t>::max)()) +{ +//uint32 +oa->write_character(to_char_type(0xCE)); +write_number(static_cast<std::uint32_t>(j.m_value.number_integer)); +} +elseif(j.m_value.number_unsigned<=(std::numeric_limits<std::uint64_t>::max)()) +{ +//uint64 +oa->write_character(to_char_type(0xCF)); +write_number(static_cast<std::uint64_t>(j.m_value.number_integer)); +} +break; +} + +casevalue_t::number_float: +{ +write_compact_float(j.m_value.number_float,detail::input_format_t::msgpack); +break; +} + +casevalue_t::string: +{ +//step1:writecontrolbyteandthestringlength +constautoN=j.m_value.string->size(); +if(N<=31) +{ +//fixstr +write_number(static_cast<std::uint8_t>(0xA0|N)); +} +elseif(N<=(std::numeric_limits<std::uint8_t>::max)()) +{ +//str8 +oa->write_character(to_char_type(0xD9)); +write_number(static_cast<std::uint8_t>(N)); +} +elseif(N<=(std::numeric_limits<std::uint16_t>::max)()) +{ +//str16 +oa->write_character(to_char_type(0xDA)); +write_number(static_cast<std::uint16_t>(N)); +} +elseif(N<=(std::numeric_limits<std::uint32_t>::max)()) +{ +//str32 +oa->write_character(to_char_type(0xDB)); +write_number(static_cast<std::uint32_t>(N)); +} + +//step2:writethestring +oa->write_characters( +reinterpret_cast<constCharType*>(j.m_value.string->c_str()), +j.m_value.string->size()); +break; +} + +casevalue_t::array: +{ +//step1:writecontrolbyteandthearraysize +constautoN=j.m_value.array->size(); +if(N<=15) +{ +//fixarray +write_number(static_cast<std::uint8_t>(0x90|N)); +} +elseif(N<=(std::numeric_limits<std::uint16_t>::max)()) +{ +//array16 +oa->write_character(to_char_type(0xDC)); +write_number(static_cast<std::uint16_t>(N)); +} +elseif(N<=(std::numeric_limits<std::uint32_t>::max)()) +{ +//array32 +oa->write_character(to_char_type(0xDD)); +write_number(static_cast<std::uint32_t>(N)); +} + +//step2:writeeachelement +for(constauto&el:*j.m_value.array) +{ +write_msgpack(el); +} +break; +} + +casevalue_t::binary: +{ +//step0:determineifthebinarytypehasasetsubtypeto +//determinewhetherornottousetheextorfixexttypes +constbooluse_ext=j.m_value.binary->has_subtype(); + +//step1:writecontrolbyteandthebytestringlength +constautoN=j.m_value.binary->size(); +if(N<=(std::numeric_limits<std::uint8_t>::max)()) +{ +std::uint8_toutput_type{}; +boolfixed=true; +if(use_ext) +{ +switch(N) +{ +case1: +output_type=0xD4;//fixext1 +break; +case2: +output_type=0xD5;//fixext2 +break; +case4: +output_type=0xD6;//fixext4 +break; +case8: +output_type=0xD7;//fixext8 +break; +case16: +output_type=0xD8;//fixext16 +break; +default: +output_type=0xC7;//ext8 +fixed=false; +break; +} + +} +else +{ +output_type=0xC4;//bin8 +fixed=false; +} + +oa->write_character(to_char_type(output_type)); +if(!fixed) +{ +write_number(static_cast<std::uint8_t>(N)); +} +} +elseif(N<=(std::numeric_limits<std::uint16_t>::max)()) +{ +std::uint8_toutput_type=use_ext +?0xC8//ext16 +:0xC5;//bin16 + +oa->write_character(to_char_type(output_type)); +write_number(static_cast<std::uint16_t>(N)); +} +elseif(N<=(std::numeric_limits<std::uint32_t>::max)()) +{ +std::uint8_toutput_type=use_ext +?0xC9//ext32 +:0xC6;//bin32 + +oa->write_character(to_char_type(output_type)); +write_number(static_cast<std::uint32_t>(N)); +} + +//step1.5:ifthisisanexttype,writethesubtype +if(use_ext) +{ +write_number(static_cast<std::int8_t>(j.m_value.binary->subtype())); +} + +//step2:writethebytestring +oa->write_characters( +reinterpret_cast<constCharType*>(j.m_value.binary->data()), +N); + +break; +} + +casevalue_t::object: +{ +//step1:writecontrolbyteandtheobjectsize +constautoN=j.m_value.object->size(); +if(N<=15) +{ +//fixmap +write_number(static_cast<std::uint8_t>(0x80|(N&0xF))); +} +elseif(N<=(std::numeric_limits<std::uint16_t>::max)()) +{ +//map16 +oa->write_character(to_char_type(0xDE)); +write_number(static_cast<std::uint16_t>(N)); +} +elseif(N<=(std::numeric_limits<std::uint32_t>::max)()) +{ +//map32 +oa->write_character(to_char_type(0xDF)); +write_number(static_cast<std::uint32_t>(N)); +} + +//step2:writeeachelement +for(constauto&el:*j.m_value.object) +{ +write_msgpack(el.first); +write_msgpack(el.second); +} +break; +} + +default: +break; +} +} + +voidwrite_ubjson(constBasicJsonType&j,constbooluse_count, +constbooluse_type,constbooladd_prefix=true) +{ +switch(j.type()) +{ +casevalue_t::null: +{ +if(add_prefix) +{ +oa->write_character(to_char_type('Z')); +} +break; +} + +casevalue_t::boolean: +{ +if(add_prefix) +{ +oa->write_character(j.m_value.boolean +?to_char_type('T') +:to_char_type('F')); +} +break; +} + +casevalue_t::number_integer: +{ +write_number_with_ubjson_prefix(j.m_value.number_integer,add_prefix); +break; +} + +casevalue_t::number_unsigned: +{ +write_number_with_ubjson_prefix(j.m_value.number_unsigned,add_prefix); +break; +} + +casevalue_t::number_float: +{ +write_number_with_ubjson_prefix(j.m_value.number_float,add_prefix); +break; +} + +casevalue_t::string: +{ +if(add_prefix) +{ +oa->write_character(to_char_type('S')); +} +write_number_with_ubjson_prefix(j.m_value.string->size(),true); +oa->write_characters( +reinterpret_cast<constCharType*>(j.m_value.string->c_str()), +j.m_value.string->size()); +break; +} + +casevalue_t::array: +{ +if(add_prefix) +{ +oa->write_character(to_char_type('[')); +} + +boolprefix_required=true; +if(use_type&&!j.m_value.array->empty()) +{ +JSON_ASSERT(use_count); +constCharTypefirst_prefix=ubjson_prefix(j.front()); +constboolsame_prefix=std::all_of(j.begin()+1,j.end(), +[this,first_prefix](constBasicJsonType&v) +{ +returnubjson_prefix(v)==first_prefix; +}); + +if(same_prefix) +{ +prefix_required=false; +oa->write_character(to_char_type('$')); +oa->write_character(first_prefix); +} +} + +if(use_count) +{ +oa->write_character(to_char_type('#')); +write_number_with_ubjson_prefix(j.m_value.array->size(),true); +} + +for(constauto&el:*j.m_value.array) +{ +write_ubjson(el,use_count,use_type,prefix_required); +} + +if(!use_count) +{ +oa->write_character(to_char_type(']')); +} + +break; +} + +casevalue_t::binary: +{ +if(add_prefix) +{ +oa->write_character(to_char_type('[')); +} + +if(use_type&&!j.m_value.binary->empty()) +{ +JSON_ASSERT(use_count); +oa->write_character(to_char_type('$')); +oa->write_character('U'); +} + +if(use_count) +{ +oa->write_character(to_char_type('#')); +write_number_with_ubjson_prefix(j.m_value.binary->size(),true); +} + +if(use_type) +{ +oa->write_characters( +reinterpret_cast<constCharType*>(j.m_value.binary->data()), +j.m_value.binary->size()); +} +else +{ +for(size_ti=0;i<j.m_value.binary->size();++i) +{ +oa->write_character(to_char_type('U')); +oa->write_character(j.m_value.binary->data()[i]); +} +} + +if(!use_count) +{ +oa->write_character(to_char_type(']')); +} + +break; +} + +casevalue_t::object: +{ +if(add_prefix) +{ +oa->write_character(to_char_type('{')); +} + +boolprefix_required=true; +if(use_type&&!j.m_value.object->empty()) +{ +JSON_ASSERT(use_count); +constCharTypefirst_prefix=ubjson_prefix(j.front()); +constboolsame_prefix=std::all_of(j.begin(),j.end(), +[this,first_prefix](constBasicJsonType&v) +{ +returnubjson_prefix(v)==first_prefix; +}); + +if(same_prefix) +{ +prefix_required=false; +oa->write_character(to_char_type('$')); +oa->write_character(first_prefix); +} +} + +if(use_count) +{ +oa->write_character(to_char_type('#')); +write_number_with_ubjson_prefix(j.m_value.object->size(),true); +} + +for(constauto&el:*j.m_value.object) +{ +write_number_with_ubjson_prefix(el.first.size(),true); +oa->write_characters( +reinterpret_cast<constCharType*>(el.first.c_str()), +el.first.size()); +write_ubjson(el.second,use_count,use_type,prefix_required); +} + +if(!use_count) +{ +oa->write_character(to_char_type('}')); +} + +break; +} + +default: +break; +} +} + +private: +//BSON// + +staticstd::size_tcalc_bson_entry_header_size(conststring_t&name,constBasicJsonType&j) +{ +constautoit=name.find(static_cast<typenamestring_t::value_type>(0)); +if(JSON_HEDLEY_UNLIKELY(it!=BasicJsonType::string_t::npos)) +{ +JSON_THROW(out_of_range::create(409,"BSONkeycannotcontaincodepointU+0000(atbyte"+std::to_string(it)+")",j)); +} + +return/*id*/1ul+name.size()+/*zero-terminator*/1u; +} + +voidwrite_bson_entry_header(conststring_t&name, +conststd::uint8_telement_type) +{ +oa->write_character(to_char_type(element_type));//boolean +oa->write_characters( +reinterpret_cast<constCharType*>(name.c_str()), +name.size()+1u); +} + +voidwrite_bson_boolean(conststring_t&name, +constboolvalue) +{ +write_bson_entry_header(name,0x08); +oa->write_character(value?to_char_type(0x01):to_char_type(0x00)); +} + +voidwrite_bson_double(conststring_t&name, +constdoublevalue) +{ +write_bson_entry_header(name,0x01); +write_number<double,true>(value); +} + +staticstd::size_tcalc_bson_string_size(conststring_t&value) +{ +returnsizeof(std::int32_t)+value.size()+1ul; +} + +voidwrite_bson_string(conststring_t&name, +conststring_t&value) +{ +write_bson_entry_header(name,0x02); + +write_number<std::int32_t,true>(static_cast<std::int32_t>(value.size()+1ul)); +oa->write_characters( +reinterpret_cast<constCharType*>(value.c_str()), +value.size()+1); +} + +voidwrite_bson_null(conststring_t&name) +{ +write_bson_entry_header(name,0x0A); +} + +staticstd::size_tcalc_bson_integer_size(conststd::int64_tvalue) +{ +return(std::numeric_limits<std::int32_t>::min)()<=value&&value<=(std::numeric_limits<std::int32_t>::max)() +?sizeof(std::int32_t) +:sizeof(std::int64_t); +} + +voidwrite_bson_integer(conststring_t&name, +conststd::int64_tvalue) +{ +if((std::numeric_limits<std::int32_t>::min)()<=value&&value<=(std::numeric_limits<std::int32_t>::max)()) +{ +write_bson_entry_header(name,0x10);//int32 +write_number<std::int32_t,true>(static_cast<std::int32_t>(value)); +} +else +{ +write_bson_entry_header(name,0x12);//int64 +write_number<std::int64_t,true>(static_cast<std::int64_t>(value)); +} +} + +staticconstexprstd::size_tcalc_bson_unsigned_size(conststd::uint64_tvalue)noexcept +{ +return(value<=static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)())) +?sizeof(std::int32_t) +:sizeof(std::int64_t); +} + +voidwrite_bson_unsigned(conststring_t&name, +constBasicJsonType&j) +{ +if(j.m_value.number_unsigned<=static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)())) +{ +write_bson_entry_header(name,0x10/*int32*/); +write_number<std::int32_t,true>(static_cast<std::int32_t>(j.m_value.number_unsigned)); +} +elseif(j.m_value.number_unsigned<=static_cast<std::uint64_t>((std::numeric_limits<std::int64_t>::max)())) +{ +write_bson_entry_header(name,0x12/*int64*/); +write_number<std::int64_t,true>(static_cast<std::int64_t>(j.m_value.number_unsigned)); +} +else +{ +JSON_THROW(out_of_range::create(407,"integernumber"+std::to_string(j.m_value.number_unsigned)+"cannotberepresentedbyBSONasitdoesnotfitint64",j)); +} +} + +voidwrite_bson_object_entry(conststring_t&name, +consttypenameBasicJsonType::object_t&value) +{ +write_bson_entry_header(name,0x03);//object +write_bson_object(value); +} + +staticstd::size_tcalc_bson_array_size(consttypenameBasicJsonType::array_t&value) +{ +std::size_tarray_index=0ul; + +conststd::size_tembedded_document_size=std::accumulate(std::begin(value),std::end(value),std::size_t(0),[&array_index](std::size_tresult,consttypenameBasicJsonType::array_t::value_type&el) +{ +returnresult+calc_bson_element_size(std::to_string(array_index++),el); +}); + +returnsizeof(std::int32_t)+embedded_document_size+1ul; +} + +staticstd::size_tcalc_bson_binary_size(consttypenameBasicJsonType::binary_t&value) +{ +returnsizeof(std::int32_t)+value.size()+1ul; +} + +voidwrite_bson_array(conststring_t&name, +consttypenameBasicJsonType::array_t&value) +{ +write_bson_entry_header(name,0x04);//array +write_number<std::int32_t,true>(static_cast<std::int32_t>(calc_bson_array_size(value))); + +std::size_tarray_index=0ul; + +for(constauto&el:value) +{ +write_bson_element(std::to_string(array_index++),el); +} + +oa->write_character(to_char_type(0x00)); +} + +voidwrite_bson_binary(conststring_t&name, +constbinary_t&value) +{ +write_bson_entry_header(name,0x05); + +write_number<std::int32_t,true>(static_cast<std::int32_t>(value.size())); +write_number(value.has_subtype()?value.subtype():std::uint8_t(0x00)); + +oa->write_characters(reinterpret_cast<constCharType*>(value.data()),value.size()); +} + +staticstd::size_tcalc_bson_element_size(conststring_t&name, +constBasicJsonType&j) +{ +constautoheader_size=calc_bson_entry_header_size(name,j); +switch(j.type()) +{ +casevalue_t::object: +returnheader_size+calc_bson_object_size(*j.m_value.object); + +casevalue_t::array: +returnheader_size+calc_bson_array_size(*j.m_value.array); + +casevalue_t::binary: +returnheader_size+calc_bson_binary_size(*j.m_value.binary); + +casevalue_t::boolean: +returnheader_size+1ul; + +casevalue_t::number_float: +returnheader_size+8ul; + +casevalue_t::number_integer: +returnheader_size+calc_bson_integer_size(j.m_value.number_integer); + +casevalue_t::number_unsigned: +returnheader_size+calc_bson_unsigned_size(j.m_value.number_unsigned); + +casevalue_t::string: +returnheader_size+calc_bson_string_size(*j.m_value.string); + +casevalue_t::null: +returnheader_size+0ul; + +//LCOV_EXCL_START +default: +JSON_ASSERT(false);//NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) +return0ul; +//LCOV_EXCL_STOP +} +} + +voidwrite_bson_element(conststring_t&name, +constBasicJsonType&j) +{ +switch(j.type()) +{ +casevalue_t::object: +returnwrite_bson_object_entry(name,*j.m_value.object); + +casevalue_t::array: +returnwrite_bson_array(name,*j.m_value.array); + +casevalue_t::binary: +returnwrite_bson_binary(name,*j.m_value.binary); + +casevalue_t::boolean: +returnwrite_bson_boolean(name,j.m_value.boolean); + +casevalue_t::number_float: +returnwrite_bson_double(name,j.m_value.number_float); + +casevalue_t::number_integer: +returnwrite_bson_integer(name,j.m_value.number_integer); + +casevalue_t::number_unsigned: +returnwrite_bson_unsigned(name,j); + +casevalue_t::string: +returnwrite_bson_string(name,*j.m_value.string); + +casevalue_t::null: +returnwrite_bson_null(name); + +//LCOV_EXCL_START +default: +JSON_ASSERT(false);//NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert) +return; +//LCOV_EXCL_STOP +} +} + +staticstd::size_tcalc_bson_object_size(consttypenameBasicJsonType::object_t&value) +{ +std::size_tdocument_size=std::accumulate(value.begin(),value.end(),std::size_t(0), +[](size_tresult,consttypenameBasicJsonType::object_t::value_type&el) +{ +returnresult+=calc_bson_element_size(el.first,el.second); +}); + +returnsizeof(std::int32_t)+document_size+1ul; +} + +voidwrite_bson_object(consttypenameBasicJsonType::object_t&value) +{ +write_number<std::int32_t,true>(static_cast<std::int32_t>(calc_bson_object_size(value))); + +for(constauto&el:value) +{ +write_bson_element(el.first,el.second); +} + +oa->write_character(to_char_type(0x00)); +} + +//CBOR// + +staticconstexprCharTypeget_cbor_float_prefix(float/*unused*/) +{ +returnto_char_type(0xFA);//Single-PrecisionFloat +} + +staticconstexprCharTypeget_cbor_float_prefix(double/*unused*/) +{ +returnto_char_type(0xFB);//Double-PrecisionFloat +} + +//MsgPack// + +staticconstexprCharTypeget_msgpack_float_prefix(float/*unused*/) +{ +returnto_char_type(0xCA);//float32 +} + +staticconstexprCharTypeget_msgpack_float_prefix(double/*unused*/) +{ +returnto_char_type(0xCB);//float64 +} + +//UBJSON// + +//UBJSON:writenumber(floatingpoint) +template<typenameNumberType,typenamestd::enable_if< +std::is_floating_point<NumberType>::value,int>::type=0> +voidwrite_number_with_ubjson_prefix(constNumberTypen, +constbooladd_prefix) +{ +if(add_prefix) +{ +oa->write_character(get_ubjson_float_prefix(n)); +} +write_number(n); +} + +//UBJSON:writenumber(unsignedinteger) +template<typenameNumberType,typenamestd::enable_if< +std::is_unsigned<NumberType>::value,int>::type=0> +voidwrite_number_with_ubjson_prefix(constNumberTypen, +constbooladd_prefix) +{ +if(n<=static_cast<std::uint64_t>((std::numeric_limits<std::int8_t>::max)())) +{ +if(add_prefix) +{ +oa->write_character(to_char_type('i'));//int8 +} +write_number(static_cast<std::uint8_t>(n)); +} +elseif(n<=(std::numeric_limits<std::uint8_t>::max)()) +{ +if(add_prefix) +{ +oa->write_character(to_char_type('U'));//uint8 +} +write_number(static_cast<std::uint8_t>(n)); +} +elseif(n<=static_cast<std::uint64_t>((std::numeric_limits<std::int16_t>::max)())) +{ +if(add_prefix) +{ +oa->write_character(to_char_type('I'));//int16 +} +write_number(static_cast<std::int16_t>(n)); +} +elseif(n<=static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)())) +{ +if(add_prefix) +{ +oa->write_character(to_char_type('l'));//int32 +} +write_number(static_cast<std::int32_t>(n)); +} +elseif(n<=static_cast<std::uint64_t>((std::numeric_limits<std::int64_t>::max)())) +{ +if(add_prefix) +{ +oa->write_character(to_char_type('L'));//int64 +} +write_number(static_cast<std::int64_t>(n)); +} +else +{ +if(add_prefix) +{ +oa->write_character(to_char_type('H'));//high-precisionnumber +} + +constautonumber=BasicJsonType(n).dump(); +write_number_with_ubjson_prefix(number.size(),true); +for(std::size_ti=0;i<number.size();++i) +{ +oa->write_character(to_char_type(static_cast<std::uint8_t>(number[i]))); +} +} +} + +//UBJSON:writenumber(signedinteger) +template<typenameNumberType,typenamestd::enable_if< +std::is_signed<NumberType>::value&& +!std::is_floating_point<NumberType>::value,int>::type=0> +voidwrite_number_with_ubjson_prefix(constNumberTypen, +constbooladd_prefix) +{ +if((std::numeric_limits<std::int8_t>::min)()<=n&&n<=(std::numeric_limits<std::int8_t>::max)()) +{ +if(add_prefix) +{ +oa->write_character(to_char_type('i'));//int8 +} +write_number(static_cast<std::int8_t>(n)); +} +elseif(static_cast<std::int64_t>((std::numeric_limits<std::uint8_t>::min)())<=n&&n<=static_cast<std::int64_t>((std::numeric_limits<std::uint8_t>::max)())) +{ +if(add_prefix) +{ +oa->write_character(to_char_type('U'));//uint8 +} +write_number(static_cast<std::uint8_t>(n)); +} +elseif((std::numeric_limits<std::int16_t>::min)()<=n&&n<=(std::numeric_limits<std::int16_t>::max)()) +{ +if(add_prefix) +{ +oa->write_character(to_char_type('I'));//int16 +} +write_number(static_cast<std::int16_t>(n)); +} +elseif((std::numeric_limits<std::int32_t>::min)()<=n&&n<=(std::numeric_limits<std::int32_t>::max)()) +{ +if(add_prefix) +{ +oa->write_character(to_char_type('l'));//int32 +} +write_number(static_cast<std::int32_t>(n)); +} +elseif((std::numeric_limits<std::int64_t>::min)()<=n&&n<=(std::numeric_limits<std::int64_t>::max)()) +{ +if(add_prefix) +{ +oa->write_character(to_char_type('L'));//int64 +} +write_number(static_cast<std::int64_t>(n)); +} +//LCOV_EXCL_START +else +{ +if(add_prefix) +{ +oa->write_character(to_char_type('H'));//high-precisionnumber +} + +constautonumber=BasicJsonType(n).dump(); +write_number_with_ubjson_prefix(number.size(),true); +for(std::size_ti=0;i<number.size();++i) +{ +oa->write_character(to_char_type(static_cast<std::uint8_t>(number[i]))); +} +} +//LCOV_EXCL_STOP +} + +CharTypeubjson_prefix(constBasicJsonType&j)constnoexcept +{ +switch(j.type()) +{ +casevalue_t::null: +return'Z'; + +casevalue_t::boolean: +returnj.m_value.boolean?'T':'F'; + +casevalue_t::number_integer: +{ +if((std::numeric_limits<std::int8_t>::min)()<=j.m_value.number_integer&&j.m_value.number_integer<=(std::numeric_limits<std::int8_t>::max)()) +{ +return'i'; +} +if((std::numeric_limits<std::uint8_t>::min)()<=j.m_value.number_integer&&j.m_value.number_integer<=(std::numeric_limits<std::uint8_t>::max)()) +{ +return'U'; +} +if((std::numeric_limits<std::int16_t>::min)()<=j.m_value.number_integer&&j.m_value.number_integer<=(std::numeric_limits<std::int16_t>::max)()) +{ +return'I'; +} +if((std::numeric_limits<std::int32_t>::min)()<=j.m_value.number_integer&&j.m_value.number_integer<=(std::numeric_limits<std::int32_t>::max)()) +{ +return'l'; +} +if((std::numeric_limits<std::int64_t>::min)()<=j.m_value.number_integer&&j.m_value.number_integer<=(std::numeric_limits<std::int64_t>::max)()) +{ +return'L'; +} +//anythingelseistreatedashigh-precisionnumber +return'H';//LCOV_EXCL_LINE +} + +casevalue_t::number_unsigned: +{ +if(j.m_value.number_unsigned<=static_cast<std::uint64_t>((std::numeric_limits<std::int8_t>::max)())) +{ +return'i'; +} +if(j.m_value.number_unsigned<=static_cast<std::uint64_t>((std::numeric_limits<std::uint8_t>::max)())) +{ +return'U'; +} +if(j.m_value.number_unsigned<=static_cast<std::uint64_t>((std::numeric_limits<std::int16_t>::max)())) +{ +return'I'; +} +if(j.m_value.number_unsigned<=static_cast<std::uint64_t>((std::numeric_limits<std::int32_t>::max)())) +{ +return'l'; +} +if(j.m_value.number_unsigned<=static_cast<std::uint64_t>((std::numeric_limits<std::int64_t>::max)())) +{ +return'L'; +} +//anythingelseistreatedashigh-precisionnumber +return'H';//LCOV_EXCL_LINE +} + +casevalue_t::number_float: +returnget_ubjson_float_prefix(j.m_value.number_float); + +casevalue_t::string: +return'S'; + +casevalue_t::array://fallthrough +casevalue_t::binary: +return'['; + +casevalue_t::object: +return'{'; + +default://discardedvalues +return'N'; +} +} + +staticconstexprCharTypeget_ubjson_float_prefix(float/*unused*/) +{ +return'd';//float32 +} + +staticconstexprCharTypeget_ubjson_float_prefix(double/*unused*/) +{ +return'D';//float64 +} + +//Utilityfunctions// + +/* +@briefwriteanumbertooutputinput +@param[in]nnumberoftype@aNumberType +@tparamNumberTypethetypeofthenumber +@tparamOutputIsLittleEndianSettotrueifoutputdatais +requiredtobelittleendian + +@noteThisfunctionneedstorespectthesystem'sendianess,becausebytes +inCBOR,MessagePack,andUBJSONarestoredinnetworkorder(big +endian)andthereforeneedreorderingonlittleendiansystems. +*/ +template<typenameNumberType,boolOutputIsLittleEndian=false> +voidwrite_number(constNumberTypen) +{ +//step1:writenumbertoarrayoflengthNumberType +std::array<CharType,sizeof(NumberType)>vec{}; +std::memcpy(vec.data(),&n,sizeof(NumberType)); + +//step2:writearraytooutput(withpossiblereordering) +if(is_little_endian!=OutputIsLittleEndian) +{ +//reversebyteorderpriortoconversionifnecessary +std::reverse(vec.begin(),vec.end()); +} + +oa->write_characters(vec.data(),sizeof(NumberType)); +} + +voidwrite_compact_float(constnumber_float_tn,detail::input_format_tformat) +{ +if(static_cast<double>(n)>=static_cast<double>(std::numeric_limits<float>::lowest())&& +static_cast<double>(n)<=static_cast<double>((std::numeric_limits<float>::max)())&& +static_cast<double>(static_cast<float>(n))==static_cast<double>(n)) +{ +oa->write_character(format==detail::input_format_t::cbor +?get_cbor_float_prefix(static_cast<float>(n)) +:get_msgpack_float_prefix(static_cast<float>(n))); +write_number(static_cast<float>(n)); +} +else +{ +oa->write_character(format==detail::input_format_t::cbor +?get_cbor_float_prefix(n) +:get_msgpack_float_prefix(n)); +write_number(n); +} +} + +public: +//Thefollowingto_char_typefunctionsareimplementtheconversion +//betweenuint8_tandCharType.IncaseCharTypeisnotunsigned, +//suchaconversionisrequiredtoallowvaluesgreaterthan128. +//See<https://github.com/nlohmann/json/issues/1286>foradiscussion. +template<typenameC=CharType, +enable_if_t < std::is_signed<C>::value&&std::is_signed<char>::value>*=nullptr> +staticconstexprCharTypeto_char_type(std::uint8_tx)noexcept +{ +return*reinterpret_cast<char*>(&x); +} + +template<typenameC=CharType, +enable_if_t < std::is_signed<C>::value&&std::is_unsigned<char>::value>*=nullptr> +staticCharTypeto_char_type(std::uint8_tx)noexcept +{ +static_assert(sizeof(std::uint8_t)==sizeof(CharType),"sizeofCharTypemustbeequaltostd::uint8_t"); +static_assert(std::is_trivial<CharType>::value,"CharTypemustbetrivial"); +CharTyperesult; +std::memcpy(&result,&x,sizeof(x)); +returnresult; +} + +template<typenameC=CharType, +enable_if_t<std::is_unsigned<C>::value>*=nullptr> +staticconstexprCharTypeto_char_type(std::uint8_tx)noexcept +{ +returnx; +} + +template<typenameInputCharType,typenameC=CharType, +enable_if_t< +std::is_signed<C>::value&& +std::is_signed<char>::value&& +std::is_same<char,typenamestd::remove_cv<InputCharType>::type>::value +>*=nullptr> +staticconstexprCharTypeto_char_type(InputCharTypex)noexcept +{ +returnx; +} + +private: +constboolis_little_endian=little_endianess(); + +output_adapter_t<CharType>oa=nullptr; +}; +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/output/output_adapters.hpp> + +//#include<nlohmann/detail/output/serializer.hpp> + + +#include<algorithm>//reverse,remove,fill,find,none_of +#include<array>//array +#include<clocale>//localeconv,lconv +#include<cmath>//labs,isfinite,isnan,signbit +#include<cstddef>//size_t,ptrdiff_t +#include<cstdint>//uint8_t +#include<cstdio>//snprintf +#include<limits>//numeric_limits +#include<string>//string,char_traits +#include<type_traits>//is_same +#include<utility>//move + +//#include<nlohmann/detail/conversions/to_chars.hpp> + + +#include<array>//array +#include<cmath>//signbit,isfinite +#include<cstdint>//intN_t,uintN_t +#include<cstring>//memcpy,memmove +#include<limits>//numeric_limits +#include<type_traits>//conditional + +//#include<nlohmann/detail/macro_scope.hpp> + + +namespacenlohmann +{ +namespacedetail +{ + +namespacedtoa_impl +{ + +template<typenameTarget,typenameSource> +Targetreinterpret_bits(constSourcesource) +{ +static_assert(sizeof(Target)==sizeof(Source),"sizemismatch"); + +Targettarget; +std::memcpy(&target,&source,sizeof(Source)); +returntarget; +} + +structdiyfp//f*2^e +{ +staticconstexprintkPrecision=64;//=q + +std::uint64_tf=0; +inte=0; + +constexprdiyfp(std::uint64_tf_,inte_)noexcept:f(f_),e(e_){} + +staticdiyfpsub(constdiyfp&x,constdiyfp&y)noexcept +{ +JSON_ASSERT(x.e==y.e); +JSON_ASSERT(x.f>=y.f); + +return{x.f-y.f,x.e}; +} + +staticdiyfpmul(constdiyfp&x,constdiyfp&y)noexcept +{ +static_assert(kPrecision==64,"internalerror"); + +//Computes: +//f=round((x.f*y.f)/2^q) +//e=x.e+y.e+q + +//Emulatethe64-bit*64-bitmultiplication: +// +//p=u*v +//=(u_lo+2^32u_hi)(v_lo+2^32v_hi) +//=(u_lov_lo)+2^32((u_lov_hi)+(u_hiv_lo))+2^64(u_hiv_hi) +//=(p0)+2^32((p1)+(p2))+2^64(p3) +//=(p0_lo+2^32p0_hi)+2^32((p1_lo+2^32p1_hi)+(p2_lo+2^32p2_hi))+2^64(p3) +//=(p0_lo)+2^32(p0_hi+p1_lo+p2_lo)+2^64(p1_hi+p2_hi+p3) +//=(p0_lo)+2^32(Q)+2^64(H) +//=(p0_lo)+2^32(Q_lo+2^32Q_hi)+2^64(H) +// +//(SinceQmightbelargerthan2^32-1) +// +//=(p0_lo+2^32Q_lo)+2^64(Q_hi+H) +// +//(Q_hi+Hdoesnotoverflowa64-bitint) +// +//=p_lo+2^64p_hi + +conststd::uint64_tu_lo=x.f&0xFFFFFFFFu; +conststd::uint64_tu_hi=x.f>>32u; +conststd::uint64_tv_lo=y.f&0xFFFFFFFFu; +conststd::uint64_tv_hi=y.f>>32u; + +conststd::uint64_tp0=u_lo*v_lo; +conststd::uint64_tp1=u_lo*v_hi; +conststd::uint64_tp2=u_hi*v_lo; +conststd::uint64_tp3=u_hi*v_hi; + +conststd::uint64_tp0_hi=p0>>32u; +conststd::uint64_tp1_lo=p1&0xFFFFFFFFu; +conststd::uint64_tp1_hi=p1>>32u; +conststd::uint64_tp2_lo=p2&0xFFFFFFFFu; +conststd::uint64_tp2_hi=p2>>32u; + +std::uint64_tQ=p0_hi+p1_lo+p2_lo; + +//Thefullproductmightnowbecomputedas +// +//p_hi=p3+p2_hi+p1_hi+(Q>>32) +//p_lo=p0_lo+(Q<<32) +// +//Butinthisparticularcasehere,thefullp_loisnotrequired. +//Effectivelyweonlyneedtoaddthehighestbitinp_lotop_hi(and +//Q_hi+1doesnotoverflow). + +Q+=std::uint64_t{1}<<(64u-32u-1u);//round,tiesup + +conststd::uint64_th=p3+p2_hi+p1_hi+(Q>>32u); + +return{h,x.e+y.e+64}; +} + +staticdiyfpnormalize(diyfpx)noexcept +{ +JSON_ASSERT(x.f!=0); + +while((x.f>>63u)==0) +{ +x.f<<=1u; +x.e--; +} + +returnx; +} + +staticdiyfpnormalize_to(constdiyfp&x,constinttarget_exponent)noexcept +{ +constintdelta=x.e-target_exponent; + +JSON_ASSERT(delta>=0); +JSON_ASSERT(((x.f<<delta)>>delta)==x.f); + +return{x.f<<delta,target_exponent}; +} +}; + +structboundaries +{ +diyfpw; +diyfpminus; +diyfpplus; +}; + +template<typenameFloatType> +boundariescompute_boundaries(FloatTypevalue) +{ +JSON_ASSERT(std::isfinite(value)); +JSON_ASSERT(value>0); + +//ConverttheIEEErepresentationintoadiyfp. +// +//Ifvisdenormal: +//value=0.F*2^(1-bias)=(F)*2^(1-bias-(p-1)) +//Ifvisnormalized: +//value=1.F*2^(E-bias)=(2^(p-1)+F)*2^(E-bias-(p-1)) + +static_assert(std::numeric_limits<FloatType>::is_iec559, +"internalerror:dtoa_shortrequiresanIEEE-754floating-pointimplementation"); + +constexprintkPrecision=std::numeric_limits<FloatType>::digits;//=p(includesthehiddenbit) +constexprintkBias=std::numeric_limits<FloatType>::max_exponent-1+(kPrecision-1); +constexprintkMinExp=1-kBias; +constexprstd::uint64_tkHiddenBit=std::uint64_t{1}<<(kPrecision-1);//=2^(p-1) + +usingbits_type=typenamestd::conditional<kPrecision==24,std::uint32_t,std::uint64_t>::type; + +constautobits=static_cast<std::uint64_t>(reinterpret_bits<bits_type>(value)); +conststd::uint64_tE=bits>>(kPrecision-1); +conststd::uint64_tF=bits&(kHiddenBit-1); + +constboolis_denormal=E==0; +constdiyfpv=is_denormal +?diyfp(F,kMinExp) +:diyfp(F+kHiddenBit,static_cast<int>(E)-kBias); + +//Computetheboundariesm-andm+ofthefloating-pointvalue +//v=f*2^e. +// +//Determinev-andv+,thefloating-pointpredecessorandsuccessorifv, +//respectively. +// +//v-=v-2^eiff!=2^(p-1)ore==e_min(A) +//=v-2^(e-1)iff==2^(p-1)ande>e_min(B) +// +//v+=v+2^e +// +//Letm-=(v-+v)/2andm+=(v+v+)/2.Allrealnumbers_strictly_ +//betweenm-andm+roundtov,regardlessofhowtheinputrounding +//algorithmbreaksties. +// +//---+-------------+-------------+-------------+-------------+---(A) +//v-m-vm+v+ +// +//-----------------+------+------+-------------+-------------+---(B) +//v-m-vm+v+ + +constboollower_boundary_is_closer=F==0&&E>1; +constdiyfpm_plus=diyfp(2*v.f+1,v.e-1); +constdiyfpm_minus=lower_boundary_is_closer +?diyfp(4*v.f-1,v.e-2)//(B) +:diyfp(2*v.f-1,v.e-1);//(A) + +//Determinethenormalizedw+=m+. +constdiyfpw_plus=diyfp::normalize(m_plus); + +//Determinew-=m-suchthate_(w-)=e_(w+). +constdiyfpw_minus=diyfp::normalize_to(m_minus,w_plus.e); + +return{diyfp::normalize(v),w_minus,w_plus}; +} + +//Givennormalizeddiyfpw,Grisuneedstofinda(normalized)cached +//power-of-tenc,suchthattheexponentoftheproductc*w=f*2^elies +//withinacertainrange[alpha,gamma](Definition3.2from[1]) +// +//alpha<=e=e_c+e_w+q<=gamma +// +//or +// +//f_c*f_w*2^alpha<=f_c2^(e_c)*f_w2^(e_w)*2^q +//<=f_c*f_w*2^gamma +// +//Sincecandwarenormalized,i.e.2^(q-1)<=f<2^q,thisimplies +// +//2^(q-1)*2^(q-1)*2^alpha<=c*w*2^q<2^q*2^q*2^gamma +// +//or +// +//2^(q-2+alpha)<=c*w<2^(q+gamma) +// +//Thechoiceof(alpha,gamma)determinesthesizeofthetableandtheformof +//thedigitgenerationprocedure.Using(alpha,gamma)=(-60,-32)worksoutwell +//inpractice: +// +//Theideaistocutthenumberc*w=f*2^eintotwoparts,whichcanbe +//processedindependently:Anintegralpartp1,andafractionalpartp2: +// +//f*2^e=((fdiv2^-e)*2^-e+(fmod2^-e))*2^e +//=(fdiv2^-e)+(fmod2^-e)*2^e +//=p1+p2*2^e +// +//Theconversionofp1intodecimalformrequiresaseriesofdivisionsand +//modulosby(apowerof)10.Theseoperationsarefasterfor32-bitthanfor +//64-bitintegers,sop1shouldideallyfitintoa32-bitinteger.Thiscanbe +//achievedbychoosing +// +//-e>=32ore<=-32:=gamma +// +//Inordertoconvertthefractionalpart +// +//p2*2^e=p2/2^-e=d[-1]/10^1+d[-2]/10^2+... +// +//intodecimalform,thefractionisrepeatedlymultipliedby10andthedigits +//d[-i]areextractedinorder: +// +//(10*p2)div2^-e=d[-1] +//(10*p2)mod2^-e=d[-2]/10^1+... +// +//Themultiplicationby10mustnotoverflow.Itissufficienttochoose +// +//10*p2<16*p2=2^4*p2<=2^64. +// +//Sincep2=fmod2^-e<2^-e, +// +//-e<=60ore>=-60:=alpha + +constexprintkAlpha=-60; +constexprintkGamma=-32; + +structcached_power//c=f*2^e~=10^k +{ +std::uint64_tf; +inte; +intk; +}; + +inlinecached_powerget_cached_power_for_binary_exponent(inte) +{ +//Now +// +//alpha<=e_c+e+q<=gamma(1) +//==>f_c*2^alpha<=c*2^e*2^q +// +//andsincethec'sarenormalized,2^(q-1)<=f_c, +// +//==>2^(q-1+alpha)<=c*2^(e+q) +//==>2^(alpha-e-1)<=c +// +//Ifcwereanexactpoweroften,i.e.c=10^k,onemaydeterminekas +// +//k=ceil(log_10(2^(alpha-e-1))) +//=ceil((alpha-e-1)*log_10(2)) +// +//Fromthepaper: +//"Intheorytheresultoftheprocedurecouldbewrongsincecisrounded, +//andthecomputationitselfisapproximated[...].Inpractice,however, +//thissimplefunctionissufficient." +// +//ForIEEEdoubleprecisionfloating-pointnumbersconvertedinto +//normalizeddiyfp'sw=f*2^e,withq=64, +// +//e>=-1022(minIEEEexponent) +//-52(p-1) +//-52(p-1,possiblynormalizedenormalIEEEnumbers) +//-11(normalizethediyfp) +//=-1137 +// +//and +// +//e<=+1023(maxIEEEexponent) +//-52(p-1) +//-11(normalizethediyfp) +//=960 +// +//Thisbinaryexponentrange[-1137,960]resultsinadecimalexponent +//range[-307,324].Onedoesnotneedtostoreacachedpowerforeach +//kinthisrange.Foreachsuchkitsufficestofindacachedpower +//suchthattheexponentoftheproductliesin[alpha,gamma]. +//Thisimpliesthatthedifferenceofthedecimalexponentsofadjacent +//tableentriesmustbelessthanorequalto +// +//floor((gamma-alpha)*log_10(2))=8. +// +//(Asmallerdistancegamma-alphawouldrequirealargertable.) + +//NB: +//Actuallythisfunctionreturnsc,suchthat-60<=e_c+e+64<=-34. + +constexprintkCachedPowersMinDecExp=-300; +constexprintkCachedPowersDecStep=8; + +staticconstexprstd::array<cached_power,79>kCachedPowers= +{ +{ +{0xAB70FE17C79AC6CA,-1060,-300}, +{0xFF77B1FCBEBCDC4F,-1034,-292}, +{0xBE5691EF416BD60C,-1007,-284}, +{0x8DD01FAD907FFC3C,-980,-276}, +{0xD3515C2831559A83,-954,-268}, +{0x9D71AC8FADA6C9B5,-927,-260}, +{0xEA9C227723EE8BCB,-901,-252}, +{0xAECC49914078536D,-874,-244}, +{0x823C12795DB6CE57,-847,-236}, +{0xC21094364DFB5637,-821,-228}, +{0x9096EA6F3848984F,-794,-220}, +{0xD77485CB25823AC7,-768,-212}, +{0xA086CFCD97BF97F4,-741,-204}, +{0xEF340A98172AACE5,-715,-196}, +{0xB23867FB2A35B28E,-688,-188}, +{0x84C8D4DFD2C63F3B,-661,-180}, +{0xC5DD44271AD3CDBA,-635,-172}, +{0x936B9FCEBB25C996,-608,-164}, +{0xDBAC6C247D62A584,-582,-156}, +{0xA3AB66580D5FDAF6,-555,-148}, +{0xF3E2F893DEC3F126,-529,-140}, +{0xB5B5ADA8AAFF80B8,-502,-132}, +{0x87625F056C7C4A8B,-475,-124}, +{0xC9BCFF6034C13053,-449,-116}, +{0x964E858C91BA2655,-422,-108}, +{0xDFF9772470297EBD,-396,-100}, +{0xA6DFBD9FB8E5B88F,-369,-92}, +{0xF8A95FCF88747D94,-343,-84}, +{0xB94470938FA89BCF,-316,-76}, +{0x8A08F0F8BF0F156B,-289,-68}, +{0xCDB02555653131B6,-263,-60}, +{0x993FE2C6D07B7FAC,-236,-52}, +{0xE45C10C42A2B3B06,-210,-44}, +{0xAA242499697392D3,-183,-36}, +{0xFD87B5F28300CA0E,-157,-28}, +{0xBCE5086492111AEB,-130,-20}, +{0x8CBCCC096F5088CC,-103,-12}, +{0xD1B71758E219652C,-77,-4}, +{0x9C40000000000000,-50,4}, +{0xE8D4A51000000000,-24,12}, +{0xAD78EBC5AC620000,3,20}, +{0x813F3978F8940984,30,28}, +{0xC097CE7BC90715B3,56,36}, +{0x8F7E32CE7BEA5C70,83,44}, +{0xD5D238A4ABE98068,109,52}, +{0x9F4F2726179A2245,136,60}, +{0xED63A231D4C4FB27,162,68}, +{0xB0DE65388CC8ADA8,189,76}, +{0x83C7088E1AAB65DB,216,84}, +{0xC45D1DF942711D9A,242,92}, +{0x924D692CA61BE758,269,100}, +{0xDA01EE641A708DEA,295,108}, +{0xA26DA3999AEF774A,322,116}, +{0xF209787BB47D6B85,348,124}, +{0xB454E4A179DD1877,375,132}, +{0x865B86925B9BC5C2,402,140}, +{0xC83553C5C8965D3D,428,148}, +{0x952AB45CFA97A0B3,455,156}, +{0xDE469FBD99A05FE3,481,164}, +{0xA59BC234DB398C25,508,172}, +{0xF6C69A72A3989F5C,534,180}, +{0xB7DCBF5354E9BECE,561,188}, +{0x88FCF317F22241E2,588,196}, +{0xCC20CE9BD35C78A5,614,204}, +{0x98165AF37B2153DF,641,212}, +{0xE2A0B5DC971F303A,667,220}, +{0xA8D9D1535CE3B396,694,228}, +{0xFB9B7CD9A4A7443C,720,236}, +{0xBB764C4CA7A44410,747,244}, +{0x8BAB8EEFB6409C1A,774,252}, +{0xD01FEF10A657842C,800,260}, +{0x9B10A4E5E9913129,827,268}, +{0xE7109BFBA19C0C9D,853,276}, +{0xAC2820D9623BF429,880,284}, +{0x80444B5E7AA7CF85,907,292}, +{0xBF21E44003ACDD2D,933,300}, +{0x8E679C2F5E44FF8F,960,308}, +{0xD433179D9C8CB841,986,316}, +{0x9E19DB92B4E31BA9,1013,324}, +} +}; + +//Thiscomputationgivesexactlythesameresultsforkas +//k=ceil((kAlpha-e-1)*0.30102999566398114) +//for|e|<=1500,butdoesn'trequirefloating-pointoperations. +//NB:log_10(2)~=78913/2^18 +JSON_ASSERT(e>=-1500); +JSON_ASSERT(e<=1500); +constintf=kAlpha-e-1; +constintk=(f*78913)/(1<<18)+static_cast<int>(f>0); + +constintindex=(-kCachedPowersMinDecExp+k+(kCachedPowersDecStep-1))/kCachedPowersDecStep; +JSON_ASSERT(index>=0); +JSON_ASSERT(static_cast<std::size_t>(index)<kCachedPowers.size()); + +constcached_powercached=kCachedPowers[static_cast<std::size_t>(index)]; +JSON_ASSERT(kAlpha<=cached.e+e+64); +JSON_ASSERT(kGamma>=cached.e+e+64); + +returncached; +} + +inlineintfind_largest_pow10(conststd::uint32_tn,std::uint32_t&pow10) +{ +//LCOV_EXCL_START +if(n>=1000000000) +{ +pow10=1000000000; +return10; +} +//LCOV_EXCL_STOP +if(n>=100000000) +{ +pow10=100000000; +return9; +} +if(n>=10000000) +{ +pow10=10000000; +return8; +} +if(n>=1000000) +{ +pow10=1000000; +return7; +} +if(n>=100000) +{ +pow10=100000; +return6; +} +if(n>=10000) +{ +pow10=10000; +return5; +} +if(n>=1000) +{ +pow10=1000; +return4; +} +if(n>=100) +{ +pow10=100; +return3; +} +if(n>=10) +{ +pow10=10; +return2; +} + +pow10=1; +return1; +} + +inlinevoidgrisu2_round(char*buf,intlen,std::uint64_tdist,std::uint64_tdelta, +std::uint64_trest,std::uint64_tten_k) +{ +JSON_ASSERT(len>=1); +JSON_ASSERT(dist<=delta); +JSON_ASSERT(rest<=delta); +JSON_ASSERT(ten_k>0); + +//<---------------------------delta----> +//<----dist---------> +//--------------[------------------+-------------------]-------------- +//M-wM+ +// +//ten_k +//<------> +//<----rest----> +//--------------[------------------+----+--------------]-------------- +//wV +//=buf*10^k +// +//ten_krepresentsaunit-in-the-last-placeinthedecimalrepresentation +//storedinbuf. +//Decrementbufbyten_kwhilethistakesbufclosertow. + +//Thetestsarewritteninthisordertoavoidoverflowinunsigned +//integerarithmetic. + +while(rest<dist +&&delta-rest>=ten_k +&&(rest+ten_k<dist||dist-rest>rest+ten_k-dist)) +{ +JSON_ASSERT(buf[len-1]!='0'); +buf[len-1]--; +rest+=ten_k; +} +} + +inlinevoidgrisu2_digit_gen(char*buffer,int&length,int&decimal_exponent, +diyfpM_minus,diyfpw,diyfpM_plus) +{ +static_assert(kAlpha>=-60,"internalerror"); +static_assert(kGamma<=-32,"internalerror"); + +//Generatesthedigits(andtheexponent)ofadecimalfloating-point +//numberV=buffer*10^decimal_exponentintherange[M-,M+].Thediyfp's +//w,M-andM+sharethesameexponente,whichsatisfiesalpha<=e<=gamma. +// +//<---------------------------delta----> +//<----dist---------> +//--------------[------------------+-------------------]-------------- +//M-wM+ +// +//Grisu2generatesthedigitsofM+fromlefttorightandstopsassoonas +//Visin[M-,M+]. + +JSON_ASSERT(M_plus.e>=kAlpha); +JSON_ASSERT(M_plus.e<=kGamma); + +std::uint64_tdelta=diyfp::sub(M_plus,M_minus).f;//(significandof(M+-M-),implicitexponentise) +std::uint64_tdist=diyfp::sub(M_plus,w).f;//(significandof(M+-w),implicitexponentise) + +//SplitM+=f*2^eintotwopartsp1andp2(note:e<0): +// +//M+=f*2^e +//=((fdiv2^-e)*2^-e+(fmod2^-e))*2^e +//=((p1)*2^-e+(p2))*2^e +//=p1+p2*2^e + +constdiyfpone(std::uint64_t{1}<<-M_plus.e,M_plus.e); + +autop1=static_cast<std::uint32_t>(M_plus.f>>-one.e);//p1=fdiv2^-e(Since-e>=32,p1fitsintoa32-bitint.) +std::uint64_tp2=M_plus.f&(one.f-1);//p2=fmod2^-e + +//1) +// +//Generatethedigitsoftheintegralpartp1=d[n-1]...d[1]d[0] + +JSON_ASSERT(p1>0); + +std::uint32_tpow10{}; +constintk=find_largest_pow10(p1,pow10); + +//10^(k-1)<=p1<10^k,pow10=10^(k-1) +// +//p1=(p1div10^(k-1))*10^(k-1)+(p1mod10^(k-1)) +//=(d[k-1])*10^(k-1)+(p1mod10^(k-1)) +// +//M+=p1+p2*2^e +//=d[k-1]*10^(k-1)+(p1mod10^(k-1))+p2*2^e +//=d[k-1]*10^(k-1)+((p1mod10^(k-1))*2^-e+p2)*2^e +//=d[k-1]*10^(k-1)+(rest)*2^e +// +//Nowgeneratethedigitsd[n]ofp1fromlefttoright(n=k-1,...,0) +// +//p1=d[k-1]...d[n]*10^n+d[n-1]...d[0] +// +//butstopassoonas +// +//rest*2^e=(d[n-1]...d[0]*2^-e+p2)*2^e<=delta*2^e + +intn=k; +while(n>0) +{ +//Invariants: +//M+=buffer*10^n+(p1+p2*2^e)(buffer=0forn=k) +//pow10=10^(n-1)<=p1<10^n +// +conststd::uint32_td=p1/pow10;//d=p1div10^(n-1) +conststd::uint32_tr=p1%pow10;//r=p1mod10^(n-1) +// +//M+=buffer*10^n+(d*10^(n-1)+r)+p2*2^e +//=(buffer*10+d)*10^(n-1)+(r+p2*2^e) +// +JSON_ASSERT(d<=9); +buffer[length++]=static_cast<char>('0'+d);//buffer:=buffer*10+d +// +//M+=buffer*10^(n-1)+(r+p2*2^e) +// +p1=r; +n--; +// +//M+=buffer*10^n+(p1+p2*2^e) +//pow10=10^n +// + +//Nowcheckifenoughdigitshavebeengenerated. +//Compute +// +//p1+p2*2^e=(p1*2^-e+p2)*2^e=rest*2^e +// +//Note: +//Sincerestanddeltasharethesameexponente,itsufficesto +//comparethesignificands. +conststd::uint64_trest=(std::uint64_t{p1}<<-one.e)+p2; +if(rest<=delta) +{ +//V=buffer*10^n,withM-<=V<=M+. + +decimal_exponent+=n; + +//Wemaynowjuststop.Butinsteadlookifthebuffercouldbe +//decrementedtobringVclosertow. +// +//pow10=10^nisnow1ulpinthedecimalrepresentationV. +//Theroundingprocedureworkswithdiyfp'swithanimplicit +//exponentofe. +// +//10^n=(10^n*2^-e)*2^e=ulp*2^e +// +conststd::uint64_tten_n=std::uint64_t{pow10}<<-one.e; +grisu2_round(buffer,length,dist,delta,rest,ten_n); + +return; +} + +pow10/=10; +// +//pow10=10^(n-1)<=p1<10^n +//Invariantsrestored. +} + +//2) +// +//Thedigitsoftheintegralparthavebeengenerated: +// +//M+=d[k-1]...d[1]d[0]+p2*2^e +//=buffer+p2*2^e +// +//Nowgeneratethedigitsofthefractionalpartp2*2^e. +// +//Note: +//Nodecimalpointisgenerated:theexponentisadjustedinstead. +// +//p2actuallyrepresentsthefraction +// +//p2*2^e +//=p2/2^-e +//=d[-1]/10^1+d[-2]/10^2+... +// +//Nowgeneratethedigitsd[-m]ofp1fromlefttoright(m=1,2,...) +// +//p2*2^e=d[-1]d[-2]...d[-m]*10^-m +//+10^-m*(d[-m-1]/10^1+d[-m-2]/10^2+...) +// +//using +// +//10^m*p2=((10^m*p2)div2^-e)*2^-e+((10^m*p2)mod2^-e) +//=(d)*2^-e+(r) +// +//or +//10^m*p2*2^e=d+r*2^e +// +//i.e. +// +//M+=buffer+p2*2^e +//=buffer+10^-m*(d+r*2^e) +//=(buffer*10^m+d)*10^-m+10^-m*r*2^e +// +//andstopassoonas10^-m*r*2^e<=delta*2^e + +JSON_ASSERT(p2>delta); + +intm=0; +for(;;) +{ +//Invariant: +//M+=buffer*10^-m+10^-m*(d[-m-1]/10+d[-m-2]/10^2+...)*2^e +//=buffer*10^-m+10^-m*(p2)*2^e +//=buffer*10^-m+10^-m*(1/10*(10*p2))*2^e +//=buffer*10^-m+10^-m*(1/10*((10*p2div2^-e)*2^-e+(10*p2mod2^-e))*2^e +// +JSON_ASSERT(p2<=(std::numeric_limits<std::uint64_t>::max)()/10); +p2*=10; +conststd::uint64_td=p2>>-one.e;//d=(10*p2)div2^-e +conststd::uint64_tr=p2&(one.f-1);//r=(10*p2)mod2^-e +// +//M+=buffer*10^-m+10^-m*(1/10*(d*2^-e+r)*2^e +//=buffer*10^-m+10^-m*(1/10*(d+r*2^e)) +//=(buffer*10+d)*10^(-m-1)+10^(-m-1)*r*2^e +// +JSON_ASSERT(d<=9); +buffer[length++]=static_cast<char>('0'+d);//buffer:=buffer*10+d +// +//M+=buffer*10^(-m-1)+10^(-m-1)*r*2^e +// +p2=r; +m++; +// +//M+=buffer*10^-m+10^-m*p2*2^e +//Invariantrestored. + +//Checkifenoughdigitshavebeengenerated. +// +//10^-m*p2*2^e<=delta*2^e +//p2*2^e<=10^m*delta*2^e +//p2<=10^m*delta +delta*=10; +dist*=10; +if(p2<=delta) +{ +break; +} +} + +//V=buffer*10^-m,withM-<=V<=M+. + +decimal_exponent-=m; + +//1ulpinthedecimalrepresentationisnow10^-m. +//Sincedeltaanddistarenowscaledby10^m,weneedtodothe +//samewithulpinordertokeeptheunitsinsync. +// +//10^m*10^-m=1=2^-e*2^e=ten_m*2^e +// +conststd::uint64_tten_m=one.f; +grisu2_round(buffer,length,dist,delta,p2,ten_m); + +//Byconstructionthisalgorithmgeneratestheshortestpossibledecimal +//number(Loitsch,Theorem6.2)whichroundsbacktow. +//Foraninputnumberofprecisionp,atleast +// +//N=1+ceil(p*log_10(2)) +// +//decimaldigitsaresufficienttoidentifyallbinaryfloating-point +//numbers(Matula,"In-and-Outconversions"). +//ThisimpliesthatthealgorithmdoesnotproducemorethanNdecimal +//digits. +// +//N=17forp=53(IEEEdoubleprecision) +//N=9forp=24(IEEEsingleprecision) +} + +JSON_HEDLEY_NON_NULL(1) +inlinevoidgrisu2(char*buf,int&len,int&decimal_exponent, +diyfpm_minus,diyfpv,diyfpm_plus) +{ +JSON_ASSERT(m_plus.e==m_minus.e); +JSON_ASSERT(m_plus.e==v.e); + +//--------(-----------------------+-----------------------)--------(A) +//m-vm+ +// +//--------------------(-----------+-----------------------)--------(B) +//m-vm+ +// +//Firstscalev(andm-andm+)suchthattheexponentisintherange +//[alpha,gamma]. + +constcached_powercached=get_cached_power_for_binary_exponent(m_plus.e); + +constdiyfpc_minus_k(cached.f,cached.e);//=c~=10^-k + +//Theexponentoftheproductsis=v.e+c_minus_k.e+qandisintherange[alpha,gamma] +constdiyfpw=diyfp::mul(v,c_minus_k); +constdiyfpw_minus=diyfp::mul(m_minus,c_minus_k); +constdiyfpw_plus=diyfp::mul(m_plus,c_minus_k); + +//----(---+---)---------------(---+---)---------------(---+---)---- +//w-ww+ +//=c*m-=c*v=c*m+ +// +//diyfp::mulroundsitsresultandc_minus_kisapproximatedtoo.w,w-and +//w+arenowoffbyasmallamount. +//Infact: +// +//w-v*10^k<1ulp +// +//Toaccountforthisinaccuracy,addresp.subtract1ulp. +// +//--------+---[---------------(---+---)---------------]---+-------- +//w-M-wM+w+ +// +//Nowanynumberin[M-,M+](boundsincluded)willroundtowwheninput, +//regardlessofhowtheinputroundingalgorithmbreaksties. +// +//Anddigit_gengeneratestheshortestpossiblesuchnumberin[M-,M+]. +//NotethatthisdoesnotmeanthatGrisu2alwaysgeneratestheshortest +//possiblenumberintheinterval(m-,m+). +constdiyfpM_minus(w_minus.f+1,w_minus.e); +constdiyfpM_plus(w_plus.f-1,w_plus.e); + +decimal_exponent=-cached.k;//=-(-k)=k + +grisu2_digit_gen(buf,len,decimal_exponent,M_minus,w,M_plus); +} + +template<typenameFloatType> +JSON_HEDLEY_NON_NULL(1) +voidgrisu2(char*buf,int&len,int&decimal_exponent,FloatTypevalue) +{ +static_assert(diyfp::kPrecision>=std::numeric_limits<FloatType>::digits+3, +"internalerror:notenoughprecision"); + +JSON_ASSERT(std::isfinite(value)); +JSON_ASSERT(value>0); + +//Iftheneighbors(andboundaries)of'value'arealwayscomputedfordouble-precision +//numbers,allfloat'scanberecoveredusingstrtod(andstrtof).However,theresulting +//decimalrepresentationsarenotexactly"short". +// +//Thedocumentationfor'std::to_chars'(https://en.cppreference.com/w/cpp/utility/to_chars) +//says"valueisconvertedtoastringasifbystd::sprintfinthedefault("C")locale" +//andsincesprintfpromotesfloat'stodouble's,Ithinkthisisexactlywhat'std::to_chars' +//does. +//Ontheotherhand,thedocumentationfor'std::to_chars'requiresthat"parsingthe +//representationusingthecorrespondingstd::from_charsfunctionrecoversvalueexactly".That +//indicatesthatsingleprecisionfloating-pointnumbersshouldberecoveredusing +//'std::strtof'. +// +//NB:Iftheneighborsarecomputedforsingle-precisionnumbers,thereisasinglefloat +//(7.0385307e-26f)whichcan'tberecoveredusingstrtod.Theresultingdoubleprecision +//valueisoffby1ulp. +#if0 +constboundariesw=compute_boundaries(static_cast<double>(value)); +#else +constboundariesw=compute_boundaries(value); +#endif + +grisu2(buf,len,decimal_exponent,w.minus,w.w,w.plus); +} + +JSON_HEDLEY_NON_NULL(1) +JSON_HEDLEY_RETURNS_NON_NULL +inlinechar*append_exponent(char*buf,inte) +{ +JSON_ASSERT(e>-1000); +JSON_ASSERT(e<1000); + +if(e<0) +{ +e=-e; +*buf++='-'; +} +else +{ +*buf++='+'; +} + +autok=static_cast<std::uint32_t>(e); +if(k<10) +{ +//Alwaysprintatleasttwodigitsintheexponent. +//Thisisforcompatibilitywithprintf("%g"). +*buf++='0'; +*buf++=static_cast<char>('0'+k); +} +elseif(k<100) +{ +*buf++=static_cast<char>('0'+k/10); +k%=10; +*buf++=static_cast<char>('0'+k); +} +else +{ +*buf++=static_cast<char>('0'+k/100); +k%=100; +*buf++=static_cast<char>('0'+k/10); +k%=10; +*buf++=static_cast<char>('0'+k); +} + +returnbuf; +} + +JSON_HEDLEY_NON_NULL(1) +JSON_HEDLEY_RETURNS_NON_NULL +inlinechar*format_buffer(char*buf,intlen,intdecimal_exponent, +intmin_exp,intmax_exp) +{ +JSON_ASSERT(min_exp<0); +JSON_ASSERT(max_exp>0); + +constintk=len; +constintn=len+decimal_exponent; + +//v=buf*10^(n-k) +//kisthelengthofthebuffer(numberofdecimaldigits) +//nisthepositionofthedecimalpointrelativetothestartofthebuffer. + +if(k<=n&&n<=max_exp) +{ +//digits[000] +//len<=max_exp+2 + +std::memset(buf+k,'0',static_cast<size_t>(n)-static_cast<size_t>(k)); +//Makeitlooklikeafloating-pointnumber(#362,#378) +buf[n+0]='.'; +buf[n+1]='0'; +returnbuf+(static_cast<size_t>(n)+2); +} + +if(0<n&&n<=max_exp) +{ +//dig.its +//len<=max_digits10+1 + +JSON_ASSERT(k>n); + +std::memmove(buf+(static_cast<size_t>(n)+1),buf+n,static_cast<size_t>(k)-static_cast<size_t>(n)); +buf[n]='.'; +returnbuf+(static_cast<size_t>(k)+1U); +} + +if(min_exp<n&&n<=0) +{ +//0.[000]digits +//len<=2+(-min_exp-1)+max_digits10 + +std::memmove(buf+(2+static_cast<size_t>(-n)),buf,static_cast<size_t>(k)); +buf[0]='0'; +buf[1]='.'; +std::memset(buf+2,'0',static_cast<size_t>(-n)); +returnbuf+(2U+static_cast<size_t>(-n)+static_cast<size_t>(k)); +} + +if(k==1) +{ +//dE+123 +//len<=1+5 + +buf+=1; +} +else +{ +//d.igitsE+123 +//len<=max_digits10+1+5 + +std::memmove(buf+2,buf+1,static_cast<size_t>(k)-1); +buf[1]='.'; +buf+=1+static_cast<size_t>(k); +} + +*buf++='e'; +returnappend_exponent(buf,n-1); +} + +}//namespacedtoa_impl + +template<typenameFloatType> +JSON_HEDLEY_NON_NULL(1,2) +JSON_HEDLEY_RETURNS_NON_NULL +char*to_chars(char*first,constchar*last,FloatTypevalue) +{ +static_cast<void>(last);//maybeunused-fixwarning +JSON_ASSERT(std::isfinite(value)); + +//Usesignbit(value)insteadof(value<0)sincesignbitworksfor-0. +if(std::signbit(value)) +{ +value=-value; +*first++='-'; +} + +if(value==0)//+-0 +{ +*first++='0'; +//Makeitlooklikeafloating-pointnumber(#362,#378) +*first++='.'; +*first++='0'; +returnfirst; +} + +JSON_ASSERT(last-first>=std::numeric_limits<FloatType>::max_digits10); + +//Computev=buffer*10^decimal_exponent. +//Thedecimaldigitsarestoredinthebuffer,whichneedstobeinterpreted +//asanunsigneddecimalinteger. +//lenisthelengthofthebuffer,i.e.thenumberofdecimaldigits. +intlen=0; +intdecimal_exponent=0; +dtoa_impl::grisu2(first,len,decimal_exponent,value); + +JSON_ASSERT(len<=std::numeric_limits<FloatType>::max_digits10); + +//Formatthebufferlikeprintf("%.*g",prec,value) +constexprintkMinExp=-4; +//Usedigits10heretoincreasecompatibilitywithversion2. +constexprintkMaxExp=std::numeric_limits<FloatType>::digits10; + +JSON_ASSERT(last-first>=kMaxExp+2); +JSON_ASSERT(last-first>=2+(-kMinExp-1)+std::numeric_limits<FloatType>::max_digits10); +JSON_ASSERT(last-first>=std::numeric_limits<FloatType>::max_digits10+6); + +returndtoa_impl::format_buffer(first,len,decimal_exponent,kMinExp,kMaxExp); +} + +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/exceptions.hpp> + +//#include<nlohmann/detail/macro_scope.hpp> + +//#include<nlohmann/detail/meta/cpp_future.hpp> + +//#include<nlohmann/detail/output/binary_writer.hpp> + +//#include<nlohmann/detail/output/output_adapters.hpp> + +//#include<nlohmann/detail/value_t.hpp> + + +namespacenlohmann +{ +namespacedetail +{ +//serialization// + +enumclasserror_handler_t +{ +strict, +replace, +ignore +}; + +template<typenameBasicJsonType> +classserializer +{ +usingstring_t=typenameBasicJsonType::string_t; +usingnumber_float_t=typenameBasicJsonType::number_float_t; +usingnumber_integer_t=typenameBasicJsonType::number_integer_t; +usingnumber_unsigned_t=typenameBasicJsonType::number_unsigned_t; +usingbinary_char_t=typenameBasicJsonType::binary_t::value_type; +staticconstexprstd::uint8_tUTF8_ACCEPT=0; +staticconstexprstd::uint8_tUTF8_REJECT=1; + +public: +serializer(output_adapter_t<char>s,constcharichar, +error_handler_terror_handler_=error_handler_t::strict) +:o(std::move(s)) +,loc(std::localeconv()) +,thousands_sep(loc->thousands_sep==nullptr?'\0':std::char_traits<char>::to_char_type(*(loc->thousands_sep))) +,decimal_point(loc->decimal_point==nullptr?'\0':std::char_traits<char>::to_char_type(*(loc->decimal_point))) +,indent_char(ichar) +,indent_string(512,indent_char) +,error_handler(error_handler_) +{} + +//deletebecauseofpointermembers +serializer(constserializer&)=delete; +serializer&operator=(constserializer&)=delete; +serializer(serializer&&)=delete; +serializer&operator=(serializer&&)=delete; +~serializer()=default; + +voiddump(constBasicJsonType&val, +constboolpretty_print, +constboolensure_ascii, +constunsignedintindent_step, +constunsignedintcurrent_indent=0) +{ +switch(val.m_type) +{ +casevalue_t::object: +{ +if(val.m_value.object->empty()) +{ +o->write_characters("{}",2); +return; +} + +if(pretty_print) +{ +o->write_characters("{\n",2); + +//variabletoholdindentationforrecursivecalls +constautonew_indent=current_indent+indent_step; +if(JSON_HEDLEY_UNLIKELY(indent_string.size()<new_indent)) +{ +indent_string.resize(indent_string.size()*2,''); +} + +//firstn-1elements +autoi=val.m_value.object->cbegin(); +for(std::size_tcnt=0;cnt<val.m_value.object->size()-1;++cnt,++i) +{ +o->write_characters(indent_string.c_str(),new_indent); +o->write_character('\"'); +dump_escaped(i->first,ensure_ascii); +o->write_characters("\":",3); +dump(i->second,true,ensure_ascii,indent_step,new_indent); +o->write_characters(",\n",2); +} + +//lastelement +JSON_ASSERT(i!=val.m_value.object->cend()); +JSON_ASSERT(std::next(i)==val.m_value.object->cend()); +o->write_characters(indent_string.c_str(),new_indent); +o->write_character('\"'); +dump_escaped(i->first,ensure_ascii); +o->write_characters("\":",3); +dump(i->second,true,ensure_ascii,indent_step,new_indent); + +o->write_character('\n'); +o->write_characters(indent_string.c_str(),current_indent); +o->write_character('}'); +} +else +{ +o->write_character('{'); + +//firstn-1elements +autoi=val.m_value.object->cbegin(); +for(std::size_tcnt=0;cnt<val.m_value.object->size()-1;++cnt,++i) +{ +o->write_character('\"'); +dump_escaped(i->first,ensure_ascii); +o->write_characters("\":",2); +dump(i->second,false,ensure_ascii,indent_step,current_indent); +o->write_character(','); +} + +//lastelement +JSON_ASSERT(i!=val.m_value.object->cend()); +JSON_ASSERT(std::next(i)==val.m_value.object->cend()); +o->write_character('\"'); +dump_escaped(i->first,ensure_ascii); +o->write_characters("\":",2); +dump(i->second,false,ensure_ascii,indent_step,current_indent); + +o->write_character('}'); +} + +return; +} + +casevalue_t::array: +{ +if(val.m_value.array->empty()) +{ +o->write_characters("[]",2); +return; +} + +if(pretty_print) +{ +o->write_characters("[\n",2); + +//variabletoholdindentationforrecursivecalls +constautonew_indent=current_indent+indent_step; +if(JSON_HEDLEY_UNLIKELY(indent_string.size()<new_indent)) +{ +indent_string.resize(indent_string.size()*2,''); +} + +//firstn-1elements +for(autoi=val.m_value.array->cbegin(); +i!=val.m_value.array->cend()-1;++i) +{ +o->write_characters(indent_string.c_str(),new_indent); +dump(*i,true,ensure_ascii,indent_step,new_indent); +o->write_characters(",\n",2); +} + +//lastelement +JSON_ASSERT(!val.m_value.array->empty()); +o->write_characters(indent_string.c_str(),new_indent); +dump(val.m_value.array->back(),true,ensure_ascii,indent_step,new_indent); + +o->write_character('\n'); +o->write_characters(indent_string.c_str(),current_indent); +o->write_character(']'); +} +else +{ +o->write_character('['); + +//firstn-1elements +for(autoi=val.m_value.array->cbegin(); +i!=val.m_value.array->cend()-1;++i) +{ +dump(*i,false,ensure_ascii,indent_step,current_indent); +o->write_character(','); +} + +//lastelement +JSON_ASSERT(!val.m_value.array->empty()); +dump(val.m_value.array->back(),false,ensure_ascii,indent_step,current_indent); + +o->write_character(']'); +} + +return; +} + +casevalue_t::string: +{ +o->write_character('\"'); +dump_escaped(*val.m_value.string,ensure_ascii); +o->write_character('\"'); +return; +} + +casevalue_t::binary: +{ +if(pretty_print) +{ +o->write_characters("{\n",2); + +//variabletoholdindentationforrecursivecalls +constautonew_indent=current_indent+indent_step; +if(JSON_HEDLEY_UNLIKELY(indent_string.size()<new_indent)) +{ +indent_string.resize(indent_string.size()*2,''); +} + +o->write_characters(indent_string.c_str(),new_indent); + +o->write_characters("\"bytes\":[",10); + +if(!val.m_value.binary->empty()) +{ +for(autoi=val.m_value.binary->cbegin(); +i!=val.m_value.binary->cend()-1;++i) +{ +dump_integer(*i); +o->write_characters(",",2); +} +dump_integer(val.m_value.binary->back()); +} + +o->write_characters("],\n",3); +o->write_characters(indent_string.c_str(),new_indent); + +o->write_characters("\"subtype\":",11); +if(val.m_value.binary->has_subtype()) +{ +dump_integer(val.m_value.binary->subtype()); +} +else +{ +o->write_characters("null",4); +} +o->write_character('\n'); +o->write_characters(indent_string.c_str(),current_indent); +o->write_character('}'); +} +else +{ +o->write_characters("{\"bytes\":[",10); + +if(!val.m_value.binary->empty()) +{ +for(autoi=val.m_value.binary->cbegin(); +i!=val.m_value.binary->cend()-1;++i) +{ +dump_integer(*i); +o->write_character(','); +} +dump_integer(val.m_value.binary->back()); +} + +o->write_characters("],\"subtype\":",12); +if(val.m_value.binary->has_subtype()) +{ +dump_integer(val.m_value.binary->subtype()); +o->write_character('}'); +} +else +{ +o->write_characters("null}",5); +} +} +return; +} + +casevalue_t::boolean: +{ +if(val.m_value.boolean) +{ +o->write_characters("true",4); +} +else +{ +o->write_characters("false",5); +} +return; +} + +casevalue_t::number_integer: +{ +dump_integer(val.m_value.number_integer); +return; +} + +casevalue_t::number_unsigned: +{ +dump_integer(val.m_value.number_unsigned); +return; +} + +casevalue_t::number_float: +{ +dump_float(val.m_value.number_float); +return; +} + +casevalue_t::discarded: +{ +o->write_characters("<discarded>",11); +return; +} + +casevalue_t::null: +{ +o->write_characters("null",4); +return; +} + +default://LCOV_EXCL_LINE +JSON_ASSERT(false);//NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert)LCOV_EXCL_LINE +} +} + +JSON_PRIVATE_UNLESS_TESTED: +voiddump_escaped(conststring_t&s,constboolensure_ascii) +{ +std::uint32_tcodepoint{}; +std::uint8_tstate=UTF8_ACCEPT; +std::size_tbytes=0;//numberofbyteswrittentostring_buffer + +//numberofbyteswrittenatthepointofthelastvalidbyte +std::size_tbytes_after_last_accept=0; +std::size_tundumped_chars=0; + +for(std::size_ti=0;i<s.size();++i) +{ +constautobyte=static_cast<uint8_t>(s[i]); + +switch(decode(state,codepoint,byte)) +{ +caseUTF8_ACCEPT://decodefoundanewcodepoint +{ +switch(codepoint) +{ +case0x08://backspace +{ +string_buffer[bytes++]='\\'; +string_buffer[bytes++]='b'; +break; +} + +case0x09://horizontaltab +{ +string_buffer[bytes++]='\\'; +string_buffer[bytes++]='t'; +break; +} + +case0x0A://newline +{ +string_buffer[bytes++]='\\'; +string_buffer[bytes++]='n'; +break; +} + +case0x0C://formfeed +{ +string_buffer[bytes++]='\\'; +string_buffer[bytes++]='f'; +break; +} + +case0x0D://carriagereturn +{ +string_buffer[bytes++]='\\'; +string_buffer[bytes++]='r'; +break; +} + +case0x22://quotationmark +{ +string_buffer[bytes++]='\\'; +string_buffer[bytes++]='\"'; +break; +} + +case0x5C://reversesolidus +{ +string_buffer[bytes++]='\\'; +string_buffer[bytes++]='\\'; +break; +} + +default: +{ +//escapecontrolcharacters(0x00..0x1F)or,if +//ensure_asciiparameterisused,non-ASCIIcharacters +if((codepoint<=0x1F)||(ensure_ascii&&(codepoint>=0x7F))) +{ +if(codepoint<=0xFFFF) +{ +//NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg) +(std::snprintf)(string_buffer.data()+bytes,7,"\\u%04x", +static_cast<std::uint16_t>(codepoint)); +bytes+=6; +} +else +{ +//NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg) +(std::snprintf)(string_buffer.data()+bytes,13,"\\u%04x\\u%04x", +static_cast<std::uint16_t>(0xD7C0u+(codepoint>>10u)), +static_cast<std::uint16_t>(0xDC00u+(codepoint&0x3FFu))); +bytes+=12; +} +} +else +{ +//copybytetobuffer(allpreviousbytes +//beencopiedhaveindefaultcaseabove) +string_buffer[bytes++]=s[i]; +} +break; +} +} + +//writebufferandresetindex;theremustbe13bytes +//left,asthisisthemaximalnumberofbytestobe +//written("\uxxxx\uxxxx\0")foronecodepoint +if(string_buffer.size()-bytes<13) +{ +o->write_characters(string_buffer.data(),bytes); +bytes=0; +} + +//rememberthebytepositionofthisaccept +bytes_after_last_accept=bytes; +undumped_chars=0; +break; +} + +caseUTF8_REJECT://decodefoundinvalidUTF-8byte +{ +switch(error_handler) +{ +caseerror_handler_t::strict: +{ +std::stringsn(3,'\0'); +//NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg) +(std::snprintf)(&sn[0],sn.size(),"%.2X",byte); +JSON_THROW(type_error::create(316,"invalidUTF-8byteatindex"+std::to_string(i)+":0x"+sn,BasicJsonType())); +} + +caseerror_handler_t::ignore: +caseerror_handler_t::replace: +{ +//incasewesawthischaracterthefirsttime,we +//wouldliketoreaditagain,becausethebyte +//maybeOKforitself,butjustnotOKforthe +//previoussequence +if(undumped_chars>0) +{ +--i; +} + +//resetlengthbuffertothelastacceptedindex; +//thusremoving/ignoringtheinvalidcharacters +bytes=bytes_after_last_accept; + +if(error_handler==error_handler_t::replace) +{ +//addareplacementcharacter +if(ensure_ascii) +{ +string_buffer[bytes++]='\\'; +string_buffer[bytes++]='u'; +string_buffer[bytes++]='f'; +string_buffer[bytes++]='f'; +string_buffer[bytes++]='f'; +string_buffer[bytes++]='d'; +} +else +{ +string_buffer[bytes++]=detail::binary_writer<BasicJsonType, char>::to_char_type('\xEF'); +string_buffer[bytes++]=detail::binary_writer<BasicJsonType, char>::to_char_type('\xBF'); +string_buffer[bytes++]=detail::binary_writer<BasicJsonType, char>::to_char_type('\xBD'); +} + +//writebufferandresetindex;theremustbe13bytes +//left,asthisisthemaximalnumberofbytestobe +//written("\uxxxx\uxxxx\0")foronecodepoint +if(string_buffer.size()-bytes<13) +{ +o->write_characters(string_buffer.data(),bytes); +bytes=0; +} + +bytes_after_last_accept=bytes; +} + +undumped_chars=0; + +//continueprocessingthestring +state=UTF8_ACCEPT; +break; +} + +default://LCOV_EXCL_LINE +JSON_ASSERT(false);//NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert)LCOV_EXCL_LINE +} +break; +} + +default://decodefoundyetincompletemulti-bytecodepoint +{ +if(!ensure_ascii) +{ +//codepointwillnotbeescaped-copybytetobuffer +string_buffer[bytes++]=s[i]; +} +++undumped_chars; +break; +} +} +} + +//wefinishedprocessingthestring +if(JSON_HEDLEY_LIKELY(state==UTF8_ACCEPT)) +{ +//writebuffer +if(bytes>0) +{ +o->write_characters(string_buffer.data(),bytes); +} +} +else +{ +//wefinishreading,butdonotaccept:stringwasincomplete +switch(error_handler) +{ +caseerror_handler_t::strict: +{ +std::stringsn(3,'\0'); +//NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg) +(std::snprintf)(&sn[0],sn.size(),"%.2X",static_cast<std::uint8_t>(s.back())); +JSON_THROW(type_error::create(316,"incompleteUTF-8string;lastbyte:0x"+sn,BasicJsonType())); +} + +caseerror_handler_t::ignore: +{ +//writeallacceptedbytes +o->write_characters(string_buffer.data(),bytes_after_last_accept); +break; +} + +caseerror_handler_t::replace: +{ +//writeallacceptedbytes +o->write_characters(string_buffer.data(),bytes_after_last_accept); +//addareplacementcharacter +if(ensure_ascii) +{ +o->write_characters("\\ufffd",6); +} +else +{ +o->write_characters("\xEF\xBF\xBD",3); +} +break; +} + +default://LCOV_EXCL_LINE +JSON_ASSERT(false);//NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert)LCOV_EXCL_LINE +} +} +} + +private: +inlineunsignedintcount_digits(number_unsigned_tx)noexcept +{ +unsignedintn_digits=1; +for(;;) +{ +if(x<10) +{ +returnn_digits; +} +if(x<100) +{ +returnn_digits+1; +} +if(x<1000) +{ +returnn_digits+2; +} +if(x<10000) +{ +returnn_digits+3; +} +x=x/10000u; +n_digits+=4; +} +} + +template<typenameNumberType,detail::enable_if_t< +std::is_same<NumberType,number_unsigned_t>::value|| +std::is_same<NumberType,number_integer_t>::value|| +std::is_same<NumberType,binary_char_t>::value, +int>=0> +voiddump_integer(NumberTypex) +{ +staticconstexprstd::array<std::array<char,2>,100>digits_to_99 +{ +{ +{{'0','0'}},{{'0','1'}},{{'0','2'}},{{'0','3'}},{{'0','4'}},{{'0','5'}},{{'0','6'}},{{'0','7'}},{{'0','8'}},{{'0','9'}}, +{{'1','0'}},{{'1','1'}},{{'1','2'}},{{'1','3'}},{{'1','4'}},{{'1','5'}},{{'1','6'}},{{'1','7'}},{{'1','8'}},{{'1','9'}}, +{{'2','0'}},{{'2','1'}},{{'2','2'}},{{'2','3'}},{{'2','4'}},{{'2','5'}},{{'2','6'}},{{'2','7'}},{{'2','8'}},{{'2','9'}}, +{{'3','0'}},{{'3','1'}},{{'3','2'}},{{'3','3'}},{{'3','4'}},{{'3','5'}},{{'3','6'}},{{'3','7'}},{{'3','8'}},{{'3','9'}}, +{{'4','0'}},{{'4','1'}},{{'4','2'}},{{'4','3'}},{{'4','4'}},{{'4','5'}},{{'4','6'}},{{'4','7'}},{{'4','8'}},{{'4','9'}}, +{{'5','0'}},{{'5','1'}},{{'5','2'}},{{'5','3'}},{{'5','4'}},{{'5','5'}},{{'5','6'}},{{'5','7'}},{{'5','8'}},{{'5','9'}}, +{{'6','0'}},{{'6','1'}},{{'6','2'}},{{'6','3'}},{{'6','4'}},{{'6','5'}},{{'6','6'}},{{'6','7'}},{{'6','8'}},{{'6','9'}}, +{{'7','0'}},{{'7','1'}},{{'7','2'}},{{'7','3'}},{{'7','4'}},{{'7','5'}},{{'7','6'}},{{'7','7'}},{{'7','8'}},{{'7','9'}}, +{{'8','0'}},{{'8','1'}},{{'8','2'}},{{'8','3'}},{{'8','4'}},{{'8','5'}},{{'8','6'}},{{'8','7'}},{{'8','8'}},{{'8','9'}}, +{{'9','0'}},{{'9','1'}},{{'9','2'}},{{'9','3'}},{{'9','4'}},{{'9','5'}},{{'9','6'}},{{'9','7'}},{{'9','8'}},{{'9','9'}}, +} +}; + +//specialcasefor"0" +if(x==0) +{ +o->write_character('0'); +return; +} + +//useapointertofillthebuffer +autobuffer_ptr=number_buffer.begin();//NOLINT(llvm-qualified-auto,readability-qualified-auto,cppcoreguidelines-pro-type-vararg,hicpp-vararg) + +constboolis_negative=std::is_same<NumberType,number_integer_t>::value&&!(x>=0);//seeissue#755 +number_unsigned_tabs_value; + +unsignedintn_chars{}; + +if(is_negative) +{ +*buffer_ptr='-'; +abs_value=remove_sign(static_cast<number_integer_t>(x)); + +//accountonemorebytefortheminussign +n_chars=1+count_digits(abs_value); +} +else +{ +abs_value=static_cast<number_unsigned_t>(x); +n_chars=count_digits(abs_value); +} + +//spare1bytefor'\0' +JSON_ASSERT(n_chars<number_buffer.size()-1); + +//jumptotheendtogeneratethestringfrombackward +//sowelateravoidreversingtheresult +buffer_ptr+=n_chars; + +//Fastint2asciiimplementationinspiredby"Fastware"talkbyAndreiAlexandrescu +//See:https://www.youtube.com/watch?v=o4-CwDo2zpg +while(abs_value>=100) +{ +constautodigits_index=static_cast<unsigned>((abs_value%100)); +abs_value/=100; +*(--buffer_ptr)=digits_to_99[digits_index][1]; +*(--buffer_ptr)=digits_to_99[digits_index][0]; +} + +if(abs_value>=10) +{ +constautodigits_index=static_cast<unsigned>(abs_value); +*(--buffer_ptr)=digits_to_99[digits_index][1]; +*(--buffer_ptr)=digits_to_99[digits_index][0]; +} +else +{ +*(--buffer_ptr)=static_cast<char>('0'+abs_value); +} + +o->write_characters(number_buffer.data(),n_chars); +} + +voiddump_float(number_float_tx) +{ +//NaN/inf +if(!std::isfinite(x)) +{ +o->write_characters("null",4); +return; +} + +//Ifnumber_float_tisanIEEE-754singleordoubleprecisionnumber, +//usetheGrisu2algorithmtoproduceshortnumberswhichare +//guaranteedtoround-trip,usingstrtofandstrtod,resp. +// +//NB:Thetestbelowworksif<longdouble>==<double>. +staticconstexprboolis_ieee_single_or_double +=(std::numeric_limits<number_float_t>::is_iec559&&std::numeric_limits<number_float_t>::digits==24&&std::numeric_limits<number_float_t>::max_exponent==128)|| +(std::numeric_limits<number_float_t>::is_iec559&&std::numeric_limits<number_float_t>::digits==53&&std::numeric_limits<number_float_t>::max_exponent==1024); + +dump_float(x,std::integral_constant<bool,is_ieee_single_or_double>()); +} + +voiddump_float(number_float_tx,std::true_type/*is_ieee_single_or_double*/) +{ +auto*begin=number_buffer.data(); +auto*end=::nlohmann::detail::to_chars(begin,begin+number_buffer.size(),x); + +o->write_characters(begin,static_cast<size_t>(end-begin)); +} + +voiddump_float(number_float_tx,std::false_type/*is_ieee_single_or_double*/) +{ +//getnumberofdigitsforafloat->text->floatround-trip +staticconstexprautod=std::numeric_limits<number_float_t>::max_digits10; + +//theactualconversion +//NOLINTNEXTLINE(cppcoreguidelines-pro-type-vararg,hicpp-vararg) +std::ptrdiff_tlen=(std::snprintf)(number_buffer.data(),number_buffer.size(),"%.*g",d,x); + +//negativevalueindicatesanerror +JSON_ASSERT(len>0); +//checkifbufferwaslargeenough +JSON_ASSERT(static_cast<std::size_t>(len)<number_buffer.size()); + +//erasethousandsseparator +if(thousands_sep!='\0') +{ +auto*constend=std::remove(number_buffer.begin(), +number_buffer.begin()+len,thousands_sep); +std::fill(end,number_buffer.end(),'\0'); +JSON_ASSERT((end-number_buffer.begin())<=len); +len=(end-number_buffer.begin()); +} + +//convertdecimalpointto'.' +if(decimal_point!='\0'&&decimal_point!='.') +{ +auto*constdec_pos=std::find(number_buffer.begin(),number_buffer.end(),decimal_point); +if(dec_pos!=number_buffer.end()) +{ +*dec_pos='.'; +} +} + +o->write_characters(number_buffer.data(),static_cast<std::size_t>(len)); + +//determineifneedtoappend".0" +constboolvalue_is_int_like= +std::none_of(number_buffer.begin(),number_buffer.begin()+len+1, +[](charc) +{ +returnc=='.'||c=='e'; +}); + +if(value_is_int_like) +{ +o->write_characters(".0",2); +} +} + +staticstd::uint8_tdecode(std::uint8_t&state,std::uint32_t&codep,conststd::uint8_tbyte)noexcept +{ +staticconststd::array<std::uint8_t,400>utf8d= +{ +{ +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//00..1F +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//20..3F +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//40..5F +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,//60..7F +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,//80..9F +7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,//A0..BF +8,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,//C0..DF +0xA,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x3,0x4,0x3,0x3,//E0..EF +0xB,0x6,0x6,0x6,0x5,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,0x8,//F0..FF +0x0,0x1,0x2,0x3,0x5,0x8,0x7,0x1,0x1,0x1,0x4,0x6,0x1,0x1,0x1,0x1,//s0..s0 +1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,0,1,1,1,1,1,1,//s1..s2 +1,2,1,1,1,1,1,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,//s3..s4 +1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,3,1,1,1,1,1,1,//s5..s6 +1,3,1,1,1,1,1,3,1,3,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1//s7..s8 +} +}; + +JSON_ASSERT(byte<utf8d.size()); +conststd::uint8_ttype=utf8d[byte]; + +codep=(state!=UTF8_ACCEPT) +?(byte&0x3fu)|(codep<<6u) +:(0xFFu>>type)&(byte); + +std::size_tindex=256u+static_cast<size_t>(state)*16u+static_cast<size_t>(type); +JSON_ASSERT(index<400); +state=utf8d[index]; +returnstate; +} + +/* +*Overloadtomakethecompilerhappywhileitisinstantiating +*dump_integerfornumber_unsigned_t. +*Mustneverbecalled. +*/ +number_unsigned_tremove_sign(number_unsigned_tx) +{ +JSON_ASSERT(false);//NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert)LCOV_EXCL_LINE +returnx;//LCOV_EXCL_LINE +} + +/* +*Helperfunctionfordump_integer +* +*Thisfunctiontakesanegativesignedintegerandreturnsitsabsolute +*valueasunsignedinteger.Theplus/minusshufflingisnecessaryaswecan +*notdirectlyremovethesignofanarbitrarysignedintegerasthe +*absolutevaluesofINT_MINandINT_MAXareusuallynotthesame.See +*#1708fordetails. +*/ +inlinenumber_unsigned_tremove_sign(number_integer_tx)noexcept +{ +JSON_ASSERT(x<0&&x<(std::numeric_limits<number_integer_t>::max)());//NOLINT(misc-redundant-expression) +returnstatic_cast<number_unsigned_t>(-(x+1))+1; +} + +private: +output_adapter_t<char>o=nullptr; + +std::array<char,64>number_buffer{{}}; + +conststd::lconv*loc=nullptr; +constcharthousands_sep='\0'; +constchardecimal_point='\0'; + +std::array<char,512>string_buffer{{}}; + +constcharindent_char; +string_tindent_string; + +consterror_handler_terror_handler; +}; +}//namespacedetail +}//namespacenlohmann + +//#include<nlohmann/detail/value_t.hpp> + +//#include<nlohmann/json_fwd.hpp> + +//#include<nlohmann/ordered_map.hpp> + + +#include<functional>//less +#include<initializer_list>//initializer_list +#include<iterator>//input_iterator_tag,iterator_traits +#include<memory>//allocator +#include<stdexcept>//forout_of_range +#include<type_traits>//enable_if,is_convertible +#include<utility>//pair +#include<vector>//vector + +//#include<nlohmann/detail/macro_scope.hpp> + + +namespacenlohmann +{ + +template<classKey,classT,classIgnoredLess=std::less<Key>, +classAllocator=std::allocator<std::pair<constKey,T>>> +structordered_map:std::vector<std::pair<constKey,T>,Allocator> +{ +usingkey_type=Key; +usingmapped_type=T; +usingContainer=std::vector<std::pair<constKey,T>,Allocator>; +usingtypenameContainer::iterator; +usingtypenameContainer::const_iterator; +usingtypenameContainer::size_type; +usingtypenameContainer::value_type; + +//Explicitconstructorsinsteadof`usingContainer::Container` +//otherwiseoldercompilerschokeonit(GCC<=5.5,xcode<=9.4) +ordered_map(constAllocator&alloc=Allocator()):Container{alloc}{} +template<classIt> +ordered_map(Itfirst,Itlast,constAllocator&alloc=Allocator()) +:Container{first,last,alloc}{} +ordered_map(std::initializer_list<T>init,constAllocator&alloc=Allocator()) +:Container{init,alloc}{} + +std::pair<iterator,bool>emplace(constkey_type&key,T&&t) +{ +for(autoit=this->begin();it!=this->end();++it) +{ +if(it->first==key) +{ +return{it,false}; +} +} +Container::emplace_back(key,t); +return{--this->end(),true}; +} + +T&operator[](constKey&key) +{ +returnemplace(key,T{}).first->second; +} + +constT&operator[](constKey&key)const +{ +returnat(key); +} + +T&at(constKey&key) +{ +for(autoit=this->begin();it!=this->end();++it) +{ +if(it->first==key) +{ +returnit->second; +} +} + +JSON_THROW(std::out_of_range("keynotfound")); +} + +constT&at(constKey&key)const +{ +for(autoit=this->begin();it!=this->end();++it) +{ +if(it->first==key) +{ +returnit->second; +} +} + +JSON_THROW(std::out_of_range("keynotfound")); +} + +size_typeerase(constKey&key) +{ +for(autoit=this->begin();it!=this->end();++it) +{ +if(it->first==key) +{ +//SincewecannotmoveconstKeys,re-constructtheminplace +for(autonext=it;++next!=this->end();++it) +{ +it->~value_type();//Destroybutkeepallocation +new(&*it)value_type{std::move(*next)}; +} +Container::pop_back(); +return1; +} +} +return0; +} + +iteratorerase(iteratorpos) +{ +autoit=pos; + +//SincewecannotmoveconstKeys,re-constructtheminplace +for(autonext=it;++next!=this->end();++it) +{ +it->~value_type();//Destroybutkeepallocation +new(&*it)value_type{std::move(*next)}; +} +Container::pop_back(); +returnpos; +} + +size_typecount(constKey&key)const +{ +for(autoit=this->begin();it!=this->end();++it) +{ +if(it->first==key) +{ +return1; +} +} +return0; +} + +iteratorfind(constKey&key) +{ +for(autoit=this->begin();it!=this->end();++it) +{ +if(it->first==key) +{ +returnit; +} +} +returnContainer::end(); +} + +const_iteratorfind(constKey&key)const +{ +for(autoit=this->begin();it!=this->end();++it) +{ +if(it->first==key) +{ +returnit; +} +} +returnContainer::end(); +} + +std::pair<iterator,bool>insert(value_type&&value) +{ +returnemplace(value.first,std::move(value.second)); +} + +std::pair<iterator,bool>insert(constvalue_type&value) +{ +for(autoit=this->begin();it!=this->end();++it) +{ +if(it->first==value.first) +{ +return{it,false}; +} +} +Container::push_back(value); +return{--this->end(),true}; +} + +template<typenameInputIt> +usingrequire_input_iter=typenamestd::enable_if<std::is_convertible<typenamestd::iterator_traits<InputIt>::iterator_category, +std::input_iterator_tag>::value>::type; + +template<typenameInputIt,typename=require_input_iter<InputIt>> +voidinsert(InputItfirst,InputItlast) +{ +for(autoit=first;it!=last;++it) +{ +insert(*it); +} +} +}; + +}//namespacenlohmann + + +#ifdefined(JSON_HAS_CPP_17) +#include<string_view> +#endif + +namespacenlohmann +{ + +NLOHMANN_BASIC_JSON_TPL_DECLARATION +classbasic_json//NOLINT(cppcoreguidelines-special-member-functions,hicpp-special-member-functions) +{ +private: +template<detail::value_t>friendstructdetail::external_constructor; +friend::nlohmann::json_pointer<basic_json>; + +template<typenameBasicJsonType,typenameInputType> +friendclass::nlohmann::detail::parser; +friend::nlohmann::detail::serializer<basic_json>; +template<typenameBasicJsonType> +friendclass::nlohmann::detail::iter_impl; +template<typenameBasicJsonType,typenameCharType> +friendclass::nlohmann::detail::binary_writer; +template<typenameBasicJsonType,typenameInputType,typenameSAX> +friendclass::nlohmann::detail::binary_reader; +template<typenameBasicJsonType> +friendclass::nlohmann::detail::json_sax_dom_parser; +template<typenameBasicJsonType> +friendclass::nlohmann::detail::json_sax_dom_callback_parser; +friendclass::nlohmann::detail::exception; + +usingbasic_json_t=NLOHMANN_BASIC_JSON_TPL; + +JSON_PRIVATE_UNLESS_TESTED: +//conveniencealiasesfortypesresidinginnamespacedetail; +usinglexer=::nlohmann::detail::lexer_base<basic_json>; + +template<typenameInputAdapterType> +static::nlohmann::detail::parser<basic_json,InputAdapterType>parser( +InputAdapterTypeadapter, +detail::parser_callback_t<basic_json>cb=nullptr, +constboolallow_exceptions=true, +constboolignore_comments=false +) +{ +return::nlohmann::detail::parser<basic_json,InputAdapterType>(std::move(adapter), +std::move(cb),allow_exceptions,ignore_comments); +} + +private: +usingprimitive_iterator_t=::nlohmann::detail::primitive_iterator_t; +template<typenameBasicJsonType> +usinginternal_iterator=::nlohmann::detail::internal_iterator<BasicJsonType>; +template<typenameBasicJsonType> +usingiter_impl=::nlohmann::detail::iter_impl<BasicJsonType>; +template<typenameIterator> +usingiteration_proxy=::nlohmann::detail::iteration_proxy<Iterator>; +template<typenameBase>usingjson_reverse_iterator=::nlohmann::detail::json_reverse_iterator<Base>; + +template<typenameCharType> +usingoutput_adapter_t=::nlohmann::detail::output_adapter_t<CharType>; + +template<typenameInputType> +usingbinary_reader=::nlohmann::detail::binary_reader<basic_json, InputType>; +template<typenameCharType>usingbinary_writer=::nlohmann::detail::binary_writer<basic_json, CharType>; + +JSON_PRIVATE_UNLESS_TESTED: +usingserializer=::nlohmann::detail::serializer<basic_json>; + +public: +usingvalue_t=detail::value_t; +usingjson_pointer=::nlohmann::json_pointer<basic_json>; +template<typenameT,typenameSFINAE> +usingjson_serializer=JSONSerializer<T,SFINAE>; +usingerror_handler_t=detail::error_handler_t; +usingcbor_tag_handler_t=detail::cbor_tag_handler_t; +usinginitializer_list_t=std::initializer_list<detail::json_ref<basic_json>>; + +usinginput_format_t=detail::input_format_t; +usingjson_sax_t=json_sax<basic_json>; + +//exceptions// + + +usingexception=detail::exception; +usingparse_error=detail::parse_error; +usinginvalid_iterator=detail::invalid_iterator; +usingtype_error=detail::type_error; +usingout_of_range=detail::out_of_range; +usingother_error=detail::other_error; + + + +//containertypes// + + +usingvalue_type=basic_json; + +usingreference=value_type&; +usingconst_reference=constvalue_type&; + +usingdifference_type=std::ptrdiff_t; +usingsize_type=std::size_t; + +usingallocator_type=AllocatorType<basic_json>; + +usingpointer=typenamestd::allocator_traits<allocator_type>::pointer; +usingconst_pointer=typenamestd::allocator_traits<allocator_type>::const_pointer; + +usingiterator=iter_impl<basic_json>; +usingconst_iterator=iter_impl<const basic_json>; +usingreverse_iterator=json_reverse_iterator<typename basic_json::iterator>; +usingconst_reverse_iterator=json_reverse_iterator<typename basic_json::const_iterator>; + + + +staticallocator_typeget_allocator() +{ +returnallocator_type(); +} + +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonmeta() +{ +basic_jsonresult; + +result["copyright"]="(C)2013-2021NielsLohmann"; +result["name"]="JSONforModernC++"; +result["url"]="https://github.com/nlohmann/json"; +result["version"]["string"]= +std::to_string(NLOHMANN_JSON_VERSION_MAJOR)+"."+ +std::to_string(NLOHMANN_JSON_VERSION_MINOR)+"."+ +std::to_string(NLOHMANN_JSON_VERSION_PATCH); +result["version"]["major"]=NLOHMANN_JSON_VERSION_MAJOR; +result["version"]["minor"]=NLOHMANN_JSON_VERSION_MINOR; +result["version"]["patch"]=NLOHMANN_JSON_VERSION_PATCH; + +#ifdef_WIN32 +result["platform"]="win32"; +#elifdefined__linux__ +result["platform"]="linux"; +#elifdefined__APPLE__ +result["platform"]="apple"; +#elifdefined__unix__ +result["platform"]="unix"; +#else +result["platform"]="unknown"; +#endif + +#ifdefined(__ICC)||defined(__INTEL_COMPILER) +result["compiler"]={{"family","icc"},{"version",__INTEL_COMPILER}}; +#elifdefined(__clang__) +result["compiler"]={{"family","clang"},{"version",__clang_version__}}; +#elifdefined(__GNUC__)||defined(__GNUG__) +result["compiler"]={{"family","gcc"},{"version",std::to_string(__GNUC__)+"."+std::to_string(__GNUC_MINOR__)+"."+std::to_string(__GNUC_PATCHLEVEL__)}}; +#elifdefined(__HP_cc)||defined(__HP_aCC) +result["compiler"]="hp" +#elifdefined(__IBMCPP__) +result["compiler"]={{"family","ilecpp"},{"version",__IBMCPP__}}; +#elifdefined(_MSC_VER) +result["compiler"]={{"family","msvc"},{"version",_MSC_VER}}; +#elifdefined(__PGI) +result["compiler"]={{"family","pgcpp"},{"version",__PGI}}; +#elifdefined(__SUNPRO_CC) +result["compiler"]={{"family","sunpro"},{"version",__SUNPRO_CC}}; +#else +result["compiler"]={{"family","unknown"},{"version","unknown"}}; +#endif + +#ifdef__cplusplus +result["compiler"]["c++"]=std::to_string(__cplusplus); +#else +result["compiler"]["c++"]="unknown"; +#endif +returnresult; +} + + +//JSONvaluedatatypes// + + +#ifdefined(JSON_HAS_CPP_14) +//Usetransparentcomparatorifpossible,combinedwithperfectforwarding +//onfind()andcount()callspreventsunnecessarystringconstruction. +usingobject_comparator_t=std::less<>; +#else +usingobject_comparator_t=std::less<StringType>; +#endif + +usingobject_t=ObjectType<StringType, +basic_json, +object_comparator_t, +AllocatorType<std::pair<constStringType, +basic_json>>>; + +usingarray_t=ArrayType<basic_json,AllocatorType<basic_json>>; + +usingstring_t=StringType; + +usingboolean_t=BooleanType; + +usingnumber_integer_t=NumberIntegerType; + +usingnumber_unsigned_t=NumberUnsignedType; + +usingnumber_float_t=NumberFloatType; + +usingbinary_t=nlohmann::byte_container_with_subtype<BinaryType>; + +private: + +template<typenameT,typename...Args> +JSON_HEDLEY_RETURNS_NON_NULL +staticT*create(Args&&...args) +{ +AllocatorType<T>alloc; +usingAllocatorTraits=std::allocator_traits<AllocatorType<T>>; + +autodeleter=[&](T*obj) +{ +AllocatorTraits::deallocate(alloc,obj,1); +}; +std::unique_ptr<T,decltype(deleter)>obj(AllocatorTraits::allocate(alloc,1),deleter); +AllocatorTraits::construct(alloc,obj.get(),std::forward<Args>(args)...); +JSON_ASSERT(obj!=nullptr); +returnobj.release(); +} + +//JSONvaluestorage// + +JSON_PRIVATE_UNLESS_TESTED: +unionjson_value +{ +object_t*object; +array_t*array; +string_t*string; +binary_t*binary; +boolean_tboolean; +number_integer_tnumber_integer; +number_unsigned_tnumber_unsigned; +number_float_tnumber_float; + +json_value()=default; +json_value(boolean_tv)noexcept:boolean(v){} +json_value(number_integer_tv)noexcept:number_integer(v){} +json_value(number_unsigned_tv)noexcept:number_unsigned(v){} +json_value(number_float_tv)noexcept:number_float(v){} +json_value(value_tt) +{ +switch(t) +{ +casevalue_t::object: +{ +object=create<object_t>(); +break; +} + +casevalue_t::array: +{ +array=create<array_t>(); +break; +} + +casevalue_t::string: +{ +string=create<string_t>(""); +break; +} + +casevalue_t::binary: +{ +binary=create<binary_t>(); +break; +} + +casevalue_t::boolean: +{ +boolean=boolean_t(false); +break; +} + +casevalue_t::number_integer: +{ +number_integer=number_integer_t(0); +break; +} + +casevalue_t::number_unsigned: +{ +number_unsigned=number_unsigned_t(0); +break; +} + +casevalue_t::number_float: +{ +number_float=number_float_t(0.0); +break; +} + +casevalue_t::null: +{ +object=nullptr;//silencewarning,see#821 +break; +} + +default: +{ +object=nullptr;//silencewarning,see#821 +if(JSON_HEDLEY_UNLIKELY(t==value_t::null)) +{ +JSON_THROW(other_error::create(500,"961c151d2e87f2686a955a9be24d316f1362bf213.9.1",basic_json()));//LCOV_EXCL_LINE +} +break; +} +} +} + +json_value(conststring_t&value) +{ +string=create<string_t>(value); +} + +json_value(string_t&&value) +{ +string=create<string_t>(std::move(value)); +} + +json_value(constobject_t&value) +{ +object=create<object_t>(value); +} + +json_value(object_t&&value) +{ +object=create<object_t>(std::move(value)); +} + +json_value(constarray_t&value) +{ +array=create<array_t>(value); +} + +json_value(array_t&&value) +{ +array=create<array_t>(std::move(value)); +} + +json_value(consttypenamebinary_t::container_type&value) +{ +binary=create<binary_t>(value); +} + +json_value(typenamebinary_t::container_type&&value) +{ +binary=create<binary_t>(std::move(value)); +} + +json_value(constbinary_t&value) +{ +binary=create<binary_t>(value); +} + +json_value(binary_t&&value) +{ +binary=create<binary_t>(std::move(value)); +} + +voiddestroy(value_tt)noexcept +{ +//flattenthecurrentjson_valuetoaheap-allocatedstack +std::vector<basic_json>stack; + +//movethetop-levelitemstostack +if(t==value_t::array) +{ +stack.reserve(array->size()); +std::move(array->begin(),array->end(),std::back_inserter(stack)); +} +elseif(t==value_t::object) +{ +stack.reserve(object->size()); +for(auto&&it:*object) +{ +stack.push_back(std::move(it.second)); +} +} + +while(!stack.empty()) +{ +//movethelastitemtolocalvariabletobeprocessed +basic_jsoncurrent_item(std::move(stack.back())); +stack.pop_back(); + +//ifcurrent_itemisarray/object,move +//itschildrentothestacktobeprocessedlater +if(current_item.is_array()) +{ +std::move(current_item.m_value.array->begin(),current_item.m_value.array->end(), +std::back_inserter(stack)); + +current_item.m_value.array->clear(); +} +elseif(current_item.is_object()) +{ +for(auto&&it:*current_item.m_value.object) +{ +stack.push_back(std::move(it.second)); +} + +current_item.m_value.object->clear(); +} + +//it'snowsafethatcurrent_itemgetdestructed +//sinceitdoesn'thaveanychildren +} + +switch(t) +{ +casevalue_t::object: +{ +AllocatorType<object_t>alloc; +std::allocator_traits<decltype(alloc)>::destroy(alloc,object); +std::allocator_traits<decltype(alloc)>::deallocate(alloc,object,1); +break; +} + +casevalue_t::array: +{ +AllocatorType<array_t>alloc; +std::allocator_traits<decltype(alloc)>::destroy(alloc,array); +std::allocator_traits<decltype(alloc)>::deallocate(alloc,array,1); +break; +} + +casevalue_t::string: +{ +AllocatorType<string_t>alloc; +std::allocator_traits<decltype(alloc)>::destroy(alloc,string); +std::allocator_traits<decltype(alloc)>::deallocate(alloc,string,1); +break; +} + +casevalue_t::binary: +{ +AllocatorType<binary_t>alloc; +std::allocator_traits<decltype(alloc)>::destroy(alloc,binary); +std::allocator_traits<decltype(alloc)>::deallocate(alloc,binary,1); +break; +} + +default: +{ +break; +} +} +} +}; + +private: +voidassert_invariant(boolcheck_parents=true)constnoexcept +{ +JSON_ASSERT(m_type!=value_t::object||m_value.object!=nullptr); +JSON_ASSERT(m_type!=value_t::array||m_value.array!=nullptr); +JSON_ASSERT(m_type!=value_t::string||m_value.string!=nullptr); +JSON_ASSERT(m_type!=value_t::binary||m_value.binary!=nullptr); + +#ifJSON_DIAGNOSTICS +JSON_TRY +{ +//cppcheck-suppressassertWithSideEffect +JSON_ASSERT(!check_parents||!is_structured()||std::all_of(begin(),end(),[this](constbasic_json&j) +{ +returnj.m_parent==this; +})); +} +JSON_CATCH(...){}//LCOV_EXCL_LINE +#endif +static_cast<void>(check_parents); +} + +voidset_parents() +{ +#ifJSON_DIAGNOSTICS +switch(m_type) +{ +casevalue_t::array: +{ +for(auto&element:*m_value.array) +{ +element.m_parent=this; +} +break; +} + +casevalue_t::object: +{ +for(auto&element:*m_value.object) +{ +element.second.m_parent=this; +} +break; +} + +default: +break; +} +#endif +} + +iteratorset_parents(iteratorit,typenameiterator::difference_typecount) +{ +#ifJSON_DIAGNOSTICS +for(typenameiterator::difference_typei=0;i<count;++i) +{ +(it+i)->m_parent=this; +} +#else +static_cast<void>(count); +#endif +returnit; +} + +referenceset_parent(referencej) +{ +#ifJSON_DIAGNOSTICS +j.m_parent=this; +#else +static_cast<void>(j); +#endif +returnj; +} + +public: +//JSONparsercallback// + +usingparse_event_t=detail::parse_event_t; + +usingparser_callback_t=detail::parser_callback_t<basic_json>; + +//constructors// + + +basic_json(constvalue_tv) +:m_type(v),m_value(v) +{ +assert_invariant(); +} + +basic_json(std::nullptr_t=nullptr)noexcept +:basic_json(value_t::null) +{ +assert_invariant(); +} + +template<typenameCompatibleType, +typenameU=detail::uncvref_t<CompatibleType>, +detail::enable_if_t< +!detail::is_basic_json<U>::value&&detail::is_compatible_type<basic_json_t, U>::value,int>=0> +basic_json(CompatibleType&&val)noexcept(noexcept(//NOLINT(bugprone-forwarding-reference-overload,bugprone-exception-escape) +JSONSerializer<U>::to_json(std::declval<basic_json_t&>(), +std::forward<CompatibleType>(val)))) +{ +JSONSerializer<U>::to_json(*this,std::forward<CompatibleType>(val)); +set_parents(); +assert_invariant(); +} + +template<typenameBasicJsonType, +detail::enable_if_t< +detail::is_basic_json<BasicJsonType>::value&&!std::is_same<basic_json,BasicJsonType>::value,int>=0> +basic_json(constBasicJsonType&val) +{ +usingother_boolean_t=typenameBasicJsonType::boolean_t; +usingother_number_float_t=typenameBasicJsonType::number_float_t; +usingother_number_integer_t=typenameBasicJsonType::number_integer_t; +usingother_number_unsigned_t=typenameBasicJsonType::number_unsigned_t; +usingother_string_t=typenameBasicJsonType::string_t; +usingother_object_t=typenameBasicJsonType::object_t; +usingother_array_t=typenameBasicJsonType::array_t; +usingother_binary_t=typenameBasicJsonType::binary_t; + +switch(val.type()) +{ +casevalue_t::boolean: +JSONSerializer<other_boolean_t>::to_json(*this,val.templateget<other_boolean_t>()); +break; +casevalue_t::number_float: +JSONSerializer<other_number_float_t>::to_json(*this,val.templateget<other_number_float_t>()); +break; +casevalue_t::number_integer: +JSONSerializer<other_number_integer_t>::to_json(*this,val.templateget<other_number_integer_t>()); +break; +casevalue_t::number_unsigned: +JSONSerializer<other_number_unsigned_t>::to_json(*this,val.templateget<other_number_unsigned_t>()); +break; +casevalue_t::string: +JSONSerializer<other_string_t>::to_json(*this,val.templateget_ref<constother_string_t&>()); +break; +casevalue_t::object: +JSONSerializer<other_object_t>::to_json(*this,val.templateget_ref<constother_object_t&>()); +break; +casevalue_t::array: +JSONSerializer<other_array_t>::to_json(*this,val.templateget_ref<constother_array_t&>()); +break; +casevalue_t::binary: +JSONSerializer<other_binary_t>::to_json(*this,val.templateget_ref<constother_binary_t&>()); +break; +casevalue_t::null: +*this=nullptr; +break; +casevalue_t::discarded: +m_type=value_t::discarded; +break; +default://LCOV_EXCL_LINE +JSON_ASSERT(false);//NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert)LCOV_EXCL_LINE +} +set_parents(); +assert_invariant(); +} + +basic_json(initializer_list_tinit, +booltype_deduction=true, +value_tmanual_type=value_t::array) +{ +//checkifeachelementisanarraywithtwoelementswhosefirst +//elementisastring +boolis_an_object=std::all_of(init.begin(),init.end(), +[](constdetail::json_ref<basic_json>&element_ref) +{ +returnelement_ref->is_array()&&element_ref->size()==2&&(*element_ref)[0].is_string(); +}); + +//adjusttypeiftypedeductionisnotwanted +if(!type_deduction) +{ +//ifarrayiswanted,donotcreateanobjectthoughpossible +if(manual_type==value_t::array) +{ +is_an_object=false; +} + +//ifobjectiswantedbutimpossible,throwanexception +if(JSON_HEDLEY_UNLIKELY(manual_type==value_t::object&&!is_an_object)) +{ +JSON_THROW(type_error::create(301,"cannotcreateobjectfrominitializerlist",basic_json())); +} +} + +if(is_an_object) +{ +//theinitializerlistisalistofpairs->createobject +m_type=value_t::object; +m_value=value_t::object; + +for(auto&element_ref:init) +{ +autoelement=element_ref.moved_or_copied(); +m_value.object->emplace( +std::move(*((*element.m_value.array)[0].m_value.string)), +std::move((*element.m_value.array)[1])); +} +} +else +{ +//theinitializerlistdescribesanarray->createarray +m_type=value_t::array; +m_value.array=create<array_t>(init.begin(),init.end()); +} + +set_parents(); +assert_invariant(); +} + +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonbinary(consttypenamebinary_t::container_type&init) +{ +autores=basic_json(); +res.m_type=value_t::binary; +res.m_value=init; +returnres; +} + +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonbinary(consttypenamebinary_t::container_type&init,std::uint8_tsubtype) +{ +autores=basic_json(); +res.m_type=value_t::binary; +res.m_value=binary_t(init,subtype); +returnres; +} + +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonbinary(typenamebinary_t::container_type&&init) +{ +autores=basic_json(); +res.m_type=value_t::binary; +res.m_value=std::move(init); +returnres; +} + +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonbinary(typenamebinary_t::container_type&&init,std::uint8_tsubtype) +{ +autores=basic_json(); +res.m_type=value_t::binary; +res.m_value=binary_t(std::move(init),subtype); +returnres; +} + +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonarray(initializer_list_tinit={}) +{ +returnbasic_json(init,false,value_t::array); +} + +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonobject(initializer_list_tinit={}) +{ +returnbasic_json(init,false,value_t::object); +} + +basic_json(size_typecnt,constbasic_json&val) +:m_type(value_t::array) +{ +m_value.array=create<array_t>(cnt,val); +set_parents(); +assert_invariant(); +} + +template<classInputIT,typenamestd::enable_if< +std::is_same<InputIT,typenamebasic_json_t::iterator>::value|| +std::is_same<InputIT,typenamebasic_json_t::const_iterator>::value,int>::type=0> +basic_json(InputITfirst,InputITlast) +{ +JSON_ASSERT(first.m_object!=nullptr); +JSON_ASSERT(last.m_object!=nullptr); + +//makesureiteratorfitsthecurrentvalue +if(JSON_HEDLEY_UNLIKELY(first.m_object!=last.m_object)) +{ +JSON_THROW(invalid_iterator::create(201,"iteratorsarenotcompatible",basic_json())); +} + +//copytypefromfirstiterator +m_type=first.m_object->m_type; + +//checkifiteratorrangeiscompleteforprimitivevalues +switch(m_type) +{ +casevalue_t::boolean: +casevalue_t::number_float: +casevalue_t::number_integer: +casevalue_t::number_unsigned: +casevalue_t::string: +{ +if(JSON_HEDLEY_UNLIKELY(!first.m_it.primitive_iterator.is_begin() +||!last.m_it.primitive_iterator.is_end())) +{ +JSON_THROW(invalid_iterator::create(204,"iteratorsoutofrange",*first.m_object)); +} +break; +} + +default: +break; +} + +switch(m_type) +{ +casevalue_t::number_integer: +{ +m_value.number_integer=first.m_object->m_value.number_integer; +break; +} + +casevalue_t::number_unsigned: +{ +m_value.number_unsigned=first.m_object->m_value.number_unsigned; +break; +} + +casevalue_t::number_float: +{ +m_value.number_float=first.m_object->m_value.number_float; +break; +} + +casevalue_t::boolean: +{ +m_value.boolean=first.m_object->m_value.boolean; +break; +} + +casevalue_t::string: +{ +m_value=*first.m_object->m_value.string; +break; +} + +casevalue_t::object: +{ +m_value.object=create<object_t>(first.m_it.object_iterator, +last.m_it.object_iterator); +break; +} + +casevalue_t::array: +{ +m_value.array=create<array_t>(first.m_it.array_iterator, +last.m_it.array_iterator); +break; +} + +casevalue_t::binary: +{ +m_value=*first.m_object->m_value.binary; +break; +} + +default: +JSON_THROW(invalid_iterator::create(206,"cannotconstructwithiteratorsfrom"+std::string(first.m_object->type_name()),*first.m_object)); +} + +set_parents(); +assert_invariant(); +} + + +//otherconstructorsanddestructor// + +template<typenameJsonRef, +detail::enable_if_t<detail::conjunction<detail::is_json_ref<JsonRef>, +std::is_same<typenameJsonRef::value_type,basic_json>>::value,int>=0> +basic_json(constJsonRef&ref):basic_json(ref.moved_or_copied()){} + +basic_json(constbasic_json&other) +:m_type(other.m_type) +{ +//checkofpassedvalueisvalid +other.assert_invariant(); + +switch(m_type) +{ +casevalue_t::object: +{ +m_value=*other.m_value.object; +break; +} + +casevalue_t::array: +{ +m_value=*other.m_value.array; +break; +} + +casevalue_t::string: +{ +m_value=*other.m_value.string; +break; +} + +casevalue_t::boolean: +{ +m_value=other.m_value.boolean; +break; +} + +casevalue_t::number_integer: +{ +m_value=other.m_value.number_integer; +break; +} + +casevalue_t::number_unsigned: +{ +m_value=other.m_value.number_unsigned; +break; +} + +casevalue_t::number_float: +{ +m_value=other.m_value.number_float; +break; +} + +casevalue_t::binary: +{ +m_value=*other.m_value.binary; +break; +} + +default: +break; +} + +set_parents(); +assert_invariant(); +} + +basic_json(basic_json&&other)noexcept +:m_type(std::move(other.m_type)), +m_value(std::move(other.m_value)) +{ +//checkthatpassedvalueisvalid +other.assert_invariant(false); + +//invalidatepayload +other.m_type=value_t::null; +other.m_value={}; + +set_parents(); +assert_invariant(); +} + +basic_json&operator=(basic_jsonother)noexcept( +std::is_nothrow_move_constructible<value_t>::value&& +std::is_nothrow_move_assignable<value_t>::value&& +std::is_nothrow_move_constructible<json_value>::value&& +std::is_nothrow_move_assignable<json_value>::value +) +{ +//checkthatpassedvalueisvalid +other.assert_invariant(); + +usingstd::swap; +swap(m_type,other.m_type); +swap(m_value,other.m_value); + +set_parents(); +assert_invariant(); +return*this; +} + +~basic_json()noexcept +{ +assert_invariant(false); +m_value.destroy(m_type); +} + + +public: +//objectinspection// + + +string_tdump(constintindent=-1, +constcharindent_char='', +constboolensure_ascii=false, +consterror_handler_terror_handler=error_handler_t::strict)const +{ +string_tresult; +serializers(detail::output_adapter<char, string_t>(result),indent_char,error_handler); + +if(indent>=0) +{ +s.dump(*this,true,ensure_ascii,static_cast<unsignedint>(indent)); +} +else +{ +s.dump(*this,false,ensure_ascii,0); +} + +returnresult; +} + +constexprvalue_ttype()constnoexcept +{ +returnm_type; +} + +constexprboolis_primitive()constnoexcept +{ +returnis_null()||is_string()||is_boolean()||is_number()||is_binary(); +} + +constexprboolis_structured()constnoexcept +{ +returnis_array()||is_object(); +} + +constexprboolis_null()constnoexcept +{ +returnm_type==value_t::null; +} + +constexprboolis_boolean()constnoexcept +{ +returnm_type==value_t::boolean; +} + +constexprboolis_number()constnoexcept +{ +returnis_number_integer()||is_number_float(); +} + +constexprboolis_number_integer()constnoexcept +{ +returnm_type==value_t::number_integer||m_type==value_t::number_unsigned; +} + +constexprboolis_number_unsigned()constnoexcept +{ +returnm_type==value_t::number_unsigned; +} + +constexprboolis_number_float()constnoexcept +{ +returnm_type==value_t::number_float; +} + +constexprboolis_object()constnoexcept +{ +returnm_type==value_t::object; +} + +constexprboolis_array()constnoexcept +{ +returnm_type==value_t::array; +} + +constexprboolis_string()constnoexcept +{ +returnm_type==value_t::string; +} + +constexprboolis_binary()constnoexcept +{ +returnm_type==value_t::binary; +} + +constexprboolis_discarded()constnoexcept +{ +returnm_type==value_t::discarded; +} + +constexproperatorvalue_t()constnoexcept +{ +returnm_type; +} + + +private: +//valueaccess// + +boolean_tget_impl(boolean_t*/*unused*/)const +{ +if(JSON_HEDLEY_LIKELY(is_boolean())) +{ +returnm_value.boolean; +} + +JSON_THROW(type_error::create(302,"typemustbeboolean,butis"+std::string(type_name()),*this)); +} + +object_t*get_impl_ptr(object_t*/*unused*/)noexcept +{ +returnis_object()?m_value.object:nullptr; +} + +constexprconstobject_t*get_impl_ptr(constobject_t*/*unused*/)constnoexcept +{ +returnis_object()?m_value.object:nullptr; +} + +array_t*get_impl_ptr(array_t*/*unused*/)noexcept +{ +returnis_array()?m_value.array:nullptr; +} + +constexprconstarray_t*get_impl_ptr(constarray_t*/*unused*/)constnoexcept +{ +returnis_array()?m_value.array:nullptr; +} + +string_t*get_impl_ptr(string_t*/*unused*/)noexcept +{ +returnis_string()?m_value.string:nullptr; +} + +constexprconststring_t*get_impl_ptr(conststring_t*/*unused*/)constnoexcept +{ +returnis_string()?m_value.string:nullptr; +} + +boolean_t*get_impl_ptr(boolean_t*/*unused*/)noexcept +{ +returnis_boolean()?&m_value.boolean:nullptr; +} + +constexprconstboolean_t*get_impl_ptr(constboolean_t*/*unused*/)constnoexcept +{ +returnis_boolean()?&m_value.boolean:nullptr; +} + +number_integer_t*get_impl_ptr(number_integer_t*/*unused*/)noexcept +{ +returnis_number_integer()?&m_value.number_integer:nullptr; +} + +constexprconstnumber_integer_t*get_impl_ptr(constnumber_integer_t*/*unused*/)constnoexcept +{ +returnis_number_integer()?&m_value.number_integer:nullptr; +} + +number_unsigned_t*get_impl_ptr(number_unsigned_t*/*unused*/)noexcept +{ +returnis_number_unsigned()?&m_value.number_unsigned:nullptr; +} + +constexprconstnumber_unsigned_t*get_impl_ptr(constnumber_unsigned_t*/*unused*/)constnoexcept +{ +returnis_number_unsigned()?&m_value.number_unsigned:nullptr; +} + +number_float_t*get_impl_ptr(number_float_t*/*unused*/)noexcept +{ +returnis_number_float()?&m_value.number_float:nullptr; +} + +constexprconstnumber_float_t*get_impl_ptr(constnumber_float_t*/*unused*/)constnoexcept +{ +returnis_number_float()?&m_value.number_float:nullptr; +} + +binary_t*get_impl_ptr(binary_t*/*unused*/)noexcept +{ +returnis_binary()?m_value.binary:nullptr; +} + +constexprconstbinary_t*get_impl_ptr(constbinary_t*/*unused*/)constnoexcept +{ +returnis_binary()?m_value.binary:nullptr; +} + +template<typenameReferenceType,typenameThisType> +staticReferenceTypeget_ref_impl(ThisType&obj) +{ +//delegatethecalltoget_ptr<>() +auto*ptr=obj.templateget_ptr<typenamestd::add_pointer<ReferenceType>::type>(); + +if(JSON_HEDLEY_LIKELY(ptr!=nullptr)) +{ +return*ptr; +} + +JSON_THROW(type_error::create(303,"incompatibleReferenceTypeforget_ref,actualtypeis"+std::string(obj.type_name()),obj)); +} + +public: + +template<typenamePointerType,typenamestd::enable_if< +std::is_pointer<PointerType>::value,int>::type=0> +autoget_ptr()noexcept->decltype(std::declval<basic_json_t&>().get_impl_ptr(std::declval<PointerType>())) +{ +//delegatethecalltoget_impl_ptr<>() +returnget_impl_ptr(static_cast<PointerType>(nullptr)); +} + +template<typenamePointerType,typenamestd::enable_if< +std::is_pointer<PointerType>::value&& +std::is_const<typenamestd::remove_pointer<PointerType>::type>::value,int>::type=0> +constexprautoget_ptr()constnoexcept->decltype(std::declval<constbasic_json_t&>().get_impl_ptr(std::declval<PointerType>())) +{ +//delegatethecalltoget_impl_ptr<>()const +returnget_impl_ptr(static_cast<PointerType>(nullptr)); +} + +private: +template<typenameValueType, +detail::enable_if_t< +detail::is_default_constructible<ValueType>::value&& +detail::has_from_json<basic_json_t, ValueType>::value, +int>=0> +ValueTypeget_impl(detail::priority_tag<0>/*unused*/)constnoexcept(noexcept( +JSONSerializer<ValueType>::from_json(std::declval<constbasic_json_t&>(),std::declval<ValueType&>()))) +{ +ValueTyperet{}; +JSONSerializer<ValueType>::from_json(*this,ret); +returnret; +} + +template<typenameValueType, +detail::enable_if_t< +detail::has_non_default_from_json<basic_json_t, ValueType>::value, +int>=0> +ValueTypeget_impl(detail::priority_tag<1>/*unused*/)constnoexcept(noexcept( +JSONSerializer<ValueType>::from_json(std::declval<constbasic_json_t&>()))) +{ +returnJSONSerializer<ValueType>::from_json(*this); +} + +template<typenameBasicJsonType, +detail::enable_if_t< +detail::is_basic_json<BasicJsonType>::value, +int>=0> +BasicJsonTypeget_impl(detail::priority_tag<2>/*unused*/)const +{ +return*this; +} + +template<typenameBasicJsonType, +detail::enable_if_t< +std::is_same<BasicJsonType,basic_json_t>::value, +int>=0> +basic_jsonget_impl(detail::priority_tag<3>/*unused*/)const +{ +return*this; +} + +template<typenamePointerType, +detail::enable_if_t< +std::is_pointer<PointerType>::value, +int>=0> +constexprautoget_impl(detail::priority_tag<4>/*unused*/)constnoexcept +->decltype(std::declval<constbasic_json_t&>().templateget_ptr<PointerType>()) +{ +//delegatethecalltoget_ptr +returnget_ptr<PointerType>(); +} + +public: +template<typenameValueTypeCV,typenameValueType=detail::uncvref_t<ValueTypeCV>> +#ifdefined(JSON_HAS_CPP_14) +constexpr +#endif +autoget()constnoexcept( +noexcept(std::declval<constbasic_json_t&>().templateget_impl<ValueType>(detail::priority_tag<4>{}))) +->decltype(std::declval<constbasic_json_t&>().templateget_impl<ValueType>(detail::priority_tag<4>{})) +{ +//wecannotstatic_assertonValueTypeCVbeingnon-const,because +//thereissupportforget<constbasic_json_t>(),whichiswhywe +//stillneedtheuncvref +static_assert(!std::is_reference<ValueTypeCV>::value, +"get()cannotbeusedwithreferencetypes,youmightwanttouseget_ref()"); +returnget_impl<ValueType>(detail::priority_tag<4>{}); +} + +template<typenamePointerType,typenamestd::enable_if< +std::is_pointer<PointerType>::value,int>::type=0> +autoget()noexcept->decltype(std::declval<basic_json_t&>().templateget_ptr<PointerType>()) +{ +//delegatethecalltoget_ptr +returnget_ptr<PointerType>(); +} + +template<typenameValueType, +detail::enable_if_t< +!detail::is_basic_json<ValueType>::value&& +detail::has_from_json<basic_json_t,ValueType>::value, +int>=0> +ValueType&get_to(ValueType&v)constnoexcept(noexcept( +JSONSerializer<ValueType>::from_json(std::declval<constbasic_json_t&>(),v))) +{ +JSONSerializer<ValueType>::from_json(*this,v); +returnv; +} + +//specializationtoallowtocallget_towithabasic_jsonvalue +//seehttps://github.com/nlohmann/json/issues/2175 +template<typenameValueType, +detail::enable_if_t< +detail::is_basic_json<ValueType>::value, +int>=0> +ValueType&get_to(ValueType&v)const +{ +v=*this; +returnv; +} + +template< +typenameT,std::size_tN, +typenameArray=T(&)[N],//NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) +detail::enable_if_t< +detail::has_from_json<basic_json_t, Array>::value,int>=0> +Arrayget_to(T(&v)[N])const//NOLINT(cppcoreguidelines-avoid-c-arrays,hicpp-avoid-c-arrays,modernize-avoid-c-arrays) +noexcept(noexcept(JSONSerializer<Array>::from_json( +std::declval<constbasic_json_t&>(),v))) +{ +JSONSerializer<Array>::from_json(*this,v); +returnv; +} + +template<typenameReferenceType,typenamestd::enable_if< +std::is_reference<ReferenceType>::value,int>::type=0> +ReferenceTypeget_ref() +{ +//delegatecalltoget_ref_impl +returnget_ref_impl<ReferenceType>(*this); +} + +template<typenameReferenceType,typenamestd::enable_if< +std::is_reference<ReferenceType>::value&& +std::is_const<typenamestd::remove_reference<ReferenceType>::type>::value,int>::type=0> +ReferenceTypeget_ref()const +{ +//delegatecalltoget_ref_impl +returnget_ref_impl<ReferenceType>(*this); +} + +template<typenameValueType,typenamestd::enable_if< +!std::is_pointer<ValueType>::value&& +!std::is_same<ValueType,detail::json_ref<basic_json>>::value&& +!std::is_same<ValueType,typenamestring_t::value_type>::value&& +!detail::is_basic_json<ValueType>::value +&&!std::is_same<ValueType,std::initializer_list<typenamestring_t::value_type>>::value +#ifdefined(JSON_HAS_CPP_17)&&(defined(__GNUC__)||(defined(_MSC_VER)&&_MSC_VER>=1910&&_MSC_VER<=1914)) +&&!std::is_same<ValueType,typenamestd::string_view>::value +#endif +&&detail::is_detected<detail::get_template_function, const basic_json_t&, ValueType>::value +,int>::type=0> +JSON_EXPLICIToperatorValueType()const +{ +//delegatethecalltoget<>()const +returnget<ValueType>(); +} + +binary_t&get_binary() +{ +if(!is_binary()) +{ +JSON_THROW(type_error::create(302,"typemustbebinary,butis"+std::string(type_name()),*this)); +} + +return*get_ptr<binary_t*>(); +} + +constbinary_t&get_binary()const +{ +if(!is_binary()) +{ +JSON_THROW(type_error::create(302,"typemustbebinary,butis"+std::string(type_name()),*this)); +} + +return*get_ptr<constbinary_t*>(); +} + + + +//elementaccess// + + +referenceat(size_typeidx) +{ +//atonlyworksforarrays +if(JSON_HEDLEY_LIKELY(is_array())) +{ +JSON_TRY +{ +returnset_parent(m_value.array->at(idx)); +} +JSON_CATCH(std::out_of_range&) +{ +//createbetterexceptionexplanation +JSON_THROW(out_of_range::create(401,"arrayindex"+std::to_string(idx)+"isoutofrange",*this)); +} +} +else +{ +JSON_THROW(type_error::create(304,"cannotuseat()with"+std::string(type_name()),*this)); +} +} + +const_referenceat(size_typeidx)const +{ +//atonlyworksforarrays +if(JSON_HEDLEY_LIKELY(is_array())) +{ +JSON_TRY +{ +returnm_value.array->at(idx); +} +JSON_CATCH(std::out_of_range&) +{ +//createbetterexceptionexplanation +JSON_THROW(out_of_range::create(401,"arrayindex"+std::to_string(idx)+"isoutofrange",*this)); +} +} +else +{ +JSON_THROW(type_error::create(304,"cannotuseat()with"+std::string(type_name()),*this)); +} +} + +referenceat(consttypenameobject_t::key_type&key) +{ +//atonlyworksforobjects +if(JSON_HEDLEY_LIKELY(is_object())) +{ +JSON_TRY +{ +returnset_parent(m_value.object->at(key)); +} +JSON_CATCH(std::out_of_range&) +{ +//createbetterexceptionexplanation +JSON_THROW(out_of_range::create(403,"key'"+key+"'notfound",*this)); +} +} +else +{ +JSON_THROW(type_error::create(304,"cannotuseat()with"+std::string(type_name()),*this)); +} +} + +const_referenceat(consttypenameobject_t::key_type&key)const +{ +//atonlyworksforobjects +if(JSON_HEDLEY_LIKELY(is_object())) +{ +JSON_TRY +{ +returnm_value.object->at(key); +} +JSON_CATCH(std::out_of_range&) +{ +//createbetterexceptionexplanation +JSON_THROW(out_of_range::create(403,"key'"+key+"'notfound",*this)); +} +} +else +{ +JSON_THROW(type_error::create(304,"cannotuseat()with"+std::string(type_name()),*this)); +} +} + +referenceoperator[](size_typeidx) +{ +//implicitlyconvertnullvaluetoanemptyarray +if(is_null()) +{ +m_type=value_t::array; +m_value.array=create<array_t>(); +assert_invariant(); +} + +//operator[]onlyworksforarrays +if(JSON_HEDLEY_LIKELY(is_array())) +{ +//filluparraywithnullvaluesifgivenidxisoutsiderange +if(idx>=m_value.array->size()) +{ +#ifJSON_DIAGNOSTICS +//rememberarraysizebeforeresizing +constautoprevious_size=m_value.array->size(); +#endif +m_value.array->resize(idx+1); + +#ifJSON_DIAGNOSTICS +//setparentforvaluesaddedabove +set_parents(begin()+static_cast<typenameiterator::difference_type>(previous_size),static_cast<typenameiterator::difference_type>(idx+1-previous_size)); +#endif +} + +returnm_value.array->operator[](idx); +} + +JSON_THROW(type_error::create(305,"cannotuseoperator[]withanumericargumentwith"+std::string(type_name()),*this)); +} + +const_referenceoperator[](size_typeidx)const +{ +//constoperator[]onlyworksforarrays +if(JSON_HEDLEY_LIKELY(is_array())) +{ +returnm_value.array->operator[](idx); +} + +JSON_THROW(type_error::create(305,"cannotuseoperator[]withanumericargumentwith"+std::string(type_name()),*this)); +} + +referenceoperator[](consttypenameobject_t::key_type&key) +{ +//implicitlyconvertnullvaluetoanemptyobject +if(is_null()) +{ +m_type=value_t::object; +m_value.object=create<object_t>(); +assert_invariant(); +} + +//operator[]onlyworksforobjects +if(JSON_HEDLEY_LIKELY(is_object())) +{ +returnset_parent(m_value.object->operator[](key)); +} + +JSON_THROW(type_error::create(305,"cannotuseoperator[]withastringargumentwith"+std::string(type_name()),*this)); +} + +const_referenceoperator[](consttypenameobject_t::key_type&key)const +{ +//constoperator[]onlyworksforobjects +if(JSON_HEDLEY_LIKELY(is_object())) +{ +JSON_ASSERT(m_value.object->find(key)!=m_value.object->end()); +returnm_value.object->find(key)->second; +} + +JSON_THROW(type_error::create(305,"cannotuseoperator[]withastringargumentwith"+std::string(type_name()),*this)); +} + +template<typenameT> +JSON_HEDLEY_NON_NULL(2) +referenceoperator[](T*key) +{ +//implicitlyconvertnulltoobject +if(is_null()) +{ +m_type=value_t::object; +m_value=value_t::object; +assert_invariant(); +} + +//atonlyworksforobjects +if(JSON_HEDLEY_LIKELY(is_object())) +{ +returnset_parent(m_value.object->operator[](key)); +} + +JSON_THROW(type_error::create(305,"cannotuseoperator[]withastringargumentwith"+std::string(type_name()),*this)); +} + +template<typenameT> +JSON_HEDLEY_NON_NULL(2) +const_referenceoperator[](T*key)const +{ +//atonlyworksforobjects +if(JSON_HEDLEY_LIKELY(is_object())) +{ +JSON_ASSERT(m_value.object->find(key)!=m_value.object->end()); +returnm_value.object->find(key)->second; +} + +JSON_THROW(type_error::create(305,"cannotuseoperator[]withastringargumentwith"+std::string(type_name()),*this)); +} + +//usingstd::is_convertibleinastd::enable_ifwillfailwhenusingexplicitconversions +template<classValueType,typenamestd::enable_if< +detail::is_getable<basic_json_t, ValueType>::value +&&!std::is_same<value_t,ValueType>::value,int>::type=0> +ValueTypevalue(consttypenameobject_t::key_type&key,constValueType&default_value)const +{ +//atonlyworksforobjects +if(JSON_HEDLEY_LIKELY(is_object())) +{ +//ifkeyisfound,returnvalueandgivendefaultvalueotherwise +constautoit=find(key); +if(it!=end()) +{ +returnit->templateget<ValueType>(); +} + +returndefault_value; +} + +JSON_THROW(type_error::create(306,"cannotusevalue()with"+std::string(type_name()),*this)); +} + +string_tvalue(consttypenameobject_t::key_type&key,constchar*default_value)const +{ +returnvalue(key,string_t(default_value)); +} + +template<classValueType,typenamestd::enable_if< +detail::is_getable<basic_json_t, ValueType>::value,int>::type=0> +ValueTypevalue(constjson_pointer&ptr,constValueType&default_value)const +{ +//atonlyworksforobjects +if(JSON_HEDLEY_LIKELY(is_object())) +{ +//ifpointerresolvesavalue,returnitorusedefaultvalue +JSON_TRY +{ +returnptr.get_checked(this).templateget<ValueType>(); +} +JSON_INTERNAL_CATCH(out_of_range&) +{ +returndefault_value; +} +} + +JSON_THROW(type_error::create(306,"cannotusevalue()with"+std::string(type_name()),*this)); +} + +JSON_HEDLEY_NON_NULL(3) +string_tvalue(constjson_pointer&ptr,constchar*default_value)const +{ +returnvalue(ptr,string_t(default_value)); +} + +referencefront() +{ +return*begin(); +} + +const_referencefront()const +{ +return*cbegin(); +} + +referenceback() +{ +autotmp=end(); +--tmp; +return*tmp; +} + +const_referenceback()const +{ +autotmp=cend(); +--tmp; +return*tmp; +} + +template<classIteratorType,typenamestd::enable_if< +std::is_same<IteratorType,typenamebasic_json_t::iterator>::value|| +std::is_same<IteratorType,typenamebasic_json_t::const_iterator>::value,int>::type +=0> +IteratorTypeerase(IteratorTypepos) +{ +//makesureiteratorfitsthecurrentvalue +if(JSON_HEDLEY_UNLIKELY(this!=pos.m_object)) +{ +JSON_THROW(invalid_iterator::create(202,"iteratordoesnotfitcurrentvalue",*this)); +} + +IteratorTyperesult=end(); + +switch(m_type) +{ +casevalue_t::boolean: +casevalue_t::number_float: +casevalue_t::number_integer: +casevalue_t::number_unsigned: +casevalue_t::string: +casevalue_t::binary: +{ +if(JSON_HEDLEY_UNLIKELY(!pos.m_it.primitive_iterator.is_begin())) +{ +JSON_THROW(invalid_iterator::create(205,"iteratoroutofrange",*this)); +} + +if(is_string()) +{ +AllocatorType<string_t>alloc; +std::allocator_traits<decltype(alloc)>::destroy(alloc,m_value.string); +std::allocator_traits<decltype(alloc)>::deallocate(alloc,m_value.string,1); +m_value.string=nullptr; +} +elseif(is_binary()) +{ +AllocatorType<binary_t>alloc; +std::allocator_traits<decltype(alloc)>::destroy(alloc,m_value.binary); +std::allocator_traits<decltype(alloc)>::deallocate(alloc,m_value.binary,1); +m_value.binary=nullptr; +} + +m_type=value_t::null; +assert_invariant(); +break; +} + +casevalue_t::object: +{ +result.m_it.object_iterator=m_value.object->erase(pos.m_it.object_iterator); +break; +} + +casevalue_t::array: +{ +result.m_it.array_iterator=m_value.array->erase(pos.m_it.array_iterator); +break; +} + +default: +JSON_THROW(type_error::create(307,"cannotuseerase()with"+std::string(type_name()),*this)); +} + +returnresult; +} + +template<classIteratorType,typenamestd::enable_if< +std::is_same<IteratorType,typenamebasic_json_t::iterator>::value|| +std::is_same<IteratorType,typenamebasic_json_t::const_iterator>::value,int>::type +=0> +IteratorTypeerase(IteratorTypefirst,IteratorTypelast) +{ +//makesureiteratorfitsthecurrentvalue +if(JSON_HEDLEY_UNLIKELY(this!=first.m_object||this!=last.m_object)) +{ +JSON_THROW(invalid_iterator::create(203,"iteratorsdonotfitcurrentvalue",*this)); +} + +IteratorTyperesult=end(); + +switch(m_type) +{ +casevalue_t::boolean: +casevalue_t::number_float: +casevalue_t::number_integer: +casevalue_t::number_unsigned: +casevalue_t::string: +casevalue_t::binary: +{ +if(JSON_HEDLEY_LIKELY(!first.m_it.primitive_iterator.is_begin() +||!last.m_it.primitive_iterator.is_end())) +{ +JSON_THROW(invalid_iterator::create(204,"iteratorsoutofrange",*this)); +} + +if(is_string()) +{ +AllocatorType<string_t>alloc; +std::allocator_traits<decltype(alloc)>::destroy(alloc,m_value.string); +std::allocator_traits<decltype(alloc)>::deallocate(alloc,m_value.string,1); +m_value.string=nullptr; +} +elseif(is_binary()) +{ +AllocatorType<binary_t>alloc; +std::allocator_traits<decltype(alloc)>::destroy(alloc,m_value.binary); +std::allocator_traits<decltype(alloc)>::deallocate(alloc,m_value.binary,1); +m_value.binary=nullptr; +} + +m_type=value_t::null; +assert_invariant(); +break; +} + +casevalue_t::object: +{ +result.m_it.object_iterator=m_value.object->erase(first.m_it.object_iterator, +last.m_it.object_iterator); +break; +} + +casevalue_t::array: +{ +result.m_it.array_iterator=m_value.array->erase(first.m_it.array_iterator, +last.m_it.array_iterator); +break; +} + +default: +JSON_THROW(type_error::create(307,"cannotuseerase()with"+std::string(type_name()),*this)); +} + +returnresult; +} + +size_typeerase(consttypenameobject_t::key_type&key) +{ +//thiseraseonlyworksforobjects +if(JSON_HEDLEY_LIKELY(is_object())) +{ +returnm_value.object->erase(key); +} + +JSON_THROW(type_error::create(307,"cannotuseerase()with"+std::string(type_name()),*this)); +} + +voiderase(constsize_typeidx) +{ +//thiseraseonlyworksforarrays +if(JSON_HEDLEY_LIKELY(is_array())) +{ +if(JSON_HEDLEY_UNLIKELY(idx>=size())) +{ +JSON_THROW(out_of_range::create(401,"arrayindex"+std::to_string(idx)+"isoutofrange",*this)); +} + +m_value.array->erase(m_value.array->begin()+static_cast<difference_type>(idx)); +} +else +{ +JSON_THROW(type_error::create(307,"cannotuseerase()with"+std::string(type_name()),*this)); +} +} + + + +//lookup// + + +template<typenameKeyT> +iteratorfind(KeyT&&key) +{ +autoresult=end(); + +if(is_object()) +{ +result.m_it.object_iterator=m_value.object->find(std::forward<KeyT>(key)); +} + +returnresult; +} + +template<typenameKeyT> +const_iteratorfind(KeyT&&key)const +{ +autoresult=cend(); + +if(is_object()) +{ +result.m_it.object_iterator=m_value.object->find(std::forward<KeyT>(key)); +} + +returnresult; +} + +template<typenameKeyT> +size_typecount(KeyT&&key)const +{ +//return0forallnonobjecttypes +returnis_object()?m_value.object->count(std::forward<KeyT>(key)):0; +} + +template<typenameKeyT,typenamestd::enable_if< +!std::is_same<typenamestd::decay<KeyT>::type,json_pointer>::value,int>::type=0> +boolcontains(KeyT&&key)const +{ +returnis_object()&&m_value.object->find(std::forward<KeyT>(key))!=m_value.object->end(); +} + +boolcontains(constjson_pointer&ptr)const +{ +returnptr.contains(this); +} + + + +//iterators// + + +iteratorbegin()noexcept +{ +iteratorresult(this); +result.set_begin(); +returnresult; +} + +const_iteratorbegin()constnoexcept +{ +returncbegin(); +} + +const_iteratorcbegin()constnoexcept +{ +const_iteratorresult(this); +result.set_begin(); +returnresult; +} + +iteratorend()noexcept +{ +iteratorresult(this); +result.set_end(); +returnresult; +} + +const_iteratorend()constnoexcept +{ +returncend(); +} + +const_iteratorcend()constnoexcept +{ +const_iteratorresult(this); +result.set_end(); +returnresult; +} + +reverse_iteratorrbegin()noexcept +{ +returnreverse_iterator(end()); +} + +const_reverse_iteratorrbegin()constnoexcept +{ +returncrbegin(); +} + +reverse_iteratorrend()noexcept +{ +returnreverse_iterator(begin()); +} + +const_reverse_iteratorrend()constnoexcept +{ +returncrend(); +} + +const_reverse_iteratorcrbegin()constnoexcept +{ +returnconst_reverse_iterator(cend()); +} + +const_reverse_iteratorcrend()constnoexcept +{ +returnconst_reverse_iterator(cbegin()); +} + +public: +JSON_HEDLEY_DEPRECATED_FOR(3.1.0,items()) +staticiteration_proxy<iterator>iterator_wrapper(referenceref)noexcept +{ +returnref.items(); +} + +JSON_HEDLEY_DEPRECATED_FOR(3.1.0,items()) +staticiteration_proxy<const_iterator>iterator_wrapper(const_referenceref)noexcept +{ +returnref.items(); +} + +iteration_proxy<iterator>items()noexcept +{ +returniteration_proxy<iterator>(*this); +} + +iteration_proxy<const_iterator>items()constnoexcept +{ +returniteration_proxy<const_iterator>(*this); +} + + + +//capacity// + + +boolempty()constnoexcept +{ +switch(m_type) +{ +casevalue_t::null: +{ +//nullvaluesareempty +returntrue; +} + +casevalue_t::array: +{ +//delegatecalltoarray_t::empty() +returnm_value.array->empty(); +} + +casevalue_t::object: +{ +//delegatecalltoobject_t::empty() +returnm_value.object->empty(); +} + +default: +{ +//allothertypesarenonempty +returnfalse; +} +} +} + +size_typesize()constnoexcept +{ +switch(m_type) +{ +casevalue_t::null: +{ +//nullvaluesareempty +return0; +} + +casevalue_t::array: +{ +//delegatecalltoarray_t::size() +returnm_value.array->size(); +} + +casevalue_t::object: +{ +//delegatecalltoobject_t::size() +returnm_value.object->size(); +} + +default: +{ +//allothertypeshavesize1 +return1; +} +} +} + +size_typemax_size()constnoexcept +{ +switch(m_type) +{ +casevalue_t::array: +{ +//delegatecalltoarray_t::max_size() +returnm_value.array->max_size(); +} + +casevalue_t::object: +{ +//delegatecalltoobject_t::max_size() +returnm_value.object->max_size(); +} + +default: +{ +//allothertypeshavemax_size()==size() +returnsize(); +} +} +} + + + +//modifiers// + + +voidclear()noexcept +{ +switch(m_type) +{ +casevalue_t::number_integer: +{ +m_value.number_integer=0; +break; +} + +casevalue_t::number_unsigned: +{ +m_value.number_unsigned=0; +break; +} + +casevalue_t::number_float: +{ +m_value.number_float=0.0; +break; +} + +casevalue_t::boolean: +{ +m_value.boolean=false; +break; +} + +casevalue_t::string: +{ +m_value.string->clear(); +break; +} + +casevalue_t::binary: +{ +m_value.binary->clear(); +break; +} + +casevalue_t::array: +{ +m_value.array->clear(); +break; +} + +casevalue_t::object: +{ +m_value.object->clear(); +break; +} + +default: +break; +} +} + +voidpush_back(basic_json&&val) +{ +//push_backonlyworksfornullobjectsorarrays +if(JSON_HEDLEY_UNLIKELY(!(is_null()||is_array()))) +{ +JSON_THROW(type_error::create(308,"cannotusepush_back()with"+std::string(type_name()),*this)); +} + +//transformnullobjectintoanarray +if(is_null()) +{ +m_type=value_t::array; +m_value=value_t::array; +assert_invariant(); +} + +//addelementtoarray(movesemantics) +m_value.array->push_back(std::move(val)); +set_parent(m_value.array->back()); +//ifvalismovedfrom,basic_jsonmoveconstructormarksitnullsowedonotcallthedestructor +} + +referenceoperator+=(basic_json&&val) +{ +push_back(std::move(val)); +return*this; +} + +voidpush_back(constbasic_json&val) +{ +//push_backonlyworksfornullobjectsorarrays +if(JSON_HEDLEY_UNLIKELY(!(is_null()||is_array()))) +{ +JSON_THROW(type_error::create(308,"cannotusepush_back()with"+std::string(type_name()),*this)); +} + +//transformnullobjectintoanarray +if(is_null()) +{ +m_type=value_t::array; +m_value=value_t::array; +assert_invariant(); +} + +//addelementtoarray +m_value.array->push_back(val); +set_parent(m_value.array->back()); +} + +referenceoperator+=(constbasic_json&val) +{ +push_back(val); +return*this; +} + +voidpush_back(consttypenameobject_t::value_type&val) +{ +//push_backonlyworksfornullobjectsorobjects +if(JSON_HEDLEY_UNLIKELY(!(is_null()||is_object()))) +{ +JSON_THROW(type_error::create(308,"cannotusepush_back()with"+std::string(type_name()),*this)); +} + +//transformnullobjectintoanobject +if(is_null()) +{ +m_type=value_t::object; +m_value=value_t::object; +assert_invariant(); +} + +//addelementtoobject +autores=m_value.object->insert(val); +set_parent(res.first->second); +} + +referenceoperator+=(consttypenameobject_t::value_type&val) +{ +push_back(val); +return*this; +} + +voidpush_back(initializer_list_tinit) +{ +if(is_object()&&init.size()==2&&(*init.begin())->is_string()) +{ +basic_json&&key=init.begin()->moved_or_copied(); +push_back(typenameobject_t::value_type( +std::move(key.get_ref<string_t&>()),(init.begin()+1)->moved_or_copied())); +} +else +{ +push_back(basic_json(init)); +} +} + +referenceoperator+=(initializer_list_tinit) +{ +push_back(init); +return*this; +} + +template<class...Args> +referenceemplace_back(Args&&...args) +{ +//emplace_backonlyworksfornullobjectsorarrays +if(JSON_HEDLEY_UNLIKELY(!(is_null()||is_array()))) +{ +JSON_THROW(type_error::create(311,"cannotuseemplace_back()with"+std::string(type_name()),*this)); +} + +//transformnullobjectintoanarray +if(is_null()) +{ +m_type=value_t::array; +m_value=value_t::array; +assert_invariant(); +} + +//addelementtoarray(perfectforwarding) +#ifdefJSON_HAS_CPP_17 +returnset_parent(m_value.array->emplace_back(std::forward<Args>(args)...)); +#else +m_value.array->emplace_back(std::forward<Args>(args)...); +returnset_parent(m_value.array->back()); +#endif +} + +template<class...Args> +std::pair<iterator,bool>emplace(Args&&...args) +{ +//emplaceonlyworksfornullobjectsorarrays +if(JSON_HEDLEY_UNLIKELY(!(is_null()||is_object()))) +{ +JSON_THROW(type_error::create(311,"cannotuseemplace()with"+std::string(type_name()),*this)); +} + +//transformnullobjectintoanobject +if(is_null()) +{ +m_type=value_t::object; +m_value=value_t::object; +assert_invariant(); +} + +//addelementtoarray(perfectforwarding) +autores=m_value.object->emplace(std::forward<Args>(args)...); +set_parent(res.first->second); + +//createresultiteratorandsetiteratortotheresultofemplace +autoit=begin(); +it.m_it.object_iterator=res.first; + +//returnpairofiteratorandboolean +return{it,res.second}; +} + +template<typename...Args> +iteratorinsert_iterator(const_iteratorpos,Args&&...args) +{ +iteratorresult(this); +JSON_ASSERT(m_value.array!=nullptr); + +autoinsert_pos=std::distance(m_value.array->begin(),pos.m_it.array_iterator); +m_value.array->insert(pos.m_it.array_iterator,std::forward<Args>(args)...); +result.m_it.array_iterator=m_value.array->begin()+insert_pos; + +//Thiscouldhavebeenwrittenas: +//result.m_it.array_iterator=m_value.array->insert(pos.m_it.array_iterator,cnt,val); +//butthereturnvalueofinsertismissinginGCC4.8,soitiswrittenthiswayinstead. + +returnresult; +} + +iteratorinsert(const_iteratorpos,constbasic_json&val) +{ +//insertonlyworksforarrays +if(JSON_HEDLEY_LIKELY(is_array())) +{ +//checkifiteratorposfitstothisJSONvalue +if(JSON_HEDLEY_UNLIKELY(pos.m_object!=this)) +{ +JSON_THROW(invalid_iterator::create(202,"iteratordoesnotfitcurrentvalue",*this)); +} + +//inserttoarrayandreturniterator +returnset_parents(insert_iterator(pos,val),static_cast<typenameiterator::difference_type>(1)); +} + +JSON_THROW(type_error::create(309,"cannotuseinsert()with"+std::string(type_name()),*this)); +} + +iteratorinsert(const_iteratorpos,basic_json&&val) +{ +returninsert(pos,val); +} + +iteratorinsert(const_iteratorpos,size_typecnt,constbasic_json&val) +{ +//insertonlyworksforarrays +if(JSON_HEDLEY_LIKELY(is_array())) +{ +//checkifiteratorposfitstothisJSONvalue +if(JSON_HEDLEY_UNLIKELY(pos.m_object!=this)) +{ +JSON_THROW(invalid_iterator::create(202,"iteratordoesnotfitcurrentvalue",*this)); +} + +//inserttoarrayandreturniterator +returnset_parents(insert_iterator(pos,cnt,val),static_cast<typenameiterator::difference_type>(cnt)); +} + +JSON_THROW(type_error::create(309,"cannotuseinsert()with"+std::string(type_name()),*this)); +} + +iteratorinsert(const_iteratorpos,const_iteratorfirst,const_iteratorlast) +{ +//insertonlyworksforarrays +if(JSON_HEDLEY_UNLIKELY(!is_array())) +{ +JSON_THROW(type_error::create(309,"cannotuseinsert()with"+std::string(type_name()),*this)); +} + +//checkifiteratorposfitstothisJSONvalue +if(JSON_HEDLEY_UNLIKELY(pos.m_object!=this)) +{ +JSON_THROW(invalid_iterator::create(202,"iteratordoesnotfitcurrentvalue",*this)); +} + +//checkifrangeiteratorsbelongtothesameJSONobject +if(JSON_HEDLEY_UNLIKELY(first.m_object!=last.m_object)) +{ +JSON_THROW(invalid_iterator::create(210,"iteratorsdonotfit",*this)); +} + +if(JSON_HEDLEY_UNLIKELY(first.m_object==this)) +{ +JSON_THROW(invalid_iterator::create(211,"passediteratorsmaynotbelongtocontainer",*this)); +} + +//inserttoarrayandreturniterator +returnset_parents(insert_iterator(pos,first.m_it.array_iterator,last.m_it.array_iterator),std::distance(first,last)); +} + +iteratorinsert(const_iteratorpos,initializer_list_tilist) +{ +//insertonlyworksforarrays +if(JSON_HEDLEY_UNLIKELY(!is_array())) +{ +JSON_THROW(type_error::create(309,"cannotuseinsert()with"+std::string(type_name()),*this)); +} + +//checkifiteratorposfitstothisJSONvalue +if(JSON_HEDLEY_UNLIKELY(pos.m_object!=this)) +{ +JSON_THROW(invalid_iterator::create(202,"iteratordoesnotfitcurrentvalue",*this)); +} + +//inserttoarrayandreturniterator +returnset_parents(insert_iterator(pos,ilist.begin(),ilist.end()),static_cast<typenameiterator::difference_type>(ilist.size())); +} + +voidinsert(const_iteratorfirst,const_iteratorlast) +{ +//insertonlyworksforobjects +if(JSON_HEDLEY_UNLIKELY(!is_object())) +{ +JSON_THROW(type_error::create(309,"cannotuseinsert()with"+std::string(type_name()),*this)); +} + +//checkifrangeiteratorsbelongtothesameJSONobject +if(JSON_HEDLEY_UNLIKELY(first.m_object!=last.m_object)) +{ +JSON_THROW(invalid_iterator::create(210,"iteratorsdonotfit",*this)); +} + +//passediteratorsmustbelongtoobjects +if(JSON_HEDLEY_UNLIKELY(!first.m_object->is_object())) +{ +JSON_THROW(invalid_iterator::create(202,"iteratorsfirstandlastmustpointtoobjects",*this)); +} + +m_value.object->insert(first.m_it.object_iterator,last.m_it.object_iterator); +} + +voidupdate(const_referencej) +{ +//implicitlyconvertnullvaluetoanemptyobject +if(is_null()) +{ +m_type=value_t::object; +m_value.object=create<object_t>(); +assert_invariant(); +} + +if(JSON_HEDLEY_UNLIKELY(!is_object())) +{ +JSON_THROW(type_error::create(312,"cannotuseupdate()with"+std::string(type_name()),*this)); +} +if(JSON_HEDLEY_UNLIKELY(!j.is_object())) +{ +JSON_THROW(type_error::create(312,"cannotuseupdate()with"+std::string(j.type_name()),*this)); +} + +for(autoit=j.cbegin();it!=j.cend();++it) +{ +m_value.object->operator[](it.key())=it.value(); +} +} + +voidupdate(const_iteratorfirst,const_iteratorlast) +{ +//implicitlyconvertnullvaluetoanemptyobject +if(is_null()) +{ +m_type=value_t::object; +m_value.object=create<object_t>(); +assert_invariant(); +} + +if(JSON_HEDLEY_UNLIKELY(!is_object())) +{ +JSON_THROW(type_error::create(312,"cannotuseupdate()with"+std::string(type_name()),*this)); +} + +//checkifrangeiteratorsbelongtothesameJSONobject +if(JSON_HEDLEY_UNLIKELY(first.m_object!=last.m_object)) +{ +JSON_THROW(invalid_iterator::create(210,"iteratorsdonotfit",*this)); +} + +//passediteratorsmustbelongtoobjects +if(JSON_HEDLEY_UNLIKELY(!first.m_object->is_object() +||!last.m_object->is_object())) +{ +JSON_THROW(invalid_iterator::create(202,"iteratorsfirstandlastmustpointtoobjects",*this)); +} + +for(autoit=first;it!=last;++it) +{ +m_value.object->operator[](it.key())=it.value(); +} +} + +voidswap(referenceother)noexcept( +std::is_nothrow_move_constructible<value_t>::value&& +std::is_nothrow_move_assignable<value_t>::value&& +std::is_nothrow_move_constructible<json_value>::value&& +std::is_nothrow_move_assignable<json_value>::value +) +{ +std::swap(m_type,other.m_type); +std::swap(m_value,other.m_value); + +set_parents(); +other.set_parents(); +assert_invariant(); +} + +friendvoidswap(referenceleft,referenceright)noexcept( +std::is_nothrow_move_constructible<value_t>::value&& +std::is_nothrow_move_assignable<value_t>::value&& +std::is_nothrow_move_constructible<json_value>::value&& +std::is_nothrow_move_assignable<json_value>::value +) +{ +left.swap(right); +} + +voidswap(array_t&other)//NOLINT(bugprone-exception-escape) +{ +//swaponlyworksforarrays +if(JSON_HEDLEY_LIKELY(is_array())) +{ +std::swap(*(m_value.array),other); +} +else +{ +JSON_THROW(type_error::create(310,"cannotuseswap()with"+std::string(type_name()),*this)); +} +} + +voidswap(object_t&other)//NOLINT(bugprone-exception-escape) +{ +//swaponlyworksforobjects +if(JSON_HEDLEY_LIKELY(is_object())) +{ +std::swap(*(m_value.object),other); +} +else +{ +JSON_THROW(type_error::create(310,"cannotuseswap()with"+std::string(type_name()),*this)); +} +} + +voidswap(string_t&other)//NOLINT(bugprone-exception-escape) +{ +//swaponlyworksforstrings +if(JSON_HEDLEY_LIKELY(is_string())) +{ +std::swap(*(m_value.string),other); +} +else +{ +JSON_THROW(type_error::create(310,"cannotuseswap()with"+std::string(type_name()),*this)); +} +} + +voidswap(binary_t&other)//NOLINT(bugprone-exception-escape) +{ +//swaponlyworksforstrings +if(JSON_HEDLEY_LIKELY(is_binary())) +{ +std::swap(*(m_value.binary),other); +} +else +{ +JSON_THROW(type_error::create(310,"cannotuseswap()with"+std::string(type_name()),*this)); +} +} + +voidswap(typenamebinary_t::container_type&other)//NOLINT(bugprone-exception-escape) +{ +//swaponlyworksforstrings +if(JSON_HEDLEY_LIKELY(is_binary())) +{ +std::swap(*(m_value.binary),other); +} +else +{ +JSON_THROW(type_error::create(310,"cannotuseswap()with"+std::string(type_name()),*this)); +} +} + + +public: +//lexicographicalcomparisonoperators// + + +friendbooloperator==(const_referencelhs,const_referencerhs)noexcept +{ +constautolhs_type=lhs.type(); +constautorhs_type=rhs.type(); + +if(lhs_type==rhs_type) +{ +switch(lhs_type) +{ +casevalue_t::array: +return*lhs.m_value.array==*rhs.m_value.array; + +casevalue_t::object: +return*lhs.m_value.object==*rhs.m_value.object; + +casevalue_t::null: +returntrue; + +casevalue_t::string: +return*lhs.m_value.string==*rhs.m_value.string; + +casevalue_t::boolean: +returnlhs.m_value.boolean==rhs.m_value.boolean; + +casevalue_t::number_integer: +returnlhs.m_value.number_integer==rhs.m_value.number_integer; + +casevalue_t::number_unsigned: +returnlhs.m_value.number_unsigned==rhs.m_value.number_unsigned; + +casevalue_t::number_float: +returnlhs.m_value.number_float==rhs.m_value.number_float; + +casevalue_t::binary: +return*lhs.m_value.binary==*rhs.m_value.binary; + +default: +returnfalse; +} +} +elseif(lhs_type==value_t::number_integer&&rhs_type==value_t::number_float) +{ +returnstatic_cast<number_float_t>(lhs.m_value.number_integer)==rhs.m_value.number_float; +} +elseif(lhs_type==value_t::number_float&&rhs_type==value_t::number_integer) +{ +returnlhs.m_value.number_float==static_cast<number_float_t>(rhs.m_value.number_integer); +} +elseif(lhs_type==value_t::number_unsigned&&rhs_type==value_t::number_float) +{ +returnstatic_cast<number_float_t>(lhs.m_value.number_unsigned)==rhs.m_value.number_float; +} +elseif(lhs_type==value_t::number_float&&rhs_type==value_t::number_unsigned) +{ +returnlhs.m_value.number_float==static_cast<number_float_t>(rhs.m_value.number_unsigned); +} +elseif(lhs_type==value_t::number_unsigned&&rhs_type==value_t::number_integer) +{ +returnstatic_cast<number_integer_t>(lhs.m_value.number_unsigned)==rhs.m_value.number_integer; +} +elseif(lhs_type==value_t::number_integer&&rhs_type==value_t::number_unsigned) +{ +returnlhs.m_value.number_integer==static_cast<number_integer_t>(rhs.m_value.number_unsigned); +} + +returnfalse; +} + +template<typenameScalarType,typenamestd::enable_if< +std::is_scalar<ScalarType>::value,int>::type=0> +friendbooloperator==(const_referencelhs,ScalarTyperhs)noexcept +{ +returnlhs==basic_json(rhs); +} + +template<typenameScalarType,typenamestd::enable_if< +std::is_scalar<ScalarType>::value,int>::type=0> +friendbooloperator==(ScalarTypelhs,const_referencerhs)noexcept +{ +returnbasic_json(lhs)==rhs; +} + +friendbooloperator!=(const_referencelhs,const_referencerhs)noexcept +{ +return!(lhs==rhs); +} + +template<typenameScalarType,typenamestd::enable_if< +std::is_scalar<ScalarType>::value,int>::type=0> +friendbooloperator!=(const_referencelhs,ScalarTyperhs)noexcept +{ +returnlhs!=basic_json(rhs); +} + +template<typenameScalarType,typenamestd::enable_if< +std::is_scalar<ScalarType>::value,int>::type=0> +friendbooloperator!=(ScalarTypelhs,const_referencerhs)noexcept +{ +returnbasic_json(lhs)!=rhs; +} + +friendbooloperator<(const_referencelhs,const_referencerhs)noexcept +{ +constautolhs_type=lhs.type(); +constautorhs_type=rhs.type(); + +if(lhs_type==rhs_type) +{ +switch(lhs_type) +{ +casevalue_t::array: +//noteparenthesesarenecessary,see +//https://github.com/nlohmann/json/issues/1530 +return(*lhs.m_value.array)<(*rhs.m_value.array); + +casevalue_t::object: +return(*lhs.m_value.object)<(*rhs.m_value.object); + +casevalue_t::null: +returnfalse; + +casevalue_t::string: +return(*lhs.m_value.string)<(*rhs.m_value.string); + +casevalue_t::boolean: +return(lhs.m_value.boolean)<(rhs.m_value.boolean); + +casevalue_t::number_integer: +return(lhs.m_value.number_integer)<(rhs.m_value.number_integer); + +casevalue_t::number_unsigned: +return(lhs.m_value.number_unsigned)<(rhs.m_value.number_unsigned); + +casevalue_t::number_float: +return(lhs.m_value.number_float)<(rhs.m_value.number_float); + +casevalue_t::binary: +return(*lhs.m_value.binary)<(*rhs.m_value.binary); + +default: +returnfalse; +} +} +elseif(lhs_type==value_t::number_integer&&rhs_type==value_t::number_float) +{ +returnstatic_cast<number_float_t>(lhs.m_value.number_integer)<rhs.m_value.number_float; +} +elseif(lhs_type==value_t::number_float&&rhs_type==value_t::number_integer) +{ +returnlhs.m_value.number_float<static_cast<number_float_t>(rhs.m_value.number_integer); +} +elseif(lhs_type==value_t::number_unsigned&&rhs_type==value_t::number_float) +{ +returnstatic_cast<number_float_t>(lhs.m_value.number_unsigned)<rhs.m_value.number_float; +} +elseif(lhs_type==value_t::number_float&&rhs_type==value_t::number_unsigned) +{ +returnlhs.m_value.number_float<static_cast<number_float_t>(rhs.m_value.number_unsigned); +} +elseif(lhs_type==value_t::number_integer&&rhs_type==value_t::number_unsigned) +{ +returnlhs.m_value.number_integer<static_cast<number_integer_t>(rhs.m_value.number_unsigned); +} +elseif(lhs_type==value_t::number_unsigned&&rhs_type==value_t::number_integer) +{ +returnstatic_cast<number_integer_t>(lhs.m_value.number_unsigned)<rhs.m_value.number_integer; +} + +//Weonlyreachthislineifwecannotcomparevalues.Inthatcase, +//wecomparetypes.Notewehavetocalltheoperatorexplicitly, +//becauseMSVChasproblemsotherwise. +returnoperator<(lhs_type,rhs_type); +} + +template<typenameScalarType,typenamestd::enable_if< +std::is_scalar<ScalarType>::value,int>::type=0> +friendbooloperator<(const_referencelhs,ScalarTyperhs)noexcept +{ +returnlhs<basic_json(rhs); +} + +template<typenameScalarType,typenamestd::enable_if< +std::is_scalar<ScalarType>::value,int>::type=0> +friendbooloperator<(ScalarTypelhs,const_referencerhs)noexcept +{ +returnbasic_json(lhs)<rhs; +} + +friendbooloperator<=(const_referencelhs,const_referencerhs)noexcept +{ +return!(rhs<lhs); +} + +template<typenameScalarType,typenamestd::enable_if< +std::is_scalar<ScalarType>::value,int>::type=0> +friendbooloperator<=(const_referencelhs,ScalarTyperhs)noexcept +{ +returnlhs<=basic_json(rhs); +} + +template<typenameScalarType,typenamestd::enable_if< +std::is_scalar<ScalarType>::value,int>::type=0> +friendbooloperator<=(ScalarTypelhs,const_referencerhs)noexcept +{ +returnbasic_json(lhs)<=rhs; +} + +friendbooloperator>(const_referencelhs,const_referencerhs)noexcept +{ +return!(lhs<=rhs); +} + +template<typenameScalarType,typenamestd::enable_if< +std::is_scalar<ScalarType>::value,int>::type=0> +friendbooloperator>(const_referencelhs,ScalarTyperhs)noexcept +{ +returnlhs>basic_json(rhs); +} + +template<typenameScalarType,typenamestd::enable_if< +std::is_scalar<ScalarType>::value,int>::type=0> +friendbooloperator>(ScalarTypelhs,const_referencerhs)noexcept +{ +returnbasic_json(lhs)>rhs; +} + +friendbooloperator>=(const_referencelhs,const_referencerhs)noexcept +{ +return!(lhs<rhs); +} + +template<typenameScalarType,typenamestd::enable_if< +std::is_scalar<ScalarType>::value,int>::type=0> +friendbooloperator>=(const_referencelhs,ScalarTyperhs)noexcept +{ +returnlhs>=basic_json(rhs); +} + +template<typenameScalarType,typenamestd::enable_if< +std::is_scalar<ScalarType>::value,int>::type=0> +friendbooloperator>=(ScalarTypelhs,const_referencerhs)noexcept +{ +returnbasic_json(lhs)>=rhs; +} + + +//serialization// + + +friendstd::ostream&operator<<(std::ostream&o,constbasic_json&j) +{ +//readwidthmemberanduseitasindentationparameterifnonzero +constboolpretty_print=o.width()>0; +constautoindentation=pretty_print?o.width():0; + +//resetwidthto0forsubsequentcallstothisstream +o.width(0); + +//dotheactualserialization +serializers(detail::output_adapter<char>(o),o.fill()); +s.dump(j,pretty_print,false,static_cast<unsignedint>(indentation)); +returno; +} + +JSON_HEDLEY_DEPRECATED_FOR(3.0.0,operator<<(std::ostream&,constbasic_json&)) +friendstd::ostream&operator>>(constbasic_json&j,std::ostream&o) +{ +returno<<j; +} + + + +//deserialization// + + +template<typenameInputType> +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonparse(InputType&&i, +constparser_callback_tcb=nullptr, +constboolallow_exceptions=true, +constboolignore_comments=false) +{ +basic_jsonresult; +parser(detail::input_adapter(std::forward<InputType>(i)),cb,allow_exceptions,ignore_comments).parse(true,result); +returnresult; +} + +template<typenameIteratorType> +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonparse(IteratorTypefirst, +IteratorTypelast, +constparser_callback_tcb=nullptr, +constboolallow_exceptions=true, +constboolignore_comments=false) +{ +basic_jsonresult; +parser(detail::input_adapter(std::move(first),std::move(last)),cb,allow_exceptions,ignore_comments).parse(true,result); +returnresult; +} + +JSON_HEDLEY_WARN_UNUSED_RESULT +JSON_HEDLEY_DEPRECATED_FOR(3.8.0,parse(ptr,ptr+len)) +staticbasic_jsonparse(detail::span_input_adapter&&i, +constparser_callback_tcb=nullptr, +constboolallow_exceptions=true, +constboolignore_comments=false) +{ +basic_jsonresult; +parser(i.get(),cb,allow_exceptions,ignore_comments).parse(true,result); +returnresult; +} + +template<typenameInputType> +staticboolaccept(InputType&&i, +constboolignore_comments=false) +{ +returnparser(detail::input_adapter(std::forward<InputType>(i)),nullptr,false,ignore_comments).accept(true); +} + +template<typenameIteratorType> +staticboolaccept(IteratorTypefirst,IteratorTypelast, +constboolignore_comments=false) +{ +returnparser(detail::input_adapter(std::move(first),std::move(last)),nullptr,false,ignore_comments).accept(true); +} + +JSON_HEDLEY_WARN_UNUSED_RESULT +JSON_HEDLEY_DEPRECATED_FOR(3.8.0,accept(ptr,ptr+len)) +staticboolaccept(detail::span_input_adapter&&i, +constboolignore_comments=false) +{ +returnparser(i.get(),nullptr,false,ignore_comments).accept(true); +} + +template<typenameInputType,typenameSAX> +JSON_HEDLEY_NON_NULL(2) +staticboolsax_parse(InputType&&i,SAX*sax, +input_format_tformat=input_format_t::json, +constboolstrict=true, +constboolignore_comments=false) +{ +autoia=detail::input_adapter(std::forward<InputType>(i)); +returnformat==input_format_t::json +?parser(std::move(ia),nullptr,true,ignore_comments).sax_parse(sax,strict) +:detail::binary_reader<basic_json, decltype(ia), SAX>(std::move(ia)).sax_parse(format,sax,strict); +} + +template<classIteratorType,classSAX> +JSON_HEDLEY_NON_NULL(3) +staticboolsax_parse(IteratorTypefirst,IteratorTypelast,SAX*sax, +input_format_tformat=input_format_t::json, +constboolstrict=true, +constboolignore_comments=false) +{ +autoia=detail::input_adapter(std::move(first),std::move(last)); +returnformat==input_format_t::json +?parser(std::move(ia),nullptr,true,ignore_comments).sax_parse(sax,strict) +:detail::binary_reader<basic_json, decltype(ia), SAX>(std::move(ia)).sax_parse(format,sax,strict); +} + +template<typenameSAX> +JSON_HEDLEY_DEPRECATED_FOR(3.8.0,sax_parse(ptr,ptr+len,...)) +JSON_HEDLEY_NON_NULL(2) +staticboolsax_parse(detail::span_input_adapter&&i,SAX*sax, +input_format_tformat=input_format_t::json, +constboolstrict=true, +constboolignore_comments=false) +{ +autoia=i.get(); +returnformat==input_format_t::json +//NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg) +?parser(std::move(ia),nullptr,true,ignore_comments).sax_parse(sax,strict) +//NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg) +:detail::binary_reader<basic_json, decltype(ia), SAX>(std::move(ia)).sax_parse(format,sax,strict); +} + +JSON_HEDLEY_DEPRECATED_FOR(3.0.0,operator>>(std::istream&,basic_json&)) +friendstd::istream&operator<<(basic_json&j,std::istream&i) +{ +returnoperator>>(i,j); +} + +friendstd::istream&operator>>(std::istream&i,basic_json&j) +{ +parser(detail::input_adapter(i)).parse(false,j); +returni; +} + + +//conveniencefunctions// + +JSON_HEDLEY_RETURNS_NON_NULL +constchar*type_name()constnoexcept +{ +{ +switch(m_type) +{ +casevalue_t::null: +return"null"; +casevalue_t::object: +return"object"; +casevalue_t::array: +return"array"; +casevalue_t::string: +return"string"; +casevalue_t::boolean: +return"boolean"; +casevalue_t::binary: +return"binary"; +casevalue_t::discarded: +return"discarded"; +default: +return"number"; +} +} +} + + +JSON_PRIVATE_UNLESS_TESTED: +//membervariables// + +value_tm_type=value_t::null; + +json_valuem_value={}; + +#ifJSON_DIAGNOSTICS +basic_json*m_parent=nullptr; +#endif + +//binaryserialization/deserialization// + + +public: +staticstd::vector<uint8_t>to_cbor(constbasic_json&j) +{ +std::vector<uint8_t>result; +to_cbor(j,result); +returnresult; +} + +staticvoidto_cbor(constbasic_json&j,detail::output_adapter<uint8_t>o) +{ +binary_writer<uint8_t>(o).write_cbor(j); +} + +staticvoidto_cbor(constbasic_json&j,detail::output_adapter<char>o) +{ +binary_writer<char>(o).write_cbor(j); +} + +staticstd::vector<uint8_t>to_msgpack(constbasic_json&j) +{ +std::vector<uint8_t>result; +to_msgpack(j,result); +returnresult; +} + +staticvoidto_msgpack(constbasic_json&j,detail::output_adapter<uint8_t>o) +{ +binary_writer<uint8_t>(o).write_msgpack(j); +} + +staticvoidto_msgpack(constbasic_json&j,detail::output_adapter<char>o) +{ +binary_writer<char>(o).write_msgpack(j); +} + +staticstd::vector<uint8_t>to_ubjson(constbasic_json&j, +constbooluse_size=false, +constbooluse_type=false) +{ +std::vector<uint8_t>result; +to_ubjson(j,result,use_size,use_type); +returnresult; +} + +staticvoidto_ubjson(constbasic_json&j,detail::output_adapter<uint8_t>o, +constbooluse_size=false,constbooluse_type=false) +{ +binary_writer<uint8_t>(o).write_ubjson(j,use_size,use_type); +} + +staticvoidto_ubjson(constbasic_json&j,detail::output_adapter<char>o, +constbooluse_size=false,constbooluse_type=false) +{ +binary_writer<char>(o).write_ubjson(j,use_size,use_type); +} + + +staticstd::vector<uint8_t>to_bson(constbasic_json&j) +{ +std::vector<uint8_t>result; +to_bson(j,result); +returnresult; +} + +staticvoidto_bson(constbasic_json&j,detail::output_adapter<uint8_t>o) +{ +binary_writer<uint8_t>(o).write_bson(j); +} + +staticvoidto_bson(constbasic_json&j,detail::output_adapter<char>o) +{ +binary_writer<char>(o).write_bson(j); +} + + +template<typenameInputType> +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonfrom_cbor(InputType&&i, +constboolstrict=true, +constboolallow_exceptions=true, +constcbor_tag_handler_ttag_handler=cbor_tag_handler_t::error) +{ +basic_jsonresult; +detail::json_sax_dom_parser<basic_json>sdp(result,allow_exceptions); +autoia=detail::input_adapter(std::forward<InputType>(i)); +constboolres=binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::cbor,&sdp,strict,tag_handler); +returnres?result:basic_json(value_t::discarded); +} + +template<typenameIteratorType> +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonfrom_cbor(IteratorTypefirst,IteratorTypelast, +constboolstrict=true, +constboolallow_exceptions=true, +constcbor_tag_handler_ttag_handler=cbor_tag_handler_t::error) +{ +basic_jsonresult; +detail::json_sax_dom_parser<basic_json>sdp(result,allow_exceptions); +autoia=detail::input_adapter(std::move(first),std::move(last)); +constboolres=binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::cbor,&sdp,strict,tag_handler); +returnres?result:basic_json(value_t::discarded); +} + +template<typenameT> +JSON_HEDLEY_WARN_UNUSED_RESULT +JSON_HEDLEY_DEPRECATED_FOR(3.8.0,from_cbor(ptr,ptr+len)) +staticbasic_jsonfrom_cbor(constT*ptr,std::size_tlen, +constboolstrict=true, +constboolallow_exceptions=true, +constcbor_tag_handler_ttag_handler=cbor_tag_handler_t::error) +{ +returnfrom_cbor(ptr,ptr+len,strict,allow_exceptions,tag_handler); +} + + +JSON_HEDLEY_WARN_UNUSED_RESULT +JSON_HEDLEY_DEPRECATED_FOR(3.8.0,from_cbor(ptr,ptr+len)) +staticbasic_jsonfrom_cbor(detail::span_input_adapter&&i, +constboolstrict=true, +constboolallow_exceptions=true, +constcbor_tag_handler_ttag_handler=cbor_tag_handler_t::error) +{ +basic_jsonresult; +detail::json_sax_dom_parser<basic_json>sdp(result,allow_exceptions); +autoia=i.get(); +//NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg) +constboolres=binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::cbor,&sdp,strict,tag_handler); +returnres?result:basic_json(value_t::discarded); +} + +template<typenameInputType> +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonfrom_msgpack(InputType&&i, +constboolstrict=true, +constboolallow_exceptions=true) +{ +basic_jsonresult; +detail::json_sax_dom_parser<basic_json>sdp(result,allow_exceptions); +autoia=detail::input_adapter(std::forward<InputType>(i)); +constboolres=binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::msgpack,&sdp,strict); +returnres?result:basic_json(value_t::discarded); +} + +template<typenameIteratorType> +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonfrom_msgpack(IteratorTypefirst,IteratorTypelast, +constboolstrict=true, +constboolallow_exceptions=true) +{ +basic_jsonresult; +detail::json_sax_dom_parser<basic_json>sdp(result,allow_exceptions); +autoia=detail::input_adapter(std::move(first),std::move(last)); +constboolres=binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::msgpack,&sdp,strict); +returnres?result:basic_json(value_t::discarded); +} + + +template<typenameT> +JSON_HEDLEY_WARN_UNUSED_RESULT +JSON_HEDLEY_DEPRECATED_FOR(3.8.0,from_msgpack(ptr,ptr+len)) +staticbasic_jsonfrom_msgpack(constT*ptr,std::size_tlen, +constboolstrict=true, +constboolallow_exceptions=true) +{ +returnfrom_msgpack(ptr,ptr+len,strict,allow_exceptions); +} + +JSON_HEDLEY_WARN_UNUSED_RESULT +JSON_HEDLEY_DEPRECATED_FOR(3.8.0,from_msgpack(ptr,ptr+len)) +staticbasic_jsonfrom_msgpack(detail::span_input_adapter&&i, +constboolstrict=true, +constboolallow_exceptions=true) +{ +basic_jsonresult; +detail::json_sax_dom_parser<basic_json>sdp(result,allow_exceptions); +autoia=i.get(); +//NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg) +constboolres=binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::msgpack,&sdp,strict); +returnres?result:basic_json(value_t::discarded); +} + + +template<typenameInputType> +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonfrom_ubjson(InputType&&i, +constboolstrict=true, +constboolallow_exceptions=true) +{ +basic_jsonresult; +detail::json_sax_dom_parser<basic_json>sdp(result,allow_exceptions); +autoia=detail::input_adapter(std::forward<InputType>(i)); +constboolres=binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::ubjson,&sdp,strict); +returnres?result:basic_json(value_t::discarded); +} + +template<typenameIteratorType> +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonfrom_ubjson(IteratorTypefirst,IteratorTypelast, +constboolstrict=true, +constboolallow_exceptions=true) +{ +basic_jsonresult; +detail::json_sax_dom_parser<basic_json>sdp(result,allow_exceptions); +autoia=detail::input_adapter(std::move(first),std::move(last)); +constboolres=binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::ubjson,&sdp,strict); +returnres?result:basic_json(value_t::discarded); +} + +template<typenameT> +JSON_HEDLEY_WARN_UNUSED_RESULT +JSON_HEDLEY_DEPRECATED_FOR(3.8.0,from_ubjson(ptr,ptr+len)) +staticbasic_jsonfrom_ubjson(constT*ptr,std::size_tlen, +constboolstrict=true, +constboolallow_exceptions=true) +{ +returnfrom_ubjson(ptr,ptr+len,strict,allow_exceptions); +} + +JSON_HEDLEY_WARN_UNUSED_RESULT +JSON_HEDLEY_DEPRECATED_FOR(3.8.0,from_ubjson(ptr,ptr+len)) +staticbasic_jsonfrom_ubjson(detail::span_input_adapter&&i, +constboolstrict=true, +constboolallow_exceptions=true) +{ +basic_jsonresult; +detail::json_sax_dom_parser<basic_json>sdp(result,allow_exceptions); +autoia=i.get(); +//NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg) +constboolres=binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::ubjson,&sdp,strict); +returnres?result:basic_json(value_t::discarded); +} + + +template<typenameInputType> +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonfrom_bson(InputType&&i, +constboolstrict=true, +constboolallow_exceptions=true) +{ +basic_jsonresult; +detail::json_sax_dom_parser<basic_json>sdp(result,allow_exceptions); +autoia=detail::input_adapter(std::forward<InputType>(i)); +constboolres=binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::bson,&sdp,strict); +returnres?result:basic_json(value_t::discarded); +} + +template<typenameIteratorType> +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsonfrom_bson(IteratorTypefirst,IteratorTypelast, +constboolstrict=true, +constboolallow_exceptions=true) +{ +basic_jsonresult; +detail::json_sax_dom_parser<basic_json>sdp(result,allow_exceptions); +autoia=detail::input_adapter(std::move(first),std::move(last)); +constboolres=binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::bson,&sdp,strict); +returnres?result:basic_json(value_t::discarded); +} + +template<typenameT> +JSON_HEDLEY_WARN_UNUSED_RESULT +JSON_HEDLEY_DEPRECATED_FOR(3.8.0,from_bson(ptr,ptr+len)) +staticbasic_jsonfrom_bson(constT*ptr,std::size_tlen, +constboolstrict=true, +constboolallow_exceptions=true) +{ +returnfrom_bson(ptr,ptr+len,strict,allow_exceptions); +} + +JSON_HEDLEY_WARN_UNUSED_RESULT +JSON_HEDLEY_DEPRECATED_FOR(3.8.0,from_bson(ptr,ptr+len)) +staticbasic_jsonfrom_bson(detail::span_input_adapter&&i, +constboolstrict=true, +constboolallow_exceptions=true) +{ +basic_jsonresult; +detail::json_sax_dom_parser<basic_json>sdp(result,allow_exceptions); +autoia=i.get(); +//NOLINTNEXTLINE(hicpp-move-const-arg,performance-move-const-arg) +constboolres=binary_reader<decltype(ia)>(std::move(ia)).sax_parse(input_format_t::bson,&sdp,strict); +returnres?result:basic_json(value_t::discarded); +} + +//JSONPointersupport// + + +referenceoperator[](constjson_pointer&ptr) +{ +returnptr.get_unchecked(this); +} + +const_referenceoperator[](constjson_pointer&ptr)const +{ +returnptr.get_unchecked(this); +} + +referenceat(constjson_pointer&ptr) +{ +returnptr.get_checked(this); +} + +const_referenceat(constjson_pointer&ptr)const +{ +returnptr.get_checked(this); +} + +basic_jsonflatten()const +{ +basic_jsonresult(value_t::object); +json_pointer::flatten("",*this,result); +returnresult; +} + +basic_jsonunflatten()const +{ +returnjson_pointer::unflatten(*this); +} + + +//JSONPatchfunctions// + + +basic_jsonpatch(constbasic_json&json_patch)const +{ +//makeaworkingcopytoapplythepatchto +basic_jsonresult=*this; + +//thevalidJSONPatchoperations +enumclasspatch_operations{add,remove,replace,move,copy,test,invalid}; + +constautoget_op=[](conststd::string&op) +{ +if(op=="add") +{ +returnpatch_operations::add; +} +if(op=="remove") +{ +returnpatch_operations::remove; +} +if(op=="replace") +{ +returnpatch_operations::replace; +} +if(op=="move") +{ +returnpatch_operations::move; +} +if(op=="copy") +{ +returnpatch_operations::copy; +} +if(op=="test") +{ +returnpatch_operations::test; +} + +returnpatch_operations::invalid; +}; + +//wrapperfor"add"operation;addvalueatptr +constautooperation_add=[&result](json_pointer&ptr,basic_jsonval) +{ +//addingtotherootofthetargetdocumentmeansreplacingit +if(ptr.empty()) +{ +result=val; +return; +} + +//makesurethetopelementofthepointerexists +json_pointertop_pointer=ptr.top(); +if(top_pointer!=ptr) +{ +result.at(top_pointer); +} + +//getreferencetoparentofJSONpointerptr +constautolast_path=ptr.back(); +ptr.pop_back(); +basic_json&parent=result[ptr]; + +switch(parent.m_type) +{ +casevalue_t::null: +casevalue_t::object: +{ +//useoperator[]toaddvalue +parent[last_path]=val; +break; +} + +casevalue_t::array: +{ +if(last_path=="-") +{ +//specialcase:appendtoback +parent.push_back(val); +} +else +{ +constautoidx=json_pointer::array_index(last_path); +if(JSON_HEDLEY_UNLIKELY(idx>parent.size())) +{ +//avoidundefinedbehavior +JSON_THROW(out_of_range::create(401,"arrayindex"+std::to_string(idx)+"isoutofrange",parent)); +} + +//defaultcase:insertaddoffset +parent.insert(parent.begin()+static_cast<difference_type>(idx),val); +} +break; +} + +//ifthereexistsaparentitcannotbeprimitive +default://LCOV_EXCL_LINE +JSON_ASSERT(false);//NOLINT(cert-dcl03-c,hicpp-static-assert,misc-static-assert)LCOV_EXCL_LINE +} +}; + +//wrapperfor"remove"operation;removevalueatptr +constautooperation_remove=[this,&result](json_pointer&ptr) +{ +//getreferencetoparentofJSONpointerptr +constautolast_path=ptr.back(); +ptr.pop_back(); +basic_json&parent=result.at(ptr); + +//removechild +if(parent.is_object()) +{ +//performrangecheck +autoit=parent.find(last_path); +if(JSON_HEDLEY_LIKELY(it!=parent.end())) +{ +parent.erase(it); +} +else +{ +JSON_THROW(out_of_range::create(403,"key'"+last_path+"'notfound",*this)); +} +} +elseif(parent.is_array()) +{ +//noteeraseperformsrangecheck +parent.erase(json_pointer::array_index(last_path)); +} +}; + +//typecheck:toplevelvaluemustbeanarray +if(JSON_HEDLEY_UNLIKELY(!json_patch.is_array())) +{ +JSON_THROW(parse_error::create(104,0,"JSONpatchmustbeanarrayofobjects",json_patch)); +} + +//iterateandapplytheoperations +for(constauto&val:json_patch) +{ +//wrappertogetavalueforanoperation +constautoget_value=[&val](conststd::string&op, +conststd::string&member, +boolstring_type)->basic_json& +{ +//findvalue +autoit=val.m_value.object->find(member); + +//context-sensitiveerrormessage +constautoerror_msg=(op=="op")?"operation":"operation'"+op+"'"; + +//checkifdesiredvalueispresent +if(JSON_HEDLEY_UNLIKELY(it==val.m_value.object->end())) +{ +//NOLINTNEXTLINE(performance-inefficient-string-concatenation) +JSON_THROW(parse_error::create(105,0,error_msg+"musthavemember'"+member+"'",val)); +} + +//checkifresultisoftypestring +if(JSON_HEDLEY_UNLIKELY(string_type&&!it->second.is_string())) +{ +//NOLINTNEXTLINE(performance-inefficient-string-concatenation) +JSON_THROW(parse_error::create(105,0,error_msg+"musthavestringmember'"+member+"'",val)); +} + +//noerror:returnvalue +returnit->second; +}; + +//typecheck:everyelementofthearraymustbeanobject +if(JSON_HEDLEY_UNLIKELY(!val.is_object())) +{ +JSON_THROW(parse_error::create(104,0,"JSONpatchmustbeanarrayofobjects",val)); +} + +//collectmandatorymembers +constautoop=get_value("op","op",true).templateget<std::string>(); +constautopath=get_value(op,"path",true).templateget<std::string>(); +json_pointerptr(path); + +switch(get_op(op)) +{ +casepatch_operations::add: +{ +operation_add(ptr,get_value("add","value",false)); +break; +} + +casepatch_operations::remove: +{ +operation_remove(ptr); +break; +} + +casepatch_operations::replace: +{ +//the"path"locationmustexist-useat() +result.at(ptr)=get_value("replace","value",false); +break; +} + +casepatch_operations::move: +{ +constautofrom_path=get_value("move","from",true).templateget<std::string>(); +json_pointerfrom_ptr(from_path); + +//the"from"locationmustexist-useat() +basic_jsonv=result.at(from_ptr); + +//Themoveoperationisfunctionallyidenticaltoa +//"remove"operationonthe"from"location,followed +//immediatelybyan"add"operationatthetarget +//locationwiththevaluethatwasjustremoved. +operation_remove(from_ptr); +operation_add(ptr,v); +break; +} + +casepatch_operations::copy: +{ +constautofrom_path=get_value("copy","from",true).templateget<std::string>(); +constjson_pointerfrom_ptr(from_path); + +//the"from"locationmustexist-useat() +basic_jsonv=result.at(from_ptr); + +//Thecopyisfunctionallyidenticaltoan"add" +//operationatthetargetlocationusingthevalue +//specifiedinthe"from"member. +operation_add(ptr,v); +break; +} + +casepatch_operations::test: +{ +boolsuccess=false; +JSON_TRY +{ +//checkif"value"matchestheoneat"path" +//the"path"locationmustexist-useat() +success=(result.at(ptr)==get_value("test","value",false)); +} +JSON_INTERNAL_CATCH(out_of_range&) +{ +//ignoreoutofrangeerrors:successremainsfalse +} + +//throwanexceptioniftestfails +if(JSON_HEDLEY_UNLIKELY(!success)) +{ +JSON_THROW(other_error::create(501,"unsuccessful:"+val.dump(),val)); +} + +break; +} + +default: +{ +//opmustbe"add","remove","replace","move","copy",or +//"test" +JSON_THROW(parse_error::create(105,0,"operationvalue'"+op+"'isinvalid",val)); +} +} +} + +returnresult; +} + +JSON_HEDLEY_WARN_UNUSED_RESULT +staticbasic_jsondiff(constbasic_json&source,constbasic_json&target, +conststd::string&path="") +{ +//thepatch +basic_jsonresult(value_t::array); + +//ifthevaluesarethesame,returnemptypatch +if(source==target) +{ +returnresult; +} + +if(source.type()!=target.type()) +{ +//differenttypes:replacevalue +result.push_back( +{ +{"op","replace"},{"path",path},{"value",target} +}); +returnresult; +} + +switch(source.type()) +{ +casevalue_t::array: +{ +//firstpass:traversecommonelements +std::size_ti=0; +while(i<source.size()&&i<target.size()) +{ +//recursivecalltocomparearrayvaluesatindexi +autotemp_diff=diff(source[i],target[i],path+"/"+std::to_string(i)); +result.insert(result.end(),temp_diff.begin(),temp_diff.end()); +++i; +} + +//inowreachedtheendofatleastonearray +//inasecondpass,traversetheremainingelements + +//removemyremainingelements +constautoend_index=static_cast<difference_type>(result.size()); +while(i<source.size()) +{ +//addoperationsinreverseordertoavoidinvalid +//indices +result.insert(result.begin()+end_index,object( +{ +{"op","remove"}, +{"path",path+"/"+std::to_string(i)} +})); +++i; +} + +//addotherremainingelements +while(i<target.size()) +{ +result.push_back( +{ +{"op","add"}, +{"path",path+"/-"}, +{"value",target[i]} +}); +++i; +} + +break; +} + +casevalue_t::object: +{ +//firstpass:traversethisobject'selements +for(autoit=source.cbegin();it!=source.cend();++it) +{ +//escapethekeynametobeusedinaJSONpatch +constautopath_key=path+"/"+detail::escape(it.key()); + +if(target.find(it.key())!=target.end()) +{ +//recursivecalltocompareobjectvaluesatkeyit +autotemp_diff=diff(it.value(),target[it.key()],path_key); +result.insert(result.end(),temp_diff.begin(),temp_diff.end()); +} +else +{ +//foundakeythatisnotino->removeit +result.push_back(object( +{ +{"op","remove"},{"path",path_key} +})); +} +} + +//secondpass:traverseotherobject'selements +for(autoit=target.cbegin();it!=target.cend();++it) +{ +if(source.find(it.key())==source.end()) +{ +//foundakeythatisnotinthis->addit +constautopath_key=path+"/"+detail::escape(it.key()); +result.push_back( +{ +{"op","add"},{"path",path_key}, +{"value",it.value()} +}); +} +} + +break; +} + +default: +{ +//bothprimitivetype:replacevalue +result.push_back( +{ +{"op","replace"},{"path",path},{"value",target} +}); +break; +} +} + +returnresult; +} + + +//JSONMergePatchfunctions// + + +voidmerge_patch(constbasic_json&apply_patch) +{ +if(apply_patch.is_object()) +{ +if(!is_object()) +{ +*this=object(); +} +for(autoit=apply_patch.begin();it!=apply_patch.end();++it) +{ +if(it.value().is_null()) +{ +erase(it.key()); +} +else +{ +operator[](it.key()).merge_patch(it.value()); +} +} +} +else +{ +*this=apply_patch; +} +} + +}; + +NLOHMANN_BASIC_JSON_TPL_DECLARATION +std::stringto_string(constNLOHMANN_BASIC_JSON_TPL&j) +{ +returnj.dump(); +} +}//namespacenlohmann + +//nonmembersupport// + +//specializationofstd::swap,andstd::hash +namespacestd +{ + +template<> +structhash<nlohmann::json> +{ +std::size_toperator()(constnlohmann::json&j)const +{ +returnnlohmann::detail::hash(j); +} +}; + +template<> +structless<::nlohmann::detail::value_t> +{ +booloperator()(nlohmann::detail::value_tlhs, +nlohmann::detail::value_trhs)constnoexcept +{ +returnnlohmann::detail::operator<(lhs,rhs); +} +}; + +//C++20prohibitfunctionspecializationinthestdnamespace. +#ifndefJSON_HAS_CPP_20 + +template<> +inlinevoidswap<nlohmann::json>(nlohmann::json&j1,nlohmann::json&j2)noexcept(//NOLINT(readability-inconsistent-declaration-parameter-name) +is_nothrow_move_constructible<nlohmann::json>::value&&//NOLINT(misc-redundant-expression) +is_nothrow_move_assignable<nlohmann::json>::value +) +{ +j1.swap(j2); +} + +#endif + +}//namespacestd + +JSON_HEDLEY_NON_NULL(1) +inlinenlohmann::jsonoperator""_json(constchar*s,std::size_tn) +{ +returnnlohmann::json::parse(s,s+n); +} + +JSON_HEDLEY_NON_NULL(1) +inlinenlohmann::json::json_pointeroperator""_json_pointer(constchar*s,std::size_tn) +{ +returnnlohmann::json::json_pointer(std::string(s,n)); +} + +//#include<nlohmann/detail/macro_unscope.hpp> + + +//restoreGCC/clangdiagnosticsettings +#ifdefined(__clang__) +#pragmaGCCdiagnosticpop +#endif + +//cleanup +#undefJSON_ASSERT +#undefJSON_INTERNAL_CATCH +#undefJSON_CATCH +#undefJSON_THROW +#undefJSON_TRY +#undefJSON_PRIVATE_UNLESS_TESTED +#undefJSON_HAS_CPP_14 +#undefJSON_HAS_CPP_17 +#undefNLOHMANN_BASIC_JSON_TPL_DECLARATION +#undefNLOHMANN_BASIC_JSON_TPL +#undefJSON_EXPLICIT + +//#include<nlohmann/thirdparty/hedley/hedley_undef.hpp> + + +#undefJSON_HEDLEY_ALWAYS_INLINE +#undefJSON_HEDLEY_ARM_VERSION +#undefJSON_HEDLEY_ARM_VERSION_CHECK +#undefJSON_HEDLEY_ARRAY_PARAM +#undefJSON_HEDLEY_ASSUME +#undefJSON_HEDLEY_BEGIN_C_DECLS +#undefJSON_HEDLEY_CLANG_HAS_ATTRIBUTE +#undefJSON_HEDLEY_CLANG_HAS_BUILTIN +#undefJSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE +#undefJSON_HEDLEY_CLANG_HAS_DECLSPEC_DECLSPEC_ATTRIBUTE +#undefJSON_HEDLEY_CLANG_HAS_EXTENSION +#undefJSON_HEDLEY_CLANG_HAS_FEATURE +#undefJSON_HEDLEY_CLANG_HAS_WARNING +#undefJSON_HEDLEY_COMPCERT_VERSION +#undefJSON_HEDLEY_COMPCERT_VERSION_CHECK +#undefJSON_HEDLEY_CONCAT +#undefJSON_HEDLEY_CONCAT3 +#undefJSON_HEDLEY_CONCAT3_EX +#undefJSON_HEDLEY_CONCAT_EX +#undefJSON_HEDLEY_CONST +#undefJSON_HEDLEY_CONSTEXPR +#undefJSON_HEDLEY_CONST_CAST +#undefJSON_HEDLEY_CPP_CAST +#undefJSON_HEDLEY_CRAY_VERSION +#undefJSON_HEDLEY_CRAY_VERSION_CHECK +#undefJSON_HEDLEY_C_DECL +#undefJSON_HEDLEY_DEPRECATED +#undefJSON_HEDLEY_DEPRECATED_FOR +#undefJSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL +#undefJSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ +#undefJSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED +#undefJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES +#undefJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS +#undefJSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION +#undefJSON_HEDLEY_DIAGNOSTIC_POP +#undefJSON_HEDLEY_DIAGNOSTIC_PUSH +#undefJSON_HEDLEY_DMC_VERSION +#undefJSON_HEDLEY_DMC_VERSION_CHECK +#undefJSON_HEDLEY_EMPTY_BASES +#undefJSON_HEDLEY_EMSCRIPTEN_VERSION +#undefJSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK +#undefJSON_HEDLEY_END_C_DECLS +#undefJSON_HEDLEY_FLAGS +#undefJSON_HEDLEY_FLAGS_CAST +#undefJSON_HEDLEY_GCC_HAS_ATTRIBUTE +#undefJSON_HEDLEY_GCC_HAS_BUILTIN +#undefJSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE +#undefJSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE +#undefJSON_HEDLEY_GCC_HAS_EXTENSION +#undefJSON_HEDLEY_GCC_HAS_FEATURE +#undefJSON_HEDLEY_GCC_HAS_WARNING +#undefJSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK +#undefJSON_HEDLEY_GCC_VERSION +#undefJSON_HEDLEY_GCC_VERSION_CHECK +#undefJSON_HEDLEY_GNUC_HAS_ATTRIBUTE +#undefJSON_HEDLEY_GNUC_HAS_BUILTIN +#undefJSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE +#undefJSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE +#undefJSON_HEDLEY_GNUC_HAS_EXTENSION +#undefJSON_HEDLEY_GNUC_HAS_FEATURE +#undefJSON_HEDLEY_GNUC_HAS_WARNING +#undefJSON_HEDLEY_GNUC_VERSION +#undefJSON_HEDLEY_GNUC_VERSION_CHECK +#undefJSON_HEDLEY_HAS_ATTRIBUTE +#undefJSON_HEDLEY_HAS_BUILTIN +#undefJSON_HEDLEY_HAS_CPP_ATTRIBUTE +#undefJSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS +#undefJSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE +#undefJSON_HEDLEY_HAS_EXTENSION +#undefJSON_HEDLEY_HAS_FEATURE +#undefJSON_HEDLEY_HAS_WARNING +#undefJSON_HEDLEY_IAR_VERSION +#undefJSON_HEDLEY_IAR_VERSION_CHECK +#undefJSON_HEDLEY_IBM_VERSION +#undefJSON_HEDLEY_IBM_VERSION_CHECK +#undefJSON_HEDLEY_IMPORT +#undefJSON_HEDLEY_INLINE +#undefJSON_HEDLEY_INTEL_CL_VERSION +#undefJSON_HEDLEY_INTEL_CL_VERSION_CHECK +#undefJSON_HEDLEY_INTEL_VERSION +#undefJSON_HEDLEY_INTEL_VERSION_CHECK +#undefJSON_HEDLEY_IS_CONSTANT +#undefJSON_HEDLEY_IS_CONSTEXPR_ +#undefJSON_HEDLEY_LIKELY +#undefJSON_HEDLEY_MALLOC +#undefJSON_HEDLEY_MCST_LCC_VERSION +#undefJSON_HEDLEY_MCST_LCC_VERSION_CHECK +#undefJSON_HEDLEY_MESSAGE +#undefJSON_HEDLEY_MSVC_VERSION +#undefJSON_HEDLEY_MSVC_VERSION_CHECK +#undefJSON_HEDLEY_NEVER_INLINE +#undefJSON_HEDLEY_NON_NULL +#undefJSON_HEDLEY_NO_ESCAPE +#undefJSON_HEDLEY_NO_RETURN +#undefJSON_HEDLEY_NO_THROW +#undefJSON_HEDLEY_NULL +#undefJSON_HEDLEY_PELLES_VERSION +#undefJSON_HEDLEY_PELLES_VERSION_CHECK +#undefJSON_HEDLEY_PGI_VERSION +#undefJSON_HEDLEY_PGI_VERSION_CHECK +#undefJSON_HEDLEY_PREDICT +#undefJSON_HEDLEY_PRINTF_FORMAT +#undefJSON_HEDLEY_PRIVATE +#undefJSON_HEDLEY_PUBLIC +#undefJSON_HEDLEY_PURE +#undefJSON_HEDLEY_REINTERPRET_CAST +#undefJSON_HEDLEY_REQUIRE +#undefJSON_HEDLEY_REQUIRE_CONSTEXPR +#undefJSON_HEDLEY_REQUIRE_MSG +#undefJSON_HEDLEY_RESTRICT +#undefJSON_HEDLEY_RETURNS_NON_NULL +#undefJSON_HEDLEY_SENTINEL +#undefJSON_HEDLEY_STATIC_ASSERT +#undefJSON_HEDLEY_STATIC_CAST +#undefJSON_HEDLEY_STRINGIFY +#undefJSON_HEDLEY_STRINGIFY_EX +#undefJSON_HEDLEY_SUNPRO_VERSION +#undefJSON_HEDLEY_SUNPRO_VERSION_CHECK +#undefJSON_HEDLEY_TINYC_VERSION +#undefJSON_HEDLEY_TINYC_VERSION_CHECK +#undefJSON_HEDLEY_TI_ARMCL_VERSION +#undefJSON_HEDLEY_TI_ARMCL_VERSION_CHECK +#undefJSON_HEDLEY_TI_CL2000_VERSION +#undefJSON_HEDLEY_TI_CL2000_VERSION_CHECK +#undefJSON_HEDLEY_TI_CL430_VERSION +#undefJSON_HEDLEY_TI_CL430_VERSION_CHECK +#undefJSON_HEDLEY_TI_CL6X_VERSION +#undefJSON_HEDLEY_TI_CL6X_VERSION_CHECK +#undefJSON_HEDLEY_TI_CL7X_VERSION +#undefJSON_HEDLEY_TI_CL7X_VERSION_CHECK +#undefJSON_HEDLEY_TI_CLPRU_VERSION +#undefJSON_HEDLEY_TI_CLPRU_VERSION_CHECK +#undefJSON_HEDLEY_TI_VERSION +#undefJSON_HEDLEY_TI_VERSION_CHECK +#undefJSON_HEDLEY_UNAVAILABLE +#undefJSON_HEDLEY_UNLIKELY +#undefJSON_HEDLEY_UNPREDICTABLE +#undefJSON_HEDLEY_UNREACHABLE +#undefJSON_HEDLEY_UNREACHABLE_RETURN +#undefJSON_HEDLEY_VERSION +#undefJSON_HEDLEY_VERSION_DECODE_MAJOR +#undefJSON_HEDLEY_VERSION_DECODE_MINOR +#undefJSON_HEDLEY_VERSION_DECODE_REVISION +#undefJSON_HEDLEY_VERSION_ENCODE +#undefJSON_HEDLEY_WARNING +#undefJSON_HEDLEY_WARN_UNUSED_RESULT +#undefJSON_HEDLEY_WARN_UNUSED_RESULT_MSG +#undefJSON_HEDLEY_FALL_THROUGH + + + +#endif//INCLUDE_NLOHMANN_JSON_HPP_ + + + + diff --git a/docs/xml/d5/dc8/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.xml b/docs/xml/d5/dc8/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.xml new file mode 100644 index 00000000..4f0f82be --- /dev/null +++ b/docs/xml/d5/dc8/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.xml @@ -0,0 +1,87 @@ + + + + nlohmann::detail::is_default_constructible< std::tuple< Ts... > > + nlohmann::detail::conjunction< is_default_constructible< Ts >... > + nlohmann::detail::is_constructible< std::tuple< Ts... > > + json.hpp + + + typename... + Ts + Ts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < is_default_constructible< Ts >... > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < is_default_constructible< Ts >... > + + + + + + + + + + + + + + diff --git a/docs/xml/d5/dda/structnlohmann_1_1detail_1_1is__compatible__object__type.xml b/docs/xml/d5/dda/structnlohmann_1_1detail_1_1is__compatible__object__type.xml new file mode 100644 index 00000000..d518ee8d --- /dev/null +++ b/docs/xml/d5/dda/structnlohmann_1_1detail_1_1is__compatible__object__type.xml @@ -0,0 +1,75 @@ + + + + nlohmann::detail::is_compatible_object_type + nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType > + json.hpp + + + typename BasicJsonType + + + typename CompatibleObjectType + + + + + + + + + + + + + + < BasicJsonType, CompatibleObjectType > + + + + + + + + + + + + + + + + + + + + + + + + + + < BasicJsonType, CompatibleObjectType > + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.xml b/docs/xml/d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.xml new file mode 100644 index 00000000..61ece491 --- /dev/null +++ b/docs/xml/d5/de9/classnlohmann_1_1detail_1_1iteration__proxy__value.xml @@ -0,0 +1,333 @@ + + + + nlohmann::detail::iteration_proxy_value + json.hpp + + + typename IteratorType + + + + + std::ptrdiff_t + using nlohmann::detail::iteration_proxy_value< IteratorType >::difference_type = std::ptrdiff_t + + difference_type + + + + + + + + + + iteration_proxy_value + using nlohmann::detail::iteration_proxy_value< IteratorType >::value_type = iteration_proxy_value + + value_type + + + + + + + + + + value_type * + using nlohmann::detail::iteration_proxy_value< IteratorType >::pointer = value_type * + + pointer + + + + + + + + + + value_type & + using nlohmann::detail::iteration_proxy_value< IteratorType >::reference = value_type & + + reference + + + + + + + + + + std::input_iterator_tag + using nlohmann::detail::iteration_proxy_value< IteratorType >::iterator_category = std::input_iterator_tag + + iterator_category + + + + + + + + + + typename std::remove_cv< typename std::remove_reference< decltype(std::declval< IteratorType >().key()) >::type >::type + using nlohmann::detail::iteration_proxy_value< IteratorType >::string_type = typename std::remove_cv< typename std::remove_reference<decltype( std::declval<IteratorType>().key() ) >::type >::type + + string_type + + + + + + + + + + + + IteratorType + IteratorType nlohmann::detail::iteration_proxy_value< IteratorType >::anchor + + anchor + +the iterator + + + + + + nlohmann::detail::iteration_proxy_value< IteratorType >::operator!= + nlohmann::detail::iteration_proxy_value< IteratorType >::operator== + + + std::size_t + std::size_t nlohmann::detail::iteration_proxy_value< IteratorType >::array_index + + array_index + = 0 + +an index for arrays (used to create key names) + + + + + + + + std::size_t + std::size_t nlohmann::detail::iteration_proxy_value< IteratorType >::array_index_last + + array_index_last + = 0 + +last stringified array index + + + + + + + + string_type + string_type nlohmann::detail::iteration_proxy_value< IteratorType >::array_index_str + + array_index_str + = "0" + +a string representation of the array index + + + + + + + + const string_type + const string_type nlohmann::detail::iteration_proxy_value< IteratorType >::empty_str + + empty_str + {} + +an empty string (to return a reference for primitive values) + + + + + + + + + + + nlohmann::detail::iteration_proxy_value< IteratorType >::iteration_proxy_value + (IteratorType it) noexcept + iteration_proxy_value + + IteratorType + it + + + + + + + + + + + iteration_proxy_value & + iteration_proxy_value& nlohmann::detail::iteration_proxy_value< IteratorType >::operator* + () + operator* + +dereference operator (needed for range-based for) + + + + + + + + iteration_proxy_value & + iteration_proxy_value& nlohmann::detail::iteration_proxy_value< IteratorType >::operator++ + () + operator++ + +increment operator (needed for range-based for) + + + + + + + + bool + bool nlohmann::detail::iteration_proxy_value< IteratorType >::operator== + (const iteration_proxy_value &o) const + operator== + + const iteration_proxy_value & + o + + +equality operator (needed for InputIterator) + + + + + + nlohmann::detail::iteration_proxy_value< IteratorType >::anchor + + + bool + bool nlohmann::detail::iteration_proxy_value< IteratorType >::operator!= + (const iteration_proxy_value &o) const + operator!= + + const iteration_proxy_value & + o + + +inequality operator (needed for range-based for) + + + + + + nlohmann::detail::iteration_proxy_value< IteratorType >::anchor + + + const string_type & + const string_type& nlohmann::detail::iteration_proxy_value< IteratorType >::key + () const + key + +return key of the iterator + + + + + + nlohmann::detail::array + nlohmann::detail::int_to_string + JSON_ASSERT + nlohmann::detail::object + nlohmann::detail::get + + + IteratorType::reference + IteratorType::reference nlohmann::detail::iteration_proxy_value< IteratorType >::value + () const + value + +return value of the iterator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -empty_str + + + -array_index_str + + + -array_index + -array_index_last + + + -anchor + + + + + + nlohmann::detail::iteration_proxy_valueanchor + nlohmann::detail::iteration_proxy_valuearray_index + nlohmann::detail::iteration_proxy_valuearray_index_last + nlohmann::detail::iteration_proxy_valuearray_index_str + nlohmann::detail::iteration_proxy_valuedifference_type + nlohmann::detail::iteration_proxy_valueempty_str + nlohmann::detail::iteration_proxy_valueiteration_proxy_value + nlohmann::detail::iteration_proxy_valueiterator_category + nlohmann::detail::iteration_proxy_valuekey + nlohmann::detail::iteration_proxy_valueoperator!= + nlohmann::detail::iteration_proxy_valueoperator* + nlohmann::detail::iteration_proxy_valueoperator++ + nlohmann::detail::iteration_proxy_valueoperator== + nlohmann::detail::iteration_proxy_valuepointer + nlohmann::detail::iteration_proxy_valuereference + nlohmann::detail::iteration_proxy_valuestring_type + nlohmann::detail::iteration_proxy_valuevalue + nlohmann::detail::iteration_proxy_valuevalue_type + + + diff --git a/docs/xml/d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.xml b/docs/xml/d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.xml new file mode 100644 index 00000000..9f6acb87 --- /dev/null +++ b/docs/xml/d5/df9/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__unsigned_01_4.xml @@ -0,0 +1,52 @@ + + + + nlohmann::detail::external_constructor< value_t::number_unsigned > + json.hpp + + + + + + + typename BasicJsonType + + + void + static void nlohmann::detail::external_constructor< value_t::number_unsigned >::construct + (BasicJsonType &j, typename BasicJsonType::number_unsigned_t val) noexcept + construct + + BasicJsonType & + j + + + typename BasicJsonType::number_unsigned_t + val + + + + + + + + + nlohmann::detail::number_unsigned + + + + + + + + + + + + + + + nlohmann::detail::external_constructor< value_t::number_unsigned >construct + + + diff --git a/docs/xml/d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.xml b/docs/xml/d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.xml new file mode 100644 index 00000000..8332ba39 --- /dev/null +++ b/docs/xml/d5/dfe/structnlohmann_1_1detail_1_1dtoa__impl_1_1cached__power.xml @@ -0,0 +1,80 @@ + + + + nlohmann::detail::dtoa_impl::cached_power + json.hpp + + + std::uint64_t + std::uint64_t nlohmann::detail::dtoa_impl::cached_power::f + + f + + + + + + + + nlohmann::detail::dtoa_impl::grisu2 + + + int + int nlohmann::detail::dtoa_impl::cached_power::e + + e + + + + + + + + nlohmann::detail::dtoa_impl::grisu2 + + + int + int nlohmann::detail::dtoa_impl::cached_power::k + + k + + + + + + + + nlohmann::detail::dtoa_impl::grisu2 + + + + + + + + + + + + + + + + + + +f + + + +e + +k + + + + + + nlohmann::detail::dtoa_impl::cached_powere + nlohmann::detail::dtoa_impl::cached_powerf + nlohmann::detail::dtoa_impl::cached_powerk + + + diff --git a/docs/xml/d6/d02/structnlohmann_1_1detail_1_1position__t.xml b/docs/xml/d6/d02/structnlohmann_1_1detail_1_1position__t.xml new file mode 100644 index 00000000..91992622 --- /dev/null +++ b/docs/xml/d6/d02/structnlohmann_1_1detail_1_1position__t.xml @@ -0,0 +1,94 @@ + + + + nlohmann::detail::position_t + json.hpp + + + std::size_t + std::size_t nlohmann::detail::position_t::chars_read_total + + chars_read_total + = 0 + +the total number of characters read + + + + + + nlohmann::detail::parse_error::create + + + std::size_t + std::size_t nlohmann::detail::position_t::chars_read_current_line + + chars_read_current_line + = 0 + +the number of characters read in the current line + + + + + + nlohmann::detail::parse_error::position_string + + + std::size_t + std::size_t nlohmann::detail::position_t::lines_read + + lines_read + = 0 + +the number of lines read + + + + + + nlohmann::detail::parse_error::position_string + + + + + constexpr + constexpr nlohmann::detail::position_t::operator size_t + () const + operator size_t + +conversion to size_t to preserve SAX interface + + + + + + + + +struct to capture the start position of the current token + + + + + + + + + + + +chars_read_total + +chars_read_current_line + +lines_read + + + + + + nlohmann::detail::position_tchars_read_current_line + nlohmann::detail::position_tchars_read_total + nlohmann::detail::position_tlines_read + nlohmann::detail::position_toperator size_t + + + diff --git a/docs/xml/d6/d1b/structcudnn__frontend_1_1executionOption.xml b/docs/xml/d6/d1b/structcudnn__frontend_1_1executionOption.xml index 4df40007..54c4941a 100644 --- a/docs/xml/d6/d1b/structcudnn__frontend_1_1executionOption.xml +++ b/docs/xml/d6/d1b/structcudnn__frontend_1_1executionOption.xml @@ -37,62 +37,62 @@ A pair of execution plan and its run time. Necessary to return a sorted executionPlan - + - + - + - + - + - + - + - + -planTag - + -handle - + -engine_config - + - + +plan - + +time_ms - + - + #err_msg - + #pointer - + #status - + - + diff --git a/docs/xml/d6/d30/classnlohmann_1_1detail_1_1binary__reader.xml b/docs/xml/d6/d30/classnlohmann_1_1detail_1_1binary__reader.xml new file mode 100644 index 00000000..729f9ade --- /dev/null +++ b/docs/xml/d6/d30/classnlohmann_1_1detail_1_1binary__reader.xml @@ -0,0 +1,1515 @@ + + + + nlohmann::detail::binary_reader + json.hpp + + + typename BasicJsonType + + + typename InputAdapterType + + + typename SAX + json_sax_dom_parser<BasicJsonType> + + + + + typename BasicJsonType::number_integer_t + using nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::number_integer_t = typename BasicJsonType::number_integer_t + + number_integer_t + + + + + + + + + + typename BasicJsonType::number_unsigned_t + using nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::number_unsigned_t = typename BasicJsonType::number_unsigned_t + + number_unsigned_t + + + + + + + + + + typename BasicJsonType::number_float_t + using nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::number_float_t = typename BasicJsonType::number_float_t + + number_float_t + + + + + + + + + + typename BasicJsonType::string_t + using nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::string_t = typename BasicJsonType::string_t + + string_t + + + + + + + + + + typename BasicJsonType::binary_t + using nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::binary_t = typename BasicJsonType::binary_t + + binary_t + + + + + + + + + + SAX + using nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::json_sax_t = SAX + + json_sax_t + + + + + + + + + + typename InputAdapterType::char_type + using nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::char_type = typename InputAdapterType::char_type + + char_type + + + + + + + + + + typename std::char_traits< char_type >::int_type + using nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::char_int_type = typename std::char_traits<char_type>::int_type + + char_int_type + + + + + + + + + + + + InputAdapterType + InputAdapterType nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::ia + + ia + +input adapter + + + + + + + + char_int_type + char_int_type nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::current + + current + = std::char_traits<char_type>::eof() + +the current character + + + + + + + + std::size_t + std::size_t nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::chars_read + + chars_read + = 0 + +the number of characters read + + + + + + + + const bool + const bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::is_little_endian + + is_little_endian + = little_endianess() + +whether we can assume little endianess + + + + + + + + json_sax_t * + json_sax_t* nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax + + sax + = nullptr + +the SAX parser + + + + + + + + + + + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::binary_reader + (InputAdapterType &&adapter) noexcept + binary_reader + + InputAdapterType && + adapter + + +create a binary reader + + + +adapter + + +input adapter to read from + + + + + + + JSON_HEDLEY_NON_NULL + nlohmann::detail::void + + + + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::binary_reader + (const binary_reader &)=delete + binary_reader + + const binary_reader & + + + + + + + + + + + + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::binary_reader + (binary_reader &&)=default + binary_reader + + binary_reader && + + + + + + + + + + + binary_reader & + binary_reader& nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::operator= + (const binary_reader &)=delete + operator= + + const binary_reader & + + + + + + + + + + + binary_reader & + binary_reader& nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::operator= + (binary_reader &&)=default + operator= + + binary_reader && + + + + + + + + + + + + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::~binary_reader + ()=default + ~binary_reader + + + + + + + + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax_parse + (const input_format_t format, json_sax_t *sax_, const bool strict=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error) + sax_parse + + const input_format_t + format + + + json_sax_t * + sax_ + + + const bool + strict + true + + + const cbor_tag_handler_t + tag_handler + cbor_tag_handler_t::error + + + + + + +format + + +the binary format to parse + + + +sax_ + + +a SAX event processor + + + +strict + + +whether to expect the input to be consumed completed + + + +tag_handler + + +how to treat CBOR tags + + +whether parsing was successful + + + + + nlohmann::detail::bson + nlohmann::detail::cbor + nlohmann::detail::parse_error::create + JSON_ASSERT + JSON_HEDLEY_UNLIKELY + nlohmann::detail::msgpack + nlohmann::detail::strict + nlohmann::detail::ubjson + + + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_internal + () + parse_bson_internal + +Reads in a BSON-object and passes it to the SAX-parser. + +whether a valid BSON-value was passed to the SAX parser + + + + + nlohmann::detail::bson + JSON_HEDLEY_UNLIKELY + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_cstr + (string_t &result) + get_bson_cstr + + string_t & + result + + +Parses a C-style string from the BSON input. + + + +result + + +A reference to the string variable where the read string is to be stored. + + +true if the -byte indicating the end of the string was encountered before the EOF; false` indicates an unexpected EOF. + + + + + nlohmann::detail::bson + JSON_HEDLEY_UNLIKELY + + + + + typename NumberType + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_string + (const NumberType len, string_t &result) + get_bson_string + + const NumberType + len + + + string_t & + result + + +Parses a zero-terminated string of length len from the BSON input. + + + +len + + +The length (including the zero-byte at the end) of the string to be read. + + + +result + + +A reference to the string variable where the read string is to be stored. + + + + +NumberType + + +The type of the length len + + +len >= 1 +true if the string was successfully parsed + + + + + nlohmann::detail::bson + nlohmann::detail::parse_error::create + JSON_HEDLEY_UNLIKELY + nlohmann::to_string + + + + + typename NumberType + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_binary + (const NumberType len, binary_t &result) + get_bson_binary + + const NumberType + len + + + binary_t & + result + + +Parses a byte array input of length len from the BSON input. + + + +len + + +The length of the byte array to be read. + + + +result + + +A reference to the binary variable where the read array is to be stored. + + + + +NumberType + + +The type of the length len + + +len >= 0 +true if the byte array was successfully parsed + + + + + nlohmann::detail::bson + nlohmann::detail::parse_error::create + JSON_HEDLEY_UNLIKELY + nlohmann::to_string + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_element_internal + (const char_int_type element_type, const std::size_t element_type_parse_position) + parse_bson_element_internal + + const char_int_type + element_type + + + const std::size_t + element_type_parse_position + + +Read a BSON document element of the given element_type. + + + +element_type + + +The BSON element type, c.f. http://bsonspec.org/spec.html + + + +element_type_parse_position + + +The position in the input stream, where the element_type was read. + + +Not all BSON element types are supported yet. An unsupported element_type will give rise to a parse_error.114: Unsupported BSON record type 0x... +whether a valid BSON-object/array was passed to the SAX parser + + + + + nlohmann::detail::bson + nlohmann::detail::parse_error::create + nlohmann::detail::string + nlohmann::detail::value + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_element_list + (const bool is_array) + parse_bson_element_list + + const bool + is_array + + +Read a BSON element list (as specified in the BSON-spec) + +The same binary layout is used for objects and arrays, hence it must be indicated with the argument is_array which one is expected (true > array, false > object). + +is_array + + +Determines if the element list being read is to be treated as an object (is_array == false), or as an array (is_array == true). + + +whether a valid BSON-object/array was passed to the SAX parser + + + + + nlohmann::detail::bson + JSON_HEDLEY_UNLIKELY + nlohmann::detail::key + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_array + () + parse_bson_array + +Reads an array from the BSON input and passes it to the SAX-parser. + +whether a valid BSON-array was passed to the SAX parser + + + + + nlohmann::detail::bson + JSON_HEDLEY_UNLIKELY + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_cbor_internal + (const bool get_char, const cbor_tag_handler_t tag_handler) + parse_cbor_internal + + const bool + get_char + + + const cbor_tag_handler_t + tag_handler + + + + + + +get_char + + +whether a new character should be retrieved from the input (true) or whether the last read character should be considered instead (false) + + + +tag_handler + + +how CBOR tags should be treated + + +whether a valid CBOR value was passed to the SAX parser + + + + + nlohmann::detail::cbor + nlohmann::detail::parse_error::create + nlohmann::detail::error + nlohmann::detail::ignore + JSON_ASSERT + JSON_HEDLEY_UNLIKELY + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_string + (string_t &result) + get_cbor_string + + string_t & + result + + +reads a CBOR string + +This function first reads starting bytes to determine the expected string length and then copies this number of bytes into a string. Additionally, CBOR's strings with indefinite lengths are supported. + +result + + +created string + + +whether string creation completed + + + + + nlohmann::detail::cbor + nlohmann::detail::parse_error::create + JSON_HEDLEY_UNLIKELY + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_binary + (binary_t &result) + get_cbor_binary + + binary_t & + result + + +reads a CBOR byte array + +This function first reads starting bytes to determine the expected byte array length and then copies this number of bytes into the byte array. Additionally, CBOR's byte arrays with indefinite lengths are supported. + +result + + +created byte array + + +whether byte array creation completed + + + + + nlohmann::detail::cbor + nlohmann::detail::parse_error::create + JSON_HEDLEY_UNLIKELY + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_array + (const std::size_t len, const cbor_tag_handler_t tag_handler) + get_cbor_array + + const std::size_t + len + + + const cbor_tag_handler_t + tag_handler + + + + + + +len + + +the length of the array or std::size_t(-1) for an array of indefinite size + + + +tag_handler + + +how CBOR tags should be treated + + +whether array creation completed + + + + + JSON_HEDLEY_UNLIKELY + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_object + (const std::size_t len, const cbor_tag_handler_t tag_handler) + get_cbor_object + + const std::size_t + len + + + const cbor_tag_handler_t + tag_handler + + + + + + +len + + +the length of the object or std::size_t(-1) for an object of indefinite size + + + +tag_handler + + +how CBOR tags should be treated + + +whether object creation completed + + + + + JSON_HEDLEY_UNLIKELY + nlohmann::detail::key + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_msgpack_internal + () + parse_msgpack_internal + + + +whether a valid MessagePack value was passed to the SAX parser + + + + + nlohmann::detail::parse_error::create + nlohmann::detail::msgpack + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_string + (string_t &result) + get_msgpack_string + + string_t & + result + + +reads a MessagePack string + +This function first reads starting bytes to determine the expected string length and then copies this number of bytes into a string. + +result + + +created string + + +whether string creation completed + + + + + nlohmann::detail::parse_error::create + JSON_HEDLEY_UNLIKELY + nlohmann::detail::msgpack + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_binary + (binary_t &result) + get_msgpack_binary + + binary_t & + result + + +reads a MessagePack byte array + +This function first reads starting bytes to determine the expected byte array length and then copies this number of bytes into a byte array. + +result + + +created byte array + + +whether byte array creation completed + + + + + nlohmann::detail::msgpack + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_array + (const std::size_t len) + get_msgpack_array + + const std::size_t + len + + + + + + +len + + +the length of the array + + +whether array creation completed + + + + + JSON_HEDLEY_UNLIKELY + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_object + (const std::size_t len) + get_msgpack_object + + const std::size_t + len + + + + + + +len + + +the length of the object + + +whether object creation completed + + + + + JSON_HEDLEY_UNLIKELY + nlohmann::detail::key + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_ubjson_internal + (const bool get_char=true) + parse_ubjson_internal + + const bool + get_char + true + + + + + + +get_char + + +whether a new character should be retrieved from the input (true, default) or whether the last read character should be considered instead + + +whether a valid UBJSON value was passed to the SAX parser + + + + + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_string + (string_t &result, const bool get_char=true) + get_ubjson_string + + string_t & + result + + + const bool + get_char + true + + +reads a UBJSON string + +This function is either called after reading the 'S' byte explicitly indicating a string, or in case of an object key where the 'S' byte can be left out. + +result + + +created string + + + +get_char + + +whether a new character should be retrieved from the input (true, default) or whether the last read character should be considered instead + + +whether string creation completed + + + + + nlohmann::detail::parse_error::create + JSON_HEDLEY_UNLIKELY + nlohmann::detail::ubjson + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_value + (std::size_t &result) + get_ubjson_size_value + + std::size_t & + result + + + + + + +result + + +determined size + + +whether size determination completed + + + + + nlohmann::detail::parse_error::create + JSON_HEDLEY_UNLIKELY + nlohmann::detail::ubjson + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_type + (std::pair< std::size_t, char_int_type > &result) + get_ubjson_size_type + + std::pair< std::size_t, char_int_type > & + result + + +determine the type and size for a container + +In the optimized UBJSON format, a type and a size can be provided to allow for a more compact representation. + +result + + +pair of the size and the type + + +whether pair creation completed + + + + + nlohmann::detail::parse_error::create + JSON_HEDLEY_UNLIKELY + nlohmann::detail::ubjson + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_value + (const char_int_type prefix) + get_ubjson_value + + const char_int_type + prefix + + + + + + +prefix + + +the previously read or set type prefix + + +whether value creation completed + + + + + nlohmann::detail::parse_error::create + JSON_HEDLEY_UNLIKELY + nlohmann::detail::ubjson + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_array + () + get_ubjson_array + + + +whether array creation completed + + + + + JSON_HEDLEY_UNLIKELY + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_object + () + get_ubjson_object + + + +whether object creation completed + + + + + JSON_HEDLEY_UNLIKELY + nlohmann::detail::key + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_high_precision_number + () + get_ubjson_high_precision_number + + + + + + + + nlohmann::detail::parse_error::create + nlohmann::detail::input_adapter + JSON_HEDLEY_UNLIKELY + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan + nlohmann::detail::ubjson + + + char_int_type + char_int_type nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get + () + get + +get next character from the input + +This function provides the interface to the used input adapter. It does not throw in case the input reached EOF, but returns a -'ve valued std::char_traits<char_type>::eof() in that case.character read from the input + + + + + + + char_int_type + char_int_type nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ignore_noop + () + get_ignore_noop + + + +character read from the input after ignoring all 'N' entries + + + + + + + + + typename NumberType + + + bool + InputIsLittleEndian + InputIsLittleEndian + false + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_number + (const input_format_t format, NumberType &result) + get_number + + const input_format_t + format + + + NumberType & + result + + + + + + + + + JSON_HEDLEY_UNLIKELY + + + + + typename NumberType + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_string + (const input_format_t format, const NumberType len, string_t &result) + get_string + + const input_format_t + format + + + const NumberType + len + + + string_t & + result + + +create a string by reading characters from the input + + + +NumberType + + +the type of the number + + + + +format + + +the current format (for diagnostics) + + + +len + + +number of characters to read + + + +result + + +string created by reading len bytes + + +whether string creation completed +We can not reserve len bytes for the result, because len may be too large. Usually, unexpect_eof() detects the end of the input before we run out of string memory. + + + + + JSON_HEDLEY_UNLIKELY + + + + + typename NumberType + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_binary + (const input_format_t format, const NumberType len, binary_t &result) + get_binary + + const input_format_t + format + + + const NumberType + len + + + binary_t & + result + + +create a byte array by reading bytes from the input + + + +NumberType + + +the type of the number + + + + +format + + +the current format (for diagnostics) + + + +len + + +number of bytes to read + + + +result + + +byte array created by reading len bytes + + +whether byte array creation completed +We can not reserve len bytes for the result, because len may be too large. Usually, unexpect_eof() detects the end of the input before we run out of memory. + + + + + JSON_HEDLEY_NON_NULL + JSON_HEDLEY_UNLIKELY + + + bool + bool nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::unexpect_eof + (const input_format_t format, const char *context) const + unexpect_eof + + const input_format_t + format + + + const char * + context + + + + + + +format + + +the current format (for diagnostics) + + + +context + + +further context information (for diagnostics) + + +whether the last read character is not EOF + + + + + nlohmann::detail::parse_error::create + JSON_HEDLEY_UNLIKELY + + + std::string + std::string nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_token_string + () const + get_token_string + + + +a string representation of the last read byte + + + + + nlohmann::detail::string + + + std::string + std::string nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::exception_message + (const input_format_t format, const std::string &detail, const std::string &context) const + exception_message + + const input_format_t + format + + + const std::string & + detail + + + const std::string & + context + + + + + + +format + + +the current format + + + +detail + + +a detailed error message + + + +context + + +further context information + + +a message string to use in the parse_error exceptions + + + + + nlohmann::detail::bson + nlohmann::detail::cbor + JSON_ASSERT + nlohmann::detail::msgpack + nlohmann::detail::string + nlohmann::detail::ubjson + + + +deserialization of CBOR, MessagePack, and UBJSON values + + + + + + + + + + + + + + -ia + + + -sax + + + -current + + + -is_little_endian + + + -chars_read + + + + + + + + + + + + + + + nlohmann::detail::binary_readerbinary_reader + nlohmann::detail::binary_readerbinary_reader + nlohmann::detail::binary_readerbinary_reader + nlohmann::detail::binary_readerbinary_t + nlohmann::detail::binary_readerchar_int_type + nlohmann::detail::binary_readerchar_type + nlohmann::detail::binary_readerchars_read + nlohmann::detail::binary_readercurrent + nlohmann::detail::binary_readerexception_message + nlohmann::detail::binary_readerget + nlohmann::detail::binary_readerget_binary + nlohmann::detail::binary_readerget_bson_binary + nlohmann::detail::binary_readerget_bson_cstr + nlohmann::detail::binary_readerget_bson_string + nlohmann::detail::binary_readerget_cbor_array + nlohmann::detail::binary_readerget_cbor_binary + nlohmann::detail::binary_readerget_cbor_object + nlohmann::detail::binary_readerget_cbor_string + nlohmann::detail::binary_readerget_ignore_noop + nlohmann::detail::binary_readerget_msgpack_array + nlohmann::detail::binary_readerget_msgpack_binary + nlohmann::detail::binary_readerget_msgpack_object + nlohmann::detail::binary_readerget_msgpack_string + nlohmann::detail::binary_readerget_number + nlohmann::detail::binary_readerget_string + nlohmann::detail::binary_readerget_token_string + nlohmann::detail::binary_readerget_ubjson_array + nlohmann::detail::binary_readerget_ubjson_high_precision_number + nlohmann::detail::binary_readerget_ubjson_object + nlohmann::detail::binary_readerget_ubjson_size_type + nlohmann::detail::binary_readerget_ubjson_size_value + nlohmann::detail::binary_readerget_ubjson_string + nlohmann::detail::binary_readerget_ubjson_value + nlohmann::detail::binary_readeria + nlohmann::detail::binary_readeris_little_endian + nlohmann::detail::binary_readerjson_sax_t + nlohmann::detail::binary_readernumber_float_t + nlohmann::detail::binary_readernumber_integer_t + nlohmann::detail::binary_readernumber_unsigned_t + nlohmann::detail::binary_readeroperator= + nlohmann::detail::binary_readeroperator= + nlohmann::detail::binary_readerparse_bson_array + nlohmann::detail::binary_readerparse_bson_element_internal + nlohmann::detail::binary_readerparse_bson_element_list + nlohmann::detail::binary_readerparse_bson_internal + nlohmann::detail::binary_readerparse_cbor_internal + nlohmann::detail::binary_readerparse_msgpack_internal + nlohmann::detail::binary_readerparse_ubjson_internal + nlohmann::detail::binary_readersax + nlohmann::detail::binary_readersax_parse + nlohmann::detail::binary_readerstring_t + nlohmann::detail::binary_readerunexpect_eof + nlohmann::detail::binary_reader~binary_reader + + + diff --git a/docs/xml/d6/d32/cudnn__frontend__MatMulDesc_8h.xml b/docs/xml/d6/d32/cudnn__frontend__MatMulDesc_8h.xml index 153e043d..95c5692d 100644 --- a/docs/xml/d6/d32/cudnn__frontend__MatMulDesc_8h.xml +++ b/docs/xml/d6/d32/cudnn__frontend__MatMulDesc_8h.xml @@ -14,150 +14,150 @@ cudnn_frontend_Operation.h cudnn_frontend.h - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/docs/xml/d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.xml b/docs/xml/d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.xml new file mode 100644 index 00000000..7f554480 --- /dev/null +++ b/docs/xml/d6/d46/structnlohmann_1_1detail_1_1is__iterator__of__multibyte.xml @@ -0,0 +1,51 @@ + + + + nlohmann::detail::is_iterator_of_multibyte + json.hpp + + + typename T + + + + + @0 + + + + + + + + + + typename std::iterator_traits< T >::value_type + using nlohmann::detail::is_iterator_of_multibyte< T >::value_type = typename std::iterator_traits<T>::value_type + + value_type + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::is_iterator_of_multibytevalue_type + + + diff --git a/docs/xml/d6/d51/cudnn__frontend__ExecutionPlan_8h.xml b/docs/xml/d6/d51/cudnn__frontend__ExecutionPlan_8h.xml index f880ee0b..925e212e 100644 --- a/docs/xml/d6/d51/cudnn__frontend__ExecutionPlan_8h.xml +++ b/docs/xml/d6/d51/cudnn__frontend__ExecutionPlan_8h.xml @@ -14,270 +14,294 @@ cudnn_frontend_utils.h cudnn_frontend.h - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -447,7 +471,7 @@ } for(int64_tidx=0;idx<numKnobs;++idx){ constcudnnBackendDescriptor_t&knob=extractedKnobs_[idx]; -cudnnBackendKnobType_ttype=CUDNN_KNOB_TYPE_COUNTS; +cudnnBackendKnobType_ttype=CUDNN_KNOB_TYPE_COUNTS; int64_tchoice=-2; status=cudnnBackendGetAttribute( knob,CUDNN_ATTR_KNOB_CHOICE_KNOB_TYPE,CUDNN_TYPE_KNOB_TYPE,1,nullptr,&type); @@ -465,7 +489,7 @@ "CUDNN_BACKEND_EXECUTION_PLAN_DESCRIPTOR:GetAttribute" "CUDNN_ATTR_KNOB_CHOICE_KNOB_VALUEFailed"); } -tag<<"_k"<<type<<"("<<choice<<")"; +tag<<"_k"<<type<<"="<<choice; } planTag+=tag.str(); } diff --git a/docs/xml/d6/d67/cudnn__frontend__EngineConfig_8h.xml b/docs/xml/d6/d67/cudnn__frontend__EngineConfig_8h.xml index efdcf784..b86238a4 100644 --- a/docs/xml/d6/d67/cudnn__frontend__EngineConfig_8h.xml +++ b/docs/xml/d6/d67/cudnn__frontend__EngineConfig_8h.xml @@ -14,270 +14,294 @@ cudnn_frontend_utils.h cudnn_frontend.h - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -387,7 +411,7 @@ m_engine_config.numKnobs=knobs.size(); for(std::uint32_ti=0;i<knobs.size();i++){ cudnnStatus_tstatus; -cudnnBackendKnobType_ttype=knobs[i].getKnobType(); +cudnnBackendKnobType_ttype=knobs[i].getKnobType(); int64_tvalue=knobs[i].getChoice(); status=cudnnBackendSetAttribute(m_engine_config.bChoices[i]->get_backend_descriptor(), CUDNN_ATTR_KNOB_CHOICE_KNOB_TYPE, diff --git a/docs/xml/d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.xml b/docs/xml/d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.xml new file mode 100644 index 00000000..85ca0f43 --- /dev/null +++ b/docs/xml/d6/d69/classnlohmann_1_1detail_1_1json__sax__dom__callback__parser.xml @@ -0,0 +1,762 @@ + + + + nlohmann::detail::json_sax_dom_callback_parser + json.hpp + + + typename + BasicJsonType + BasicJsonType + + + + + typename BasicJsonType::number_integer_t + using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t + + number_integer_t + + + + + + + + + + typename BasicJsonType::number_unsigned_t + using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t + + number_unsigned_t + + + + + + + + + + typename BasicJsonType::number_float_t + using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t + + number_float_t + + + + + + + + + + typename BasicJsonType::string_t + using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::string_t = typename BasicJsonType::string_t + + string_t + + + + + + + + + + typename BasicJsonType::binary_t + using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::binary_t = typename BasicJsonType::binary_t + + binary_t + + + + + + + + + + typename BasicJsonType::parser_callback_t + using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parser_callback_t = typename BasicJsonType::parser_callback_t + + parser_callback_t + + + + + + + + + + typename BasicJsonType::parse_event_t + using nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parse_event_t = typename BasicJsonType::parse_event_t + + parse_event_t + + + + + + + + + + + + BasicJsonType & + BasicJsonType& nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::root + + root + +the parsed JSON value + + + + + + + + std::vector< BasicJsonType * > + std::vector<BasicJsonType*> nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::ref_stack + + ref_stack + {} + +stack to model hierarchy of values + + + + + + + + std::vector< bool > + std::vector<bool> nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::keep_stack + + keep_stack + {} + +stack to manage which values to keep + + + + + + + + std::vector< bool > + std::vector<bool> nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::key_keep_stack + + key_keep_stack + {} + +stack to manage which object keys to keep + + + + + + + + BasicJsonType * + BasicJsonType* nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::object_element + + object_element + = nullptr + +helper to hold the reference for the next object element + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::errored + + errored + = false + +whether a syntax error occurred + + + + + + + + const parser_callback_t + const parser_callback_t nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::callback + + callback + = nullptr + +callback function + + + + + + + + const bool + const bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::allow_exceptions + + allow_exceptions + = true + +whether to throw exceptions in case of errors + + + + + + + + BasicJsonType + BasicJsonType nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::discarded + + discarded + = BasicJsonType::value_t::discarded + +a discarded value for the callback + + + + + + + + + + + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::json_sax_dom_callback_parser + (BasicJsonType &r, const parser_callback_t cb, const bool allow_exceptions_=true) + json_sax_dom_callback_parser + + BasicJsonType & + r + + + const parser_callback_t + cb + + + const bool + allow_exceptions_ + true + + + + + + + + + + + + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::json_sax_dom_callback_parser + (const json_sax_dom_callback_parser &)=delete + json_sax_dom_callback_parser + + const json_sax_dom_callback_parser & + + + + + + + + + + + + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::json_sax_dom_callback_parser + (json_sax_dom_callback_parser &&)=default + json_sax_dom_callback_parser + + json_sax_dom_callback_parser && + + + + + + + + + + + json_sax_dom_callback_parser & + json_sax_dom_callback_parser& nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::operator= + (const json_sax_dom_callback_parser &)=delete + operator= + + const json_sax_dom_callback_parser & + + + + + + + + + + + json_sax_dom_callback_parser & + json_sax_dom_callback_parser& nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::operator= + (json_sax_dom_callback_parser &&)=default + operator= + + json_sax_dom_callback_parser && + + + + + + + + + + + + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::~json_sax_dom_callback_parser + ()=default + ~json_sax_dom_callback_parser + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::null + () + null + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::boolean + (bool val) + boolean + + bool + val + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_integer + (number_integer_t val) + number_integer + + number_integer_t + val + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_unsigned + (number_unsigned_t val) + number_unsigned + + number_unsigned_t + val + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::number_float + (number_float_t val, const string_t &) + number_float + + number_float_t + val + + + const string_t & + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::string + (string_t &val) + string + + string_t & + val + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::binary + (binary_t &val) + binary + + binary_t & + val + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_object + (std::size_t len) + start_object + + std::size_t + len + + + + + + + + + nlohmann::detail::out_of_range::create + nlohmann::detail::discarded + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::object_start + nlohmann::to_string + + + bool + bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::key + (string_t &val) + key + + string_t & + val + + + + + + + + + nlohmann::detail::discarded + nlohmann::detail::key + + + bool + bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::end_object + () + end_object + + + + + + + + nlohmann::detail::discarded + JSON_ASSERT + nlohmann::detail::object_end + + + bool + bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::start_array + (std::size_t len) + start_array + + std::size_t + len + + + + + + + + + nlohmann::detail::array_start + nlohmann::detail::out_of_range::create + nlohmann::detail::discarded + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::to_string + + + bool + bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::end_array + () + end_array + + + + + + + + nlohmann::detail::array_end + nlohmann::detail::discarded + JSON_ASSERT + + + + + class Exception + + + bool + bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parse_error + (std::size_t, const std::string &, const Exception &ex) + parse_error + + std::size_t + + + const std::string & + + + const Exception & + ex + + + + + + + + + JSON_THROW + nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parse + + + constexpr bool + constexpr bool nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::is_errored + () const + is_errored + + + + + + + + nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parse + + + + + + + typename Value + + + std::pair< bool, BasicJsonType * > + std::pair<bool, BasicJsonType*> nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::handle_value + (Value &&v, const bool skip_callback=false) + handle_value + + Value && + v + + + const bool + skip_callback + false + + + + + + +v + + +value to add to the JSON value we build during parsing + + + +skip_callback + + +whether we should skip calling the callback function; this is required after start_array() and start_object() SAX events, because otherwise we would call the callback function with an empty array or object, respectively. + + +If the ref stack is empty, then the passed value will be the new root. +If the ref stack contains a value, then it is an array or an object to which we can add elements +pair of boolean (whether value should be kept) and pointer (to the passed value in the ref_stack hierarchy; nullptr if not kept) + + + + + JSON_ASSERT + nlohmann::detail::value + + + + + + + + + + + + + + + + + + + + + + + +elements + + + + + + +elements + + + < BasicJsonType *> + + + + + + + + + + -discarded + + + -callback + + + -root + + + -allow_exceptions + -errored + + + -object_element + + + -key_keep_stack + -keep_stack + + + -ref_stack + + + + + + +elements + + + < bool > + + + + + + + + + nlohmann::detail::json_sax_dom_callback_parserallow_exceptions + nlohmann::detail::json_sax_dom_callback_parserbinary + nlohmann::detail::json_sax_dom_callback_parserbinary_t + nlohmann::detail::json_sax_dom_callback_parserboolean + nlohmann::detail::json_sax_dom_callback_parsercallback + nlohmann::detail::json_sax_dom_callback_parserdiscarded + nlohmann::detail::json_sax_dom_callback_parserend_array + nlohmann::detail::json_sax_dom_callback_parserend_object + nlohmann::detail::json_sax_dom_callback_parsererrored + nlohmann::detail::json_sax_dom_callback_parserhandle_value + nlohmann::detail::json_sax_dom_callback_parseris_errored + nlohmann::detail::json_sax_dom_callback_parserjson_sax_dom_callback_parser + nlohmann::detail::json_sax_dom_callback_parserjson_sax_dom_callback_parser + nlohmann::detail::json_sax_dom_callback_parserjson_sax_dom_callback_parser + nlohmann::detail::json_sax_dom_callback_parserkeep_stack + nlohmann::detail::json_sax_dom_callback_parserkey + nlohmann::detail::json_sax_dom_callback_parserkey_keep_stack + nlohmann::detail::json_sax_dom_callback_parsernull + nlohmann::detail::json_sax_dom_callback_parsernumber_float + nlohmann::detail::json_sax_dom_callback_parsernumber_float_t + nlohmann::detail::json_sax_dom_callback_parsernumber_integer + nlohmann::detail::json_sax_dom_callback_parsernumber_integer_t + nlohmann::detail::json_sax_dom_callback_parsernumber_unsigned + nlohmann::detail::json_sax_dom_callback_parsernumber_unsigned_t + nlohmann::detail::json_sax_dom_callback_parserobject_element + nlohmann::detail::json_sax_dom_callback_parseroperator= + nlohmann::detail::json_sax_dom_callback_parseroperator= + nlohmann::detail::json_sax_dom_callback_parserparse_error + nlohmann::detail::json_sax_dom_callback_parserparse_event_t + nlohmann::detail::json_sax_dom_callback_parserparser_callback_t + nlohmann::detail::json_sax_dom_callback_parserref_stack + nlohmann::detail::json_sax_dom_callback_parserroot + nlohmann::detail::json_sax_dom_callback_parserstart_array + nlohmann::detail::json_sax_dom_callback_parserstart_object + nlohmann::detail::json_sax_dom_callback_parserstring + nlohmann::detail::json_sax_dom_callback_parserstring_t + nlohmann::detail::json_sax_dom_callback_parser~json_sax_dom_callback_parser + + + diff --git a/docs/xml/d6/d73/classcudnn__frontend_1_1ConvDesc__v8.xml b/docs/xml/d6/d73/classcudnn__frontend_1_1ConvDesc__v8.xml index e346616f..7e91dabc 100644 --- a/docs/xml/d6/d73/classcudnn__frontend_1_1ConvDesc__v8.xml +++ b/docs/xml/d6/d73/classcudnn__frontend_1_1ConvDesc__v8.xml @@ -153,6 +153,7 @@ padLower padUpper stride + nlohmann::to_string @@ -250,71 +251,71 @@ padLowerpadUpperDilationStrideMath Operation Data TypeConvolution ModeConvolution spatial dimensions Use ConvDescBuilder_v8 to build this class. Describe returns a string describing the convolution operation - + - + - + - + - + - + - + - + -padUpper -nDims -stride -dilation -padLower - + -mode - + -data_type - + - + - + - + - + - + #err_msg - + #pointer - + #status - + - + diff --git a/docs/xml/d6/d88/classcudnn__frontend_1_1BackendDescriptor.xml b/docs/xml/d6/d88/classcudnn__frontend_1_1BackendDescriptor.xml index 7be7d3c9..7f15bd9d 100644 --- a/docs/xml/d6/d88/classcudnn__frontend_1_1BackendDescriptor.xml +++ b/docs/xml/d6/d88/classcudnn__frontend_1_1BackendDescriptor.xml @@ -12,6 +12,7 @@ cudnn_frontend::Operation_v8 cudnn_frontend::OperationGraph_v8 cudnn_frontend::PointWiseDesc_v8 + cudnn_frontend::ReductionDesc_v8 cudnn_frontend::Tensor_v8 cudnn_frontend::VariantPack_v8 cudnn_backend_base.h @@ -28,7 +29,7 @@ - cudnn_frontend::OperationBuilder_v8::build + cudnn_frontend::OperationBuilder_v8::build cudnn_frontend::Engine_v8::Engine_v8 cudnn_frontend::EngineHeuristics_v8::getEngineConfig cudnn_frontend::EngineHeuristics_v8::getEngineConfigCount @@ -49,8 +50,9 @@
                                                                                                cudnn_frontend::MatMulDescBuilder_v8::build + cudnn_frontend::ReductionDescBuilder_v8::build cudnn_frontend::VariantPackBuilder_v8::build - cudnn_frontend::OperationGraphBuilder_v8::build + cudnn_frontend::OperationGraphBuilder_v8::build cudnn_frontend::TensorBuilder_v8::build cudnn_frontend::EngineConfigBuilder_v8::build cudnn_frontend::EngineHeuristicsBuilder_v8::build @@ -58,7 +60,7 @@ cudnn_frontend::PointWiseDescBuilder_v8::build cudnn_frontend::ExecutionPlanBuilder_v8::build cudnn_frontend::EngineBuilder_v8::build - cudnn_frontend::OperationBuilder_v8::build + cudnn_frontend::OperationBuilder_v8::build cudnn_frontend::Engine_v8::buildKnobs cudnn_frontend::ExecutionPlan_v8::computeTag cudnn_frontend::Engine_v8::Engine_v8 @@ -91,6 +93,7 @@ describe describe describe + describe describe describe describe @@ -216,7 +219,7 @@
                                                                                                cudnn_frontend::make_shared_backend_pointer - cudnn_frontend::OperationBuilder_v8::build + cudnn_frontend::OperationBuilder_v8::build @@ -264,109 +267,115 @@ BackendDescriptor class Holds a Managed pointer to OpaqueBackendPointer class Contains the status and error message if set after any operation. If exception is disabled the user must query the status after build operation in order to check if the cudnn construct was built correctly. - + - + - + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + #err_msg - + #pointer - + #status - + - + diff --git a/docs/xml/d6/da7/classcudnn__frontend_1_1Tensor__v8.xml b/docs/xml/d6/da7/classcudnn__frontend_1_1Tensor__v8.xml index 56486ff4..b8a01b56 100644 --- a/docs/xml/d6/da7/classcudnn__frontend_1_1Tensor__v8.xml +++ b/docs/xml/d6/da7/classcudnn__frontend_1_1Tensor__v8.xml @@ -146,6 +146,7 @@ btensor_strA data_type nDims + nlohmann::to_string @@ -241,71 +242,71 @@ dataTypealignmentunique identifiertensor dimensionstensor stridesisVirtual Use TensorBuilder_v8 to build this class. Describe returns a string describing the tensor class - + - + - + - + - + - + - + - + - + - + - + - + -btensor_dimA -nDims -id -alignment -btensor_strA - + -isVirtual - + -data_type - + - + #err_msg - + #pointer - + #status - + - + diff --git a/docs/xml/d6/da7/structnlohmann_1_1ordered__map.xml b/docs/xml/d6/da7/structnlohmann_1_1ordered__map.xml new file mode 100644 index 00000000..92767a62 --- /dev/null +++ b/docs/xml/d6/da7/structnlohmann_1_1ordered__map.xml @@ -0,0 +1,449 @@ + + + + nlohmann::ordered_map + std::vector< std::pair< const Key, T >, Allocator > + json.hpp + + + class Key + + + class T + + + class IgnoredLess + std::less<Key> + + + class Allocator + std::allocator<std::pair<const Key, T>> + + + + + Key + using nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::key_type = Key + + key_type + + + + + + + + + + T + using nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::mapped_type = T + + mapped_type + + + + + + + + + + std::vector< std::pair< const Key, T >, Allocator > + using nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::Container = std::vector<std::pair<const Key, T>, Allocator> + + Container + + + + + + + + + + typename std::enable_if< std::is_convertible< typename std::iterator_traits< InputIt >::iterator_category, std::input_iterator_tag >::value >::type + using nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::require_input_iter = typename std::enable_if<std::is_convertible<typename std::iterator_traits<InputIt>::iterator_category, std::input_iterator_tag>::value>::type + + require_input_iter + + + + + + + + + + + + + nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::ordered_map + (const Allocator &alloc=Allocator()) + ordered_map + + const Allocator & + alloc + Allocator() + + + + + + + + + + + + + class It + + + + nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::ordered_map + (It first, It last, const Allocator &alloc=Allocator()) + ordered_map + + It + first + + + It + last + + + const Allocator & + alloc + Allocator() + + + + + + + + + + + + nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::ordered_map + (std::initializer_list< T > init, const Allocator &alloc=Allocator()) + ordered_map + + std::initializer_list< T > + init + + + const Allocator & + alloc + Allocator() + + + + + + + + + + + std::pair< iterator, bool > + std::pair<iterator, bool> nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::emplace + (const key_type &key, T &&t) + emplace + + const key_type & + key + + + T && + t + + + + + + + + + + + T & + T& nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::operator[] + (const Key &key) + operator[] + + const Key & + key + + + + + + + + + + + const T & + const T& nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::operator[] + (const Key &key) const + operator[] + + const Key & + key + + + + + + + + + + + T & + T& nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::at + (const Key &key) + at + + const Key & + key + + + + + + + + + JSON_THROW + + + const T & + const T& nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::at + (const Key &key) const + at + + const Key & + key + + + + + + + + + JSON_THROW + + + size_type + size_type nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::erase + (const Key &key) + erase + + const Key & + key + + + + + + + + + + + iterator + iterator nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::erase + (iterator pos) + erase + + iterator + pos + + + + + + + + + + + size_type + size_type nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::count + (const Key &key) const + count + + const Key & + key + + + + + + + + + + + iterator + iterator nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::find + (const Key &key) + find + + const Key & + key + + + + + + + + + + + const_iterator + const_iterator nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::find + (const Key &key) const + find + + const Key & + key + + + + + + + + + + + std::pair< iterator, bool > + std::pair<iterator, bool> nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::insert + (value_type &&value) + insert + + value_type && + value + + + + + + + + + nlohmann::detail::value + + + std::pair< iterator, bool > + std::pair<iterator, bool> nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::insert + (const value_type &value) + insert + + const value_type & + value + + + + + + + + + + + + + typename InputIt + + + typename + require_input_iter<InputIt> + + + void + void nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >::insert + (InputIt first, InputIt last) + insert + + InputIt + first + + + InputIt + last + + + + + + + + + NLOHMANN_BASIC_JSON_TPL_DECLARATION + + + + + +ordered_map: a minimal map-like container that preserves insertion order for use within nlohmann::basic_json<ordered_map> + + + + + + + + + + + + + + + + + + + +elements + + + + + + + + + + + + nlohmann::ordered_mapat + nlohmann::ordered_mapat + nlohmann::ordered_mapContainer + nlohmann::ordered_mapcount + nlohmann::ordered_mapelements + nlohmann::ordered_mapemplace + nlohmann::ordered_maperase + nlohmann::ordered_maperase + nlohmann::ordered_mapfind + nlohmann::ordered_mapfind + nlohmann::ordered_mapinsert + nlohmann::ordered_mapinsert + nlohmann::ordered_mapinsert + nlohmann::ordered_mapkey_type + nlohmann::ordered_mapmapped_type + nlohmann::ordered_mapoperator[] + nlohmann::ordered_mapoperator[] + nlohmann::ordered_mapordered_map + nlohmann::ordered_mapordered_map + nlohmann::ordered_mapordered_map + nlohmann::ordered_maprequire_input_iter + + + diff --git a/docs/xml/d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.xml b/docs/xml/d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.xml index 6c757eb8..2f3e88d2 100644 --- a/docs/xml/d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.xml +++ b/docs/xml/d6/db7/classcudnn__frontend_1_1MatMulDesc__v8.xml @@ -145,55 +145,55 @@ math_precision Use MatMulDesc_v8 to build this class. Describe returns a string describing the MatMul operation - + - + - + - + - + - + - + - + - + - + -math_precision - + - + #err_msg - + #pointer - + #status - + - + diff --git a/docs/xml/d7/d08/structnlohmann_1_1detail_1_1has__non__default__from__json.xml b/docs/xml/d7/d08/structnlohmann_1_1detail_1_1has__non__default__from__json.xml new file mode 100644 index 00000000..afa3e370 --- /dev/null +++ b/docs/xml/d7/d08/structnlohmann_1_1detail_1_1has__non__default__from__json.xml @@ -0,0 +1,49 @@ + + + + nlohmann::detail::has_non_default_from_json + false_type + json.hpp + + + typename BasicJsonType + + + typename T + + + typename + void + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d7/d10/structnlohmann_1_1detail_1_1internal__iterator.xml b/docs/xml/d7/d10/structnlohmann_1_1detail_1_1internal__iterator.xml new file mode 100644 index 00000000..5e00f207 --- /dev/null +++ b/docs/xml/d7/d10/structnlohmann_1_1detail_1_1internal__iterator.xml @@ -0,0 +1,124 @@ + + + + nlohmann::detail::internal_iterator + json.hpp + + + typename + BasicJsonType + BasicJsonType + + + + + BasicJsonType::object_t::iterator + BasicJsonType::object_t::iterator nlohmann::detail::internal_iterator< BasicJsonType >::object_iterator + + object_iterator + {} + +iterator for JSON objects + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert + + + BasicJsonType::array_t::iterator + BasicJsonType::array_t::iterator nlohmann::detail::internal_iterator< BasicJsonType >::array_iterator + + array_iterator + {} + +iterator for JSON arrays + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert_iterator + nlohmann::detail::iter_impl< BasicJsonType >::operator- + nlohmann::detail::iter_impl< BasicJsonType >::operator< + + + primitive_iterator_t + primitive_iterator_t nlohmann::detail::internal_iterator< BasicJsonType >::primitive_iterator + + primitive_iterator + {} + +generic iterator for all other types + + + + + + nlohmann::detail::iter_impl< BasicJsonType >::operator- + nlohmann::detail::iter_impl< BasicJsonType >::operator< + + + +an iterator value + +This structure could easily be a union, but MSVC currently does not allow unions members with complex constructors, see https://github.com/nlohmann/json/pull/105. + + + + + + + < typename std::remove_const< BasicJsonType >::type > + + + + + + + + + + + + + + + + + + + + + + -end_value + -begin_value + + + -__pad0__ + + + + + + + +array_iterator + + + +object_iterator + + + +primitive_iterator + + + + + + nlohmann::detail::internal_iteratorarray_iterator + nlohmann::detail::internal_iteratorobject_iterator + nlohmann::detail::internal_iteratorprimitive_iterator + + + diff --git a/docs/xml/d7/d10/structnlohmann_1_1detail_1_1is__constructible.xml b/docs/xml/d7/d10/structnlohmann_1_1detail_1_1is__constructible.xml new file mode 100644 index 00000000..cad28cd3 --- /dev/null +++ b/docs/xml/d7/d10/structnlohmann_1_1detail_1_1is__constructible.xml @@ -0,0 +1,47 @@ + + + + nlohmann::detail::is_constructible + std::is_constructible< T, Args... > + json.hpp + + + typename T + + + typename... + Args + Args + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d7/d1c/classBinaryType.xml b/docs/xml/d7/d1c/classBinaryType.xml new file mode 100644 index 00000000..bce66156 --- /dev/null +++ b/docs/xml/d7/d1c/classBinaryType.xml @@ -0,0 +1,32 @@ + + + + BinaryType + nlohmann::byte_container_with_subtype< BinaryType > + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.xml b/docs/xml/d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.xml new file mode 100644 index 00000000..af894357 --- /dev/null +++ b/docs/xml/d7/d1d/structnlohmann_1_1detail_1_1iterator__types_3_01It_00_01void__t_3_01typename_01It_1_1difference_d2be8685966c97e00e99d4fd2366dc0b.xml @@ -0,0 +1,97 @@ + + + + nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > > + json.hpp + + + typename It + + + + + typename It::difference_type + using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::difference_type = typename It::difference_type + + difference_type + + + + + + + + + + typename It::value_type + using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::value_type = typename It::value_type + + value_type + + + + + + + + + + typename It::pointer + using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::pointer = typename It::pointer + + pointer + + + + + + + + + + typename It::reference + using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::reference = typename It::reference + + reference + + + + + + + + + + typename It::iterator_category + using nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >::iterator_category = typename It::iterator_category + + iterator_category + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >difference_type + nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >iterator_category + nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >pointer + nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >reference + nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >value_type + + + diff --git a/docs/xml/d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.xml b/docs/xml/d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.xml new file mode 100644 index 00000000..56b66fef --- /dev/null +++ b/docs/xml/d7/d38/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1object_01_4.xml @@ -0,0 +1,115 @@ + + + + nlohmann::detail::external_constructor< value_t::object > + json.hpp + + + + + + + typename BasicJsonType + + + void + static void nlohmann::detail::external_constructor< value_t::object >::construct + (BasicJsonType &j, const typename BasicJsonType::object_t &obj) + construct + + BasicJsonType & + j + + + const typename BasicJsonType::object_t & + obj + + + + + + + + + nlohmann::detail::object + + + + + typename BasicJsonType + + + void + static void nlohmann::detail::external_constructor< value_t::object >::construct + (BasicJsonType &j, typename BasicJsonType::object_t &&obj) + construct + + BasicJsonType & + j + + + typename BasicJsonType::object_t && + obj + + + + + + + + + nlohmann::detail::object + + + + + typename BasicJsonType + + + typename CompatibleObjectType + + + enable_if_t< !std::is_same< CompatibleObjectType, typename BasicJsonType::object_t >::value, int > + 0 + + + void + static void nlohmann::detail::external_constructor< value_t::object >::construct + (BasicJsonType &j, const CompatibleObjectType &obj) + construct + + BasicJsonType & + j + + + const CompatibleObjectType & + obj + + + + + + + + + nlohmann::detail::object + + + + + + + + + + + + + + + nlohmann::detail::external_constructor< value_t::object >construct + nlohmann::detail::external_constructor< value_t::object >construct + nlohmann::detail::external_constructor< value_t::object >construct + + + diff --git a/docs/xml/d7/d3c/structnlohmann_1_1detail_1_1utility__internal_1_1Extend.xml b/docs/xml/d7/d3c/structnlohmann_1_1detail_1_1utility__internal_1_1Extend.xml new file mode 100644 index 00000000..d10ebc74 --- /dev/null +++ b/docs/xml/d7/d3c/structnlohmann_1_1detail_1_1utility__internal_1_1Extend.xml @@ -0,0 +1,35 @@ + + + + nlohmann::detail::utility_internal::Extend + json.hpp + + + typename Seq + + + size_t + SeqSize + SeqSize + + + size_t + Rem + Rem + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d7/d78/structnlohmann_1_1detail_1_1priority__tag.xml b/docs/xml/d7/d78/structnlohmann_1_1detail_1_1priority__tag.xml new file mode 100644 index 00000000..d11f86fb --- /dev/null +++ b/docs/xml/d7/d78/structnlohmann_1_1detail_1_1priority__tag.xml @@ -0,0 +1,27 @@ + + + + nlohmann::detail::priority_tag + json.hpp + + + unsigned + N + N + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d7/d7b/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.xml b/docs/xml/d7/d7b/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.xml new file mode 100644 index 00000000..65b4df3a --- /dev/null +++ b/docs/xml/d7/d7b/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.xml @@ -0,0 +1,82 @@ + + + + nlohmann::detail::is_default_constructible< const std::pair< T1, T2 > > + nlohmann::detail::conjunction< is_default_constructible< T1 >, is_default_constructible< T2 > > + nlohmann::detail::is_constructible< const std::pair< T1, T2 > > + json.hpp + + + typename T1 + + + typename T2 + + + + + + + + + + + + + + < is_default_constructible< T1 >, is_default_constructible< T2 > > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < is_default_constructible< T1 >, is_default_constructible< T2 > > + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.xml b/docs/xml/d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.xml new file mode 100644 index 00000000..8d13a2b3 --- /dev/null +++ b/docs/xml/d7/d9f/structnlohmann_1_1detail_1_1is__compatible__object__type__impl_3_01BasicJsonType_00_01Compatible1dd1bd23ba0e4ce33237aa702f8058a9.xml @@ -0,0 +1,71 @@ + + + + nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > > + json.hpp + + + typename BasicJsonType + + + typename CompatibleObjectType + + + + + typename BasicJsonType::object_t + using nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >::object_t = typename BasicJsonType::object_t + + object_t + + + + + + + + + + + + constexpr bool + constexpr bool nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >::value + + value + = + is_constructible<typename object_t::key_type, + typename CompatibleObjectType::key_type>::value && + is_constructible<typename object_t::mapped_type, + typename CompatibleObjectType::mapped_type>::value + + + + + + + + + + + + + + + + + + + +value + + + + + + + + + nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >object_t + nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > >value + + + diff --git a/docs/xml/d8/d22/classnlohmann_1_1detail_1_1lexer.xml b/docs/xml/d8/d22/classnlohmann_1_1detail_1_1lexer.xml new file mode 100644 index 00000000..92964c5f --- /dev/null +++ b/docs/xml/d8/d22/classnlohmann_1_1detail_1_1lexer.xml @@ -0,0 +1,1013 @@ + + + + nlohmann::detail::lexer + nlohmann::detail::lexer_base< BasicJsonType > + json.hpp + + + typename + BasicJsonType + BasicJsonType + + + typename + InputAdapterType + InputAdapterType + + + + + typename BasicJsonType::number_integer_t + using nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::number_integer_t = typename BasicJsonType::number_integer_t + + number_integer_t + + + + + + + + + + typename BasicJsonType::number_unsigned_t + using nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t + + number_unsigned_t + + + + + + + + + + typename BasicJsonType::number_float_t + using nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::number_float_t = typename BasicJsonType::number_float_t + + number_float_t + + + + + + + + + + typename BasicJsonType::string_t + using nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::string_t = typename BasicJsonType::string_t + + string_t + + + + + + + + + + typename InputAdapterType::char_type + using nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::char_type = typename InputAdapterType::char_type + + char_type + + + + + + + + + + typename std::char_traits< char_type >::int_type + using nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::char_int_type = typename std::char_traits<char_type>::int_type + + char_int_type + + + + + + + + + + + + typename lexer_base< BasicJsonType >::token_type + using nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::token_type = typename lexer_base<BasicJsonType>::token_type + + token_type + + + + + + + + + + + + InputAdapterType + InputAdapterType nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::ia + + ia + +input adapter + + + + + + + + const bool + const bool nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::ignore_comments + + ignore_comments + = false + +whether comments should be ignored (true) or signaled as errors (false) + + + + + + + + char_int_type + char_int_type nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::current + + current + = std::char_traits<char_type>::eof() + +the current character + + + + + + + + bool + bool nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::next_unget + + next_unget + = false + +whether the next get() call should just return current + + + + + + + + position_t + position_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::position + + position + {} + +the start position of the current token + + + + + + + + std::vector< char_type > + std::vector<char_type> nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::token_string + + token_string + {} + +raw input token string (for error messages) + + + + + + + + string_t + string_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::token_buffer + + token_buffer + {} + +buffer for variable-length tokens (numbers, strings) + + + + + + + + const char * + const char* nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::error_message + + error_message + = "" + +a description of occurred lexer errors + + + + + + + + number_integer_t + number_integer_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::value_integer + + value_integer + = 0 + + + + + + + + + + number_unsigned_t + number_unsigned_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::value_unsigned + + value_unsigned + = 0 + + + + + + + + + + number_float_t + number_float_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::value_float + + value_float + = 0 + + + + + + + + + + const char_int_type + const char_int_type nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::decimal_point_char + + decimal_point_char + = '.' + +the decimal point + + + + + + + + + + + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::lexer + (InputAdapterType &&adapter, bool ignore_comments_=false) noexcept + lexer + + InputAdapterType && + adapter + + + bool + ignore_comments_ + false + + + + + + + + + JSON_HEDLEY_PURE + + + + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::lexer + (const lexer &)=delete + lexer + + const lexer & + + + + + + + + + + + + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::lexer + (lexer &&)=default + lexer + + lexer && + + + + + + + + + + + lexer & + lexer& nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::operator= + (lexer &)=delete + operator= + + lexer & + + + + + + + + + + + lexer & + lexer& nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::operator= + (lexer &&)=default + operator= + + lexer && + + + + + + + + + + + + nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::~lexer + ()=default + ~lexer + + + + + + + + + + constexpr number_integer_t + constexpr number_integer_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_number_integer + () const noexcept + get_number_integer + +return integer value + + + + + + + + constexpr number_unsigned_t + constexpr number_unsigned_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_number_unsigned + () const noexcept + get_number_unsigned + +return unsigned integer value + + + + + + + + constexpr number_float_t + constexpr number_float_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_number_float + () const noexcept + get_number_float + +return floating-point value + + + + + + + + string_t & + string_t& nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_string + () + get_string + +return current string value (implicitly resets the token; useful only once) + + + + + + + + constexpr position_t + constexpr position_t nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_position + () const noexcept + get_position + +return position of last read token + + + + + + + + std::string + std::string nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_token_string + () const + get_token_string + + + +return the last read token (for errors only). Will never contain EOF (an arbitrary value that is not a valid char value, often -1), because 255 may legitimately occur. May contain NUL, which should be escaped. + + + + JSON_HEDLEY_RETURNS_NON_NULL + nlohmann::detail::string + + + JSON_HEDLEY_RETURNS_NON_NULL constexpr const char * + JSON_HEDLEY_RETURNS_NON_NULL constexpr const char* nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_error_message + () const noexcept + get_error_message + +return syntax error message + + + + + + + + bool + bool nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::skip_bom + () + skip_bom + +skip the UTF-8 byte order mark + +true iff there is no BOM or the correct BOM has been skipped + + + + + + + void + void nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::skip_whitespace + () + skip_whitespace + + + + + + + + + + token_type + token_type nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan + () + scan + + + + + + + + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_high_precision_number + + + + + JSON_HEDLEY_PURE char + static JSON_HEDLEY_PURE char nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_decimal_point + () noexcept + get_decimal_point + +return the locale-dependent decimal point + + + + + + JSON_ASSERT + + + void + static void nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::strtof + (float &f, const char *str, char **endptr) noexcept + strtof + + float & + f + + + const char * + str + + + char ** + endptr + + + + + + + + + JSON_HEDLEY_NON_NULL + + + void + static void nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::strtof + (double &f, const char *str, char **endptr) noexcept + strtof + + double & + f + + + const char * + str + + + char ** + endptr + + + + + + + + + JSON_HEDLEY_NON_NULL + + + void + static void nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::strtof + (long double &f, const char *str, char **endptr) noexcept + strtof + + long double & + f + + + const char * + str + + + char ** + endptr + + + + + + + + + + + + + int + int nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get_codepoint + () + get_codepoint + +get codepoint from 4 hex characters following \u + +For input "\u c1 c2 c3 c4" the codepoint is: (c1 * 0x1000) + (c2 * 0x0100) + (c3 * 0x0010) + c4 = (c1 << 12) + (c2 << 8) + (c3 << 4) + (c4 << 0)Furthermore, the possible characters '0'..'9', 'A'..'F', and 'a'..'f' must be converted to the integers 0x0..0x9, 0xA..0xF, 0xA..0xF, resp. The conversion is done by subtracting the offset (0x30, 0x37, and 0x57) between the ASCII value of the character and the desired integer value.codepoint (0x0000..0xFFFF) or -1 in case of an error (e.g. EOF or non-hex character) + + + + + JSON_ASSERT + + + bool + bool nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::next_byte_in_range + (std::initializer_list< char_int_type > ranges) + next_byte_in_range + + std::initializer_list< char_int_type > + ranges + + +check if the next byte(s) are inside a given range + +Adds the current byte and, for each passed range, reads a new byte and checks if it is inside the range. If a violation was detected, set up an error message and return false. Otherwise, return true. + +ranges + + +list of integers; interpreted as list of pairs of inclusive lower and upper bound, respectively + + +The passed list ranges must have 2, 4, or 6 elements; that is, 1, 2, or 3 pairs. This precondition is enforced by an assertion. +true if and only if no range violation was detected + + + + + JSON_ASSERT + JSON_HEDLEY_LIKELY + + + token_type + token_type nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_string + () + scan_string + +scan a string literal + +This function scans a string according to Sect. 7 of RFC 8259. While scanning, bytes are escaped and copied into buffer token_buffer. Then the function returns successfully, token_buffer is not null-terminated (as it may contain \0 bytes), and token_buffer.size() is the number of bytes in the string.token_type::value_string if string could be successfully scanned, token_type::parse_error otherwise +In case of errors, variable error_message contains a textual description. + + + + + JSON_ASSERT + JSON_HEDLEY_LIKELY + JSON_HEDLEY_UNLIKELY + + + bool + bool nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_comment + () + scan_comment + +scan a comment + +whether comment could be scanned successfully + + + + + JSON_HEDLEY_NON_NULL + + + token_type + token_type nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_number + () + scan_number + +scan a number literal + +This function scans a string according to Sect. 6 of RFC 8259.The function is realized with a deterministic finite state machine derived from the grammar described in RFC 8259. Starting in state "init", the input is read and used to determined the next state. Only state "done" accepts the number. State "error" is a trap state to model errors. In the table below, "anything" means any character but the ones listed before. +state 0 1-9 e E + - . anything + +init zero any1 [error] [error] minus [error] [error] + +minus zero any1 [error] [error] [error] [error] [error] + +zero done done exponent done done decimal1 done + +any1 any1 any1 exponent done done decimal1 done + +decimal1 decimal2 decimal2 [error] [error] [error] [error] [error] + +decimal2 decimal2 decimal2 exponent done done done done + +exponent any2 any2 [error] sign sign [error] [error] + +sign any2 any2 [error] [error] [error] [error] [error] + +any2 any2 any2 done done done done done +
                                                                                                +The state machine is realized with one label per state (prefixed with "scan_number_") and goto statements between them. The state machine contains cycles, but any cycle can be left when EOF is read. Therefore, the function is guaranteed to terminate.
                                                                                                During scanning, the read bytes are stored in token_buffer. This string is then converted to a signed integer, an unsigned integer, or a floating-point number.token_type::value_unsigned, token_type::value_integer, or token_type::value_float if number could be successfully scanned, token_type::parse_error otherwise +The scanner is independent of the current locale. Internally, the locale's decimal point is used instead of . to work with the locale-dependent converters. +
                                                                                                + + + + JSON_ASSERT + JSON_HEDLEY_NON_NULL +
                                                                                                + + token_type + token_type nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::scan_literal + (const char_type *literal_text, const std::size_t length, token_type return_type) + scan_literal + + const char_type * + literal_text + + + const std::size_t + length + + + token_type + return_type + + + + + + +literal_text + + +the literal text to expect + + + +length + + +the length of the passed literal text + + + +return_type + + +the token type to return on success + + + + + + + JSON_ASSERT + JSON_HEDLEY_UNLIKELY + + + void + void nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::reset + () noexcept + reset + +reset token_buffer; current character is beginning of token + + + + + + + + char_int_type + char_int_type nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::get + () + get + + + + + + + + JSON_HEDLEY_LIKELY + + + void + void nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::unget + () + unget + +unget current character (read it again on next get) + +We implement unget by setting variable next_unget to true. The input is not changed - we just simulate ungetting by modifying chars_read_total, chars_read_current_line, and token_string. The next call to get() will behave as if the unget character is read again. + + + + JSON_ASSERT + JSON_HEDLEY_LIKELY + + + void + void nlohmann::detail::lexer< BasicJsonType, InputAdapterType >::add + (char_int_type c) + add + + char_int_type + c + + +add a character to token_buffer + + + + + + +
                                                                                                + +lexical analysis + +This class organizes the lexical analysis during JSON deserialization. + + + + + + + + + + + + + + + + + + + + + + + + + + +elements + + + + + + + + + + + + -ia + + + -position + + + -value_float + + + -token_buffer + + + -value_unsigned + + + -current + + + -value_integer + + + -next_unget + -ignore_comments + + + -decimal_point_char + + + -error_message + + + -token_string + + + + + + + + + + + + + +elements + + + < char_type > + + + + + + + + + + + + + + + + + + + + + + + + + + + + +chars_read_total + +chars_read_current_line + +lines_read + + + + + + nlohmann::detail::lexeradd + nlohmann::detail::lexerchar_int_type + nlohmann::detail::lexerchar_type + nlohmann::detail::lexercurrent + nlohmann::detail::lexerdecimal_point_char + nlohmann::detail::lexererror_message + nlohmann::detail::lexerget + nlohmann::detail::lexerget_codepoint + nlohmann::detail::lexerget_decimal_point + nlohmann::detail::lexerget_error_message + nlohmann::detail::lexerget_number_float + nlohmann::detail::lexerget_number_integer + nlohmann::detail::lexerget_number_unsigned + nlohmann::detail::lexerget_position + nlohmann::detail::lexerget_string + nlohmann::detail::lexerget_token_string + nlohmann::detail::lexeria + nlohmann::detail::lexerignore_comments + nlohmann::detail::lexerlexer + nlohmann::detail::lexerlexer + nlohmann::detail::lexerlexer + nlohmann::detail::lexernext_byte_in_range + nlohmann::detail::lexernext_unget + nlohmann::detail::lexernumber_float_t + nlohmann::detail::lexernumber_integer_t + nlohmann::detail::lexernumber_unsigned_t + nlohmann::detail::lexeroperator= + nlohmann::detail::lexeroperator= + nlohmann::detail::lexerposition + nlohmann::detail::lexerreset + nlohmann::detail::lexerscan + nlohmann::detail::lexerscan_comment + nlohmann::detail::lexerscan_literal + nlohmann::detail::lexerscan_number + nlohmann::detail::lexerscan_string + nlohmann::detail::lexerskip_bom + nlohmann::detail::lexerskip_whitespace + nlohmann::detail::lexerstring_t + nlohmann::detail::lexerstrtof + nlohmann::detail::lexerstrtof + nlohmann::detail::lexerstrtof + nlohmann::detail::lexertoken_buffer + nlohmann::detail::lexertoken_string + nlohmann::detail::lexertoken_type + nlohmann::detail::lexertoken_type_name + nlohmann::detail::lexerunget + nlohmann::detail::lexervalue_float + nlohmann::detail::lexervalue_integer + nlohmann::detail::lexervalue_unsigned + nlohmann::detail::lexer~lexer + +
                                                                                                +
                                                                                                diff --git a/docs/xml/d8/d25/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4.xml b/docs/xml/d8/d25/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4.xml new file mode 100644 index 00000000..d925f842 --- /dev/null +++ b/docs/xml/d8/d25/structnlohmann_1_1detail_1_1is__basic__json_3_01NLOHMANN__BASIC__JSON__TPL_01_4.xml @@ -0,0 +1,37 @@ + + + + nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL > + true_type + json.hpp + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d8/d8b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl.xml b/docs/xml/d8/d8b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl.xml new file mode 100644 index 00000000..76ceff97 --- /dev/null +++ b/docs/xml/d8/d8b/structnlohmann_1_1detail_1_1is__constructible__array__type__impl.xml @@ -0,0 +1,66 @@ + + + + nlohmann::detail::is_constructible_array_type_impl + false_type + json.hpp + + + typename + BasicJsonType + BasicJsonType + + + typename + ConstructibleArrayType + ConstructibleArrayType + + + typename + void + + + + + + + + + + + + + + + + + + + + + < BasicJsonType, ConstructibleArrayType > + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.xml b/docs/xml/d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.xml new file mode 100644 index 00000000..d5f86685 --- /dev/null +++ b/docs/xml/d8/d94/classnlohmann_1_1detail_1_1output__stream__adapter.xml @@ -0,0 +1,158 @@ + + + + nlohmann::detail::output_stream_adapter + nlohmann::detail::output_adapter_protocol< CharType > + json.hpp + + + typename CharType + + + + + std::basic_ostream< CharType > & + std::basic_ostream<CharType>& nlohmann::detail::output_stream_adapter< CharType >::stream + + stream + + + + + + + + + + + + + nlohmann::detail::output_stream_adapter< CharType >::output_stream_adapter + (std::basic_ostream< CharType > &s) noexcept + output_stream_adapter + + std::basic_ostream< CharType > & + s + + + + + + + + + + + void + void nlohmann::detail::output_stream_adapter< CharType >::write_character + (CharType c) override + write_character + write_character + + CharType + c + + + + + + + + + JSON_HEDLEY_NON_NULL + + + void + void nlohmann::detail::output_stream_adapter< CharType >::write_characters + (const CharType *s, std::size_t length) override + write_characters + write_characters + + const CharType * + s + + + std::size_t + length + + + + + + + + + + + +output adapter for output streams + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -stream + + + + + + + + + + + < CharType > + + + + + + + + + + + nlohmann::detail::output_stream_adapteroperator= + nlohmann::detail::output_stream_adapteroperator= + nlohmann::detail::output_stream_adapteroutput_adapter_protocol + nlohmann::detail::output_stream_adapteroutput_adapter_protocol + nlohmann::detail::output_stream_adapteroutput_adapter_protocol + nlohmann::detail::output_stream_adapteroutput_stream_adapter + nlohmann::detail::output_stream_adapterstream + nlohmann::detail::output_stream_adapterwrite_character + nlohmann::detail::output_stream_adapterwrite_characters + nlohmann::detail::output_stream_adapter~output_adapter_protocol + + + diff --git a/docs/xml/d8/d94/structnlohmann_1_1detail_1_1is__compatible__array__type.xml b/docs/xml/d8/d94/structnlohmann_1_1detail_1_1is__compatible__array__type.xml new file mode 100644 index 00000000..fe3919ee --- /dev/null +++ b/docs/xml/d8/d94/structnlohmann_1_1detail_1_1is__compatible__array__type.xml @@ -0,0 +1,75 @@ + + + + nlohmann::detail::is_compatible_array_type + nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType > + json.hpp + + + typename BasicJsonType + + + typename CompatibleArrayType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < BasicJsonType, CompatibleArrayType > + + + + + + + + + + + + + + + + + + + + + + + + + + < BasicJsonType, CompatibleArrayType > + + + + + + + + diff --git a/docs/xml/d8/d95/group__ReductionDescBuilder__v8.xml b/docs/xml/d8/d95/group__ReductionDescBuilder__v8.xml new file mode 100644 index 00000000..dd110b94 --- /dev/null +++ b/docs/xml/d8/d95/group__ReductionDescBuilder__v8.xml @@ -0,0 +1,47 @@ + + + + ReductionDescBuilder_v8 + ReductionDescBuilder_v8 + + + auto + auto cudnn_frontend::ReductionDescBuilder_v8::setMathPrecision + (cudnnDataType_t data_type_) -> ReductionDescBuilder_v8 & + setMathPrecision + + cudnnDataType_t + data_type_ + + +Set Math Precision Data Type for the Reduction Operation. + + + + + + + + auto + auto cudnn_frontend::ReductionDescBuilder_v8::setReductionOp + (cudnnReduceTensorOp_t op_) -> ReductionDescBuilder_v8 & + setReductionOp + + cudnnReduceTensorOp_t + op_ + + +Set redution operator for the Reduction Operation. + + + + + + + + + + +Set individual property of ReductionDesc_v8 class + + diff --git a/docs/xml/d8/da8/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.xml b/docs/xml/d8/da8/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.xml new file mode 100644 index 00000000..a1ed9b7d --- /dev/null +++ b/docs/xml/d8/da8/structnlohmann_1_1detail_1_1is__constructible_3_01const_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.xml @@ -0,0 +1,87 @@ + + + + nlohmann::detail::is_constructible< const std::pair< T1, T2 > > + nlohmann::detail::is_default_constructible< const std::pair< T1, T2 > > + json.hpp + + + typename T1 + + + typename T2 + + + + + + + + + + + + + + < is_default_constructible< T1 >, is_default_constructible< T2 > > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < is_default_constructible< T1 >, is_default_constructible< T2 > > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d8/db6/structnlohmann_1_1detail_1_1iterator__traits.xml b/docs/xml/d8/db6/structnlohmann_1_1detail_1_1iterator__traits.xml new file mode 100644 index 00000000..56299aba --- /dev/null +++ b/docs/xml/d8/db6/structnlohmann_1_1detail_1_1iterator__traits.xml @@ -0,0 +1,29 @@ + + + + nlohmann::detail::iterator_traits + json.hpp + + + typename T + + + typename + void + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d8/dcc/namespacestd.xml b/docs/xml/d8/dcc/namespacestd.xml index b3683551..5b4b9144 100644 --- a/docs/xml/d8/dcc/namespacestd.xml +++ b/docs/xml/d8/dcc/namespacestd.xml @@ -1,6 +1,6 @@ - + std std::allocator std::array @@ -30,6 +30,7 @@ std::exception std::forward_list std::fstream + std::hash< nlohmann::json > std::ifstream std::invalid_argument std::ios @@ -37,6 +38,7 @@ std::istream std::istringstream std::length_error + std::less<::nlohmann::detail::value_t > std::list std::logic_error std::map @@ -58,6 +60,8 @@ std::stringstream std::system_error std::thread + std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > > + std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > > std::underflow_error std::unique_ptr std::unordered_map @@ -77,6 +81,33 @@ std::wostringstream std::wstring std::wstringstream + + + + + void + void std::swap< nlohmann::json > + (nlohmann::json &j1, nlohmann::json &j2) noexcept(//NOLINT(readability-inconsistent-declaration-parameter-name) is_nothrow_move_constructible< nlohmann::json >::value &&//NOLINT(misc-redundant-expression) is_nothrow_move_assignable< nlohmann::json >::value) + swap< nlohmann::json > + + nlohmann::json & + j1 + + + nlohmann::json & + j2 + + +exchanges the values of two JSON objects + +version 1.0.0 + + + + + JSON_HEDLEY_NON_NULL + + STL namespace. diff --git a/docs/xml/d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.xml b/docs/xml/d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.xml new file mode 100644 index 00000000..5bc991a0 --- /dev/null +++ b/docs/xml/d8/dff/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__float_01_4.xml @@ -0,0 +1,52 @@ + + + + nlohmann::detail::external_constructor< value_t::number_float > + json.hpp + + + + + + + typename BasicJsonType + + + void + static void nlohmann::detail::external_constructor< value_t::number_float >::construct + (BasicJsonType &j, typename BasicJsonType::number_float_t val) noexcept + construct + + BasicJsonType & + j + + + typename BasicJsonType::number_float_t + val + + + + + + + + + nlohmann::detail::number_float + + + + + + + + + + + + + + + nlohmann::detail::external_constructor< value_t::number_float >construct + + + diff --git a/docs/xml/d9/d10/namespacenlohmann_1_1detail_1_1container__input__adapter__factory__impl.xml b/docs/xml/d9/d10/namespacenlohmann_1_1detail_1_1container__input__adapter__factory__impl.xml new file mode 100644 index 00000000..a7c1677c --- /dev/null +++ b/docs/xml/d9/d10/namespacenlohmann_1_1detail_1_1container__input__adapter__factory__impl.xml @@ -0,0 +1,13 @@ + + + + nlohmann::detail::container_input_adapter_factory_impl + nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory + nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> > + + + + + + + diff --git a/docs/xml/d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.xml b/docs/xml/d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.xml new file mode 100644 index 00000000..8f2d1494 --- /dev/null +++ b/docs/xml/d9/d1c/structnlohmann_1_1detail_1_1integer__sequence.xml @@ -0,0 +1,62 @@ + + + + nlohmann::detail::integer_sequence + json.hpp + + + typename T + + + T... + Ints + Ints + + + + + T + using nlohmann::detail::integer_sequence< T, Ints >::value_type = T + + value_type + + + + + + + + + + + + constexpr std::size_t + static constexpr std::size_t nlohmann::detail::integer_sequence< T, Ints >::size + () noexcept + size + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::integer_sequencesize + nlohmann::detail::integer_sequencevalue_type + + + diff --git a/docs/xml/d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.xml b/docs/xml/d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.xml new file mode 100644 index 00000000..f64d5158 --- /dev/null +++ b/docs/xml/d9/d5f/structnlohmann_1_1detail_1_1utility__internal_1_1Gen_3_01T_00_010_01_4.xml @@ -0,0 +1,41 @@ + + + + nlohmann::detail::utility_internal::Gen< T, 0 > + json.hpp + + + typename T + + + + + integer_sequence< T > + using nlohmann::detail::utility_internal::Gen< T, 0 >::type = integer_sequence<T> + + type + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::utility_internal::Gen< T, 0 >type + + + diff --git a/docs/xml/d9/d66/structnlohmann_1_1detail_1_1is__compatible__type__impl.xml b/docs/xml/d9/d66/structnlohmann_1_1detail_1_1is__compatible__type__impl.xml new file mode 100644 index 00000000..da25ee2f --- /dev/null +++ b/docs/xml/d9/d66/structnlohmann_1_1detail_1_1is__compatible__type__impl.xml @@ -0,0 +1,66 @@ + + + + nlohmann::detail::is_compatible_type_impl + false_type + json.hpp + + + typename + BasicJsonType + BasicJsonType + + + typename + CompatibleType + CompatibleType + + + typename + void + + + + + + + + + + + + + + + + + + + + + + + + + + + < BasicJsonType, CompatibleType > + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d9/d6c/structnlohmann_1_1detail_1_1has__to__json.xml b/docs/xml/d9/d6c/structnlohmann_1_1detail_1_1has__to__json.xml new file mode 100644 index 00000000..77c65d55 --- /dev/null +++ b/docs/xml/d9/d6c/structnlohmann_1_1detail_1_1has__to__json.xml @@ -0,0 +1,49 @@ + + + + nlohmann::detail::has_to_json + false_type + json.hpp + + + typename BasicJsonType + + + typename T + + + typename + void + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.xml b/docs/xml/d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.xml new file mode 100644 index 00000000..185a7c00 --- /dev/null +++ b/docs/xml/d9/d8e/structnlohmann_1_1detail_1_1is__iterator__traits_3_01iterator__traits_3_01T_01_4_01_4.xml @@ -0,0 +1,69 @@ + + + + nlohmann::detail::is_iterator_traits< iterator_traits< T > > + json.hpp + + + typename T + + + + + iterator_traits< T > + using nlohmann::detail::is_iterator_traits< iterator_traits< T > >::traits = iterator_traits<T> + + traits + + + + + + + + + + + + constexpr auto + constexpr auto nlohmann::detail::is_iterator_traits< iterator_traits< T > >::value + + value + = + is_detected<value_type_t, traits>::value && + is_detected<difference_type_t, traits>::value && + is_detected<pointer_t, traits>::value && + is_detected<iterator_category_t, traits>::value && + is_detected<reference_t, traits>::value + + + + + + + + + + + + + + + + + + + +value + + + + + + + + + nlohmann::detail::is_iterator_traits< iterator_traits< T > >traits + nlohmann::detail::is_iterator_traits< iterator_traits< T > >value + + + diff --git a/docs/xml/d9/dca/classcudnn__frontend_1_1cudnnException.xml b/docs/xml/d9/dca/classcudnn__frontend_1_1cudnnException.xml index f3f07a91..78ba3df6 100644 --- a/docs/xml/d9/dca/classcudnn__frontend_1_1cudnnException.xml +++ b/docs/xml/d9/dca/classcudnn__frontend_1_1cudnnException.xml @@ -45,34 +45,34 @@ - + - + - + - + - + - + - + - + - + - + diff --git a/docs/xml/d9/dcc/classnlohmann_1_1basic__json.xml b/docs/xml/d9/dcc/classnlohmann_1_1basic__json.xml new file mode 100644 index 00000000..d20870e5 --- /dev/null +++ b/docs/xml/d9/dcc/classnlohmann_1_1basic__json.xml @@ -0,0 +1,11820 @@ + + + + nlohmann::basic_json + json.hpp + + + template< typename U, typename V, typename... Args > class + ObjectType + ObjectType + std::map + + + template< typename U, typename... Args > class + ArrayType + ArrayType + std::vector + + + class StringType + std::string + + + class BooleanType + bool + + + class NumberIntegerType + std::int64_t + + + class NumberUnsignedType + std::uint64_t + + + class NumberFloatType + double + + + template< typename U > class + AllocatorType + AllocatorType + std::allocator + + + template< typename T, typename SFINAE=void > class + JSONSerializer + JSONSerializer + adl_serializer + + + class BinaryType + std::vector<std::uint8_t> + + + +
                                                                                                exceptions
                                                                                                + Classes to implement user-defined exceptions. + + detail::exception + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::exception = detail::exception + + exception + +general exception of the basic_json class + +This class is an extension of std::exception objects with a member id for exception ids. It is used as the base class for all exceptions thrown by the basic_json class. This class can hence be used as "wildcard" to catch exceptions.Subclasses: +parse_error for exceptions indicating a parse errorinvalid_iterator for exceptions indicating errors with iteratorstype_error for exceptions indicating executing a member function with a wrong typeout_of_range for exceptions indicating access out of the defined rangeother_error for exceptions indicating other library errors +{The following code shows how arbitrary library exceptions can be caught.,exception}version 3.0.0 + + + + + + + detail::parse_error + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse_error = detail::parse_error + + parse_error + +exception indicating a parse error + +This exception is thrown by the library when a parse error occurs. Parse errors can occur during the deserialization of JSON text, CBOR, MessagePack, as well as when using JSON Patch.Member byte holds the byte index of the last read character in the input file.Exceptions have ids 1xx. +name / id example message description + +json.exception.parse_error.101 parse error at 2: unexpected end of input; expected string literal This error indicates a syntax error while deserializing a JSON text. The error message describes that an unexpected token (character) was encountered, and the member byte indicates the error position. + +json.exception.parse_error.102 parse error at 14: missing or wrong low surrogate JSON uses the \uxxxx format to describe Unicode characters. Code points above above 0xFFFF are split into two \uxxxx entries ("surrogate pairs"). This error indicates that the surrogate pair is incomplete or contains an invalid code point. + +json.exception.parse_error.103 parse error: code points above 0x10FFFF are invalid Unicode supports code points up to 0x10FFFF. Code points above 0x10FFFF are invalid. + +json.exception.parse_error.104 parse error: JSON patch must be an array of objects RFC 6902 requires a JSON Patch document to be a JSON document that represents an array of objects. + +json.exception.parse_error.105 parse error: operation must have string member 'op' An operation of a JSON Patch document must contain exactly one "op" member, whose value indicates the operation to perform. Its value must be one of "add", "remove", "replace", "move", "copy", or "test"; other values are errors. + +json.exception.parse_error.106 parse error: array index '01' must not begin with '0' An array index in a JSON Pointer (RFC 6901) may be 0 or any number without a leading 0. + +json.exception.parse_error.107 parse error: JSON pointer must be empty or begin with '/' - was: 'foo' A JSON Pointer must be a Unicode string containing a sequence of zero or more reference tokens, each prefixed by a / character. + +json.exception.parse_error.108 parse error: escape character '~' must be followed with '0' or '1' In a JSON Pointer, only ~0 and ~1 are valid escape sequences. + +json.exception.parse_error.109 parse error: array index 'one' is not a number A JSON Pointer array index must be a number. + +json.exception.parse_error.110 parse error at 1: cannot read 2 bytes from vector When parsing CBOR or MessagePack, the byte vector ends before the complete value has been read. + +json.exception.parse_error.112 parse error at 1: error reading CBOR; last byte: 0xF8 Not all types of CBOR or MessagePack are supported. This exception occurs if an unsupported byte was read. + +json.exception.parse_error.113 parse error at 2: expected a CBOR string; last byte: 0x98 While parsing a map key, a value that is not a string has been read. + +json.exception.parse_error.114 parse error: Unsupported BSON record type 0x0F The parsing of the corresponding BSON record type is not implemented (yet). + +json.exception.parse_error.115 parse error at byte 5: syntax error while parsing UBJSON high-precision number: invalid number text: 1A A UBJSON high-precision number could not be parsed. +
                                                                                                +For an input with n bytes, 1 is the index of the first character and n+1 is the index of the terminating null byte or the end of file. This also holds true when reading a byte vector (CBOR or MessagePack). +{The following code shows how a parse_error exception can be caught.,parse_error}
                                                                                                - exception for the base class of the library exceptions +- invalid_iterator for exceptions indicating errors with iterators +- type_error for exceptions indicating executing a member function with a wrong type +- out_of_range for exceptions indicating access out of the defined range +- other_error for exceptions indicating other library errors +version 3.0.0 +
                                                                                                + + + +
                                                                                                + + detail::invalid_iterator + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::invalid_iterator = detail::invalid_iterator + + invalid_iterator + +exception indicating errors with iterators + +This exception is thrown if iterators passed to a library function do not match the expected semantics.Exceptions have ids 2xx. +name / id example message description + +json.exception.invalid_iterator.201 iterators are not compatible The iterators passed to constructor basic_json(InputIT first, InputIT last) are not compatible, meaning they do not belong to the same container. Therefore, the range (first, last) is invalid. + +json.exception.invalid_iterator.202 iterator does not fit current value In an erase or insert function, the passed iterator pos does not belong to the JSON value for which the function was called. It hence does not define a valid position for the deletion/insertion. + +json.exception.invalid_iterator.203 iterators do not fit current value Either iterator passed to function erase(IteratorType first, IteratorType last) does not belong to the JSON value from which values shall be erased. It hence does not define a valid range to delete values from. + +json.exception.invalid_iterator.204 iterators out of range When an iterator range for a primitive type (number, boolean, or string) is passed to a constructor or an erase function, this range has to be exactly (begin(), end()), because this is the only way the single stored value is expressed. All other ranges are invalid. + +json.exception.invalid_iterator.205 iterator out of range When an iterator for a primitive type (number, boolean, or string) is passed to an erase function, the iterator has to be the begin() iterator, because it is the only way to address the stored value. All other iterators are invalid. + +json.exception.invalid_iterator.206 cannot construct with iterators from null The iterators passed to constructor basic_json(InputIT first, InputIT last) belong to a JSON null value and hence to not define a valid range. + +json.exception.invalid_iterator.207 cannot use key() for non-object iterators The key() member function can only be used on iterators belonging to a JSON object, because other types do not have a concept of a key. + +json.exception.invalid_iterator.208 cannot use operator[] for object iterators The operator[] to specify a concrete offset cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. + +json.exception.invalid_iterator.209 cannot use offsets with object iterators The offset operators (+, -, +=, -=) cannot be used on iterators belonging to a JSON object, because JSON objects are unordered. + +json.exception.invalid_iterator.210 iterators do not fit The iterator range passed to the insert function are not compatible, meaning they do not belong to the same container. Therefore, the range (first, last) is invalid. + +json.exception.invalid_iterator.211 passed iterators may not belong to container The iterator range passed to the insert function must not be a subrange of the container to insert to. + +json.exception.invalid_iterator.212 cannot compare iterators of different containers When two iterators are compared, they must belong to the same container. + +json.exception.invalid_iterator.213 cannot compare order of object iterators The order of object iterators cannot be compared, because JSON objects are unordered. + +json.exception.invalid_iterator.214 cannot get value Cannot get value for iterator: Either the iterator belongs to a null value or it is an iterator to a primitive type (number, boolean, or string), but the iterator is different to begin(). +
                                                                                                +{The following code shows how an invalid_iterator exception can be caught.,invalid_iterator}
                                                                                                - exception for the base class of the library exceptions +- parse_error for exceptions indicating a parse error +- type_error for exceptions indicating executing a member function with a wrong type +- out_of_range for exceptions indicating access out of the defined range +- other_error for exceptions indicating other library errors +version 3.0.0 +
                                                                                                + + + +
                                                                                                + + detail::type_error + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::type_error = detail::type_error + + type_error + +exception indicating executing a member function with a wrong type + +This exception is thrown in case of a type error; that is, a library function is executed on a JSON value whose type does not match the expected semantics.Exceptions have ids 3xx. +name / id example message description + +json.exception.type_error.301 cannot create object from initializer list To create an object from an initializer list, the initializer list must consist only of a list of pairs whose first element is a string. When this constraint is violated, an array is created instead. + +json.exception.type_error.302 type must be object, but is array During implicit or explicit value conversion, the JSON type must be compatible to the target type. For instance, a JSON string can only be converted into string types, but not into numbers or boolean types. + +json.exception.type_error.303 incompatible ReferenceType for get_ref, actual type is object To retrieve a reference to a value stored in a basic_json object with get_ref, the type of the reference must match the value type. For instance, for a JSON array, the ReferenceType must be array_t &. + +json.exception.type_error.304 cannot use at() with string The at() member functions can only be executed for certain JSON types. + +json.exception.type_error.305 cannot use operator[] with string The operator[] member functions can only be executed for certain JSON types. + +json.exception.type_error.306 cannot use value() with string The value() member functions can only be executed for certain JSON types. + +json.exception.type_error.307 cannot use erase() with string The erase() member functions can only be executed for certain JSON types. + +json.exception.type_error.308 cannot use push_back() with string The push_back() and operator+= member functions can only be executed for certain JSON types. + +json.exception.type_error.309 cannot use insert() with The insert() member functions can only be executed for certain JSON types. + +json.exception.type_error.310 cannot use swap() with number The swap() member functions can only be executed for certain JSON types. + +json.exception.type_error.311 cannot use emplace_back() with string The emplace_back() member function can only be executed for certain JSON types. + +json.exception.type_error.312 cannot use update() with string The update() member functions can only be executed for certain JSON types. + +json.exception.type_error.313 invalid value to unflatten The unflatten function converts an object whose keys are JSON Pointers back into an arbitrary nested JSON value. The JSON Pointers must not overlap, because then the resulting value would not be well defined. + +json.exception.type_error.314 only objects can be unflattened The unflatten function only works for an object whose keys are JSON Pointers. + +json.exception.type_error.315 values in object must be primitive The unflatten function only works for an object whose keys are JSON Pointers and whose values are primitive. + +json.exception.type_error.316 invalid UTF-8 byte at index 10: 0x7E The dump function only works with UTF-8 encoded strings; that is, if you assign a std::string to a JSON value, make sure it is UTF-8 encoded. + +json.exception.type_error.317 JSON value cannot be serialized to requested format The dynamic type of the object cannot be represented in the requested serialization format (e.g. a raw true or null JSON object cannot be serialized to BSON) +
                                                                                                +{The following code shows how a type_error exception can be caught.,type_error}
                                                                                                - exception for the base class of the library exceptions +- parse_error for exceptions indicating a parse error +- invalid_iterator for exceptions indicating errors with iterators +- out_of_range for exceptions indicating access out of the defined range +- other_error for exceptions indicating other library errors +version 3.0.0 +
                                                                                                + + + +
                                                                                                + + detail::out_of_range + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::out_of_range = detail::out_of_range + + out_of_range + +exception indicating access out of the defined range + +This exception is thrown in case a library function is called on an input parameter that exceeds the expected range, for instance in case of array indices or nonexisting object keys.Exceptions have ids 4xx. +name / id example message description + +json.exception.out_of_range.401 array index 3 is out of range The provided array index i is larger than size-1. + +json.exception.out_of_range.402 array index '-' (3) is out of range The special array index - in a JSON Pointer never describes a valid element of the array, but the index past the end. That is, it can only be used to add elements at this position, but not to read it. + +json.exception.out_of_range.403 key 'foo' not found The provided key was not found in the JSON object. + +json.exception.out_of_range.404 unresolved reference token 'foo' A reference token in a JSON Pointer could not be resolved. + +json.exception.out_of_range.405 JSON pointer has no parent The JSON Patch operations 'remove' and 'add' can not be applied to the root element of the JSON value. + +json.exception.out_of_range.406 number overflow parsing '10E1000' A parsed number could not be stored as without changing it to NaN or INF. + +json.exception.out_of_range.407 number overflow serializing '9223372036854775808' UBJSON and BSON only support integer numbers up to 9223372036854775807. (until version 3.8.0) + +json.exception.out_of_range.408 excessive array size: 8658170730974374167 The size (following #) of an UBJSON array or object exceeds the maximal capacity. + +json.exception.out_of_range.409 BSON key cannot contain code point U+0000 (at byte 2) Key identifiers to be serialized to BSON cannot contain code point U+0000, since the key is stored as zero-terminated c-string +
                                                                                                +{The following code shows how an out_of_range exception can be caught.,out_of_range}
                                                                                                - exception for the base class of the library exceptions +- parse_error for exceptions indicating a parse error +- invalid_iterator for exceptions indicating errors with iterators +- type_error for exceptions indicating executing a member function with a wrong type +- other_error for exceptions indicating other library errors +version 3.0.0 +
                                                                                                + + + +
                                                                                                + + detail::other_error + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::other_error = detail::other_error + + other_error + +exception indicating other library errors + +This exception is thrown in case of errors that cannot be classified with the other exception types.Exceptions have ids 5xx. +name / id example message description + +json.exception.other_error.501 unsuccessful: {"op":"test","path":"/baz", "value":"bar"} A JSON Patch operation 'test' failed. The unsuccessful operation is also printed. +
                                                                                                +- exception for the base class of the library exceptions +- parse_error for exceptions indicating a parse error +- invalid_iterator for exceptions indicating errors with iterators +- type_error for exceptions indicating executing a member function with a wrong type +- out_of_range for exceptions indicating access out of the defined range +{The following code shows how an other_error exception can be caught.,other_error}
                                                                                                version 3.0.0 +
                                                                                                + + + +
                                                                                                +
                                                                                                + +
                                                                                                container types
                                                                                                + The canonic container types to use basic_json like any other STL container. + + basic_json + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value_type = basic_json + + value_type + +the type of elements in a basic_json container + + + + + + + + value_type & + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::reference = value_type& + + reference + +the type of an element reference + + + + + + + + const value_type & + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::const_reference = const value_type& + + const_reference + +the type of an element const reference + + + + + + + + std::ptrdiff_t + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::difference_type = std::ptrdiff_t + + difference_type + +a type to represent differences between iterators + + + + + + + + std::size_t + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::size_type = std::size_t + + size_type + +a type to represent container sizes + + + + + + + + AllocatorType< basic_json > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::allocator_type = AllocatorType<basic_json> + + allocator_type + +the allocator type + + + + + + + + typename std::allocator_traits< allocator_type >::pointer + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::pointer = typename std::allocator_traits<allocator_type>::pointer + + pointer + +the type of an element pointer + + + + + + + + typename std::allocator_traits< allocator_type >::const_pointer + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::const_pointer = typename std::allocator_traits<allocator_type>::const_pointer + + const_pointer + +the type of an element const pointer + + + + + + + + iter_impl< basic_json > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::iterator = iter_impl<basic_json> + + iterator + +an iterator for a basic_json container + + + + + + + + iter_impl< const basic_json > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::const_iterator = iter_impl<const basic_json> + + const_iterator + +a const iterator for a basic_json container + + + + + + + + json_reverse_iterator< typename basic_json::iterator > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::reverse_iterator = json_reverse_iterator<typename basic_json::iterator> + + reverse_iterator + +a reverse iterator for a basic_json container + + + + + + + + json_reverse_iterator< typename basic_json::const_iterator > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::const_reverse_iterator = json_reverse_iterator<typename basic_json::const_iterator> + + const_reverse_iterator + +a const reverse iterator for a basic_json container + + + + + + +
                                                                                                + +
                                                                                                JSON value data types
                                                                                                + The data types to store a JSON value. These types are derived from the template arguments passed to class basic_json. + + std::less< StringType > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::object_comparator_t = std::less<StringType> + + object_comparator_t + + + + + + + + + + ObjectType< StringType, basic_json, object_comparator_t, AllocatorType< std::pair< const StringType, basic_json > >> + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::object_t = ObjectType<StringType, basic_json, object_comparator_t, AllocatorType<std::pair<const StringType, basic_json> >> + + object_t + +a type for an object + +RFC 8259 describes JSON objects as follows:
                                                                                                An object is an unordered collection of zero or more name/value pairs, where a name is a string and a value is a string, number, boolean, null, object, or array.
                                                                                                To store objects in C++, a type is defined by the template parameters described below. + +ObjectType + + +the container to store objects (e.g., std::map or std::unordered_map) + + + +StringType + + +the type of the keys or names (e.g., std::string). The comparison function std::less<StringType> is used to order elements inside the container. + + + +AllocatorType + + +the allocator to use for objects (e.g., std::allocator) + + +Default type +With the default values for ObjectType (std::map), StringType (std::string), and AllocatorType (std::allocator), the default value for object_t is:std::map< +std::string,//key_type +basic_json,//value_type +std::less<std::string>,//key_compare +std::allocator<std::pair<conststd::string,basic_json>>//allocator_type +> +Behavior +The choice of object_t influences the behavior of the JSON class. With the default type, objects have the following behavior: +When all names are unique, objects will be interoperable in the sense that all software implementations receiving that object will agree on the name-value mappings.When the names within an object are not unique, it is unspecified which one of the values for a given key will be chosen. For instance, {"key": 2, "key": 1} could be equal to either {"key": 1} or {"key": 2}.Internally, name/value pairs are stored in lexicographical order of the names. Objects will also be serialized (see dump) in this order. For instance, {"b": 1, "a": 2} and {"a": 2, "b": 1} will be stored and serialized as {"a": 2, "b": 1}.When comparing objects, the order of the name/value pairs is irrelevant. This makes objects interoperable in the sense that they will not be affected by these differences. For instance, {"b": 1, "a": 2} and {"a": 2, "b": 1} will be treated as equal. +Limits +RFC 8259 specifies:
                                                                                                An implementation may set limits on the maximum depth of nesting.
                                                                                                In this class, the object's limit of nesting is not explicitly constrained. However, a maximum depth of nesting may be introduced by the compiler or runtime environment. A theoretical limit can be queried by calling the max_size function of a JSON object.Storage +Objects are stored as pointers in a basic_json type. That is, for any access to object values, a pointer of type object_t* must be dereferenced.see array_t type for an array value +version 1.0.0 +The order name/value pairs are added to the object is not preserved by the library. Therefore, iterating an object may return name/value pairs in a different order than they were originally stored. In fact, keys will be traversed in alphabetical order as std::map with std::less is used by default. Please note this behavior conforms to RFC 8259, because any order implements the specified "unordered" nature of JSON objects. +
                                                                                                + + + +
                                                                                                + + ArrayType< basic_json, AllocatorType< basic_json > > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::array_t = ArrayType<basic_json, AllocatorType<basic_json> > + + array_t + +a type for an array + +RFC 8259 describes JSON arrays as follows:
                                                                                                An array is an ordered sequence of zero or more values.
                                                                                                To store objects in C++, a type is defined by the template parameters explained below. + +ArrayType + + +container type to store arrays (e.g., std::vector or std::list) + + + +AllocatorType + + +allocator to use for arrays (e.g., std::allocator) + + +Default type +With the default values for ArrayType (std::vector) and AllocatorType (std::allocator), the default value for array_t is:std::vector< +basic_json,//value_type +std::allocator<basic_json>//allocator_type +> +Limits +RFC 8259 specifies:
                                                                                                An implementation may set limits on the maximum depth of nesting.
                                                                                                In this class, the array's limit of nesting is not explicitly constrained. However, a maximum depth of nesting may be introduced by the compiler or runtime environment. A theoretical limit can be queried by calling the max_size function of a JSON array.Storage +Arrays are stored as pointers in a basic_json type. That is, for any access to array values, a pointer of type array_t* must be dereferenced.see object_t type for an object value +version 1.0.0 +
                                                                                                + + + +
                                                                                                + + StringType + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::string_t = StringType + + string_t + +a type for a string + +RFC 8259 describes JSON strings as follows:
                                                                                                A string is a sequence of zero or more Unicode characters.
                                                                                                To store objects in C++, a type is defined by the template parameter described below. Unicode values are split by the JSON class into byte-sized characters during deserialization. + +StringType + + +the container to store strings (e.g., std::string). Note this container is used for keys/names in objects, see object_t. + + +Default type +With the default values for StringType (std::string), the default value for string_t is:std::string +Encoding +Strings are stored in UTF-8 encoding. Therefore, functions like std::string::size() or std::string::length() return the number of bytes in the string rather than the number of characters or glyphs.String comparison +RFC 8259 states:
                                                                                                Software implementations are typically required to test names of object members for equality. Implementations that transform the textual representation into sequences of Unicode code units and then perform the comparison numerically, code unit by code unit, are interoperable in the sense that implementations will agree in all cases on equality or inequality of two strings. For example, implementations that compare strings with escaped characters unconverted may incorrectly find that "a\\b" and "a\u005Cb" are not equal.
                                                                                                This implementation is interoperable as it does compare strings code unit by code unit.Storage +String values are stored as pointers in a basic_json type. That is, for any access to string values, a pointer of type string_t* must be dereferenced.version 1.0.0 +
                                                                                                + + + +
                                                                                                + + BooleanType + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::boolean_t = BooleanType + + boolean_t + +a type for a boolean + +RFC 8259 implicitly describes a boolean as a type which differentiates the two literals true and false.To store objects in C++, a type is defined by the template parameter BooleanType which chooses the type to use.Default type +With the default values for BooleanType (bool), the default value for boolean_t is:bool +Storage +Boolean values are stored directly inside a basic_json type.version 1.0.0 + + + + + + + NumberIntegerType + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::number_integer_t = NumberIntegerType + + number_integer_t + +a type for a number (integer) + +RFC 8259 describes numbers as follows:
                                                                                                The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.
                                                                                                This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.To store integer numbers in C++, a type is defined by the template parameter NumberIntegerType which chooses the type to use.Default type +With the default values for NumberIntegerType (int64_t), the default value for number_integer_t is:int64_t +Default behavior + +The restrictions about leading zeros is not enforced in C++. Instead, leading zeros in integer literals lead to an interpretation as octal number. Internally, the value will be stored as decimal number. For instance, the C++ integer literal 010 will be serialized to 8. During deserialization, leading zeros yield an error.Not-a-number (NaN) values will be serialized to null. +Limits +RFC 8259 specifies:
                                                                                                An implementation may set limits on the range and precision of numbers.
                                                                                                When the default type is used, the maximal integer number that can be stored is 9223372036854775807 (INT64_MAX) and the minimal integer number that can be stored is -9223372036854775808 (INT64_MIN). Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will be automatically be stored as number_unsigned_t or number_float_t.RFC 8259 further states:
                                                                                                Note that when such software is used, numbers that are integers and are in the range $[-2^{53}+1, 2^{53}-1]$ are interoperable in the sense that implementations will agree exactly on their numeric values.
                                                                                                As this range is a subrange of the exactly supported range [INT64_MIN, INT64_MAX], this class's integer type is interoperable.Storage +Integer number values are stored directly inside a basic_json type.see number_float_t type for number values (floating-point) +see number_unsigned_t type for number values (unsigned integer) +version 1.0.0 +
                                                                                                + + + +
                                                                                                + + NumberUnsignedType + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::number_unsigned_t = NumberUnsignedType + + number_unsigned_t + +a type for a number (unsigned) + +RFC 8259 describes numbers as follows:
                                                                                                The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.
                                                                                                This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.To store unsigned integer numbers in C++, a type is defined by the template parameter NumberUnsignedType which chooses the type to use.Default type +With the default values for NumberUnsignedType (uint64_t), the default value for number_unsigned_t is:uint64_t +Default behavior + +The restrictions about leading zeros is not enforced in C++. Instead, leading zeros in integer literals lead to an interpretation as octal number. Internally, the value will be stored as decimal number. For instance, the C++ integer literal 010 will be serialized to 8. During deserialization, leading zeros yield an error.Not-a-number (NaN) values will be serialized to null. +Limits +RFC 8259 specifies:
                                                                                                An implementation may set limits on the range and precision of numbers.
                                                                                                When the default type is used, the maximal integer number that can be stored is 18446744073709551615 (UINT64_MAX) and the minimal integer number that can be stored is 0. Integer numbers that are out of range will yield over/underflow when used in a constructor. During deserialization, too large or small integer numbers will be automatically be stored as number_integer_t or number_float_t.RFC 8259 further states:
                                                                                                Note that when such software is used, numbers that are integers and are in the range $[-2^{53}+1, 2^{53}-1]$ are interoperable in the sense that implementations will agree exactly on their numeric values.
                                                                                                As this range is a subrange (when considered in conjunction with the number_integer_t type) of the exactly supported range [0, UINT64_MAX], this class's integer type is interoperable.Storage +Integer number values are stored directly inside a basic_json type.see number_float_t type for number values (floating-point) +see number_integer_t type for number values (integer) +version 2.0.0 +
                                                                                                + + + +
                                                                                                + + NumberFloatType + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::number_float_t = NumberFloatType + + number_float_t + +a type for a number (floating-point) + +RFC 8259 describes numbers as follows:
                                                                                                The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed. (...) Numeric values that cannot be represented in the grammar below (such as Infinity and NaN) are not permitted.
                                                                                                This description includes both integer and floating-point numbers. However, C++ allows more precise storage if it is known whether the number is a signed integer, an unsigned integer or a floating-point number. Therefore, three different types, number_integer_t, number_unsigned_t and number_float_t are used.To store floating-point numbers in C++, a type is defined by the template parameter NumberFloatType which chooses the type to use.Default type +With the default values for NumberFloatType (double), the default value for number_float_t is:double +Default behavior + +The restrictions about leading zeros is not enforced in C++. Instead, leading zeros in floating-point literals will be ignored. Internally, the value will be stored as decimal number. For instance, the C++ floating-point literal 01.2 will be serialized to 1.2. During deserialization, leading zeros yield an error.Not-a-number (NaN) values will be serialized to null. +Limits +RFC 8259 states:
                                                                                                This specification allows implementations to set limits on the range and precision of numbers accepted. Since software that implements IEEE 754-2008 binary64 (double precision) numbers is generally available and widely used, good interoperability can be achieved by implementations that expect no more precision or range than these provide, in the sense that implementations will approximate JSON numbers within the expected precision.
                                                                                                This implementation does exactly follow this approach, as it uses double precision floating-point numbers. Note values smaller than -1.79769313486232e+308 and values greater than 1.79769313486232e+308 will be stored as NaN internally and be serialized to null.Storage +Floating-point number values are stored directly inside a basic_json type.see number_integer_t type for number values (integer) +see number_unsigned_t type for number values (unsigned integer) +version 1.0.0 +
                                                                                                + + + +
                                                                                                + + nlohmann::byte_container_with_subtype< BinaryType > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary_t = nlohmann::byte_container_with_subtype<BinaryType> + + binary_t + +a type for a packed binary type + +This type is a type designed to carry binary data that appears in various serialized formats, such as CBOR's Major Type 2, MessagePack's bin, and BSON's generic binary subtype. This type is NOT a part of standard JSON and exists solely for compatibility with these binary types. As such, it is simply defined as an ordered sequence of zero or more byte values.Additionally, as an implementation detail, the subtype of the binary data is carried around as a std::uint8_t, which is compatible with both of the binary data formats that use binary subtyping, (though the specific numbering is incompatible with each other, and it is up to the user to translate between them).CBOR's RFC 7049 describes this type as:
                                                                                                Major type 2: a byte string. The string's length in bytes is represented following the rules for positive integers (major type 0).
                                                                                                MessagePack's documentation on the bin type family describes this type as:
                                                                                                Bin format family stores an byte array in 2, 3, or 5 bytes of extra bytes in addition to the size of the byte array.
                                                                                                BSON's specifications describe several binary types; however, this type is intended to represent the generic binary type which has the description:
                                                                                                Generic binary subtype - This is the most commonly used binary subtype and should be the 'default' for drivers and tools.
                                                                                                None of these impose any limitations on the internal representation other than the basic unit of storage be some type of array whose parts are decomposable into bytes.The default representation of this binary format is a std::vector<std::uint8_t>, which is a very common way to represent a byte array in modern C++.Default type +The default values for BinaryType is std::vector<std::uint8_t>Storage +Binary Arrays are stored as pointers in a basic_json type. That is, for any access to array values, a pointer of the type binary_t* must be dereferenced.Notes on subtypes + +CBOR +Binary values are represented as byte strings. No subtypes are supported and will be ignored when CBOR is written. +MessagePack +If a subtype is given and the binary array contains exactly 1, 2, 4, 8, or 16 elements, the fixext family (fixext1, fixext2, fixext4, fixext8) is used. For other sizes, the ext family (ext8, ext16, ext32) is used. The subtype is then added as singed 8-bit integer.If no subtype is given, the bin family (bin8, bin16, bin32) is used. +BSON +If a subtype is given, it is used and added as unsigned 8-bit integer.If no subtype is given, the generic binary subtype 0x00 is used. + +see binary create a binary array +version 3.8.0 +
                                                                                                + + + +
                                                                                                +
                                                                                                + +
                                                                                                constructors and destructors
                                                                                                + Constructors of class basic_json, copy/move constructor, copy assignment, static functions creating objects, and the destructor. + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary + (const typename binary_t::container_type &init) + binary + + const typename binary_t::container_type & + init + + +explicitly create a binary array (without subtype) + +Creates a JSON binary array value from a given binary container. Binary values are part of various binary formats, such as CBOR, MessagePack, and BSON. This constructor is used to create a value for serialization to those formats.Note, this function exists because of the difficulty in correctly specifying the correct template overload in the standard value ctor, as both JSON arrays and JSON binary arrays are backed with some form of a std::vector. Because JSON binary arrays are a non-standard extension it was decided that it would be best to prevent automatic initialization of a binary array type, for backwards compatibility and so it does not happen on accident. + + +init + + +container containing bytes to use as binary type + + +JSON binary array value +Linear in the size of init.Strong guarantee: if an exception is thrown, there are no changes to any JSON value.version 3.8.0 + + + + + nlohmann::detail::binary + JSON_HEDLEY_WARN_UNUSED_RESULT + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary + (const typename binary_t::container_type &init, std::uint8_t subtype) + binary + + const typename binary_t::container_type & + init + + + std::uint8_t + subtype + + +explicitly create a binary array (with subtype) + +Creates a JSON binary array value from a given binary container. Binary values are part of various binary formats, such as CBOR, MessagePack, and BSON. This constructor is used to create a value for serialization to those formats.Note, this function exists because of the difficulty in correctly specifying the correct template overload in the standard value ctor, as both JSON arrays and JSON binary arrays are backed with some form of a std::vector. Because JSON binary arrays are a non-standard extension it was decided that it would be best to prevent automatic initialization of a binary array type, for backwards compatibility and so it does not happen on accident. + + +init + + +container containing bytes to use as binary type + + + +subtype + + +subtype to use in MessagePack and BSON + + +JSON binary array value +Linear in the size of init.Strong guarantee: if an exception is thrown, there are no changes to any JSON value.version 3.8.0 + + + + + nlohmann::detail::binary + JSON_HEDLEY_WARN_UNUSED_RESULT + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary + (typename binary_t::container_type &&init) + binary + + typename binary_t::container_type && + init + + +explicitly create a binary array (without subtype) + +Creates a JSON binary array value from a given binary container. Binary values are part of various binary formats, such as CBOR, MessagePack, and BSON. This constructor is used to create a value for serialization to those formats.Note, this function exists because of the difficulty in correctly specifying the correct template overload in the standard value ctor, as both JSON arrays and JSON binary arrays are backed with some form of a std::vector. Because JSON binary arrays are a non-standard extension it was decided that it would be best to prevent automatic initialization of a binary array type, for backwards compatibility and so it does not happen on accident. + + +init + + +container containing bytes to use as binary type + + +JSON binary array value +Linear in the size of init.Strong guarantee: if an exception is thrown, there are no changes to any JSON value.version 3.8.0 + + + + + nlohmann::detail::binary + JSON_HEDLEY_WARN_UNUSED_RESULT + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary + (typename binary_t::container_type &&init, std::uint8_t subtype) + binary + + typename binary_t::container_type && + init + + + std::uint8_t + subtype + + +explicitly create a binary array (with subtype) + +Creates a JSON binary array value from a given binary container. Binary values are part of various binary formats, such as CBOR, MessagePack, and BSON. This constructor is used to create a value for serialization to those formats.Note, this function exists because of the difficulty in correctly specifying the correct template overload in the standard value ctor, as both JSON arrays and JSON binary arrays are backed with some form of a std::vector. Because JSON binary arrays are a non-standard extension it was decided that it would be best to prevent automatic initialization of a binary array type, for backwards compatibility and so it does not happen on accident. + + +init + + +container containing bytes to use as binary type + + + +subtype + + +subtype to use in MessagePack and BSON + + +JSON binary array value +Linear in the size of init.Strong guarantee: if an exception is thrown, there are no changes to any JSON value.version 3.8.0 + + + + + nlohmann::detail::binary + JSON_HEDLEY_WARN_UNUSED_RESULT + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::array + (initializer_list_t init={}) + array + + initializer_list_t + init + {} + + +explicitly create an array from an initializer list + +Creates a JSON array value from a given initializer list. That is, given a list of values a, b, c, creates the JSON value [a, b, c]. If the initializer list is empty, the empty array [] is created.This function is only needed to express two edge cases that cannot be realized with the initializer list constructor (basic_json(initializer_list_t, bool, value_t)). These cases are: +creating an array whose elements are all pairs whose first element is a string in this case, the initializer list constructor would create an object, taking the first elements as keyscreating an empty array passing the empty initializer list to the initializer list constructor yields an empty object + + + +init + + +initializer list with JSON values to create an array from (optional) + + +JSON array value +Linear in the size of init.Strong guarantee: if an exception is thrown, there are no changes to any JSON value.{The following code shows an example for the array function.,array}see basic_json(initializer_list_t, bool, value_t) create a JSON value from an initializer list +see object(initializer_list_t) create a JSON object value from an initializer list +version 1.0.0 + + + + + nlohmann::detail::array + JSON_HEDLEY_WARN_UNUSED_RESULT + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::object + (initializer_list_t init={}) + object + + initializer_list_t + init + {} + + +explicitly create an object from an initializer list + +Creates a JSON object value from a given initializer list. The initializer lists elements must be pairs, and their first elements must be strings. If the initializer list is empty, the empty object {} is created.This function is only added for symmetry reasons. In contrast to the related function array(initializer_list_t), there are no cases which can only be expressed by this function. That is, any initializer list init can also be passed to the initializer list constructor basic_json(initializer_list_t, bool, value_t). + + +init + + +initializer list to create an object from (optional) + + +JSON object value + + +type_error.301 + + +if init is not a list of pairs whose first elements are strings. In this case, no object can be created. When such a value is passed to basic_json(initializer_list_t, bool, value_t), an array would have been created from the passed initializer list init. See example below. + + +Linear in the size of init.Strong guarantee: if an exception is thrown, there are no changes to any JSON value.{The following code shows an example for the object function.,object}see basic_json(initializer_list_t, bool, value_t) create a JSON value from an initializer list +see array(initializer_list_t) create a JSON array value from an initializer list +version 1.0.0 + + + + + nlohmann::detail::object + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + (const value_t v) + basic_json + + const value_t + v + + +create an empty value with a given type + +Create an empty JSON value with a given type. The value will be default initialized with an empty value which depends on the type: +Value type initial value + +null null + +boolean false + +string "" + +number 0 + +object {} + +array [] + +binary empty array +
                                                                                                + + +v + + +the type of the value to create + + +Constant.
                                                                                                Strong guarantee: if an exception is thrown, there are no changes to any JSON value.{The following code shows the constructor for different value_t values,basic_json__value_t}see clear() restores the postcondition of this constructor +version 1.0.0 +
                                                                                                + + + +
                                                                                                + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + (std::nullptr_t=nullptr) noexcept + basic_json + + std::nullptr_t + nullptr + + +create a null object + +Create a null JSON value. It either takes a null pointer as parameter (explicitly creating null) or no parameter (implicitly creating null). The passed null pointer itself is not read it is only used to choose the right constructor.Constant.No-throw guarantee: this constructor never throws exceptions.{The following code shows the constructor with and without a null pointer parameter.,basic_json__nullptr_t}version 1.0.0 + + + + + + + + + typename CompatibleType + + + typename U + detail::uncvref_t<CompatibleType> + + + detail::enable_if_t< !detail::is_basic_json< U >::value &&detail::is_compatible_type< basic_json_t, U >::value, int > + 0 + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + (CompatibleType &&val) noexcept(noexcept(//NOLINT(bugprone-forwarding-reference-overload, bugprone-exception-escape) JSONSerializer< U >::to_json(std::declval< basic_json_t &>(), std::forward< CompatibleType >(val)))) + basic_json + + CompatibleType && + val + + +create a JSON value + +This is a "catch all" constructor for all compatible JSON types; that is, types for which a to_json() method exists. The constructor forwards the parameter val to that method (to json_serializer<U>::to_json method with U = uncvref_t<CompatibleType>, to be exact).Template type CompatibleType includes, but is not limited to, the following types: +arrays: array_t and all kinds of compatible containers such as std::vector, std::deque, std::list, std::forward_list, std::array, std::valarray, std::set, std::unordered_set, std::multiset, and std::unordered_multiset with a value_type from which a basic_json value can be constructed.objects: object_t and all kinds of compatible associative containers such as std::map, std::unordered_map, std::multimap, and std::unordered_multimap with a key_type compatible to string_t and a value_type from which a basic_json value can be constructed.strings: string_t, string literals, and all compatible string containers can be used.numbers: number_integer_t, number_unsigned_t, number_float_t, and all convertible number types such as int, size_t, int64_t, float or double can be used.boolean: boolean_t / bool can be used.binary: binary_t / std::vector<uint8_t> may be used, unfortunately because string literals cannot be distinguished from binary character arrays by the C++ type system, all types compatible with const char* will be directed to the string constructor instead. This is both for backwards compatibility, and due to the fact that a binary type is not a standard JSON type. +See the examples below. + +CompatibleType + + +a type such that: +CompatibleType is not derived from std::istream,CompatibleType is not basic_json (to avoid hijacking copy/move constructors),CompatibleType is not a different basic_json type (i.e. with different template arguments)CompatibleType is not a basic_json nested type (e.g., json_pointer, iterator, etc ...)json_serializer<U> has a to_json(basic_json_t&, CompatibleType&&) method + + + + +U + + += uncvref_t<CompatibleType> + + + + +val + + +the value to be forwarded to the respective constructor + + +Usually linear in the size of the passed val, also depending on the implementation of the called to_json() method.Depends on the called constructor. For types directly supported by the library (i.e., all types for which no to_json() function was provided), strong guarantee holds: if an exception is thrown, there are no changes to any JSON value.{The following code shows the constructor with several compatible types.,basic_json__CompatibleType}version 2.1.0 + + + + + nlohmann::detail::to_json + + + + + typename BasicJsonType + + + detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value &&!std::is_same< basic_json, BasicJsonType >::value, int > + 0 + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + (const BasicJsonType &val) + basic_json + + const BasicJsonType & + val + + +create a JSON value from an existing one + +This is a constructor for existing basic_json types. It does not hijack copy/move constructors, since the parameter has different template arguments than the current ones.The constructor tries to convert the internal m_value of the parameter. + +BasicJsonType + + +a type such that: +BasicJsonType is a basic_json type.BasicJsonType has different template arguments than basic_json_t. + + + + + +val + + +the basic_json value to be converted. + + +Usually linear in the size of the passed val, also depending on the implementation of the called to_json() method.Depends on the called constructor. For types directly supported by the library (i.e., all types for which no to_json() function was provided), strong guarantee holds: if an exception is thrown, there are no changes to any JSON value.version 3.2.0 + + + + + nlohmann::detail::array + nlohmann::detail::binary + nlohmann::detail::boolean + nlohmann::detail::discarded + JSON_ASSERT + nlohmann::detail::null + nlohmann::detail::number_float + nlohmann::detail::number_integer + nlohmann::detail::number_unsigned + nlohmann::detail::object + nlohmann::detail::string + nlohmann::detail::to_json + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + (initializer_list_t init, bool type_deduction=true, value_t manual_type=value_t::array) + basic_json + + initializer_list_t + init + + + bool + type_deduction + true + + + value_t + manual_type + value_t::array + + +create a container (array or object) from an initializer list + +Creates a JSON value of type array or object from the passed initializer list init. In case type_deduction is true (default), the type of the JSON value to be created is deducted from the initializer list init according to the following rules: +If the list is empty, an empty JSON object value {} is created.If the list consists of pairs whose first element is a string, a JSON object value is created where the first elements of the pairs are treated as keys and the second elements are as values.In all other cases, an array is created. +The rules aim to create the best fit between a C++ initializer list and JSON values. The rationale is as follows: +The empty initializer list is written as {} which is exactly an empty JSON object.C++ has no way of describing mapped types other than to list a list of pairs. As JSON requires that keys must be of type string, rule 2 is the weakest constraint one can pose on initializer lists to interpret them as an object.In all other cases, the initializer list could not be interpreted as JSON object type, so interpreting it as JSON array type is safe. +With the rules described above, the following JSON values cannot be expressed by an initializer list: +the empty array ([]): use array(initializer_list_t) with an empty initializer list in this casearrays whose elements satisfy rule 2: use array(initializer_list_t) with the same initializer list in this case +When used without parentheses around an empty initializer list, basic_json() is called instead of this function, yielding the JSON null value. + + +init + + +initializer list with JSON values + + + +type_deduction + + +internal parameter; when set to true, the type of the JSON value is deducted from the initializer list init; when set to false, the type provided via manual_type is forced. This mode is used by the functions array(initializer_list_t) and object(initializer_list_t). + + + +manual_type + + +internal parameter; when type_deduction is set to false, the created JSON value will use the provided type (only value_t::array and value_t::object are valid); when type_deduction is set to true, this parameter has no effect + + + + +type_error.301 + + +if type_deduction is false, manual_type is value_t::object, but init contains an element which is not a pair whose first element is a string. In this case, the constructor could not create an object. If type_deduction would have be true, an array would have been created. See object(initializer_list_t) for an example. + + +Linear in the size of the initializer list init.Strong guarantee: if an exception is thrown, there are no changes to any JSON value.{The example below shows how JSON values are created from initializer lists.,basic_json__list_init_t}see array(initializer_list_t) create a JSON array value from an initializer list +see object(initializer_list_t) create a JSON object value from an initializer list +version 1.0.0 + + + + + nlohmann::detail::array + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_THROW + nlohmann::detail::object + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + (size_type cnt, const basic_json &val) + basic_json + + size_type + cnt + + + const basic_json & + val + + +construct an array with count copies of given value + +Constructs a JSON array value by creating cnt copies of a passed value. In case cnt is 0, an empty array is created. + +cnt + + +the number of JSON copies of val to create + + + +val + + +the JSON value to copy + + +std::distance(begin(),end()) == cnt holds. +Linear in cnt.Strong guarantee: if an exception is thrown, there are no changes to any JSON value.{The following code shows examples for the basic_json(size_type\, const basic_json&) constructor.,basic_json__size_type_basic_json}version 1.0.0 + + + + + + + + + class InputIT + + + typename std::enable_if< std::is_same< InputIT, typename basic_json_t::iterator >::value||std::is_same< InputIT, typename basic_json_t::const_iterator >::value, int >::type + 0 + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + (InputIT first, InputIT last) + basic_json + + InputIT + first + + + InputIT + last + + +construct a JSON container given an iterator range + +Constructs the JSON value with the contents of the range [first, last). The semantics depends on the different types a JSON value can have: +In case of a null type, invalid_iterator.206 is thrown.In case of other primitive types (number, boolean, or string), first must be begin() and last must be end(). In this case, the value is copied. Otherwise, invalid_iterator.204 is thrown.In case of structured types (array, object), the constructor behaves as similar versions for std::vector or std::map; that is, a JSON array or object is constructed from the values in the range. + + +InputIT + + +an input iterator type (iterator or const_iterator) + + + + +first + + +begin of the range to copy from (included) + + + +last + + +end of the range to copy from (excluded) + + +Iterators first and last must be initialized. This precondition is enforced with an assertion (see warning). If assertions are switched off, a violation of this precondition yields undefined behavior. +Range [first, last) is valid. Usually, this precondition cannot be checked efficiently. Only certain edge cases are detected; see the description of the exceptions below. A violation of this precondition yields undefined behavior. +A precondition is enforced with a runtime assertion that will result in calling std::abort if this precondition is not met. Assertions can be disabled by defining NDEBUG at compile time. See https://en.cppreference.com/w/cpp/error/assert for more information. + + +invalid_iterator.201 + + +if iterators first and last are not compatible (i.e., do not belong to the same JSON value). In this case, the range [first, last) is undefined. + + + +invalid_iterator.204 + + +if iterators first and last belong to a primitive type (number, boolean, or string), but first does not point to the first element any more. In this case, the range [first, last) is undefined. See example code below. + + + +invalid_iterator.206 + + +if iterators first and last belong to a null value. In this case, the range [first, last) is undefined. + + +Linear in distance between first and last.Strong guarantee: if an exception is thrown, there are no changes to any JSON value.{The example below shows several ways to create JSON values by specifying a subrange with iterators.,basic_json__InputIt_InputIt}version 1.0.0 + + + + + nlohmann::detail::array + nlohmann::detail::binary + nlohmann::detail::boolean + nlohmann::detail::invalid_iterator::create + JSON_ASSERT + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::number_float + nlohmann::detail::number_integer + nlohmann::detail::number_unsigned + nlohmann::detail::object + nlohmann::detail::string + nlohmann::detail::value + + + + + typename JsonRef + + + detail::enable_if_t< detail::conjunction< detail::is_json_ref< JsonRef >, std::is_same< typename JsonRef::value_type, basic_json >>::value, int > + 0 + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + (const JsonRef &ref) + basic_json + + const JsonRef & + ref + + + + + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + (const basic_json &other) + basic_json + + const basic_json & + other + + +copy constructor + +Creates a copy of a given JSON value. + +other + + +the JSON value to copy + + +*this == other +Linear in the size of other.Strong guarantee: if an exception is thrown, there are no changes to any JSON value.This function helps basic_json satisfying the Container requirements: +The complexity is linear.As postcondition, it holds: other == basic_json(other). +{The following code shows an example for the copy constructor.,basic_json__basic_json}version 1.0.0 + + + + + nlohmann::detail::array + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::assert_invariant + nlohmann::detail::binary + nlohmann::detail::boolean + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::m_value + nlohmann::detail::number_float + nlohmann::detail::number_integer + nlohmann::detail::number_unsigned + nlohmann::detail::object + nlohmann::detail::string + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + (basic_json &&other) noexcept + basic_json + + basic_json && + other + + +move constructor + +Move constructor. Constructs a JSON value with the contents of the given value other using move semantics. It "steals" the resources from other and leaves it as JSON null value. + +other + + +value to move to this object + + +*this has the same value as other before the call. +other is a JSON null value. +Constant.No-throw guarantee: this constructor never throws exceptions.This function helps basic_json satisfying the MoveConstructible requirements.{The code below shows the move constructor explicitly called via std::move.,basic_json__moveconstructor}version 1.0.0 + + + + + nlohmann::detail::null + + + basic_json & + basic_json& nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator= + (basic_json other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value) + operator= + + basic_json + other + + +copy assignment + +Copy assignment operator. Copies a JSON value via the "copy and swap" strategy: It is expressed in terms of the copy constructor, destructor, and the swap() member function. + +other + + +value to copy from + + +Linear.This function helps basic_json satisfying the Container requirements: +The complexity is linear. +{The code below shows and example for the copy assignment. It creates a copy of value a which is then swapped with b. Finally\, the copy of a (which is the null value after the swap) is destroyed.,basic_json__copyassignment}version 1.0.0 + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::assert_invariant + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::~basic_json + () noexcept + ~basic_json + +destructor + +Destroys the JSON value and frees all allocated memory.Linear.This function helps basic_json satisfying the Container requirements: +The complexity is linear.All stored elements are destroyed and all memory is freed. +version 1.0.0 + + + + + +
                                                                                                + +
                                                                                                object inspection
                                                                                                + Functions to inspect the type of a JSON value. + + string_t + string_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::dump + (const int indent=-1, const char indent_char=' ', const bool ensure_ascii=false, const error_handler_t error_handler=error_handler_t::strict) const + dump + + const int + indent + -1 + + + const char + indent_char + ' ' + + + const bool + ensure_ascii + false + + + const error_handler_t + error_handler + error_handler_t::strict + + +serialization + +Serialization function for JSON values. The function tries to mimic Python's json.dumps() function, and currently supports its indent and ensure_ascii parameters. + +indent + + +If indent is nonnegative, then array elements and object members will be pretty-printed with that indent level. An indent level of 0 will only insert newlines. -1 (the default) selects the most compact representation. + + + +indent_char + + +The character to use for indentation if indent is greater than 0. The default is (space). + + + +ensure_ascii + + +If ensure_ascii is true, all non-ASCII characters in the output are escaped with \uXXXX sequences, and the result consists of ASCII characters only. + + + +error_handler + + +how to react on decoding errors; there are three possible values: strict (throws and exception in case a decoding error occurs; default), replace (replace invalid UTF-8 sequences with U+FFFD), and ignore (ignore invalid UTF-8 sequences during serialization; all bytes are copied to the output unchanged). + + +string containing the serialization of the JSON value + + +type_error.316 + + +if a string stored inside the JSON value is not UTF-8 encoded and error_handler is set to strict + + +Binary values are serialized as object containing two keys: +"bytes": an array of bytes as integers"subtype": the subtype as integer or "null" if the binary has no subtype + +Linear.Strong guarantee: if an exception is thrown, there are no changes in the JSON value.{The following example shows the effect of different indent\, indent_char\, and ensure_ascii parameters to the result of the serialization.,dump}https://docs.python.org/2/library/json.html#json.dump +version 1.0.0; indentation character indent_char, option ensure_ascii and exceptions added in version 3.0.0; error handlers added in version 3.4.0; serialization of binary values added in version 3.8.0. + + + + + + + constexpr value_t + constexpr value_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::type + () const noexcept + type + +return the type of the JSON value (explicit) + +Return the type of the JSON value as a value from the value_t enumeration.the type of the JSON value +Value type return value + +null value_t::null + +boolean value_t::boolean + +string value_t::string + +number (integer) value_t::number_integer + +number (unsigned integer) value_t::number_unsigned + +number (floating-point) value_t::number_float + +object value_t::object + +array value_t::array + +binary value_t::binary + +discarded value_t::discarded +
                                                                                                +Constant.
                                                                                                +No-throw guarantee: this member function never throws exceptions.
                                                                                                {The following code exemplifies type() for all JSON types.,type}see operator value_t() return the type of the JSON value (implicit) +see type_name() return the type as string +version 1.0.0 +
                                                                                                + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff +
                                                                                                + + constexpr bool + constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_primitive + () const noexcept + is_primitive + +return whether type is primitive + +This function returns true if and only if the JSON type is primitive (string, number, boolean, or null).true if type is primitive (string, number, boolean, or null), false otherwise. +Constant.No-throw guarantee: this member function never throws exceptions.{The following code exemplifies is_primitive() for all JSON types.,is_primitive}see is_structured() returns whether JSON value is structured +see is_null() returns whether JSON value is null +see is_string() returns whether JSON value is a string +see is_boolean() returns whether JSON value is a boolean +see is_number() returns whether JSON value is a number +see is_binary() returns whether JSON value is a binary array +version 1.0.0 + + + + + + + constexpr bool + constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_structured + () const noexcept + is_structured + +return whether type is structured + +This function returns true if and only if the JSON type is structured (array or object).true if type is structured (array or object), false otherwise. +Constant.No-throw guarantee: this member function never throws exceptions.{The following code exemplifies is_structured() for all JSON types.,is_structured}see is_primitive() returns whether value is primitive +see is_array() returns whether value is an array +see is_object() returns whether value is an object +version 1.0.0 + + + + + + + constexpr bool + constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_null + () const noexcept + is_null + +return whether value is null + +This function returns true if and only if the JSON value is null.true if type is null, false otherwise. +Constant.No-throw guarantee: this member function never throws exceptions.{The following code exemplifies is_null() for all JSON types.,is_null}version 1.0.0 + + + + + nlohmann::detail::null + + + constexpr bool + constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_boolean + () const noexcept + is_boolean + +return whether value is a boolean + +This function returns true if and only if the JSON value is a boolean.true if type is boolean, false otherwise. +Constant.No-throw guarantee: this member function never throws exceptions.{The following code exemplifies is_boolean() for all JSON types.,is_boolean}version 1.0.0 + + + + + nlohmann::detail::boolean + + + constexpr bool + constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_number + () const noexcept + is_number + +return whether value is a number + +This function returns true if and only if the JSON value is a number. This includes both integer (signed and unsigned) and floating-point values.true if type is number (regardless whether integer, unsigned integer or floating-type), false otherwise. +Constant.No-throw guarantee: this member function never throws exceptions.{The following code exemplifies is_number() for all JSON types.,is_number}see is_number_integer() check if value is an integer or unsigned integer number +see is_number_unsigned() check if value is an unsigned integer number +see is_number_float() check if value is a floating-point number +version 1.0.0 + + + + + + + constexpr bool + constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_number_integer + () const noexcept + is_number_integer + +return whether value is an integer number + +This function returns true if and only if the JSON value is a signed or unsigned integer number. This excludes floating-point values.true if type is an integer or unsigned integer number, false otherwise. +Constant.No-throw guarantee: this member function never throws exceptions.{The following code exemplifies is_number_integer() for all JSON types.,is_number_integer}see is_number() check if value is a number +see is_number_unsigned() check if value is an unsigned integer number +see is_number_float() check if value is a floating-point number +version 1.0.0 + + + + + nlohmann::detail::number_integer + nlohmann::detail::number_unsigned + + + constexpr bool + constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_number_unsigned + () const noexcept + is_number_unsigned + +return whether value is an unsigned integer number + +This function returns true if and only if the JSON value is an unsigned integer number. This excludes floating-point and signed integer values.true if type is an unsigned integer number, false otherwise. +Constant.No-throw guarantee: this member function never throws exceptions.{The following code exemplifies is_number_unsigned() for all JSON types.,is_number_unsigned}see is_number() check if value is a number +see is_number_integer() check if value is an integer or unsigned integer number +see is_number_float() check if value is a floating-point number +version 2.0.0 + + + + + nlohmann::detail::number_unsigned + + + constexpr bool + constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_number_float + () const noexcept + is_number_float + +return whether value is a floating-point number + +This function returns true if and only if the JSON value is a floating-point number. This excludes signed and unsigned integer values.true if type is a floating-point number, false otherwise. +Constant.No-throw guarantee: this member function never throws exceptions.{The following code exemplifies is_number_float() for all JSON types.,is_number_float}see is_number() check if value is number +see is_number_integer() check if value is an integer number +see is_number_unsigned() check if value is an unsigned integer number +version 1.0.0 + + + + + nlohmann::detail::number_float + + + constexpr bool + constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_object + () const noexcept + is_object + +return whether value is an object + +This function returns true if and only if the JSON value is an object.true if type is object, false otherwise. +Constant.No-throw guarantee: this member function never throws exceptions.{The following code exemplifies is_object() for all JSON types.,is_object}version 1.0.0 + + + + + nlohmann::detail::object + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::destroy + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::merge_patch + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update + + + constexpr bool + constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_array + () const noexcept + is_array + +return whether value is an array + +This function returns true if and only if the JSON value is an array.true if type is array, false otherwise. +Constant.No-throw guarantee: this member function never throws exceptions.{The following code exemplifies is_array() for all JSON types.,is_array}version 1.0.0 + + + + + nlohmann::detail::array + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::destroy + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + + + constexpr bool + constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_string + () const noexcept + is_string + +return whether value is a string + +This function returns true if and only if the JSON value is a string.true if type is string, false otherwise. +Constant.No-throw guarantee: this member function never throws exceptions.{The following code exemplifies is_string() for all JSON types.,is_string}version 1.0.0 + + + + + nlohmann::detail::string + + + constexpr bool + constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_binary + () const noexcept + is_binary + +return whether value is a binary array + +This function returns true if and only if the JSON value is a binary array.true if type is binary array, false otherwise. +Constant.No-throw guarantee: this member function never throws exceptions.{The following code exemplifies is_binary() for all JSON types.,is_binary}version 3.8.0 + + + + + nlohmann::detail::binary + + + constexpr bool + constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_discarded + () const noexcept + is_discarded + +return whether value is discarded + +This function returns true if and only if the JSON value was discarded during parsing with a callback function (see parser_callback_t).This function will always be false for JSON values after parsing. That is, discarded values can only occur during parsing, but will be removed when inside a structured value or replaced by null in other cases. +true if type is discarded, false otherwise. +Constant.No-throw guarantee: this member function never throws exceptions.{The following code exemplifies is_discarded() for all JSON types.,is_discarded}version 1.0.0 + + + + + nlohmann::detail::discarded + + + constexpr + constexpr nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator value_t + () const noexcept + operator value_t + +return the type of the JSON value (implicit) + +Implicitly return the type of the JSON value as a value from the value_t enumeration.the type of the JSON value +Constant.No-throw guarantee: this member function never throws exceptions.{The following code exemplifies the value_t operator for all JSON types.,operator__value_t}see type() return the type of the JSON value (explicit) +see type_name() return the type as string +version 1.0.0 + + + + + +
                                                                                                + +
                                                                                                value access
                                                                                                + Direct access to the stored value of a JSON value. + + + + typename ValueType + + + detail::enable_if_t< detail::is_default_constructible< ValueType >::value &&detail::has_from_json< basic_json_t, ValueType >::value, int > + 0 + + + ValueType + ValueType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl + (detail::priority_tag< 0 >) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>(), std::declval< ValueType &>()))) + get_impl + + detail::priority_tag< 0 > + + +get a value (explicit) + +Explicit type conversion between the JSON value and a compatible value which is CopyConstructible and DefaultConstructible. The value is converted by calling the json_serializer<ValueType> from_json() method.The function is equivalent to executing ValueTyperet; +JSONSerializer<ValueType>::from_json(*this,ret); +returnret; +This overloads is chosen if: +ValueType is not basic_json,json_serializer<ValueType> has a from_json() method of the form void from_json(const basic_json&, ValueType&), andjson_serializer<ValueType> does not have a from_json() method of the form ValueType from_json(const basic_json&) + + +ValueType + + +the returned value type + + +copy of the JSON value, converted to ValueType + + +what + + +json_serializer<ValueType> from_json() method throws + + +{The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>.,get__ValueType_const}version 2.1.0 + + + + + nlohmann::detail::from_json + + + + + typename ValueType + + + detail::enable_if_t< detail::has_non_default_from_json< basic_json_t, ValueType >::value, int > + 0 + + + ValueType + ValueType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl + (detail::priority_tag< 1 >) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>()))) + get_impl + + detail::priority_tag< 1 > + + +get a value (explicit); special case + +Explicit type conversion between the JSON value and a compatible value which is not CopyConstructible and not DefaultConstructible. The value is converted by calling the json_serializer<ValueType> from_json() method.The function is equivalent to executing returnJSONSerializer<ValueType>::from_json(*this); +This overloads is chosen if: +ValueType is not basic_json andjson_serializer<ValueType> has a from_json() method of the form ValueType from_json(const basic_json&) +If json_serializer<ValueType> has both overloads of from_json(), this one is chosen. + + +ValueType + + +the returned value type + + +copy of the JSON value, converted to ValueType + + +what + + +json_serializer<ValueType> from_json() method throws + + +version 2.1.0 + + + + + nlohmann::detail::from_json + + + + + typename BasicJsonType + + + detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value, int > + 0 + + + BasicJsonType + BasicJsonType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl + (detail::priority_tag< 2 >) const + get_impl + + detail::priority_tag< 2 > + + +get special-case overload + +This overloads converts the current basic_json in a different basic_json type + +BasicJsonType + + +== basic_json + + +a copy of *this, converted into BasicJsonType +Depending on the implementation of the called from_json() method.version 3.2.0 + + + + + + + + + typename BasicJsonType + + + detail::enable_if_t< std::is_same< BasicJsonType, basic_json_t >::value, int > + 0 + + + basic_json + basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl + (detail::priority_tag< 3 >) const + get_impl + + detail::priority_tag< 3 > + + +get special-case overload + +This overloads avoids a lot of template boilerplate, it can be seen as the identity method + +BasicJsonType + + +== basic_json + + +a copy of *this +Constant.version 2.1.0 + + + + + + + + + typename PointerType + + + detail::enable_if_t< std::is_pointer< PointerType >::value, int > + 0 + + + constexpr auto + constexpr auto nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl + (detail::priority_tag< 4 >) const noexcept -> decltype(std::declval< const basic_json_t &>().template get_ptr< PointerType >()) + get_impl + + detail::priority_tag< 4 > + + +get a pointer value (explicit) + +get a pointer value (explicit) Explicit pointer access to the internally stored JSON value. No copies are made.The pointer becomes invalid if the underlying JSON object changes. + + +PointerType + + +pointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t. + + +pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise +Constant.{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get__PointerType}see get_ptr() for explicit pointer-member access +version 1.0.0 + + + + + + + + + typename PointerType + + + typename std::enable_if< std::is_pointer< PointerType >::value, int >::type + 0 + + + auto + auto nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ptr + () noexcept -> decltype(std::declval< basic_json_t &>().get_impl_ptr(std::declval< PointerType >())) + get_ptr + +get a pointer value (implicit) + +Implicit pointer access to the internally stored JSON value. No copies are made.Writing data to the pointee of the result yields an undefined state. + + +PointerType + + +pointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t. Enforced by a static assertion. + + +pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise +Constant.{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get_ptr}version 1.0.0 + + + + + nlohmann::detail::value + + + + + typename PointerType + + + typename std::enable_if< std::is_pointer< PointerType >::value &&std::is_const< typename std::remove_pointer< PointerType >::type >::value, int >::type + 0 + + + constexpr auto + constexpr auto nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ptr + () const noexcept -> decltype(std::declval< const basic_json_t &>().get_impl_ptr(std::declval< PointerType >())) + get_ptr + +get a pointer value (implicit) + +get a pointer value (implicit) Implicit pointer access to the internally stored JSON value. No copies are made.Writing data to the pointee of the result yields an undefined state. + + +PointerType + + +pointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t. Enforced by a static assertion. + + +pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise +Constant.{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get_ptr}version 1.0.0 + + + + + + + + + typename ValueTypeCV + + + typename ValueType + detail::uncvref_t<ValueTypeCV> + + + auto + auto nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get + () const noexcept(noexcept(std::declval< const basic_json_t &>().template get_impl< ValueType >(detail::priority_tag< 4 > {}))) -> decltype(std::declval< const basic_json_t &>().template get_impl< ValueType >(detail::priority_tag< 4 > + get + +get a (pointer) value (explicit) + +Performs explicit type conversion between the JSON value and a compatible value if required. +If the requested type is a pointer to the internally stored JSON value that pointer is returned. No copies are made.If the requested type is the current basic_json, or a different basic_json convertible from the current basic_json.Otherwise the value is converted by calling the json_serializer<ValueType> from_json() method. + + +ValueTypeCV + + +the provided value type + + + +ValueType + + +the returned value type + + +copy of the JSON value, converted to + + +ValueType + + +if necessary + + + + +what + + +json_serializer<ValueType> from_json() method throws if conversion is required + + +version 2.1.0 + + + + + + + return + return nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl + (detail::priority_tag< 4 > {}) + get_impl + + detail::priority_tag< 4 > {} + + + + + + + + + + + + + typename PointerType + + + typename std::enable_if< std::is_pointer< PointerType >::value, int >::type + 0 + + + auto + auto nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get + () noexcept -> decltype(std::declval< basic_json_t &>().template get_ptr< PointerType >()) + get + +get a pointer value (explicit) + +Explicit pointer access to the internally stored JSON value. No copies are made.The pointer becomes invalid if the underlying JSON object changes. + + +PointerType + + +pointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t. + + +pointer to the internally stored JSON value if the requested pointer type PointerType fits to the JSON value; nullptr otherwise +Constant.{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get__PointerType}see get_ptr() for explicit pointer-member access +version 1.0.0 + + + + + + + + + typename ValueType + + + detail::enable_if_t< !detail::is_basic_json< ValueType >::value &&detail::has_from_json< basic_json_t, ValueType >::value, int > + 0 + + + ValueType & + ValueType& nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_to + (ValueType &v) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t &>(), v))) + get_to + + ValueType & + v + + +get a value (explicit) + +Explicit type conversion between the JSON value and a compatible value. The value is filled into the input parameter by calling the json_serializer<ValueType> from_json() method.The function is equivalent to executing ValueTypev; +JSONSerializer<ValueType>::from_json(*this,v); +This overloads is chosen if: +ValueType is not basic_json,json_serializer<ValueType> has a from_json() method of the form void from_json(const basic_json&, ValueType&), and + + +ValueType + + +the input parameter type. + + +the input parameter, allowing chaining calls. + + +what + + +json_serializer<ValueType> from_json() method throws + + +{The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>.,get_to}version 3.3.0 + + + + + nlohmann::detail::from_json + + + + + typename ValueType + + + detail::enable_if_t< detail::is_basic_json< ValueType >::value, int > + 0 + + + ValueType & + ValueType& nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_to + (ValueType &v) const + get_to + + ValueType & + v + + + + + + + + + + + + + typename T + + + std::size_t + N + N + + + typename Array + T (&)[N] + + + detail::enable_if_t< detail::has_from_json< basic_json_t, Array >::value, int > + 0 + + + Array + Array nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_to + (T(&v)[N]) const noexcept(noexcept(JSONSerializer< Array >::from_json(std::declval< const basic_json_t &>(), v))) + get_to + + T(&) + v + [N] + + + + + + + + + nlohmann::detail::from_json + + + + + typename ReferenceType + + + typename std::enable_if< std::is_reference< ReferenceType >::value, int >::type + 0 + + + ReferenceType + ReferenceType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ref + () + get_ref + +get a reference value (implicit) + +Implicit reference access to the internally stored JSON value. No copies are made.Writing data to the referee of the result yields an undefined state. + + +ReferenceType + + +reference type; must be a reference to array_t, object_t, string_t, boolean_t, number_integer_t, or number_float_t. Enforced by static assertion. + + +reference to the internally stored JSON value if the requested reference type ReferenceType fits to the JSON value; throws type_error.303 otherwise + + +type_error.303 + + +in case passed type ReferenceType is incompatible with the stored JSON value; see example below + + +Constant.{The example shows several calls to get_ref().,get_ref}version 1.1.0 + + + + + nlohmann::detail::value + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back + + + + + typename ReferenceType + + + typename std::enable_if< std::is_reference< ReferenceType >::value &&std::is_const< typename std::remove_reference< ReferenceType >::type >::value, int >::type + 0 + + + ReferenceType + ReferenceType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ref + () const + get_ref + +get a reference value (implicit) + +get a reference value (implicit) Implicit reference access to the internally stored JSON value. No copies are made.Writing data to the referee of the result yields an undefined state. + + +ReferenceType + + +reference type; must be a reference to array_t, object_t, string_t, boolean_t, number_integer_t, or number_float_t. Enforced by static assertion. + + +reference to the internally stored JSON value if the requested reference type ReferenceType fits to the JSON value; throws type_error.303 otherwise + + +type_error.303 + + +in case passed type ReferenceType is incompatible with the stored JSON value; see example below + + +Constant.{The example shows several calls to get_ref().,get_ref}version 1.1.0 + + + + + + + + + typename ValueType + + + typename std::enable_if< !std::is_pointer< ValueType >::value &&!std::is_same< ValueType, detail::json_ref< basic_json >>::value &&!std::is_same< ValueType, typename string_t::value_type >::value &&!detail::is_basic_json< ValueType >::value &&!std::is_same< ValueType, std::initializer_list< typename string_t::value_type >>::value &&detail::is_detected< detail::get_template_function, const basic_json_t &, ValueType >::value, int >::type + 0 + + + JSON_EXPLICIT + JSON_EXPLICIT nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator ValueType + () const + operator ValueType + +get a value (implicit) + +Implicit type conversion between the JSON value and a compatible value. The call is realized by calling get() const. + +ValueType + + +non-pointer type compatible to the JSON value, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. The character type of string_t as well as an initializer list of this type is excluded to avoid ambiguities as these types implicitly convert to std::string. + + +copy of the JSON value, converted to type ValueType + + +type_error.302 + + +in case passed type ValueType is incompatible to the JSON value type (e.g., the JSON value is of type boolean, but a string is requested); see example below + + +Linear in the size of the JSON value.{The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>.,operator__ValueType}version 1.0.0 + + + + + + + binary_t & + binary_t& nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_binary + () + get_binary + + + +reference to the binary value + + +type_error.302 + + +if the value is not binary + + +see is_binary() to check if the value is binary +version 3.8.0 + + + + + nlohmann::detail::type_error::create + JSON_THROW + nlohmann::detail::string + + + const binary_t & + const binary_t& nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_binary + () const + get_binary + + + +reference to the binary value + + +type_error.302 + + +if the value is not binary + + +see is_binary() to check if the value is binary +version 3.8.0 + + + + + nlohmann::detail::type_error::create + JSON_THROW + nlohmann::detail::string + +
                                                                                                + +
                                                                                                element access
                                                                                                + Access to the JSON value. + + reference + reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at + (size_type idx) + at + + size_type + idx + + +access specified array element with bounds checking + +Returns a reference to the element at specified location idx, with bounds checking. + +idx + + +index of the element to access + + +reference to the element at index idx + + +type_error.304 + + +if the JSON value is not an array; in this case, calling at with an index makes no sense. See example below. + + + +out_of_range.401 + + +if the index idx is out of range of the array; that is, idx >= size(). See example below. + + +Strong guarantee: if an exception is thrown, there are no changes in the JSON value.Constant.version 1.0.0 +{The example below shows how array elements can be read and written using at(). It also demonstrates the different exceptions that can be thrown.,at__size_type} + + + + nlohmann::detail::type_error::create + nlohmann::detail::out_of_range::create + JSON_CATCH + JSON_HEDLEY_LIKELY + JSON_THROW + JSON_TRY + nlohmann::detail::string + nlohmann::to_string + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + + + const_reference + const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at + (size_type idx) const + at + + size_type + idx + + +access specified array element with bounds checking + +Returns a const reference to the element at specified location idx, with bounds checking. + +idx + + +index of the element to access + + +const reference to the element at index idx + + +type_error.304 + + +if the JSON value is not an array; in this case, calling at with an index makes no sense. See example below. + + + +out_of_range.401 + + +if the index idx is out of range of the array; that is, idx >= size(). See example below. + + +Strong guarantee: if an exception is thrown, there are no changes in the JSON value.Constant.version 1.0.0 +{The example below shows how array elements can be read using at(). It also demonstrates the different exceptions that can be thrown., at__size_type_const} + + + + nlohmann::detail::type_error::create + nlohmann::detail::out_of_range::create + JSON_CATCH + JSON_HEDLEY_LIKELY + JSON_THROW + JSON_TRY + nlohmann::detail::string + nlohmann::to_string + + + reference + reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at + (const typename object_t::key_type &key) + at + + const typename object_t::key_type & + key + + +access specified object element with bounds checking + +Returns a reference to the element at with specified key key, with bounds checking. + +key + + +key of the element to access + + +reference to the element at key key + + +type_error.304 + + +if the JSON value is not an object; in this case, calling at with a key makes no sense. See example below. + + + +out_of_range.403 + + +if the key key is is not stored in the object; that is, find(key) == end(). See example below. + + +Strong guarantee: if an exception is thrown, there are no changes in the JSON value.Logarithmic in the size of the container.see operator[](const typename object_t::key_type&) for unchecked access by reference +see value() for access by value with a default value +version 1.0.0 +{The example below shows how object elements can be read and written using at(). It also demonstrates the different exceptions that can be thrown.,at__object_t_key_type} + + + + nlohmann::detail::type_error::create + nlohmann::detail::out_of_range::create + JSON_CATCH + JSON_HEDLEY_LIKELY + JSON_THROW + JSON_TRY + nlohmann::detail::string + + + const_reference + const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at + (const typename object_t::key_type &key) const + at + + const typename object_t::key_type & + key + + +access specified object element with bounds checking + +Returns a const reference to the element at with specified key key, with bounds checking. + +key + + +key of the element to access + + +const reference to the element at key key + + +type_error.304 + + +if the JSON value is not an object; in this case, calling at with a key makes no sense. See example below. + + + +out_of_range.403 + + +if the key key is is not stored in the object; that is, find(key) == end(). See example below. + + +Strong guarantee: if an exception is thrown, there are no changes in the JSON value.Logarithmic in the size of the container.see operator[](const typename object_t::key_type&) for unchecked access by reference +see value() for access by value with a default value +version 1.0.0 +{The example below shows how object elements can be read using at(). It also demonstrates the different exceptions that can be thrown., at__object_t_key_type_const} + + + + nlohmann::detail::type_error::create + nlohmann::detail::out_of_range::create + JSON_CATCH + JSON_HEDLEY_LIKELY + JSON_THROW + JSON_TRY + nlohmann::detail::string + + + reference + reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] + (size_type idx) + operator[] + + size_type + idx + + +access specified array element + +Returns a reference to the element at specified location idx.If idx is beyond the range of the array (i.e., idx >= size()), then the array is silently filled up with null values to make idx a valid reference to the last stored element. + + +idx + + +index of the element to access + + +reference to the element at index idx + + +type_error.305 + + +if the JSON value is not an array or null; in that cases, using the [] operator with an index makes no sense. + + +Constant if idx is in the range of the array. Otherwise linear in idx - size().{The example below shows how array elements can be read and written using [] operator. Note the addition of null values.,operatorarray__size_type}version 1.0.0 + + + + + nlohmann::detail::array + nlohmann::detail::type_error::create + JSON_HEDLEY_LIKELY + JSON_THROW + nlohmann::detail::string + + + const_reference + const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] + (size_type idx) const + operator[] + + size_type + idx + + +access specified array element + +Returns a const reference to the element at specified location idx. + +idx + + +index of the element to access + + +const reference to the element at index idx + + +type_error.305 + + +if the JSON value is not an array; in that case, using the [] operator with an index makes no sense. + + +Constant.{The example below shows how array elements can be read using the [] operator.,operatorarray__size_type_const}version 1.0.0 + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::array + nlohmann::detail::type_error::create + JSON_HEDLEY_LIKELY + JSON_THROW + nlohmann::detail::string + + + reference + reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] + (const typename object_t::key_type &key) + operator[] + + const typename object_t::key_type & + key + + +access specified object element + +Returns a reference to the element at with specified key key.If key is not found in the object, then it is silently added to the object and filled with a null value to make key a valid reference. In case the value was null before, it is converted to an object. + + +key + + +key of the element to access + + +reference to the element at key key + + +type_error.305 + + +if the JSON value is not an object or null; in that cases, using the [] operator with a key makes no sense. + + +Logarithmic in the size of the container.{The example below shows how object elements can be read and written using the [] operator.,operatorarray__key_type}see at(const typename object_t::key_type&) for access by reference with range checking +see value() for access by value with a default value +version 1.0.0 + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_LIKELY + JSON_THROW + nlohmann::detail::object + nlohmann::detail::string + + + const_reference + const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] + (const typename object_t::key_type &key) const + operator[] + + const typename object_t::key_type & + key + + +read-only access specified object element + +Returns a const reference to the element at with specified key key. No bounds checking is performed.If the element with key key does not exist, the behavior is undefined. + + +key + + +key of the element to access + + +const reference to the element at key key +The element with key key must exist. This precondition is enforced with an assertion. + + +type_error.305 + + +if the JSON value is not an object; in that case, using the [] operator with a key makes no sense. + + +Logarithmic in the size of the container.{The example below shows how object elements can be read using the [] operator.,operatorarray__key_type_const}see at(const typename object_t::key_type&) for access by reference with range checking +see value() for access by value with a default value +version 1.0.0 + + + + + nlohmann::detail::type_error::create + JSON_ASSERT + JSON_HEDLEY_LIKELY + JSON_HEDLEY_NON_NULL + JSON_THROW + nlohmann::detail::string + + + + + typename T + + + reference + reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] + (T *key) + operator[] + + T * + key + + +access specified object element + +Returns a reference to the element at with specified key key.If key is not found in the object, then it is silently added to the object and filled with a null value to make key a valid reference. In case the value was null before, it is converted to an object. + + +key + + +key of the element to access + + +reference to the element at key key + + +type_error.305 + + +if the JSON value is not an object or null; in that cases, using the [] operator with a key makes no sense. + + +Logarithmic in the size of the container.{The example below shows how object elements can be read and written using the [] operator.,operatorarray__key_type}see at(const typename object_t::key_type&) for access by reference with range checking +see value() for access by value with a default value +version 1.1.0 + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_LIKELY + JSON_HEDLEY_NON_NULL + JSON_THROW + nlohmann::detail::object + nlohmann::detail::string + + + + + typename T + + + const_reference + const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] + (T *key) const + operator[] + + T * + key + + +read-only access specified object element + +Returns a const reference to the element at with specified key key. No bounds checking is performed.If the element with key key does not exist, the behavior is undefined. + + +key + + +key of the element to access + + +const reference to the element at key key +The element with key key must exist. This precondition is enforced with an assertion. + + +type_error.305 + + +if the JSON value is not an object; in that case, using the [] operator with a key makes no sense. + + +Logarithmic in the size of the container.{The example below shows how object elements can be read using the [] operator.,operatorarray__key_type_const}see at(const typename object_t::key_type&) for access by reference with range checking +see value() for access by value with a default value +version 1.1.0 + + + + + nlohmann::detail::type_error::create + JSON_ASSERT + JSON_HEDLEY_LIKELY + JSON_THROW + nlohmann::detail::string + + + + + class ValueType + + + typename std::enable_if< detail::is_getable< basic_json_t, ValueType >::value &&!std::is_same< value_t, ValueType >::value, int >::type + 0 + + + ValueType + ValueType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value + (const typename object_t::key_type &key, const ValueType &default_value) const + value + + const typename object_t::key_type & + key + + + const ValueType & + default_value + + +access specified object element with default value + +Returns either a copy of an object's element at the specified key key or a given default value if no element with key key exists.The function is basically equivalent to executing try{ +returnat(key); +}catch(out_of_range){ +returndefault_value; +} +Unlike at(const typename object_t::key_type&), this function does not throw if the given key key was not found. +Unlike operator[](const typename object_t::key_type& key), this function does not implicitly add an element to the position defined by key. This function is furthermore also applicable to const objects. + + +key + + +key of the element to access + + + +default_value + + +the value to return if key is not found + + + + +ValueType + + +type compatible to JSON values, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. Note the type of the expected value at key and the default value default_value must be compatible. + + +copy of the element at key key or default_value if key is not found + + +type_error.302 + + +if default_value does not match the type of the value at key + + + +type_error.306 + + +if the JSON value is not an object; in that case, using value() with a key makes no sense. + + +Logarithmic in the size of the container.{The example below shows how object elements can be queried with a default value.,basic_json__value}see at(const typename object_t::key_type&) for access by reference with range checking +see operator[](const typename object_t::key_type&) for unchecked access by reference +version 1.0.0 + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_LIKELY + JSON_THROW + nlohmann::detail::string + + + string_t + string_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value + (const typename object_t::key_type &key, const char *default_value) const + value + + const typename object_t::key_type & + key + + + const char * + default_value + + +overload for a default value of type const char* + +access specified object element with default value Returns either a copy of an object's element at the specified key key or a given default value if no element with key key exists.The function is basically equivalent to executing try{ +returnat(key); +}catch(out_of_range){ +returndefault_value; +} +Unlike at(const typename object_t::key_type&), this function does not throw if the given key key was not found. +Unlike operator[](const typename object_t::key_type& key), this function does not implicitly add an element to the position defined by key. This function is furthermore also applicable to const objects. + + +key + + +key of the element to access + + + +default_value + + +the value to return if key is not found + + + + +ValueType + + +type compatible to JSON values, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. Note the type of the expected value at key and the default value default_value must be compatible. + + +copy of the element at key key or default_value if key is not found + + +type_error.302 + + +if default_value does not match the type of the value at key + + + +type_error.306 + + +if the JSON value is not an object; in that case, using value() with a key makes no sense. + + +Logarithmic in the size of the container.{The example below shows how object elements can be queried with a default value.,basic_json__value}see at(const typename object_t::key_type&) for access by reference with range checking +see operator[](const typename object_t::key_type&) for unchecked access by reference +version 1.0.0 + + + + + nlohmann::detail::value + + + + + class ValueType + + + typename std::enable_if< detail::is_getable< basic_json_t, ValueType >::value, int >::type + 0 + + + ValueType + ValueType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value + (const json_pointer &ptr, const ValueType &default_value) const + value + + const json_pointer & + ptr + + + const ValueType & + default_value + + +access specified object element via JSON Pointer with default value + +Returns either a copy of an object's element at the specified key key or a given default value if no element with key key exists.The function is basically equivalent to executing try{ +returnat(ptr); +}catch(out_of_range){ +returndefault_value; +} +Unlike at(const json_pointer&), this function does not throw if the given key key was not found. + + +ptr + + +a JSON pointer to the element to access + + + +default_value + + +the value to return if ptr found no value + + + + +ValueType + + +type compatible to JSON values, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. Note the type of the expected value at key and the default value default_value must be compatible. + + +copy of the element at key key or default_value if key is not found + + +type_error.302 + + +if default_value does not match the type of the value at ptr + + + +type_error.306 + + +if the JSON value is not an object; in that case, using value() with a key makes no sense. + + +Logarithmic in the size of the container.{The example below shows how object elements can be queried with a default value.,basic_json__value_ptr}see operator[](const json_pointer&) for unchecked access by reference +version 2.0.2 + + + + + nlohmann::detail::type_error::create + nlohmann::json_pointer< BasicJsonType >::get_checked + JSON_HEDLEY_LIKELY + JSON_HEDLEY_NON_NULL + JSON_INTERNAL_CATCH + JSON_THROW + JSON_TRY + nlohmann::detail::string + + + string_t + string_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value + (const json_pointer &ptr, const char *default_value) const + value + + const json_pointer & + ptr + + + const char * + default_value + + +overload for a default value of type const char* + + + + + + nlohmann::detail::value + + + reference + reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::front + () + front + +access the first element + +Returns a reference to the first element in the container. For a JSON container c, the expression c.front() is equivalent to *c.begin().In case of a structured type (array or object), a reference to the first element is returned. In case of number, string, boolean, or binary values, a reference to the value is returned. +Constant.The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions). +The JSON value remains unchanged. + + +invalid_iterator.214 + + +when called on null value + + +{The following code shows an example for front().,front}see back() access the last element +version 1.0.0 + + + + + + + const_reference + const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::front + () const + front + +access the first element + +Returns a reference to the first element in the container. For a JSON container c, the expression c.front() is equivalent to *c.begin().In case of a structured type (array or object), a reference to the first element is returned. In case of number, string, boolean, or binary values, a reference to the value is returned. +Constant.The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions). +The JSON value remains unchanged. + + +invalid_iterator.214 + + +when called on null value + + +{The following code shows an example for front().,front}see back() access the last element +version 1.0.0 + + + + + + + reference + reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::back + () + back + +access the last element + +Returns a reference to the last element in the container. For a JSON container c, the expression c.back() is equivalent to autotmp=c.end(); +--tmp; +return*tmp; +In case of a structured type (array or object), a reference to the last element is returned. In case of number, string, boolean, or binary values, a reference to the value is returned. +Constant.The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions). +The JSON value remains unchanged. + + +invalid_iterator.214 + + +when called on a null value. See example below. + + +{The following code shows an example for back().,back}see front() access the first element +version 1.0.0 + + + + + + + const_reference + const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::back + () const + back + +access the last element + +Returns a reference to the last element in the container. For a JSON container c, the expression c.back() is equivalent to autotmp=c.end(); +--tmp; +return*tmp; +In case of a structured type (array or object), a reference to the last element is returned. In case of number, string, boolean, or binary values, a reference to the value is returned. +Constant.The JSON value must not be null (would throw std::out_of_range) or an empty array or object (undefined behavior, guarded by assertions). +The JSON value remains unchanged. + + +invalid_iterator.214 + + +when called on a null value. See example below. + + +{The following code shows an example for back().,back}see front() access the first element +version 1.0.0 + + + + + + + + + class IteratorType + + + typename std::enable_if< std::is_same< IteratorType, typename basic_json_t::iterator >::value||std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int >::type + 0 + + + IteratorType + IteratorType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase + (IteratorType pos) + erase + + IteratorType + pos + + +remove element given an iterator + +Removes the element specified by iterator pos. The iterator pos must be valid and dereferenceable. Thus the end() iterator (which is valid, but is not dereferenceable) cannot be used as a value for pos.If called on a primitive type other than null, the resulting JSON value will be null. + +pos + + +iterator to the element to remove + + +Iterator following the last removed element. If the iterator pos refers to the last element, the end() iterator is returned. + + +IteratorType + + +an iterator or const_iterator + + +Invalidates iterators and references at or after the point of the erase, including the end() iterator. + + +type_error.307 + + +if called on a null value; example: "cannot use +erase() with null" + + + +invalid_iterator.202 + + +if called on an iterator which does not belong to the current JSON value; example: "iterator does not fit current +value" + + + +invalid_iterator.205 + + +if called on a primitive type with invalid iterator (i.e., any iterator which is not begin()); example: "iterator +out of range" + + +The complexity depends on the type: +objects: amortized constantarrays: linear in distance between pos and the end of the containerstrings and binary: linear in the length of the memberother types: constant +{The example shows the result of erase() for different JSON types.,erase__IteratorType}see erase(IteratorType, IteratorType) removes the elements in the given range +see erase(const typename object_t::key_type&) removes the element from an object at the given key +see erase(const size_type) removes the element from an array at the given index +version 1.0.0 + + + + + nlohmann::detail::array + nlohmann::detail::binary + nlohmann::detail::boolean + nlohmann::detail::invalid_iterator::create + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::null + nlohmann::detail::number_float + nlohmann::detail::number_integer + nlohmann::detail::number_unsigned + nlohmann::detail::object + nlohmann::detail::string + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + + + + + class IteratorType + + + typename std::enable_if< std::is_same< IteratorType, typename basic_json_t::iterator >::value||std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int >::type + 0 + + + IteratorType + IteratorType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase + (IteratorType first, IteratorType last) + erase + + IteratorType + first + + + IteratorType + last + + +remove elements given an iterator range + +Removes the element specified by the range [first; last). The iterator first does not need to be dereferenceable if first == last: erasing an empty range is a no-op.If called on a primitive type other than null, the resulting JSON value will be null. + +first + + +iterator to the beginning of the range to remove + + + +last + + +iterator past the end of the range to remove + + +Iterator following the last removed element. If the iterator second refers to the last element, the end() iterator is returned. + + +IteratorType + + +an iterator or const_iterator + + +Invalidates iterators and references at or after the point of the erase, including the end() iterator. + + +type_error.307 + + +if called on a null value; example: "cannot use +erase() with null" + + + +invalid_iterator.203 + + +if called on iterators which does not belong to the current JSON value; example: "iterators do not fit current value" + + + +invalid_iterator.204 + + +if called on a primitive type with invalid iterators (i.e., if first != begin() and last != end()); example: "iterators out of range" + + +The complexity depends on the type: +objects: log(size()) + std::distance(first, last)arrays: linear in the distance between first and last, plus linear in the distance between last and end of the containerstrings and binary: linear in the length of the memberother types: constant +{The example shows the result of erase() for different JSON types.,erase__IteratorType_IteratorType}see erase(IteratorType) removes the element at a given position +see erase(const typename object_t::key_type&) removes the element from an object at the given key +see erase(const size_type) removes the element from an array at the given index +version 1.0.0 + + + + + nlohmann::detail::array + nlohmann::detail::binary + nlohmann::detail::boolean + nlohmann::detail::invalid_iterator::create + nlohmann::detail::type_error::create + JSON_HEDLEY_LIKELY + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::null + nlohmann::detail::number_float + nlohmann::detail::number_integer + nlohmann::detail::number_unsigned + nlohmann::detail::object + nlohmann::detail::string + + + size_type + size_type nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase + (const typename object_t::key_type &key) + erase + + const typename object_t::key_type & + key + + +remove element from a JSON object given a key + +Removes elements from a JSON object with the key value key. + +key + + +value of the elements to remove + + +Number of elements removed. If ObjectType is the default std::map type, the return value will always be 0 (key was not found) or 1 (key was found). +References and iterators to the erased elements are invalidated. Other references and iterators are not affected. + + +type_error.307 + + +when called on a type other than JSON object; example: "cannot use erase() with null" + + +log(size()) + count(key){The example shows the effect of erase().,erase__key_type}see erase(IteratorType) removes the element at a given position +see erase(IteratorType, IteratorType) removes the elements in the given range +see erase(const size_type) removes the element from an array at the given index +version 1.0.0 + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_LIKELY + JSON_THROW + nlohmann::detail::string + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase + (const size_type idx) + erase + + const size_type + idx + + +remove element from a JSON array given an index + +Removes element from a JSON array at the index idx. + +idx + + +index of the element to remove + + + + +type_error.307 + + +when called on a type other than JSON object; example: "cannot use erase() with null" + + + +out_of_range.401 + + +when idx >= size(); example: "array index 17 +is out of range" + + +Linear in distance between idx and the end of the container.{The example shows the effect of erase().,erase__size_type}see erase(IteratorType) removes the element at a given position +see erase(IteratorType, IteratorType) removes the elements in the given range +see erase(const typename object_t::key_type&) removes the element from an object at the given key +version 1.0.0 + + + + + nlohmann::detail::type_error::create + nlohmann::detail::out_of_range::create + JSON_HEDLEY_LIKELY + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::string + nlohmann::to_string + +
                                                                                                + +
                                                                                                lookup
                                                                                                + + + + typename KeyT + + + iterator + iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::find + (KeyT &&key) + find + + KeyT && + key + + +find an element in a JSON object + +Finds an element in a JSON object with key equivalent to key. If the element is not found or the JSON value is not an object, end() is returned.This method always returns end() when executed on a JSON type that is not an object. + + +key + + +key value of the element to search for. + + +Iterator to an element with key equivalent to key. If no such element is found or the JSON value is not an object, past-the-end (see end()) iterator is returned. +Logarithmic in the size of the JSON object.{The example shows how find() is used.,find__key_type}see contains(KeyT&&) const checks whether a key exists +version 1.0.0 + + + + + nlohmann::detail::key + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + + + + + typename KeyT + + + const_iterator + const_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::find + (KeyT &&key) const + find + + KeyT && + key + + +find an element in a JSON object + +find an element in a JSON object Finds an element in a JSON object with key equivalent to key. If the element is not found or the JSON value is not an object, end() is returned.This method always returns end() when executed on a JSON type that is not an object. + + +key + + +key value of the element to search for. + + +Iterator to an element with key equivalent to key. If no such element is found or the JSON value is not an object, past-the-end (see end()) iterator is returned. +Logarithmic in the size of the JSON object.{The example shows how find() is used.,find__key_type}see contains(KeyT&&) const checks whether a key exists +version 1.0.0 + + + + + nlohmann::detail::key + + + + + typename KeyT + + + size_type + size_type nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::count + (KeyT &&key) const + count + + KeyT && + key + + +returns the number of occurrences of a key in a JSON object + +Returns the number of elements with key key. If ObjectType is the default std::map type, the return value will always be 0 (key was not found) or 1 (key was found).This method always returns 0 when executed on a JSON type that is not an object. + + +key + + +key value of the element to count + + +Number of elements with key key. If the JSON value is not an object, the return value will be 0. +Logarithmic in the size of the JSON object.{The example shows how count() is used.,count}version 1.0.0 + + + + + nlohmann::detail::key + nlohmann::detail::value + + + + + typename KeyT + + + typename std::enable_if< !std::is_same< typename std::decay< KeyT >::type, json_pointer >::value, int >::type + 0 + + + bool + bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::contains + (KeyT &&key) const + contains + + KeyT && + key + + +check the existence of an element in a JSON object + +Check whether an element exists in a JSON object with key equivalent to key. If the element is not found or the JSON value is not an object, false is returned.This method always returns false when executed on a JSON type that is not an object. + + +key + + +key value to check its existence. + + +true if an element with specified key exists. If no such element with such key is found or the JSON value is not an object, false is returned. +Logarithmic in the size of the JSON object.{The following code shows an example for contains().,contains}see find(KeyT&&) returns an iterator to an object element +see contains(const json_pointer&) const checks the existence for a JSON pointer +version 3.6.0 + + + + + nlohmann::detail::key + cudnn_frontend::check_rule + + + bool + bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::contains + (const json_pointer &ptr) const + contains + + const json_pointer & + ptr + + +check the existence of an element in a JSON object given a JSON pointer + +Check whether the given JSON pointer ptr can be resolved in the current JSON value.This method can be executed on any JSON value type. + + +ptr + + +JSON pointer to check its existence. + + +true if the JSON pointer can be resolved to a stored value, false otherwise. +If j.contains(ptr) returns true, it is safe to call j[ptr]. + + +parse_error.106 + + +if an array index begins with '0' + + + +parse_error.109 + + +if an array index was not a number + + +Logarithmic in the size of the JSON object.{The following code shows an example for contains().,contains_json_pointer}see contains(KeyT &&) const checks the existence of a key +version 3.7.0 + + + + + nlohmann::json_pointer< BasicJsonType >::contains + +
                                                                                                + +
                                                                                                iterators
                                                                                                + + iteration_proxy< iterator > + static iteration_proxy<iterator> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::iterator_wrapper + (reference ref) noexcept + iterator_wrapper + + reference + ref + + +wrapper to access iterator member functions in range-based for + +This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.For loop without iterator_wrapper:for(autoit=j_object.begin();it!=j_object.end();++it) +{ +std::cout<<"key:"<<it.key()<<",value:"<<it.value()<<'\n'; +} +Range-based for loop without iterator proxy:for(autoit:j_object) +{ +//"it"isoftypejson::referenceandhasnokey()member +std::cout<<"value:"<<it<<'\n'; +} +Range-based for loop with iterator proxy:for(autoit:json::iterator_wrapper(j_object)) +{ +std::cout<<"key:"<<it.key()<<",value:"<<it.value()<<'\n'; +} +When iterating over an array, key() will return the index of the element as string (see example). + + +ref + + +reference to a JSON value + + +iteration proxy object wrapping ref with an interface to use in range-based for loops +{The following code shows how the wrapper is used,iterator_wrapper}Strong guarantee: if an exception is thrown, there are no changes in the JSON value.Constant.The name of this function is not yet final and may change in the future. +DeprecatedThis stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use items() instead; that is, replace json::iterator_wrapper(j) with j.items(). + + + + JSON_HEDLEY_DEPRECATED_FOR + + + iteration_proxy< const_iterator > + static iteration_proxy<const_iterator> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::iterator_wrapper + (const_reference ref) noexcept + iterator_wrapper + + const_reference + ref + + +wrapper to access iterator member functions in range-based for + +This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.For loop without iterator_wrapper:for(autoit=j_object.begin();it!=j_object.end();++it) +{ +std::cout<<"key:"<<it.key()<<",value:"<<it.value()<<'\n'; +} +Range-based for loop without iterator proxy:for(autoit:j_object) +{ +//"it"isoftypejson::referenceandhasnokey()member +std::cout<<"value:"<<it<<'\n'; +} +Range-based for loop with iterator proxy:for(autoit:json::iterator_wrapper(j_object)) +{ +std::cout<<"key:"<<it.key()<<",value:"<<it.value()<<'\n'; +} +When iterating over an array, key() will return the index of the element as string (see example). + + +ref + + +reference to a JSON value + + +iteration proxy object wrapping ref with an interface to use in range-based for loops +{The following code shows how the wrapper is used,iterator_wrapper}Strong guarantee: if an exception is thrown, there are no changes in the JSON value.Constant.The name of this function is not yet final and may change in the future. +DeprecatedThis stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use items() instead; that is, replace json::iterator_wrapper(j) with j.items(). + + + + + + iterator + iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::begin + () noexcept + begin + +returns an iterator to the first element + +Returns an iterator to the first element.Illustration from cppreference.com + iterator to the first element +Constant.This function helps basic_json satisfying the Container requirements: +The complexity is constant. +{The following code shows an example for begin().,begin}see cbegin() returns a const iterator to the beginning +see end() returns an iterator to the end +see cend() returns a const iterator to the end +version 1.0.0 + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::merge_patch + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + + + const_iterator + const_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::begin + () const noexcept + begin + +returns a const iterator to the first element + +Returns a const iterator to the first element.Illustration from cppreference.com + const iterator to the first element +Constant.This function helps basic_json satisfying the Container requirements: +The complexity is constant.Has the semantics of const_cast<const basic_json&>(*this).begin(). +{The following code shows an example for cbegin().,cbegin}see begin() returns an iterator to the beginning +see end() returns an iterator to the end +see cend() returns a const iterator to the end +version 1.0.0 + + + + + + + const_iterator + const_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::cbegin + () const noexcept + cbegin + +returns a const iterator to the first element + +Returns a const iterator to the first element.Illustration from cppreference.com + const iterator to the first element +Constant.This function helps basic_json satisfying the Container requirements: +The complexity is constant.Has the semantics of const_cast<const basic_json&>(*this).begin(). +{The following code shows an example for cbegin().,cbegin}see begin() returns an iterator to the beginning +see end() returns an iterator to the end +see cend() returns a const iterator to the end +version 1.0.0 + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update + + + iterator + iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::end + () noexcept + end + +returns an iterator to one past the last element + +Returns an iterator to one past the last element.Illustration from cppreference.com + iterator one past the last element +Constant.This function helps basic_json satisfying the Container requirements: +The complexity is constant. +{The following code shows an example for end().,end}see cend() returns a const iterator to the end +see begin() returns an iterator to the beginning +see cbegin() returns a const iterator to the beginning +version 1.0.0 + + + + + nlohmann::detail::iter_impl< BasicJsonType >::set_end + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::merge_patch + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + + + const_iterator + const_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::end + () const noexcept + end + +returns a const iterator to one past the last element + +Returns a const iterator to one past the last element.Illustration from cppreference.com + const iterator one past the last element +Constant.This function helps basic_json satisfying the Container requirements: +The complexity is constant.Has the semantics of const_cast<const basic_json&>(*this).end(). +{The following code shows an example for cend().,cend}see end() returns an iterator to the end +see begin() returns an iterator to the beginning +see cbegin() returns a const iterator to the beginning +version 1.0.0 + + + + + + + const_iterator + const_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::cend + () const noexcept + cend + +returns a const iterator to one past the last element + +Returns a const iterator to one past the last element.Illustration from cppreference.com + const iterator one past the last element +Constant.This function helps basic_json satisfying the Container requirements: +The complexity is constant.Has the semantics of const_cast<const basic_json&>(*this).end(). +{The following code shows an example for cend().,cend}see end() returns an iterator to the end +see begin() returns an iterator to the beginning +see cbegin() returns a const iterator to the beginning +version 1.0.0 + + + + + nlohmann::detail::iter_impl< BasicJsonType >::set_end + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update + + + reverse_iterator + reverse_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::rbegin + () noexcept + rbegin + +returns an iterator to the reverse-beginning + +Returns an iterator to the reverse-beginning; that is, the last element.Illustration from cppreference.com + Constant.This function helps basic_json satisfying the ReversibleContainer requirements: +The complexity is constant.Has the semantics of reverse_iterator(end()). +{The following code shows an example for rbegin().,rbegin}see crbegin() returns a const reverse iterator to the beginning +see rend() returns a reverse iterator to the end +see crend() returns a const reverse iterator to the end +version 1.0.0 + + + + + + + const_reverse_iterator + const_reverse_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::rbegin + () const noexcept + rbegin + +returns a const reverse iterator to the last element + +Returns a const iterator to the reverse-beginning; that is, the last element.Illustration from cppreference.com + Constant.This function helps basic_json satisfying the ReversibleContainer requirements: +The complexity is constant.Has the semantics of const_cast<const basic_json&>(*this).rbegin(). +{The following code shows an example for crbegin().,crbegin}see rbegin() returns a reverse iterator to the beginning +see rend() returns a reverse iterator to the end +see crend() returns a const reverse iterator to the end +version 1.0.0 + + + + + + + reverse_iterator + reverse_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::rend + () noexcept + rend + +returns an iterator to the reverse-end + +Returns an iterator to the reverse-end; that is, one before the first element.Illustration from cppreference.com + Constant.This function helps basic_json satisfying the ReversibleContainer requirements: +The complexity is constant.Has the semantics of reverse_iterator(begin()). +{The following code shows an example for rend().,rend}see crend() returns a const reverse iterator to the end +see rbegin() returns a reverse iterator to the beginning +see crbegin() returns a const reverse iterator to the beginning +version 1.0.0 + + + + + + + const_reverse_iterator + const_reverse_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::rend + () const noexcept + rend + +returns a const reverse iterator to one before the first + +Returns a const reverse iterator to the reverse-end; that is, one before the first element.Illustration from cppreference.com + Constant.This function helps basic_json satisfying the ReversibleContainer requirements: +The complexity is constant.Has the semantics of const_cast<const basic_json&>(*this).rend(). +{The following code shows an example for crend().,crend}see rend() returns a reverse iterator to the end +see rbegin() returns a reverse iterator to the beginning +see crbegin() returns a const reverse iterator to the beginning +version 1.0.0 + + + + + + + const_reverse_iterator + const_reverse_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::crbegin + () const noexcept + crbegin + +returns a const reverse iterator to the last element + +Returns a const iterator to the reverse-beginning; that is, the last element.Illustration from cppreference.com + Constant.This function helps basic_json satisfying the ReversibleContainer requirements: +The complexity is constant.Has the semantics of const_cast<const basic_json&>(*this).rbegin(). +{The following code shows an example for crbegin().,crbegin}see rbegin() returns a reverse iterator to the beginning +see rend() returns a reverse iterator to the end +see crend() returns a const reverse iterator to the end +version 1.0.0 + + + + + + + const_reverse_iterator + const_reverse_iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::crend + () const noexcept + crend + +returns a const reverse iterator to one before the first + +Returns a const reverse iterator to the reverse-end; that is, one before the first element.Illustration from cppreference.com + Constant.This function helps basic_json satisfying the ReversibleContainer requirements: +The complexity is constant.Has the semantics of const_cast<const basic_json&>(*this).rend(). +{The following code shows an example for crend().,crend}see rend() returns a reverse iterator to the end +see rbegin() returns a reverse iterator to the beginning +see crbegin() returns a const reverse iterator to the beginning +version 1.0.0 + + + + + JSON_HEDLEY_DEPRECATED_FOR + + + iteration_proxy< iterator > + iteration_proxy<iterator> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::items + () noexcept + items + +helper to access iterator member functions in range-based for + +This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.For loop without items() function:for(autoit=j_object.begin();it!=j_object.end();++it) +{ +std::cout<<"key:"<<it.key()<<",value:"<<it.value()<<'\n'; +} +Range-based for loop without items() function:for(autoit:j_object) +{ +//"it"isoftypejson::referenceandhasnokey()member +std::cout<<"value:"<<it<<'\n'; +} +Range-based for loop with items() function:for(auto&el:j_object.items()) +{ +std::cout<<"key:"<<el.key()<<",value:"<<el.value()<<'\n'; +} +The items() function also allows to use structured bindings (C++17):for(auto&[key,val]:j_object.items()) +{ +std::cout<<"key:"<<key<<",value:"<<val<<'\n'; +} +When iterating over an array, key() will return the index of the element as string (see example). For primitive types (e.g., numbers), key() returns an empty string. +Using items() on temporary objects is dangerous. Make sure the object's lifetime exeeds the iteration. See https://github.com/nlohmann/json/issues/2040 for more information. +iteration proxy object wrapping ref with an interface to use in range-based for loops +{The following code shows how the function is used.,items}Strong guarantee: if an exception is thrown, there are no changes in the JSON value.Constant.version 3.1.0, structured bindings support since 3.5.0. + + + + + + + iteration_proxy< const_iterator > + iteration_proxy<const_iterator> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::items + () const noexcept + items + +helper to access iterator member functions in range-based for + +This function allows to access iterator::key() and iterator::value() during range-based for loops. In these loops, a reference to the JSON values is returned, so there is no access to the underlying iterator.For loop without items() function:for(autoit=j_object.begin();it!=j_object.end();++it) +{ +std::cout<<"key:"<<it.key()<<",value:"<<it.value()<<'\n'; +} +Range-based for loop without items() function:for(autoit:j_object) +{ +//"it"isoftypejson::referenceandhasnokey()member +std::cout<<"value:"<<it<<'\n'; +} +Range-based for loop with items() function:for(auto&el:j_object.items()) +{ +std::cout<<"key:"<<el.key()<<",value:"<<el.value()<<'\n'; +} +The items() function also allows to use structured bindings (C++17):for(auto&[key,val]:j_object.items()) +{ +std::cout<<"key:"<<key<<",value:"<<val<<'\n'; +} +When iterating over an array, key() will return the index of the element as string (see example). For primitive types (e.g., numbers), key() returns an empty string. +Using items() on temporary objects is dangerous. Make sure the object's lifetime exeeds the iteration. See https://github.com/nlohmann/json/issues/2040 for more information. +iteration proxy object wrapping ref with an interface to use in range-based for loops +{The following code shows how the function is used.,items}Strong guarantee: if an exception is thrown, there are no changes in the JSON value.Constant.version 3.1.0, structured bindings support since 3.5.0. + + + + + +
                                                                                                + +
                                                                                                capacity
                                                                                                + + bool + bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::empty + () const noexcept + empty + +checks whether the container is empty. + +Checks if a JSON value has no elements (i.e. whether its size is 0).The return value depends on the different types and is defined as follows: +Value type return value + +null true + +boolean false + +string false + +number false + +binary false + +object result of function object_t::empty() + +array result of function array_t::empty() +
                                                                                                +{The following code uses empty() to check if a JSON object contains any elements.,empty}
                                                                                                +Constant, as long as array_t and object_t satisfy the Container concept; that is, their empty() functions have constant complexity.
                                                                                                No changes.No-throw guarantee: this function never throws exceptions.This function does not return whether a string stored as JSON value is empty - it returns whether the JSON container itself is empty which is false in the case of a string. +This function helps basic_json satisfying the Container requirements: +The complexity is constant.Has the semantics of begin() == end(). +see size() returns the number of elements +version 1.0.0 +
                                                                                                + + + + nlohmann::detail::array + nlohmann::detail::null + nlohmann::detail::object +
                                                                                                + + size_type + size_type nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::size + () const noexcept + size + +returns the number of elements + +Returns the number of elements in a JSON value.The return value depends on the different types and is defined as follows: +Value type return value + +null 0 + +boolean 1 + +string 1 + +number 1 + +binary 1 + +object result of function object_t::size() + +array result of function array_t::size() +
                                                                                                +{The following code calls size() on the different value types.,size}
                                                                                                +Constant, as long as array_t and object_t satisfy the Container concept; that is, their size() functions have constant complexity.
                                                                                                No changes.No-throw guarantee: this function never throws exceptions.This function does not return the length of a string stored as JSON value - it returns the number of elements in the JSON value which is 1 in the case of a string. +This function helps basic_json satisfying the Container requirements: +The complexity is constant.Has the semantics of std::distance(begin(), end()). +see empty() checks whether the container is empty +see max_size() returns the maximal number of elements +version 1.0.0 +
                                                                                                + + + + nlohmann::detail::array + nlohmann::detail::null + nlohmann::detail::object + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch +
                                                                                                + + size_type + size_type nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::max_size + () const noexcept + max_size + +returns the maximum possible number of elements + +Returns the maximum number of elements a JSON value is able to hold due to system or library implementation limitations, i.e. std::distance(begin(), end()) for the JSON value.The return value depends on the different types and is defined as follows: +Value type return value + +null 0 (same as size()) + +boolean 1 (same as size()) + +string 1 (same as size()) + +number 1 (same as size()) + +binary 1 (same as size()) + +object result of function object_t::max_size() + +array result of function array_t::max_size() +
                                                                                                +{The following code calls max_size() on the different value types. Note the output is implementation specific.,max_size}
                                                                                                +Constant, as long as array_t and object_t satisfy the Container concept; that is, their max_size() functions have constant complexity.
                                                                                                No changes.No-throw guarantee: this function never throws exceptions.This function helps basic_json satisfying the Container requirements: +The complexity is constant.Has the semantics of returning b.size() where b is the largest possible JSON value. +see size() returns the number of elements +version 1.0.0 +
                                                                                                + + + + nlohmann::detail::array + nlohmann::detail::object +
                                                                                                +
                                                                                                + +
                                                                                                modifiers
                                                                                                + + friend void + void swap + (reference left, reference right) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value) + swap + + reference + left + + + reference + right + + +exchanges the values + +Exchanges the contents of the JSON value from left with those of right. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated. implemented as a friend function callable via ADL. + +left + + +JSON value to exchange the contents with + + + +right + + +JSON value to exchange the contents with + + +Constant.{The example below shows how JSON values can be swapped with swap().,swap__reference}version 1.0.0 + + + + + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::clear + () noexcept + clear + +clears the contents + +Clears the content of a JSON value and resets it to the default value as if basic_json(value_t) would have been called with the current value type from type(): +Value type initial value + +null null + +boolean false + +string "" + +number 0 + +binary An empty byte vector + +object {} + +array [] +
                                                                                                +Has the same effect as calling *this=basic_json(type()); + +{The example below shows the effect of clear() to different JSON types.,clear}
                                                                                                Linear in the size of the JSON value.All iterators, pointers and references related to this container are invalidated.No-throw guarantee: this function never throws exceptions.see basic_json(value_t) constructor that creates an object with the same value than calling clear() +version 1.0.0 +
                                                                                                + + + + nlohmann::detail::array + nlohmann::detail::binary + nlohmann::detail::boolean + nlohmann::detail::number_float + nlohmann::detail::number_integer + nlohmann::detail::number_unsigned + nlohmann::detail::object + nlohmann::detail::string +
                                                                                                + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back + (basic_json &&val) + push_back + + basic_json && + val + + +add an object to an array + +Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val. + +val + + +the value to add to the JSON array + + + + +type_error.308 + + +when called on a type other than JSON array or null; example: "cannot use push_back() with number" + + +Amortized constant.{The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}version 1.0.0 + + + + + nlohmann::detail::array + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::string + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + + + reference + reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator+= + (basic_json &&val) + operator+= + + basic_json && + val + + +add an object to an array + +add an object to an array Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val. + +val + + +the value to add to the JSON array + + + + +type_error.308 + + +when called on a type other than JSON array or null; example: "cannot use push_back() with number" + + +Amortized constant.{The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}version 1.0.0 + + + + + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back + (const basic_json &val) + push_back + + const basic_json & + val + + +add an object to an array + +add an object to an array Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val. + +val + + +the value to add to the JSON array + + + + +type_error.308 + + +when called on a type other than JSON array or null; example: "cannot use push_back() with number" + + +Amortized constant.{The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}version 1.0.0 + + + + + nlohmann::detail::array + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::string + + + reference + reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator+= + (const basic_json &val) + operator+= + + const basic_json & + val + + +add an object to an array + +add an object to an array Appends the given element val to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending val. + +val + + +the value to add to the JSON array + + + + +type_error.308 + + +when called on a type other than JSON array or null; example: "cannot use push_back() with number" + + +Amortized constant.{The example shows how push_back() and += can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,push_back}version 1.0.0 + + + + + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back + (const typename object_t::value_type &val) + push_back + + const typename object_t::value_type & + val + + +add an object to an object + +Inserts the given element val to the JSON object. If the function is called on a JSON null value, an empty object is created before inserting val. + +val + + +the value to add to the JSON object + + + + +type_error.308 + + +when called on a type other than JSON object or null; example: "cannot use push_back() with number" + + +Logarithmic in the size of the container, O(log(size())).{The example shows how push_back() and += can be used to add elements to a JSON object. Note how the null value was silently converted to a JSON object.,push_back__object_t__value}version 1.0.0 + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::object + nlohmann::detail::string + + + reference + reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator+= + (const typename object_t::value_type &val) + operator+= + + const typename object_t::value_type & + val + + +add an object to an object + +add an object to an object Inserts the given element val to the JSON object. If the function is called on a JSON null value, an empty object is created before inserting val. + +val + + +the value to add to the JSON object + + + + +type_error.308 + + +when called on a type other than JSON object or null; example: "cannot use push_back() with number" + + +Logarithmic in the size of the container, O(log(size())).{The example shows how push_back() and += can be used to add elements to a JSON object. Note how the null value was silently converted to a JSON object.,push_back__object_t__value}version 1.0.0 + + + + + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back + (initializer_list_t init) + push_back + + initializer_list_t + init + + +add an object to an object + +This function allows to use push_back with an initializer list. In case +the current value is an object,the initializer list init contains only two elements, andthe first element of init is a string, +init is converted into an object element and added using push_back(const typename object_t::value_type&). Otherwise, init is converted to a JSON value and added using push_back(basic_json&&). + +init + + +an initializer list + + +Linear in the size of the initializer list init.This function is required to resolve an ambiguous overload error, because pairs like {"key", "value"} can be both interpreted as object_t::value_type or std::initializer_list<basic_json>, see https://github.com/nlohmann/json/issues/235 for more information. +{The example shows how initializer lists are treated as objects when possible.,push_back__initializer_list} + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ref + nlohmann::detail::key + + + reference + reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator+= + (initializer_list_t init) + operator+= + + initializer_list_t + init + + +add an object to an object + +add an object to an object This function allows to use push_back with an initializer list. In case +the current value is an object,the initializer list init contains only two elements, andthe first element of init is a string, +init is converted into an object element and added using push_back(const typename object_t::value_type&). Otherwise, init is converted to a JSON value and added using push_back(basic_json&&). + +init + + +an initializer list + + +Linear in the size of the initializer list init.This function is required to resolve an ambiguous overload error, because pairs like {"key", "value"} can be both interpreted as object_t::value_type or std::initializer_list<basic_json>, see https://github.com/nlohmann/json/issues/235 for more information. +{The example shows how initializer lists are treated as objects when possible.,push_back__initializer_list} + + + + + + + + class... + Args + Args + + + reference + reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::emplace_back + (Args &&... args) + emplace_back + + Args &&... + args + + +add an object to an array + +Creates a JSON value from the passed parameters args to the end of the JSON value. If the function is called on a JSON null value, an empty array is created before appending the value created from args. + +args + + +arguments to forward to a constructor of basic_json + + + + +Args + + +compatible types to create a basic_json object + + +reference to the inserted element + + +type_error.311 + + +when called on a type other than JSON array or null; example: "cannot use emplace_back() with number" + + +Amortized constant.{The example shows how push_back() can be used to add elements to a JSON array. Note how the null value was silently converted to a JSON array.,emplace_back}version 2.0.8, returns reference since 3.7.0 + + + + + nlohmann::detail::array + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::string + + + + + class... + Args + Args + + + std::pair< iterator, bool > + std::pair<iterator, bool> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::emplace + (Args &&... args) + emplace + + Args &&... + args + + +add an object to an object if key does not exist + +Inserts a new element into a JSON object constructed in-place with the given args if there is no element with the key in the container. If the function is called on a JSON null value, an empty object is created before appending the value created from args. + +args + + +arguments to forward to a constructor of basic_json + + + + +Args + + +compatible types to create a basic_json object + + +a pair consisting of an iterator to the inserted element, or the already-existing element if no insertion happened, and a bool denoting whether the insertion took place. + + +type_error.311 + + +when called on a type other than JSON object or null; example: "cannot use emplace() with number" + + +Logarithmic in the size of the container, O(log(size())).{The example shows how emplace() can be used to add elements to a JSON object. Note how the null value was silently converted to a JSON object. Further note how no value is added if there was already one value stored with the same key.,emplace}version 2.0.8 + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::object + nlohmann::detail::string + + + + + typename... + Args + Args + + + iterator + iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert_iterator + (const_iterator pos, Args &&... args) + insert_iterator + + const_iterator + pos + + + Args &&... + args + + + + +Helper for insertion of an iterator : This uses std::distance to support GCC 4.8, see https://github.com/nlohmann/json/pull/1257 + + + + + nlohmann::detail::internal_iterator< BasicJsonType >::array_iterator + JSON_ASSERT + nlohmann::detail::iter_impl< BasicJsonType >::m_it + + + iterator + iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert + (const_iterator pos, const basic_json &val) + insert + + const_iterator + pos + + + const basic_json & + val + + +inserts element + +Inserts element val before iterator pos. + +pos + + +iterator before which the content will be inserted; may be the end() iterator + + + +val + + +element to insert + + +iterator pointing to the inserted val. + + +type_error.309 + + +if called on JSON values other than arrays; example: "cannot use insert() with string" + + + +invalid_iterator.202 + + +if pos is not an iterator of *this; example: "iterator does not fit current value" + + +Constant plus linear in the distance between pos and end of the container.{The example shows how insert() is used.,insert}version 1.0.0 + + + + + nlohmann::detail::invalid_iterator::create + nlohmann::detail::type_error::create + JSON_HEDLEY_LIKELY + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::string + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + + + iterator + iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert + (const_iterator pos, basic_json &&val) + insert + + const_iterator + pos + + + basic_json && + val + + +inserts element + +inserts element Inserts element val before iterator pos. + +pos + + +iterator before which the content will be inserted; may be the end() iterator + + + +val + + +element to insert + + +iterator pointing to the inserted val. + + +type_error.309 + + +if called on JSON values other than arrays; example: "cannot use insert() with string" + + + +invalid_iterator.202 + + +if pos is not an iterator of *this; example: "iterator does not fit current value" + + +Constant plus linear in the distance between pos and end of the container.{The example shows how insert() is used.,insert}version 1.0.0 + + + + + + + iterator + iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert + (const_iterator pos, size_type cnt, const basic_json &val) + insert + + const_iterator + pos + + + size_type + cnt + + + const basic_json & + val + + +inserts elements + +Inserts cnt copies of val before iterator pos. + +pos + + +iterator before which the content will be inserted; may be the end() iterator + + + +cnt + + +number of copies of val to insert + + + +val + + +element to insert + + +iterator pointing to the first element inserted, or pos if cnt==0 + + +type_error.309 + + +if called on JSON values other than arrays; example: "cannot use insert() with string" + + + +invalid_iterator.202 + + +if pos is not an iterator of *this; example: "iterator does not fit current value" + + +Linear in cnt plus linear in the distance between pos and end of the container.{The example shows how insert() is used.,insert__count}version 1.0.0 + + + + + nlohmann::detail::invalid_iterator::create + nlohmann::detail::type_error::create + JSON_HEDLEY_LIKELY + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::string + + + iterator + iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert + (const_iterator pos, const_iterator first, const_iterator last) + insert + + const_iterator + pos + + + const_iterator + first + + + const_iterator + last + + +inserts elements + +Inserts elements from range [first, last) before iterator pos. + +pos + + +iterator before which the content will be inserted; may be the end() iterator + + + +first + + +begin of the range of elements to insert + + + +last + + +end of the range of elements to insert + + + + +type_error.309 + + +if called on JSON values other than arrays; example: "cannot use insert() with string" + + + +invalid_iterator.202 + + +if pos is not an iterator of *this; example: "iterator does not fit current value" + + + +invalid_iterator.210 + + +if first and last do not belong to the same JSON value; example: "iterators do not fit" + + + +invalid_iterator.211 + + +if first or last are iterators into container for which insert is called; example: "passed iterators may not +belong to container" + + +iterator pointing to the first element inserted, or pos if first==last +Linear in std::distance(first, last) plus linear in the distance between pos and end of the container.{The example shows how insert() is used.,insert__range}version 1.0.0 + + + + + nlohmann::detail::internal_iterator< BasicJsonType >::array_iterator + nlohmann::detail::invalid_iterator::create + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::iter_impl< BasicJsonType >::m_it + nlohmann::detail::string + + + iterator + iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert + (const_iterator pos, initializer_list_t ilist) + insert + + const_iterator + pos + + + initializer_list_t + ilist + + +inserts elements + +Inserts elements from initializer list ilist before iterator pos. + +pos + + +iterator before which the content will be inserted; may be the end() iterator + + + +ilist + + +initializer list to insert the values from + + + + +type_error.309 + + +if called on JSON values other than arrays; example: "cannot use insert() with string" + + + +invalid_iterator.202 + + +if pos is not an iterator of *this; example: "iterator does not fit current value" + + +iterator pointing to the first element inserted, or pos if ilist is empty +Linear in ilist.size() plus linear in the distance between pos and end of the container.{The example shows how insert() is used.,insert__ilist}version 1.0.0 + + + + + nlohmann::detail::invalid_iterator::create + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::string + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert + (const_iterator first, const_iterator last) + insert + + const_iterator + first + + + const_iterator + last + + +inserts elements + +Inserts elements from range [first, last). + +first + + +begin of the range of elements to insert + + + +last + + +end of the range of elements to insert + + + + +type_error.309 + + +if called on JSON values other than objects; example: "cannot use insert() with string" + + + +invalid_iterator.202 + + +if iterator first or last does does not point to an object; example: "iterators first and last must point to +objects" + + + +invalid_iterator.210 + + +if first and last do not belong to the same JSON value; example: "iterators do not fit" + + +Logarithmic: O(N*log(size() + N)), where N is the number of elements to insert.{The example shows how insert() is used.,insert__range_object}version 3.0.0 + + + + + nlohmann::detail::invalid_iterator::create + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::iter_impl< BasicJsonType >::m_it + nlohmann::detail::internal_iterator< BasicJsonType >::object_iterator + nlohmann::detail::string + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update + (const_reference j) + update + + const_reference + j + + +updates a JSON object from another object, overwriting existing keys + +Inserts all values from JSON object j and overwrites existing keys. + +j + + +JSON object to read values from + + + + +type_error.312 + + +if called on JSON values other than objects; example: "cannot use update() with string" + + +O(N*log(size() + N)), where N is the number of elements to insert.{The example shows how update() is used.,update}https://docs.python.org/3.6/library/stdtypes.html#dict.update +version 3.0.0 + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::cbegin + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::cend + nlohmann::detail::type_error::create + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_object + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::object + nlohmann::detail::string + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::type_name + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update + (const_iterator first, const_iterator last) + update + + const_iterator + first + + + const_iterator + last + + +updates a JSON object from another object, overwriting existing keys + +Inserts all values from from range [first, last) and overwrites existing keys. + +first + + +begin of the range of elements to insert + + + +last + + +end of the range of elements to insert + + + + +type_error.312 + + +if called on JSON values other than objects; example: "cannot use update() with string" + + + +invalid_iterator.202 + + +if iterator first or last does does not point to an object; example: "iterators first and last must point to +objects" + + + +invalid_iterator.210 + + +if first and last do not belong to the same JSON value; example: "iterators do not fit" + + +O(N*log(size() + N)), where N is the number of elements to insert.{The example shows how update() is used__range.,update}https://docs.python.org/3.6/library/stdtypes.html#dict.update +version 3.0.0 + + + + + nlohmann::detail::invalid_iterator::create + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::object + nlohmann::detail::string + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap + (reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value) + swap + + reference + other + + +exchanges the values + +Exchanges the contents of the JSON value with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated. + +other + + +JSON value to exchange the contents with + + +Constant.{The example below shows how JSON values can be swapped with swap().,swap__reference}version 1.0.0 + + + + + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap + (array_t &other) + swap + + array_t & + other + + +exchanges the values + +Exchanges the contents of a JSON array with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated. + +other + + +array to exchange the contents with + + + + +type_error.310 + + +when JSON value is not an array; example: "cannot +use swap() with string" + + +Constant.{The example below shows how arrays can be swapped with swap().,swap__array_t}version 1.0.0 + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_LIKELY + JSON_THROW + nlohmann::detail::string + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap + (object_t &other) + swap + + object_t & + other + + +exchanges the values + +Exchanges the contents of a JSON object with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated. + +other + + +object to exchange the contents with + + + + +type_error.310 + + +when JSON value is not an object; example: "cannot use swap() with string" + + +Constant.{The example below shows how objects can be swapped with swap().,swap__object_t}version 1.0.0 + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_LIKELY + JSON_THROW + nlohmann::detail::string + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap + (string_t &other) + swap + + string_t & + other + + +exchanges the values + +Exchanges the contents of a JSON string with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated. + +other + + +string to exchange the contents with + + + + +type_error.310 + + +when JSON value is not a string; example: "cannot +use swap() with boolean" + + +Constant.{The example below shows how strings can be swapped with swap().,swap__string_t}version 1.0.0 + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_LIKELY + JSON_THROW + nlohmann::detail::string + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap + (binary_t &other) + swap + + binary_t & + other + + +exchanges the values + +Exchanges the contents of a JSON string with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated. + +other + + +binary to exchange the contents with + + + + +type_error.310 + + +when JSON value is not a string; example: "cannot +use swap() with boolean" + + +Constant.{The example below shows how strings can be swapped with swap().,swap__binary_t}version 3.8.0 + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_LIKELY + JSON_THROW + nlohmann::detail::string + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap + (typename binary_t::container_type &other) + swap + + typename binary_t::container_type & + other + + +exchanges the values + +Exchanges the contents of a JSON string with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated. + +other + + +binary to exchange the contents with + + + + +type_error.310 + + +when JSON value is not a string; example: "cannot +use swap() with boolean" + + +Constant.{The example below shows how strings can be swapped with swap().,swap__binary_t}version 3.8.0 + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_LIKELY + JSON_THROW + nlohmann::detail::string + +
                                                                                                + +
                                                                                                lexicographical comparison operators
                                                                                                + + friend bool + bool operator== + (const_reference lhs, const_reference rhs) noexcept + operator== + + const_reference + lhs + + + const_reference + rhs + + +comparison: equal + +Compares two JSON values for equality according to the following rules: +Two JSON values are equal if (1) they are from the same type and (2) their stored values are the same according to their respective operator==.Integer and floating-point numbers are automatically converted before comparison. Note that two NaN values are always treated as unequal.Two JSON null values are equal. +Floating-point inside JSON values numbers are compared with json::number_float_t::operator== which is double::operator== by default. To compare floating-point while respecting an epsilon, an alternative comparison function could be used, for instance template<typenameT,typename=typenamestd::enable_if<std::is_floating_point<T>::value,T>::type> +inlineboolis_same(Ta,Tb,Tepsilon=std::numeric_limits<T>::epsilon())noexcept +{ +returnstd::abs(a-b)<=epsilon; +} + Or you can self-defined operator equal function like this: boolmy_equal(const_referencelhs,const_referencerhs){ +constautolhs_typelhs.type(); +constautorhs_typerhs.type(); +if(lhs_type==rhs_type){ +switch(lhs_type) +//self_definedcase +casevalue_t::number_float: +returnstd::abs(lhs-rhs)<=std::numeric_limits<float>::epsilon(); +//othercasesremainthesamewiththeoriginal +... +} +... +} + +NaN values never compare equal to themselves or to other NaN values. + + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether the values lhs and rhs are equal +No-throw guarantee: this function never throws exceptions.Linear.{The example demonstrates comparing several JSON types.,operator__equal}version 1.0.0 + + + + + + + + + typename ScalarType + + + typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type + 0 + + + friend bool + bool operator== + (const_reference lhs, ScalarType rhs) noexcept + operator== + + const_reference + lhs + + + ScalarType + rhs + + +comparison: equal + +comparison: equal Compares two JSON values for equality according to the following rules: +Two JSON values are equal if (1) they are from the same type and (2) their stored values are the same according to their respective operator==.Integer and floating-point numbers are automatically converted before comparison. Note that two NaN values are always treated as unequal.Two JSON null values are equal. +Floating-point inside JSON values numbers are compared with json::number_float_t::operator== which is double::operator== by default. To compare floating-point while respecting an epsilon, an alternative comparison function could be used, for instance template<typenameT,typename=typenamestd::enable_if<std::is_floating_point<T>::value,T>::type> +inlineboolis_same(Ta,Tb,Tepsilon=std::numeric_limits<T>::epsilon())noexcept +{ +returnstd::abs(a-b)<=epsilon; +} + Or you can self-defined operator equal function like this: boolmy_equal(const_referencelhs,const_referencerhs){ +constautolhs_typelhs.type(); +constautorhs_typerhs.type(); +if(lhs_type==rhs_type){ +switch(lhs_type) +//self_definedcase +casevalue_t::number_float: +returnstd::abs(lhs-rhs)<=std::numeric_limits<float>::epsilon(); +//othercasesremainthesamewiththeoriginal +... +} +... +} + +NaN values never compare equal to themselves or to other NaN values. + + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether the values lhs and rhs are equal +No-throw guarantee: this function never throws exceptions.Linear.{The example demonstrates comparing several JSON types.,operator__equal}version 1.0.0 + + + + + + + + + typename ScalarType + + + typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type + 0 + + + friend bool + bool operator== + (ScalarType lhs, const_reference rhs) noexcept + operator== + + ScalarType + lhs + + + const_reference + rhs + + +comparison: equal + +comparison: equal Compares two JSON values for equality according to the following rules: +Two JSON values are equal if (1) they are from the same type and (2) their stored values are the same according to their respective operator==.Integer and floating-point numbers are automatically converted before comparison. Note that two NaN values are always treated as unequal.Two JSON null values are equal. +Floating-point inside JSON values numbers are compared with json::number_float_t::operator== which is double::operator== by default. To compare floating-point while respecting an epsilon, an alternative comparison function could be used, for instance template<typenameT,typename=typenamestd::enable_if<std::is_floating_point<T>::value,T>::type> +inlineboolis_same(Ta,Tb,Tepsilon=std::numeric_limits<T>::epsilon())noexcept +{ +returnstd::abs(a-b)<=epsilon; +} + Or you can self-defined operator equal function like this: boolmy_equal(const_referencelhs,const_referencerhs){ +constautolhs_typelhs.type(); +constautorhs_typerhs.type(); +if(lhs_type==rhs_type){ +switch(lhs_type) +//self_definedcase +casevalue_t::number_float: +returnstd::abs(lhs-rhs)<=std::numeric_limits<float>::epsilon(); +//othercasesremainthesamewiththeoriginal +... +} +... +} + +NaN values never compare equal to themselves or to other NaN values. + + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether the values lhs and rhs are equal +No-throw guarantee: this function never throws exceptions.Linear.{The example demonstrates comparing several JSON types.,operator__equal}version 1.0.0 + + + + + + + friend bool + bool operator!= + (const_reference lhs, const_reference rhs) noexcept + operator!= + + const_reference + lhs + + + const_reference + rhs + + +comparison: not equal + +Compares two JSON values for inequality by calculating not (lhs == rhs). + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether the values lhs and rhs are not equal +Linear.No-throw guarantee: this function never throws exceptions.{The example demonstrates comparing several JSON types.,operator__notequal}version 1.0.0 + + + + + + + + + typename ScalarType + + + typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type + 0 + + + friend bool + bool operator!= + (const_reference lhs, ScalarType rhs) noexcept + operator!= + + const_reference + lhs + + + ScalarType + rhs + + +comparison: not equal + +comparison: not equal Compares two JSON values for inequality by calculating not (lhs == rhs). + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether the values lhs and rhs are not equal +Linear.No-throw guarantee: this function never throws exceptions.{The example demonstrates comparing several JSON types.,operator__notequal}version 1.0.0 + + + + + + + + + typename ScalarType + + + typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type + 0 + + + friend bool + bool operator!= + (ScalarType lhs, const_reference rhs) noexcept + operator!= + + ScalarType + lhs + + + const_reference + rhs + + +comparison: not equal + +comparison: not equal Compares two JSON values for inequality by calculating not (lhs == rhs). + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether the values lhs and rhs are not equal +Linear.No-throw guarantee: this function never throws exceptions.{The example demonstrates comparing several JSON types.,operator__notequal}version 1.0.0 + + + + + + + friend bool + bool operator< + (const_reference lhs, const_reference rhs) noexcept + operator< + + const_reference + lhs + + + const_reference + rhs + + +comparison: less than + +Compares whether one JSON value lhs is less than another JSON value rhs according to the following rules: +If lhs and rhs have the same type, the values are compared using the default < operator.Integer and floating-point numbers are automatically converted before comparisonIn case lhs and rhs have different types, the values are ignored and the order of the types is considered, see operator<(const value_t, const value_t). + + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether lhs is less than rhs +Linear.No-throw guarantee: this function never throws exceptions.{The example demonstrates comparing several JSON types.,operator__less}version 1.0.0 + + + + + + + + + typename ScalarType + + + typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type + 0 + + + friend bool + bool operator< + (const_reference lhs, ScalarType rhs) noexcept + operator< + + const_reference + lhs + + + ScalarType + rhs + + +comparison: less than + +comparison: less than Compares whether one JSON value lhs is less than another JSON value rhs according to the following rules: +If lhs and rhs have the same type, the values are compared using the default < operator.Integer and floating-point numbers are automatically converted before comparisonIn case lhs and rhs have different types, the values are ignored and the order of the types is considered, see operator<(const value_t, const value_t). + + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether lhs is less than rhs +Linear.No-throw guarantee: this function never throws exceptions.{The example demonstrates comparing several JSON types.,operator__less}version 1.0.0 + + + + + + + + + typename ScalarType + + + typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type + 0 + + + friend bool + bool operator< + (ScalarType lhs, const_reference rhs) noexcept + operator< + + ScalarType + lhs + + + const_reference + rhs + + +comparison: less than + +comparison: less than Compares whether one JSON value lhs is less than another JSON value rhs according to the following rules: +If lhs and rhs have the same type, the values are compared using the default < operator.Integer and floating-point numbers are automatically converted before comparisonIn case lhs and rhs have different types, the values are ignored and the order of the types is considered, see operator<(const value_t, const value_t). + + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether lhs is less than rhs +Linear.No-throw guarantee: this function never throws exceptions.{The example demonstrates comparing several JSON types.,operator__less}version 1.0.0 + + + + + + + friend bool + bool operator<= + (const_reference lhs, const_reference rhs) noexcept + operator<= + + const_reference + lhs + + + const_reference + rhs + + +comparison: less than or equal + +Compares whether one JSON value lhs is less than or equal to another JSON value by calculating not (rhs < lhs). + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether lhs is less than or equal to rhs +Linear.No-throw guarantee: this function never throws exceptions.{The example demonstrates comparing several JSON types.,operator__greater}version 1.0.0 + + + + + + + + + typename ScalarType + + + typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type + 0 + + + friend bool + bool operator<= + (const_reference lhs, ScalarType rhs) noexcept + operator<= + + const_reference + lhs + + + ScalarType + rhs + + +comparison: less than or equal + +comparison: less than or equal Compares whether one JSON value lhs is less than or equal to another JSON value by calculating not (rhs < lhs). + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether lhs is less than or equal to rhs +Linear.No-throw guarantee: this function never throws exceptions.{The example demonstrates comparing several JSON types.,operator__greater}version 1.0.0 + + + + + + + + + typename ScalarType + + + typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type + 0 + + + friend bool + bool operator<= + (ScalarType lhs, const_reference rhs) noexcept + operator<= + + ScalarType + lhs + + + const_reference + rhs + + +comparison: less than or equal + +comparison: less than or equal Compares whether one JSON value lhs is less than or equal to another JSON value by calculating not (rhs < lhs). + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether lhs is less than or equal to rhs +Linear.No-throw guarantee: this function never throws exceptions.{The example demonstrates comparing several JSON types.,operator__greater}version 1.0.0 + + + + + + + friend bool + bool operator> + (const_reference lhs, const_reference rhs) noexcept + operator> + + const_reference + lhs + + + const_reference + rhs + + +comparison: greater than + +Compares whether one JSON value lhs is greater than another JSON value by calculating not (lhs <= rhs). + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether lhs is greater than to rhs +Linear.No-throw guarantee: this function never throws exceptions.{The example demonstrates comparing several JSON types.,operator__lessequal}version 1.0.0 + + + + + + + + + typename ScalarType + + + typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type + 0 + + + friend bool + bool operator> + (const_reference lhs, ScalarType rhs) noexcept + operator> + + const_reference + lhs + + + ScalarType + rhs + + +comparison: greater than + +comparison: greater than Compares whether one JSON value lhs is greater than another JSON value by calculating not (lhs <= rhs). + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether lhs is greater than to rhs +Linear.No-throw guarantee: this function never throws exceptions.{The example demonstrates comparing several JSON types.,operator__lessequal}version 1.0.0 + + + + + + + + + typename ScalarType + + + typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type + 0 + + + friend bool + bool operator> + (ScalarType lhs, const_reference rhs) noexcept + operator> + + ScalarType + lhs + + + const_reference + rhs + + +comparison: greater than + +comparison: greater than Compares whether one JSON value lhs is greater than another JSON value by calculating not (lhs <= rhs). + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether lhs is greater than to rhs +Linear.No-throw guarantee: this function never throws exceptions.{The example demonstrates comparing several JSON types.,operator__lessequal}version 1.0.0 + + + + + + + friend bool + bool operator>= + (const_reference lhs, const_reference rhs) noexcept + operator>= + + const_reference + lhs + + + const_reference + rhs + + +comparison: greater than or equal + +Compares whether one JSON value lhs is greater than or equal to another JSON value by calculating not (lhs < rhs). + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether lhs is greater than or equal to rhs +Linear.No-throw guarantee: this function never throws exceptions.{The example demonstrates comparing several JSON types.,operator__greaterequal}version 1.0.0 + + + + + + + + + typename ScalarType + + + typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type + 0 + + + friend bool + bool operator>= + (const_reference lhs, ScalarType rhs) noexcept + operator>= + + const_reference + lhs + + + ScalarType + rhs + + +comparison: greater than or equal + +comparison: greater than or equal Compares whether one JSON value lhs is greater than or equal to another JSON value by calculating not (lhs < rhs). + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether lhs is greater than or equal to rhs +Linear.No-throw guarantee: this function never throws exceptions.{The example demonstrates comparing several JSON types.,operator__greaterequal}version 1.0.0 + + + + + + + + + typename ScalarType + + + typename std::enable_if< std::is_scalar< ScalarType >::value, int >::type + 0 + + + friend bool + bool operator>= + (ScalarType lhs, const_reference rhs) noexcept + operator>= + + ScalarType + lhs + + + const_reference + rhs + + +comparison: greater than or equal + +comparison: greater than or equal Compares whether one JSON value lhs is greater than or equal to another JSON value by calculating not (lhs < rhs). + +lhs + + +first JSON value to consider + + + +rhs + + +second JSON value to consider + + +whether lhs is greater than or equal to rhs +Linear.No-throw guarantee: this function never throws exceptions.{The example demonstrates comparing several JSON types.,operator__greaterequal}version 1.0.0 + + + + + +
                                                                                                + +
                                                                                                serialization
                                                                                                + + friend std::ostream & + std::ostream& operator<< + (std::ostream &o, const basic_json &j) + operator<< + + std::ostream & + o + + + const basic_json & + j + + +serialize to stream + +Serialize the given JSON value j to the output stream o. The JSON value will be serialized using the dump member function. +The indentation of the output can be controlled with the member variable width of the output stream o. For instance, using the manipulator std::setw(4) on o sets the indentation level to 4 and the serialization result is the same as calling dump(4).The indentation character can be controlled with the member variable fill of the output stream o. For instance, the manipulator `std::setfill('\t')` sets indentation to use a tab character rather than the default space character. + + +o + + +stream to serialize to + + + +j + + +JSON value to serialize + + +the stream o + + +type_error.316 + + +if a string stored inside the JSON value is not UTF-8 encoded + + +Linear.{The example below shows the serialization with different parameters to width to adjust the indentation level.,operator_serialize}version 1.0.0; indentation character added in version 3.0.0 + + + + + + + friend std::ostream & + std::ostream& operator>> + (const basic_json &j, std::ostream &o) + operator>> + + const basic_json & + j + + + std::ostream & + o + + +serialize to stream + +DeprecatedThis stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use operator<<(std::ostream&, const basic_json&) instead; that is, replace calls like j >> o; with o << j;. version 1.0.0; deprecated since version 3.0.0 + + + + + +
                                                                                                + +
                                                                                                deserialization
                                                                                                + + friend std::istream & + std::istream& operator<< + (basic_json &j, std::istream &i) + operator<< + + basic_json & + j + + + std::istream & + i + + +deserialize from stream + +DeprecatedThis stream operator is deprecated and will be removed in version 4.0.0 of the library. Please use operator>>(std::istream&, basic_json&) instead; that is, replace calls like j << i; with i >> j;. version 1.0.0; deprecated since version 3.0.0 + + + + + + + friend std::istream & + std::istream& operator>> + (std::istream &i, basic_json &j) + operator>> + + std::istream & + i + + + basic_json & + j + + +deserialize from stream + +Deserializes an input stream to a JSON value. + +i + + +input stream to read a serialized JSON value from + + + +j + + +JSON value to write the deserialized input to + + + + +parse_error.101 + + +in case of an unexpected token + + + +parse_error.102 + + +if to_unicode fails or surrogate error + + + +parse_error.103 + + +if to_unicode fails + + +Linear in the length of the input. The parser is a predictive LL(1) parser.A UTF-8 byte order mark is silently ignored. +{The example below shows how a JSON value is constructed by reading a serialization from a stream.,operator_deserialize}parse(std::istream&, const parser_callback_t) for a variant with a parser callback function to filter values while parsing +version 1.0.0 + + + + + + + + + typename InputType + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse + (InputType &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false) + parse + + InputType && + i + + + const parser_callback_t + cb + nullptr + + + const bool + allow_exceptions + true + + + const bool + ignore_comments + false + + +deserialize from a compatible input + + + +InputType + + +A compatible input, for instance +an std::istream objecta FILE pointera C-style array of charactersa pointer to a null-terminated string of single byte charactersan object obj for which begin(obj) and end(obj) produces a valid pair of iterators. + + + + + +i + + +input to read from + + + +cb + + +a parser callback function of type parser_callback_t which is used to control the deserialization by filtering unwanted values (optional) + + + +allow_exceptions + + +whether to throw exceptions in case of a parse error (optional, true by default) + + + +ignore_comments + + +whether comments should be ignored and treated like whitespace (true) or yield a parse error (true); (optional, false by default) + + +deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded. + + +parse_error.101 + + +if a parse error occurs; example: ""unexpected end of input; expected string literal"" + + + +parse_error.102 + + +if to_unicode fails or surrogate error + + + +parse_error.103 + + +if to_unicode fails + + +Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the parser callback function cb or reading from the input i has a super-linear complexity.A UTF-8 byte order mark is silently ignored. +{The example below demonstrates the parse() function reading from an array.,parse__array__parser_callback_t}{The example below demonstrates the parse() function with and without callback function.,parse__string__parser_callback_t}{The example below demonstrates the parse() function with and without callback function.,parse__istream__parser_callback_t}{The example below demonstrates the parse() function reading from a contiguous container.,parse__contiguouscontainer__parser_callback_t}version 2.0.3 (contiguous containers); version 3.9.0 allowed to ignore comments. + + + + + nlohmann::detail::input_adapter + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse + operator"" _json + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse + + + + + typename IteratorType + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse + (IteratorType first, IteratorType last, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false) + parse + + IteratorType + first + + + IteratorType + last + + + const parser_callback_t + cb + nullptr + + + const bool + allow_exceptions + true + + + const bool + ignore_comments + false + + +deserialize from a pair of character iterators + +The value_type of the iterator must be a integral type with size of 1, 2 or 4 bytes, which will be interpreted respectively as UTF-8, UTF-16 and UTF-32. + +first + + +iterator to start of character range + + + +last + + +iterator to end of character range + + + +cb + + +a parser callback function of type parser_callback_t which is used to control the deserialization by filtering unwanted values (optional) + + + +allow_exceptions + + +whether to throw exceptions in case of a parse error (optional, true by default) + + + +ignore_comments + + +whether comments should be ignored and treated like whitespace (true) or yield a parse error (true); (optional, false by default) + + +deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded. + + +parse_error.101 + + +if a parse error occurs; example: ""unexpected end of input; expected string literal"" + + + +parse_error.102 + + +if to_unicode fails or surrogate error + + + +parse_error.103 + + +if to_unicode fails + + + + + + + nlohmann::detail::input_adapter + JSON_HEDLEY_DEPRECATED_FOR + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse + (detail::span_input_adapter &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false) + parse + + detail::span_input_adapter && + i + + + const parser_callback_t + cb + nullptr + + + const bool + allow_exceptions + true + + + const bool + ignore_comments + false + + + + + + + + + + + + + typename InputType + + + bool + static bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::accept + (InputType &&i, const bool ignore_comments=false) + accept + + InputType && + i + + + const bool + ignore_comments + false + + +check if the input is valid JSON + +Unlike the parse(InputType&&, const parser_callback_t,const bool) function, this function neither throws an exception in case of invalid JSON input (i.e., a parse error) nor creates diagnostic information. + +InputType + + +A compatible input, for instance +an std::istream objecta FILE pointera C-style array of charactersa pointer to a null-terminated string of single byte charactersan object obj for which begin(obj) and end(obj) produces a valid pair of iterators. + + + + + +i + + +input to read from + + + +ignore_comments + + +whether comments should be ignored and treated like whitespace (true) or yield a parse error (true); (optional, false by default) + + +Whether the input read from i is valid JSON. +Linear in the length of the input. The parser is a predictive LL(1) parser.A UTF-8 byte order mark is silently ignored. +{The example below demonstrates the accept() function reading from a string.,accept__string} + + + + nlohmann::detail::input_adapter + + + + + typename IteratorType + + + bool + static bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::accept + (IteratorType first, IteratorType last, const bool ignore_comments=false) + accept + + IteratorType + first + + + IteratorType + last + + + const bool + ignore_comments + false + + + + + + + + + nlohmann::detail::input_adapter + JSON_HEDLEY_DEPRECATED_FOR + JSON_HEDLEY_WARN_UNUSED_RESULT + + + JSON_HEDLEY_WARN_UNUSED_RESULT bool + static JSON_HEDLEY_WARN_UNUSED_RESULT bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::accept + (detail::span_input_adapter &&i, const bool ignore_comments=false) + accept + + detail::span_input_adapter && + i + + + const bool + ignore_comments + false + + + + + + + + + JSON_HEDLEY_NON_NULL + + + + + typename InputType + + + typename SAX + + + bool + static bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::sax_parse + (InputType &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false) + sax_parse + + InputType && + i + + + SAX * + sax + + + input_format_t + format + input_format_t::json + + + const bool + strict + true + + + const bool + ignore_comments + false + + +generate SAX events + +The SAX event lister must follow the interface of json_sax.This function reads from a compatible input. Examples are: +an std::istream objecta FILE pointera C-style array of charactersa pointer to a null-terminated string of single byte charactersan object obj for which begin(obj) and end(obj) produces a valid pair of iterators. + + +i + + +input to read from + + + +sax + + +SAX event listener + + + +format + + +the format to parse (JSON, CBOR, MessagePack, or UBJSON) + + + +strict + + +whether the input has to be consumed completely + + + +ignore_comments + + +whether comments should be ignored and treated like whitespace (true) or yield a parse error (true); (optional, false by default); only applies to the JSON file format. + + +return value of the last processed SAX event + + +parse_error.101 + + +if a parse error occurs; example: ""unexpected end of input; expected string literal"" + + + +parse_error.102 + + +if to_unicode fails or surrogate error + + + +parse_error.103 + + +if to_unicode fails + + +Linear in the length of the input. The parser is a predictive LL(1) parser. The complexity can be higher if the SAX consumer sax has a super-linear complexity.A UTF-8 byte order mark is silently ignored. +{The example below demonstrates the sax_parse() function reading from string and processing the events with a user-defined SAX event consumer.,sax_parse}version 3.2.0 + + + + + nlohmann::detail::input_adapter + nlohmann::detail::json + JSON_HEDLEY_NON_NULL + nlohmann::detail::strict + + + + + class IteratorType + + + class SAX + + + bool + static bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::sax_parse + (IteratorType first, IteratorType last, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false) + sax_parse + + IteratorType + first + + + IteratorType + last + + + SAX * + sax + + + input_format_t + format + input_format_t::json + + + const bool + strict + true + + + const bool + ignore_comments + false + + + + + + + + + nlohmann::detail::input_adapter + nlohmann::detail::json + JSON_HEDLEY_DEPRECATED_FOR + JSON_HEDLEY_NON_NULL + nlohmann::detail::strict + + + + + typename SAX + + + bool + static bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::sax_parse + (detail::span_input_adapter &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false) + sax_parse + + detail::span_input_adapter && + i + + + SAX * + sax + + + input_format_t + format + input_format_t::json + + + const bool + strict + true + + + const bool + ignore_comments + false + + + + + + + + + nlohmann::detail::json + JSON_HEDLEY_DEPRECATED_FOR + nlohmann::detail::strict + +
                                                                                                + +
                                                                                                binary serialization/deserialization support
                                                                                                + + std::vector< uint8_t > + static std::vector<uint8_t> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_cbor + (const basic_json &j) + to_cbor + + const basic_json & + j + + +create a CBOR serialization of a given JSON value + +Serializes a given JSON value j to a byte vector using the CBOR (Concise Binary Object Representation) serialization format. CBOR is a binary serialization format which aims to be more compact than JSON itself, yet more efficient to parse.The library uses the following mapping from JSON values types to CBOR types according to the CBOR specification (RFC 7049): +JSON value type value/range CBOR type first byte + +null null Null 0xF6 + +boolean true True 0xF5 + +boolean false False 0xF4 + +number_integer -9223372036854775808..-2147483649 Negative integer (8 bytes follow) 0x3B + +number_integer -2147483648..-32769 Negative integer (4 bytes follow) 0x3A + +number_integer -32768..-129 Negative integer (2 bytes follow) 0x39 + +number_integer -128..-25 Negative integer (1 byte follow) 0x38 + +number_integer -24..-1 Negative integer 0x20..0x37 + +number_integer 0..23 Integer 0x00..0x17 + +number_integer 24..255 Unsigned integer (1 byte follow) 0x18 + +number_integer 256..65535 Unsigned integer (2 bytes follow) 0x19 + +number_integer 65536..4294967295 Unsigned integer (4 bytes follow) 0x1A + +number_integer 4294967296..18446744073709551615 Unsigned integer (8 bytes follow) 0x1B + +number_unsigned 0..23 Integer 0x00..0x17 + +number_unsigned 24..255 Unsigned integer (1 byte follow) 0x18 + +number_unsigned 256..65535 Unsigned integer (2 bytes follow) 0x19 + +number_unsigned 65536..4294967295 Unsigned integer (4 bytes follow) 0x1A + +number_unsigned 4294967296..18446744073709551615 Unsigned integer (8 bytes follow) 0x1B + +number_float any value representable by a float Single-Precision Float 0xFA + +number_float any value NOT representable by a float Double-Precision Float 0xFB + +string length: 0..23 UTF-8 string 0x60..0x77 + +string length: 23..255 UTF-8 string (1 byte follow) 0x78 + +string length: 256..65535 UTF-8 string (2 bytes follow) 0x79 + +string length: 65536..4294967295 UTF-8 string (4 bytes follow) 0x7A + +string length: 4294967296..18446744073709551615 UTF-8 string (8 bytes follow) 0x7B + +array size: 0..23 array 0x80..0x97 + +array size: 23..255 array (1 byte follow) 0x98 + +array size: 256..65535 array (2 bytes follow) 0x99 + +array size: 65536..4294967295 array (4 bytes follow) 0x9A + +array size: 4294967296..18446744073709551615 array (8 bytes follow) 0x9B + +object size: 0..23 map 0xA0..0xB7 + +object size: 23..255 map (1 byte follow) 0xB8 + +object size: 256..65535 map (2 bytes follow) 0xB9 + +object size: 65536..4294967295 map (4 bytes follow) 0xBA + +object size: 4294967296..18446744073709551615 map (8 bytes follow) 0xBB + +binary size: 0..23 byte string 0x40..0x57 + +binary size: 23..255 byte string (1 byte follow) 0x58 + +binary size: 256..65535 byte string (2 bytes follow) 0x59 + +binary size: 65536..4294967295 byte string (4 bytes follow) 0x5A + +binary size: 4294967296..18446744073709551615 byte string (8 bytes follow) 0x5B +
                                                                                                +The mapping is complete in the sense that any JSON value type can be converted to a CBOR value. +If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null. +The following CBOR types are not used in the conversion: +UTF-8 strings terminated by "break" (0x7F)arrays terminated by "break" (0x9F)maps terminated by "break" (0xBF)byte strings terminated by "break" (0x5F)date/time (0xC0..0xC1)bignum (0xC2..0xC3)decimal fraction (0xC4)bigfloat (0xC5)expected conversions (0xD5..0xD7)simple values (0xE0..0xF3, 0xF8)undefined (0xF7)half-precision floats (0xF9)break (0xFF) + + + +j + + +JSON value to serialize + + +CBOR serialization as byte vector +Linear in the size of the JSON value j.
                                                                                                {The example shows the serialization of a JSON value to a byte vector in CBOR format.,to_cbor}http://cbor.io +see from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the analogous deserialization +see to_msgpack(const basic_json&) for the related MessagePack format +see to_ubjson(const basic_json&, const bool, const bool) for the related UBJSON format +version 2.0.9; compact representation of floating-point numbers since version 3.8.0 +
                                                                                                + + + +
                                                                                                + + void + static void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_cbor + (const basic_json &j, detail::output_adapter< uint8_t > o) + to_cbor + + const basic_json & + j + + + detail::output_adapter< uint8_t > + o + + + + + + + + + + + void + static void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_cbor + (const basic_json &j, detail::output_adapter< char > o) + to_cbor + + const basic_json & + j + + + detail::output_adapter< char > + o + + + + + + + + + + + std::vector< uint8_t > + static std::vector<uint8_t> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_msgpack + (const basic_json &j) + to_msgpack + + const basic_json & + j + + +create a MessagePack serialization of a given JSON value + +Serializes a given JSON value j to a byte vector using the MessagePack serialization format. MessagePack is a binary serialization format which aims to be more compact than JSON itself, yet more efficient to parse.The library uses the following mapping from JSON values types to MessagePack types according to the MessagePack specification: +JSON value type value/range MessagePack type first byte + +null null nil 0xC0 + +boolean true true 0xC3 + +boolean false false 0xC2 + +number_integer -9223372036854775808..-2147483649 int64 0xD3 + +number_integer -2147483648..-32769 int32 0xD2 + +number_integer -32768..-129 int16 0xD1 + +number_integer -128..-33 int8 0xD0 + +number_integer -32..-1 negative fixint 0xE0..0xFF + +number_integer 0..127 positive fixint 0x00..0x7F + +number_integer 128..255 uint 8 0xCC + +number_integer 256..65535 uint 16 0xCD + +number_integer 65536..4294967295 uint 32 0xCE + +number_integer 4294967296..18446744073709551615 uint 64 0xCF + +number_unsigned 0..127 positive fixint 0x00..0x7F + +number_unsigned 128..255 uint 8 0xCC + +number_unsigned 256..65535 uint 16 0xCD + +number_unsigned 65536..4294967295 uint 32 0xCE + +number_unsigned 4294967296..18446744073709551615 uint 64 0xCF + +number_float any value representable by a float float 32 0xCA + +number_float any value NOT representable by a float float 64 0xCB + +string length: 0..31 fixstr 0xA0..0xBF + +string length: 32..255 str 8 0xD9 + +string length: 256..65535 str 16 0xDA + +string length: 65536..4294967295 str 32 0xDB + +array size: 0..15 fixarray 0x90..0x9F + +array size: 16..65535 array 16 0xDC + +array size: 65536..4294967295 array 32 0xDD + +object size: 0..15 fix map 0x80..0x8F + +object size: 16..65535 map 16 0xDE + +object size: 65536..4294967295 map 32 0xDF + +binary size: 0..255 bin 8 0xC4 + +binary size: 256..65535 bin 16 0xC5 + +binary size: 65536..4294967295 bin 32 0xC6 +
                                                                                                +The mapping is complete in the sense that any JSON value type can be converted to a MessagePack value. +The following values can not be converted to a MessagePack value: +strings with more than 4294967295 bytesbyte strings with more than 4294967295 bytesarrays with more than 4294967295 elementsobjects with more than 4294967295 elements + +Any MessagePack output created to_msgpack can be successfully parsed by from_msgpack. +If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null. + + +j + + +JSON value to serialize + + +MessagePack serialization as byte vector +Linear in the size of the JSON value j.
                                                                                                {The example shows the serialization of a JSON value to a byte vector in MessagePack format.,to_msgpack}http://msgpack.org +see from_msgpack for the analogous deserialization +see to_cbor(const basic_json& for the related CBOR format +see to_ubjson(const basic_json&, const bool, const bool) for the related UBJSON format +version 2.0.9 +
                                                                                                + + + +
                                                                                                + + void + static void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_msgpack + (const basic_json &j, detail::output_adapter< uint8_t > o) + to_msgpack + + const basic_json & + j + + + detail::output_adapter< uint8_t > + o + + + + + + + + + + + void + static void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_msgpack + (const basic_json &j, detail::output_adapter< char > o) + to_msgpack + + const basic_json & + j + + + detail::output_adapter< char > + o + + + + + + + + + + + std::vector< uint8_t > + static std::vector<uint8_t> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_ubjson + (const basic_json &j, const bool use_size=false, const bool use_type=false) + to_ubjson + + const basic_json & + j + + + const bool + use_size + false + + + const bool + use_type + false + + +create a UBJSON serialization of a given JSON value + +Serializes a given JSON value j to a byte vector using the UBJSON (Universal Binary JSON) serialization format. UBJSON aims to be more compact than JSON itself, yet more efficient to parse.The library uses the following mapping from JSON values types to UBJSON types according to the UBJSON specification: +JSON value type value/range UBJSON type marker + +null null null Z + +boolean true true T + +boolean false false F + +number_integer -9223372036854775808..-2147483649 int64 L + +number_integer -2147483648..-32769 int32 l + +number_integer -32768..-129 int16 I + +number_integer -128..127 int8 i + +number_integer 128..255 uint8 U + +number_integer 256..32767 int16 I + +number_integer 32768..2147483647 int32 l + +number_integer 2147483648..9223372036854775807 int64 L + +number_unsigned 0..127 int8 i + +number_unsigned 128..255 uint8 U + +number_unsigned 256..32767 int16 I + +number_unsigned 32768..2147483647 int32 l + +number_unsigned 2147483648..9223372036854775807 int64 L + +number_unsigned 2147483649..18446744073709551615 high-precision H + +number_float any value float64 D + +string with shortest length indicator string S + +array see notes on optimized format array [ + +object see notes on optimized format map { +
                                                                                                +The mapping is complete in the sense that any JSON value type can be converted to a UBJSON value. +The following values can not be converted to a UBJSON value: +strings with more than 9223372036854775807 bytes (theoretical) + +The following markers are not used in the conversion: +Z: no-op values are not created.C: single-byte strings are serialized with S markers. + +Any UBJSON output created to_ubjson can be successfully parsed by from_ubjson. +If NaN or Infinity are stored inside a JSON number, they are serialized properly. This behavior differs from the dump() function which serializes NaN or Infinity to null. +The optimized formats for containers are supported: Parameter use_size adds size information to the beginning of a container and removes the closing marker. Parameter use_type further checks whether all elements of a container have the same type and adds the type marker to the beginning of the container. The use_type parameter must only be used together with use_size = true. Note that use_size = true alone may result in larger representations - the benefit of this parameter is that the receiving side is immediately informed on the number of elements of the container. +If the JSON data contains the binary type, the value stored is a list of integers, as suggested by the UBJSON documentation. In particular, this means that serialization and the deserialization of a JSON containing binary values into UBJSON and back will result in a different JSON object. + + +j + + +JSON value to serialize + + + +use_size + + +whether to add size annotations to container types + + + +use_type + + +whether to add type annotations to container types (must be combined with use_size = true) + + +UBJSON serialization as byte vector +Linear in the size of the JSON value j.
                                                                                                {The example shows the serialization of a JSON value to a byte vector in UBJSON format.,to_ubjson}http://ubjson.org +see from_ubjson(InputType&&, const bool, const bool) for the analogous deserialization +see to_cbor(const basic_json& for the related CBOR format +see to_msgpack(const basic_json&) for the related MessagePack format +version 3.1.0 +
                                                                                                + + + +
                                                                                                + + void + static void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_ubjson + (const basic_json &j, detail::output_adapter< uint8_t > o, const bool use_size=false, const bool use_type=false) + to_ubjson + + const basic_json & + j + + + detail::output_adapter< uint8_t > + o + + + const bool + use_size + false + + + const bool + use_type + false + + + + + + + + + + + void + static void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_ubjson + (const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false) + to_ubjson + + const basic_json & + j + + + detail::output_adapter< char > + o + + + const bool + use_size + false + + + const bool + use_type + false + + + + + + + + + + + std::vector< uint8_t > + static std::vector<uint8_t> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_bson + (const basic_json &j) + to_bson + + const basic_json & + j + + +Serializes the given JSON object j to BSON and returns a vector containing the corresponding BSON-representation. + +BSON (Binary JSON) is a binary format in which zero or more ordered key/value pairs are stored as a single entity (a so-called document).The library uses the following mapping from JSON values types to BSON types: +JSON value type value/range BSON type marker + +null null null 0x0A + +boolean true, false boolean 0x08 + +number_integer -9223372036854775808..-2147483649 int64 0x12 + +number_integer -2147483648..2147483647 int32 0x10 + +number_integer 2147483648..9223372036854775807 int64 0x12 + +number_unsigned 0..2147483647 int32 0x10 + +number_unsigned 2147483648..9223372036854775807 int64 0x12 + +number_unsigned 9223372036854775808..18446744073709551615 + +number_float any value double 0x01 + +string any value string 0x02 + +array any value document 0x04 + +object any value document 0x03 + +binary any value binary 0x05 +
                                                                                                +The mapping is incomplete, since only JSON-objects (and things contained therein) can be serialized to BSON. Also, integers larger than 9223372036854775807 cannot be serialized to BSON, and the keys may not contain U+0000, since they are serialized a zero-terminated c-strings. + + +out_of_range.407 + + +if j.is_number_unsigned() && j.get<std::uint64_t>() > 9223372036854775807 + + + +out_of_range.409 + + +if a key in j contains a NULL (U+0000) + + + +type_error.317 + + +if !j.is_object() + + +The input j is required to be an object: j.is_object() == true. +Any BSON output created via to_bson can be successfully parsed by from_bson. + + +j + + +JSON value to serialize + + +BSON serialization as byte vector +Linear in the size of the JSON value j.
                                                                                                {The example shows the serialization of a JSON value to a byte vector in BSON format.,to_bson}http://bsonspec.org/spec.html +see from_bson(detail::input_adapter&&, const bool strict) for the analogous deserialization +see to_ubjson(const basic_json&, const bool, const bool) for the related UBJSON format +see to_cbor(const basic_json&) for the related CBOR format +see to_msgpack(const basic_json&) for the related MessagePack format +
                                                                                                + + + +
                                                                                                + + void + static void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_bson + (const basic_json &j, detail::output_adapter< uint8_t > o) + to_bson + + const basic_json & + j + + + detail::output_adapter< uint8_t > + o + + +Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the given output_adapter o. + + + +j + + +The JSON object to convert to BSON. + + + +o + + +The output adapter that receives the binary BSON representation. + + +The input j shall be an object: j.is_object() == true +see to_bson(const basic_json&) + + + + + + + void + static void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::to_bson + (const basic_json &j, detail::output_adapter< char > o) + to_bson + + const basic_json & + j + + + detail::output_adapter< char > + o + + +Serializes the given JSON object j to BSON and forwards the corresponding BSON-representation to the given output_adapter o. + + + +j + + +The JSON object to convert to BSON. + + + +o + + +The output adapter that receives the binary BSON representation. + + +The input j shall be an object: j.is_object() == true +see to_bson(const basic_json&) + + + + + JSON_HEDLEY_WARN_UNUSED_RESULT + + + + + typename InputType + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_cbor + (InputType &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error) + from_cbor + + InputType && + i + + + const bool + strict + true + + + const bool + allow_exceptions + true + + + const cbor_tag_handler_t + tag_handler + cbor_tag_handler_t::error + + +create a JSON value from an input in CBOR format + +Deserializes a given input i to a JSON value using the CBOR (Concise Binary Object Representation) serialization format.The library maps CBOR types to JSON value types as follows: +CBOR type JSON value type first byte + +Integer number_unsigned 0x00..0x17 + +Unsigned integer number_unsigned 0x18 + +Unsigned integer number_unsigned 0x19 + +Unsigned integer number_unsigned 0x1A + +Unsigned integer number_unsigned 0x1B + +Negative integer number_integer 0x20..0x37 + +Negative integer number_integer 0x38 + +Negative integer number_integer 0x39 + +Negative integer number_integer 0x3A + +Negative integer number_integer 0x3B + +Byte string binary 0x40..0x57 + +Byte string binary 0x58 + +Byte string binary 0x59 + +Byte string binary 0x5A + +Byte string binary 0x5B + +UTF-8 string string 0x60..0x77 + +UTF-8 string string 0x78 + +UTF-8 string string 0x79 + +UTF-8 string string 0x7A + +UTF-8 string string 0x7B + +UTF-8 string string 0x7F + +array array 0x80..0x97 + +array array 0x98 + +array array 0x99 + +array array 0x9A + +array array 0x9B + +array array 0x9F + +map object 0xA0..0xB7 + +map object 0xB8 + +map object 0xB9 + +map object 0xBA + +map object 0xBB + +map object 0xBF + +False false 0xF4 + +True true 0xF5 + +Null null 0xF6 + +Half-Precision Float number_float 0xF9 + +Single-Precision Float number_float 0xFA + +Double-Precision Float number_float 0xFB +
                                                                                                +The mapping is incomplete in the sense that not all CBOR types can be converted to a JSON value. The following CBOR types are not supported and will yield parse errors (parse_error.112): +date/time (0xC0..0xC1)bignum (0xC2..0xC3)decimal fraction (0xC4)bigfloat (0xC5)expected conversions (0xD5..0xD7)simple values (0xE0..0xF3, 0xF8)undefined (0xF7) + +CBOR allows map keys of any type, whereas JSON only allows strings as keys in object values. Therefore, CBOR maps with keys other than UTF-8 strings are rejected (parse_error.113). +Any CBOR output created to_cbor can be successfully parsed by from_cbor. + + +i + + +an input in CBOR format convertible to an input adapter + + + +strict + + +whether to expect the input to be consumed until EOF (true by default) + + + +allow_exceptions + + +whether to throw exceptions in case of a parse error (optional, true by default) + + + +tag_handler + + +how to treat CBOR tags (optional, error by default) + + +deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded. + + +parse_error.110 + + +if the given input ends prematurely or the end of file was not reached when strict was set to true + + + +parse_error.112 + + +if unsupported features from CBOR were used in the given input v or if the input is not valid CBOR + + + +parse_error.113 + + +if a string was expected as map key, but not found + + +Linear in the size of the input i.
                                                                                                {The example shows the deserialization of a byte vector in CBOR format to a JSON value.,from_cbor}http://cbor.io +see to_cbor(const basic_json&) for the analogous serialization +see from_msgpack(InputType&&, const bool, const bool) for the related MessagePack format +see from_ubjson(InputType&&, const bool, const bool) for the related UBJSON format +version 2.0.9; parameter start_index since 2.1.1; changed to consume input adapters, removed start_index parameter, and added strict parameter since 3.0.0; added allow_exceptions parameter since 3.2.0; added tag_handler parameter since 3.9.0. +
                                                                                                + + + + nlohmann::detail::cbor + nlohmann::detail::discarded + nlohmann::detail::input_adapter + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::detail::strict +
                                                                                                + + + + typename IteratorType + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_cbor + (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error) + from_cbor + + IteratorType + first + + + IteratorType + last + + + const bool + strict + true + + + const bool + allow_exceptions + true + + + const cbor_tag_handler_t + tag_handler + cbor_tag_handler_t::error + + +create a JSON value from an input in CBOR format + +Deserializes a given input i to a JSON value using the CBOR (Concise Binary Object Representation) serialization format.The library maps CBOR types to JSON value types as follows: +CBOR type JSON value type first byte + +Integer number_unsigned 0x00..0x17 + +Unsigned integer number_unsigned 0x18 + +Unsigned integer number_unsigned 0x19 + +Unsigned integer number_unsigned 0x1A + +Unsigned integer number_unsigned 0x1B + +Negative integer number_integer 0x20..0x37 + +Negative integer number_integer 0x38 + +Negative integer number_integer 0x39 + +Negative integer number_integer 0x3A + +Negative integer number_integer 0x3B + +Byte string binary 0x40..0x57 + +Byte string binary 0x58 + +Byte string binary 0x59 + +Byte string binary 0x5A + +Byte string binary 0x5B + +UTF-8 string string 0x60..0x77 + +UTF-8 string string 0x78 + +UTF-8 string string 0x79 + +UTF-8 string string 0x7A + +UTF-8 string string 0x7B + +UTF-8 string string 0x7F + +array array 0x80..0x97 + +array array 0x98 + +array array 0x99 + +array array 0x9A + +array array 0x9B + +array array 0x9F + +map object 0xA0..0xB7 + +map object 0xB8 + +map object 0xB9 + +map object 0xBA + +map object 0xBB + +map object 0xBF + +False false 0xF4 + +True true 0xF5 + +Null null 0xF6 + +Half-Precision Float number_float 0xF9 + +Single-Precision Float number_float 0xFA + +Double-Precision Float number_float 0xFB +
                                                                                                +The mapping is incomplete in the sense that not all CBOR types can be converted to a JSON value. The following CBOR types are not supported and will yield parse errors (parse_error.112): +date/time (0xC0..0xC1)bignum (0xC2..0xC3)decimal fraction (0xC4)bigfloat (0xC5)expected conversions (0xD5..0xD7)simple values (0xE0..0xF3, 0xF8)undefined (0xF7) + +CBOR allows map keys of any type, whereas JSON only allows strings as keys in object values. Therefore, CBOR maps with keys other than UTF-8 strings are rejected (parse_error.113). +Any CBOR output created to_cbor can be successfully parsed by from_cbor. + + +i + + +an input in CBOR format convertible to an input adapter + + + +strict + + +whether to expect the input to be consumed until EOF (true by default) + + + +allow_exceptions + + +whether to throw exceptions in case of a parse error (optional, true by default) + + + +tag_handler + + +how to treat CBOR tags (optional, error by default) + + +deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded. + + +parse_error.110 + + +if the given input ends prematurely or the end of file was not reached when strict was set to true + + + +parse_error.112 + + +if unsupported features from CBOR were used in the given input v or if the input is not valid CBOR + + + +parse_error.113 + + +if a string was expected as map key, but not found + + +Linear in the size of the input i.
                                                                                                {The example shows the deserialization of a byte vector in CBOR format to a JSON value.,from_cbor}http://cbor.io +see to_cbor(const basic_json&) for the analogous serialization +see from_msgpack(InputType&&, const bool, const bool) for the related MessagePack format +see from_ubjson(InputType&&, const bool, const bool) for the related UBJSON format +version 2.0.9; parameter start_index since 2.1.1; changed to consume input adapters, removed start_index parameter, and added strict parameter since 3.0.0; added allow_exceptions parameter since 3.2.0; added tag_handler parameter since 3.9.0. +
                                                                                                + + + + nlohmann::detail::cbor + nlohmann::detail::discarded + nlohmann::detail::input_adapter + JSON_HEDLEY_DEPRECATED_FOR + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::detail::strict +
                                                                                                + + + + typename T + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_cbor + (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error) + from_cbor + + const T * + ptr + + + std::size_t + len + + + const bool + strict + true + + + const bool + allow_exceptions + true + + + const cbor_tag_handler_t + tag_handler + cbor_tag_handler_t::error + + + + + + + + + JSON_HEDLEY_DEPRECATED_FOR + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::detail::strict + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_cbor + (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error) + from_cbor + + detail::span_input_adapter && + i + + + const bool + strict + true + + + const bool + allow_exceptions + true + + + const cbor_tag_handler_t + tag_handler + cbor_tag_handler_t::error + + + + + + + + + nlohmann::detail::cbor + nlohmann::detail::discarded + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::detail::strict + + + + + typename InputType + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_msgpack + (InputType &&i, const bool strict=true, const bool allow_exceptions=true) + from_msgpack + + InputType && + i + + + const bool + strict + true + + + const bool + allow_exceptions + true + + +create a JSON value from an input in MessagePack format + +Deserializes a given input i to a JSON value using the MessagePack serialization format.The library maps MessagePack types to JSON value types as follows: +MessagePack type JSON value type first byte + +positive fixint number_unsigned 0x00..0x7F + +fixmap object 0x80..0x8F + +fixarray array 0x90..0x9F + +fixstr string 0xA0..0xBF + +nil null 0xC0 + +false false 0xC2 + +true true 0xC3 + +float 32 number_float 0xCA + +float 64 number_float 0xCB + +uint 8 number_unsigned 0xCC + +uint 16 number_unsigned 0xCD + +uint 32 number_unsigned 0xCE + +uint 64 number_unsigned 0xCF + +int 8 number_integer 0xD0 + +int 16 number_integer 0xD1 + +int 32 number_integer 0xD2 + +int 64 number_integer 0xD3 + +str 8 string 0xD9 + +str 16 string 0xDA + +str 32 string 0xDB + +array 16 array 0xDC + +array 32 array 0xDD + +map 16 object 0xDE + +map 32 object 0xDF + +bin 8 binary 0xC4 + +bin 16 binary 0xC5 + +bin 32 binary 0xC6 + +ext 8 binary 0xC7 + +ext 16 binary 0xC8 + +ext 32 binary 0xC9 + +fixext 1 binary 0xD4 + +fixext 2 binary 0xD5 + +fixext 4 binary 0xD6 + +fixext 8 binary 0xD7 + +fixext 16 binary 0xD8 + +negative fixint number_integer 0xE0-0xFF +
                                                                                                +Any MessagePack output created to_msgpack can be successfully parsed by from_msgpack. + + +i + + +an input in MessagePack format convertible to an input adapter + + + +strict + + +whether to expect the input to be consumed until EOF (true by default) + + + +allow_exceptions + + +whether to throw exceptions in case of a parse error (optional, true by default) + + +deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded. + + +parse_error.110 + + +if the given input ends prematurely or the end of file was not reached when strict was set to true + + + +parse_error.112 + + +if unsupported features from MessagePack were used in the given input i or if the input is not valid MessagePack + + + +parse_error.113 + + +if a string was expected as map key, but not found + + +Linear in the size of the input i.
                                                                                                {The example shows the deserialization of a byte vector in MessagePack format to a JSON value.,from_msgpack}http://msgpack.org +see to_msgpack(const basic_json&) for the analogous serialization +see from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the related CBOR format +see from_ubjson(InputType&&, const bool, const bool) for the related UBJSON format +see from_bson(InputType&&, const bool, const bool) for the related BSON format +version 2.0.9; parameter start_index since 2.1.1; changed to consume input adapters, removed start_index parameter, and added strict parameter since 3.0.0; added allow_exceptions parameter since 3.2.0 +
                                                                                                + + + + nlohmann::detail::discarded + nlohmann::detail::input_adapter + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::detail::msgpack + nlohmann::detail::strict +
                                                                                                + + + + typename IteratorType + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_msgpack + (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true) + from_msgpack + + IteratorType + first + + + IteratorType + last + + + const bool + strict + true + + + const bool + allow_exceptions + true + + +create a JSON value from an input in MessagePack format + +Deserializes a given input i to a JSON value using the MessagePack serialization format.The library maps MessagePack types to JSON value types as follows: +MessagePack type JSON value type first byte + +positive fixint number_unsigned 0x00..0x7F + +fixmap object 0x80..0x8F + +fixarray array 0x90..0x9F + +fixstr string 0xA0..0xBF + +nil null 0xC0 + +false false 0xC2 + +true true 0xC3 + +float 32 number_float 0xCA + +float 64 number_float 0xCB + +uint 8 number_unsigned 0xCC + +uint 16 number_unsigned 0xCD + +uint 32 number_unsigned 0xCE + +uint 64 number_unsigned 0xCF + +int 8 number_integer 0xD0 + +int 16 number_integer 0xD1 + +int 32 number_integer 0xD2 + +int 64 number_integer 0xD3 + +str 8 string 0xD9 + +str 16 string 0xDA + +str 32 string 0xDB + +array 16 array 0xDC + +array 32 array 0xDD + +map 16 object 0xDE + +map 32 object 0xDF + +bin 8 binary 0xC4 + +bin 16 binary 0xC5 + +bin 32 binary 0xC6 + +ext 8 binary 0xC7 + +ext 16 binary 0xC8 + +ext 32 binary 0xC9 + +fixext 1 binary 0xD4 + +fixext 2 binary 0xD5 + +fixext 4 binary 0xD6 + +fixext 8 binary 0xD7 + +fixext 16 binary 0xD8 + +negative fixint number_integer 0xE0-0xFF +
                                                                                                +Any MessagePack output created to_msgpack can be successfully parsed by from_msgpack. + + +i + + +an input in MessagePack format convertible to an input adapter + + + +strict + + +whether to expect the input to be consumed until EOF (true by default) + + + +allow_exceptions + + +whether to throw exceptions in case of a parse error (optional, true by default) + + +deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded. + + +parse_error.110 + + +if the given input ends prematurely or the end of file was not reached when strict was set to true + + + +parse_error.112 + + +if unsupported features from MessagePack were used in the given input i or if the input is not valid MessagePack + + + +parse_error.113 + + +if a string was expected as map key, but not found + + +Linear in the size of the input i.
                                                                                                {The example shows the deserialization of a byte vector in MessagePack format to a JSON value.,from_msgpack}http://msgpack.org +see to_msgpack(const basic_json&) for the analogous serialization +see from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the related CBOR format +see from_ubjson(InputType&&, const bool, const bool) for the related UBJSON format +see from_bson(InputType&&, const bool, const bool) for the related BSON format +version 2.0.9; parameter start_index since 2.1.1; changed to consume input adapters, removed start_index parameter, and added strict parameter since 3.0.0; added allow_exceptions parameter since 3.2.0 +
                                                                                                + + + + nlohmann::detail::discarded + nlohmann::detail::input_adapter + JSON_HEDLEY_DEPRECATED_FOR + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::detail::msgpack + nlohmann::detail::strict +
                                                                                                + + + + typename T + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_msgpack + (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true) + from_msgpack + + const T * + ptr + + + std::size_t + len + + + const bool + strict + true + + + const bool + allow_exceptions + true + + + + + + + + + JSON_HEDLEY_DEPRECATED_FOR + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::detail::strict + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_msgpack + (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true) + from_msgpack + + detail::span_input_adapter && + i + + + const bool + strict + true + + + const bool + allow_exceptions + true + + + + + + + + + nlohmann::detail::discarded + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::detail::msgpack + nlohmann::detail::strict + + + + + typename InputType + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_ubjson + (InputType &&i, const bool strict=true, const bool allow_exceptions=true) + from_ubjson + + InputType && + i + + + const bool + strict + true + + + const bool + allow_exceptions + true + + +create a JSON value from an input in UBJSON format + +Deserializes a given input i to a JSON value using the UBJSON (Universal Binary JSON) serialization format.The library maps UBJSON types to JSON value types as follows: +UBJSON type JSON value type marker + +no-op no value, next value is read N + +null null Z + +false false F + +true true T + +float32 number_float d + +float64 number_float D + +uint8 number_unsigned U + +int8 number_integer i + +int16 number_integer I + +int32 number_integer l + +int64 number_integer L + +high-precision number number_integer, number_unsigned, or number_float - depends on number string 'H' + +string string S + +char string C + +array array (optimized values are supported) [ + +object object (optimized values are supported) { +
                                                                                                +The mapping is complete in the sense that any UBJSON value can be converted to a JSON value. + + +i + + +an input in UBJSON format convertible to an input adapter + + + +strict + + +whether to expect the input to be consumed until EOF (true by default) + + + +allow_exceptions + + +whether to throw exceptions in case of a parse error (optional, true by default) + + +deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded. + + +parse_error.110 + + +if the given input ends prematurely or the end of file was not reached when strict was set to true + + + +parse_error.112 + + +if a parse error occurs + + + +parse_error.113 + + +if a string could not be parsed successfully + + +Linear in the size of the input i.
                                                                                                {The example shows the deserialization of a byte vector in UBJSON format to a JSON value.,from_ubjson}http://ubjson.org +see to_ubjson(const basic_json&, const bool, const bool) for the analogous serialization +see from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the related CBOR format +see from_msgpack(InputType&&, const bool, const bool) for the related MessagePack format +see from_bson(InputType&&, const bool, const bool) for the related BSON format +version 3.1.0; added allow_exceptions parameter since 3.2.0 +
                                                                                                + + + + nlohmann::detail::discarded + nlohmann::detail::input_adapter + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::detail::strict + nlohmann::detail::ubjson +
                                                                                                + + + + typename IteratorType + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_ubjson + (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true) + from_ubjson + + IteratorType + first + + + IteratorType + last + + + const bool + strict + true + + + const bool + allow_exceptions + true + + +create a JSON value from an input in UBJSON format + +Deserializes a given input i to a JSON value using the UBJSON (Universal Binary JSON) serialization format.The library maps UBJSON types to JSON value types as follows: +UBJSON type JSON value type marker + +no-op no value, next value is read N + +null null Z + +false false F + +true true T + +float32 number_float d + +float64 number_float D + +uint8 number_unsigned U + +int8 number_integer i + +int16 number_integer I + +int32 number_integer l + +int64 number_integer L + +high-precision number number_integer, number_unsigned, or number_float - depends on number string 'H' + +string string S + +char string C + +array array (optimized values are supported) [ + +object object (optimized values are supported) { +
                                                                                                +The mapping is complete in the sense that any UBJSON value can be converted to a JSON value. + + +i + + +an input in UBJSON format convertible to an input adapter + + + +strict + + +whether to expect the input to be consumed until EOF (true by default) + + + +allow_exceptions + + +whether to throw exceptions in case of a parse error (optional, true by default) + + +deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded. + + +parse_error.110 + + +if the given input ends prematurely or the end of file was not reached when strict was set to true + + + +parse_error.112 + + +if a parse error occurs + + + +parse_error.113 + + +if a string could not be parsed successfully + + +Linear in the size of the input i.
                                                                                                {The example shows the deserialization of a byte vector in UBJSON format to a JSON value.,from_ubjson}http://ubjson.org +see to_ubjson(const basic_json&, const bool, const bool) for the analogous serialization +see from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the related CBOR format +see from_msgpack(InputType&&, const bool, const bool) for the related MessagePack format +see from_bson(InputType&&, const bool, const bool) for the related BSON format +version 3.1.0; added allow_exceptions parameter since 3.2.0 +
                                                                                                + + + + nlohmann::detail::discarded + nlohmann::detail::input_adapter + JSON_HEDLEY_DEPRECATED_FOR + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::detail::strict + nlohmann::detail::ubjson +
                                                                                                + + + + typename T + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_ubjson + (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true) + from_ubjson + + const T * + ptr + + + std::size_t + len + + + const bool + strict + true + + + const bool + allow_exceptions + true + + + + + + + + + JSON_HEDLEY_DEPRECATED_FOR + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::detail::strict + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_ubjson + (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true) + from_ubjson + + detail::span_input_adapter && + i + + + const bool + strict + true + + + const bool + allow_exceptions + true + + + + + + + + + nlohmann::detail::discarded + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::detail::strict + nlohmann::detail::ubjson + + + + + typename InputType + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_bson + (InputType &&i, const bool strict=true, const bool allow_exceptions=true) + from_bson + + InputType && + i + + + const bool + strict + true + + + const bool + allow_exceptions + true + + +Create a JSON value from an input in BSON format. + +Deserializes a given input i to a JSON value using the BSON (Binary JSON) serialization format.The library maps BSON record types to JSON value types as follows: +BSON type BSON marker byte JSON value type + +double 0x01 number_float + +string 0x02 string + +document 0x03 object + +array 0x04 array + +binary 0x05 binary + +undefined 0x06 still unsupported + +ObjectId 0x07 still unsupported + +boolean 0x08 boolean + +UTC Date-Time 0x09 still unsupported + +null 0x0A null + +Regular Expr. 0x0B still unsupported + +DB Pointer 0x0C still unsupported + +JavaScript Code 0x0D still unsupported + +Symbol 0x0E still unsupported + +JavaScript Code 0x0F still unsupported + +int32 0x10 number_integer + +Timestamp 0x11 still unsupported + +128-bit decimal float 0x13 still unsupported + +Max Key 0x7F still unsupported + +Min Key 0xFF still unsupported +
                                                                                                +The mapping is incomplete. The unsupported mappings are indicated in the table above. + + +i + + +an input in BSON format convertible to an input adapter + + + +strict + + +whether to expect the input to be consumed until EOF (true by default) + + + +allow_exceptions + + +whether to throw exceptions in case of a parse error (optional, true by default) + + +deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded. + + +parse_error.114 + + +if an unsupported BSON record type is encountered + + +Linear in the size of the input i.
                                                                                                {The example shows the deserialization of a byte vector in BSON format to a JSON value.,from_bson}http://bsonspec.org/spec.html +see to_bson(const basic_json&) for the analogous serialization +see from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the related CBOR format +see from_msgpack(InputType&&, const bool, const bool) for the related MessagePack format +see from_ubjson(InputType&&, const bool, const bool) for the related UBJSON format +
                                                                                                + + + + nlohmann::detail::bson + nlohmann::detail::discarded + nlohmann::detail::input_adapter + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::detail::strict +
                                                                                                + + + + typename IteratorType + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_bson + (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true) + from_bson + + IteratorType + first + + + IteratorType + last + + + const bool + strict + true + + + const bool + allow_exceptions + true + + +Create a JSON value from an input in BSON format. + +Deserializes a given input i to a JSON value using the BSON (Binary JSON) serialization format.The library maps BSON record types to JSON value types as follows: +BSON type BSON marker byte JSON value type + +double 0x01 number_float + +string 0x02 string + +document 0x03 object + +array 0x04 array + +binary 0x05 binary + +undefined 0x06 still unsupported + +ObjectId 0x07 still unsupported + +boolean 0x08 boolean + +UTC Date-Time 0x09 still unsupported + +null 0x0A null + +Regular Expr. 0x0B still unsupported + +DB Pointer 0x0C still unsupported + +JavaScript Code 0x0D still unsupported + +Symbol 0x0E still unsupported + +JavaScript Code 0x0F still unsupported + +int32 0x10 number_integer + +Timestamp 0x11 still unsupported + +128-bit decimal float 0x13 still unsupported + +Max Key 0x7F still unsupported + +Min Key 0xFF still unsupported +
                                                                                                +The mapping is incomplete. The unsupported mappings are indicated in the table above. + + +i + + +an input in BSON format convertible to an input adapter + + + +strict + + +whether to expect the input to be consumed until EOF (true by default) + + + +allow_exceptions + + +whether to throw exceptions in case of a parse error (optional, true by default) + + +deserialized JSON value; in case of a parse error and allow_exceptions set to false, the return value will be value_t::discarded. + + +parse_error.114 + + +if an unsupported BSON record type is encountered + + +Linear in the size of the input i.
                                                                                                {The example shows the deserialization of a byte vector in BSON format to a JSON value.,from_bson}http://bsonspec.org/spec.html +see to_bson(const basic_json&) for the analogous serialization +see from_cbor(InputType&&, const bool, const bool, const cbor_tag_handler_t) for the related CBOR format +see from_msgpack(InputType&&, const bool, const bool) for the related MessagePack format +see from_ubjson(InputType&&, const bool, const bool) for the related UBJSON format +
                                                                                                + + + + nlohmann::detail::bson + nlohmann::detail::discarded + nlohmann::detail::input_adapter + JSON_HEDLEY_DEPRECATED_FOR + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::detail::strict +
                                                                                                + + + + typename T + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_bson + (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true) + from_bson + + const T * + ptr + + + std::size_t + len + + + const bool + strict + true + + + const bool + allow_exceptions + true + + + + + + + + + JSON_HEDLEY_DEPRECATED_FOR + JSON_HEDLEY_WARN_UNUSED_RESULT + nlohmann::detail::strict + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_bson + (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true) + from_bson + + detail::span_input_adapter && + i + + + const bool + strict + true + + + const bool + allow_exceptions + true + + + + + + + + + nlohmann::detail::bson + nlohmann::detail::discarded + nlohmann::detail::strict + +
                                                                                                + +
                                                                                                JSON Pointer functions
                                                                                                + + reference + reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] + (const json_pointer &ptr) + operator[] + + const json_pointer & + ptr + + +access specified element via JSON Pointer + +Uses a JSON pointer to retrieve a reference to the respective JSON value. No bound checking is performed. Similar to operator[](const typename object_t::key_type&), null values are created in arrays and objects if necessary.In particular: +If the JSON pointer points to an object key that does not exist, it is created an filled with a null value before a reference to it is returned.If the JSON pointer points to an array index that does not exist, it is created an filled with a null value before a reference to it is returned. All indices between the current maximum and the given index are also filled with null.The special value - is treated as a synonym for the index past the end. + + +ptr + + +a JSON pointer + + +reference to the element pointed to by ptr +Constant. + +parse_error.106 + + +if an array index begins with '0' + + + +parse_error.109 + + +if an array index was not a number + + + +out_of_range.404 + + +if the JSON pointer can not be resolved + + +{The behavior is shown in the example.,operatorjson_pointer}version 2.0.0 + + + + + nlohmann::json_pointer< BasicJsonType >::get_unchecked + + + const_reference + const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] + (const json_pointer &ptr) const + operator[] + + const json_pointer & + ptr + + +access specified element via JSON Pointer + +Uses a JSON pointer to retrieve a reference to the respective JSON value. No bound checking is performed. The function does not change the JSON value; no null values are created. In particular, the special value - yields an exception. + +ptr + + +JSON pointer to the desired element + + +const reference to the element pointed to by ptr +Constant. + +parse_error.106 + + +if an array index begins with '0' + + + +parse_error.109 + + +if an array index was not a number + + + +out_of_range.402 + + +if the array index '-' is used + + + +out_of_range.404 + + +if the JSON pointer can not be resolved + + +{The behavior is shown in the example.,operatorjson_pointer_const}version 2.0.0 + + + + + nlohmann::json_pointer< BasicJsonType >::get_unchecked + + + reference + reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at + (const json_pointer &ptr) + at + + const json_pointer & + ptr + + +access specified element via JSON Pointer + +Returns a reference to the element at with specified JSON pointer ptr, with bounds checking. + +ptr + + +JSON pointer to the desired element + + +reference to the element pointed to by ptr + + +parse_error.106 + + +if an array index in the passed JSON pointer ptr begins with '0'. See example below. + + + +parse_error.109 + + +if an array index in the passed JSON pointer ptr is not a number. See example below. + + + +out_of_range.401 + + +if an array index in the passed JSON pointer ptr is out of range. See example below. + + + +out_of_range.402 + + +if the array index '-' is used in the passed JSON pointer ptr. As at provides checked access (and no elements are implicitly inserted), the index '-' is always invalid. See example below. + + + +out_of_range.403 + + +if the JSON pointer describes a key of an object which cannot be found. See example below. + + + +out_of_range.404 + + +if the JSON pointer ptr can not be resolved. See example below. + + +Strong guarantee: if an exception is thrown, there are no changes in the JSON value.Constant.version 2.0.0 +{The behavior is shown in the example.,at_json_pointer} + + + + nlohmann::json_pointer< BasicJsonType >::get_checked + + + const_reference + const_reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at + (const json_pointer &ptr) const + at + + const json_pointer & + ptr + + +access specified element via JSON Pointer + +Returns a const reference to the element at with specified JSON pointer ptr, with bounds checking. + +ptr + + +JSON pointer to the desired element + + +reference to the element pointed to by ptr + + +parse_error.106 + + +if an array index in the passed JSON pointer ptr begins with '0'. See example below. + + + +parse_error.109 + + +if an array index in the passed JSON pointer ptr is not a number. See example below. + + + +out_of_range.401 + + +if an array index in the passed JSON pointer ptr is out of range. See example below. + + + +out_of_range.402 + + +if the array index '-' is used in the passed JSON pointer ptr. As at provides checked access (and no elements are implicitly inserted), the index '-' is always invalid. See example below. + + + +out_of_range.403 + + +if the JSON pointer describes a key of an object which cannot be found. See example below. + + + +out_of_range.404 + + +if the JSON pointer ptr can not be resolved. See example below. + + +Strong guarantee: if an exception is thrown, there are no changes in the JSON value.Constant.version 2.0.0 +{The behavior is shown in the example.,at_json_pointer_const} + + + + nlohmann::json_pointer< BasicJsonType >::get_checked + + + basic_json + basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::flatten + () const + flatten + +return flattened JSON value + +The function creates a JSON object whose keys are JSON pointers (see RFC 6901) and whose values are all primitive. The original JSON value can be restored using the unflatten() function.an object that maps JSON pointers to primitive values +Empty objects and arrays are flattened to null and will not be reconstructed correctly by the unflatten() function. +Linear in the size the JSON value.{The following code shows how a JSON object is flattened to an object whose keys consist of JSON pointers.,flatten}see unflatten() for the reverse function +version 2.0.0 + + + + + nlohmann::json_pointer< BasicJsonType >::flatten + nlohmann::detail::object + + + basic_json + basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::unflatten + () const + unflatten + +unflatten a previously flattened JSON value + +The function restores the arbitrary nesting of a JSON value that has been flattened before using the flatten() function. The JSON value must meet certain constraints: +The value must be an object.The keys must be JSON pointers (see RFC 6901)The mapped values must be primitive JSON types. +the original JSON from a flattened version +Empty objects and arrays are flattened by flatten() to null values and can not unflattened to their original type. Apart from this example, for a JSON value j, the following is always true: j == j.flatten().unflatten(). +Linear in the size the JSON value. + +type_error.314 + + +if value is not an object + + + +type_error.315 + + +if object values are not primitive + + +{The following code shows how a flattened JSON object is unflattened into the original nested JSON object.,unflatten}see flatten() for the reverse function +version 2.0.0 + + + + + nlohmann::json_pointer< BasicJsonType >::unflatten + +
                                                                                                + +
                                                                                                JSON Patch functions
                                                                                                + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff + (const basic_json &source, const basic_json &target, const std::string &path="") + diff + + const basic_json & + source + + + const basic_json & + target + + + const std::string & + path + "" + + +creates a diff as a JSON patch + +Creates a JSON Patch so that value source can be changed into the value target by calling patch function.For two JSON values source and target, the following code yields always true: source.patch(diff(source,target))==target; + +Currently, only remove, add, and replace operations are generated. + + +source + + +JSON value to compare from + + + +target + + +JSON value to compare against + + + +path + + +helper value to create JSON pointers + + +a JSON patch to convert the source to target +Linear in the lengths of source and target.{The following code shows how a JSON patch is created as a diff for two JSON values.,diff}see patch apply a JSON patch +see merge_patch apply a JSON Merge Patch +RFC 6902 (JSON Patch) +version 2.0.0 + + + + + nlohmann::detail::array + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::begin + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::cbegin + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::cend + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::end + nlohmann::detail::escape + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::find + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert + nlohmann::detail::object + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::size + nlohmann::to_string + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::type + + + basic_json + basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + (const basic_json &json_patch) const + patch + + const basic_json & + json_patch + + +applies a JSON patch + +JSON Patch defines a JSON document structure for expressing a sequence of operations to apply to a JSON) document. With this function, a JSON Patch is applied to the current JSON value by executing all operations from the patch. + +json_patch + + +JSON patch document + + +patched document +The application of a patch is atomic: Either all operations succeed and the patched document is returned or an exception is thrown. In any case, the original value is not changed: the patch is applied to a copy of the value. + + +parse_error.104 + + +if the JSON patch does not consist of an array of objects + + + +parse_error.105 + + +if the JSON patch is malformed (e.g., mandatory attributes are missing); example: "operation add must have member path" + + + +out_of_range.401 + + +if an array index is out of range. + + + +out_of_range.403 + + +if a JSON pointer inside the patch could not be resolved successfully in the current JSON value; example: "key baz not +found" + + + +out_of_range.405 + + +if JSON pointer has no parent ("add", "remove", "move") + + + +other_error.501 + + +if "test" operation was unsuccessful + + +Linear in the size of the JSON value and the length of the JSON patch. As usually only a fraction of the JSON value is affected by the patch, the complexity can usually be neglected.{The following code shows how a JSON patch is applied to a value.,patch}see diff create a JSON patch by comparing two JSON values +RFC 6902 (JSON Patch) +RFC 6901 (JSON Pointer) +version 2.0.0 + + + + + nlohmann::detail::array + nlohmann::json_pointer< BasicJsonType >::array_index + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at + nlohmann::json_pointer< BasicJsonType >::back + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::begin + nlohmann::detail::parse_error::create + nlohmann::detail::out_of_range::create + nlohmann::detail::other_error::create + nlohmann::json_pointer< BasicJsonType >::empty + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::end + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::find + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_array + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_object + JSON_ASSERT + JSON_HEDLEY_LIKELY + JSON_HEDLEY_UNLIKELY + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_INTERNAL_CATCH + JSON_THROW + JSON_TRY + nlohmann::detail::null + nlohmann::detail::object + nlohmann::json_pointer< BasicJsonType >::pop_back + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back + nlohmann::detail::replace + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::size + nlohmann::detail::string + nlohmann::to_string + +
                                                                                                + +
                                                                                                JSON Merge Patch functions
                                                                                                + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::merge_patch + (const basic_json &apply_patch) + merge_patch + + const basic_json & + apply_patch + + +applies a JSON Merge Patch + +The merge patch format is primarily intended for use with the HTTP PATCH method as a means of describing a set of modifications to a target resource's content. This function applies a merge patch to the current JSON value.The function implements the following algorithm from Section 2 of RFC 7396 (JSON Merge Patch):defineMergePatch(Target,Patch): +ifPatchisanObject: +ifTargetisnotanObject: +Target={}//IgnorethecontentsandsetittoanemptyObject +foreachName/ValuepairinPatch: +ifValueisnull: +ifNameexistsinTarget: +removetheName/ValuepairfromTarget +else: +Target[Name]=MergePatch(Target[Name],Value) +returnTarget +else: +returnPatch +Thereby, Target is the current object; that is, the patch is applied to the current value. + +apply_patch + + +the patch to apply + + +Linear in the lengths of patch.{The following code shows how a JSON Merge Patch is applied to a JSON document.,merge_patch}see patch apply a JSON patch +RFC 7396 (JSON Merge Patch) +version 3.0.0 + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::begin + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::end + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_object + NLOHMANN_BASIC_JSON_TPL_DECLARATION + nlohmann::detail::object + +
                                                                                                + + + NLOHMANN_BASIC_JSON_TPL + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json_t = NLOHMANN_BASIC_JSON_TPL + + basic_json_t + +workaround type for MSVC + + + + + + + + ::nlohmann::detail::primitive_iterator_t + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::primitive_iterator_t = ::nlohmann::detail::primitive_iterator_t + + primitive_iterator_t + + + + + + + + + + ::nlohmann::detail::internal_iterator< BasicJsonType > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::internal_iterator = ::nlohmann::detail::internal_iterator<BasicJsonType> + + internal_iterator + + + + + + + + + + ::nlohmann::detail::iter_impl< BasicJsonType > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::iter_impl = ::nlohmann::detail::iter_impl<BasicJsonType> + + iter_impl + + + + + + + + + + ::nlohmann::detail::iteration_proxy< Iterator > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::iteration_proxy = ::nlohmann::detail::iteration_proxy<Iterator> + + iteration_proxy + + + + + + + + + + ::nlohmann::detail::json_reverse_iterator< Base > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_reverse_iterator = ::nlohmann::detail::json_reverse_iterator<Base> + + json_reverse_iterator + + + + + + + + + + ::nlohmann::detail::output_adapter_t< CharType > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::output_adapter_t = ::nlohmann::detail::output_adapter_t<CharType> + + output_adapter_t + + + + + + + + + + ::nlohmann::detail::binary_reader< basic_json, InputType > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary_reader = ::nlohmann::detail::binary_reader<basic_json, InputType> + + binary_reader + + + + + + + + + + ::nlohmann::detail::binary_writer< basic_json, CharType > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary_writer = ::nlohmann::detail::binary_writer<basic_json, CharType> + + binary_writer + + + + + + + + + + + + detail::value_t + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value_t = detail::value_t + + value_t + + + + + + + + + + ::nlohmann::json_pointer< basic_json > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_pointer = ::nlohmann::json_pointer<basic_json> + + json_pointer + +JSON Pointer, see nlohmann::json_pointer. + + + + + + + + JSONSerializer< T, SFINAE > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_serializer = JSONSerializer<T, SFINAE> + + json_serializer + + + + + + + + + + detail::error_handler_t + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::error_handler_t = detail::error_handler_t + + error_handler_t + +how to treat decoding errors + + + + + + + + detail::cbor_tag_handler_t + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::cbor_tag_handler_t = detail::cbor_tag_handler_t + + cbor_tag_handler_t + +how to treat CBOR tags + + + + + + + + std::initializer_list< detail::json_ref< basic_json > > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::initializer_list_t = std::initializer_list<detail::json_ref<basic_json> > + + initializer_list_t + +helper type for initializer lists of basic_json values + + + + + + + + detail::input_format_t + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::input_format_t = detail::input_format_t + + input_format_t + + + + + + + + + + json_sax< basic_json > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_sax_t = json_sax<basic_json> + + json_sax_t + +SAX interface type, see nlohmann::json_sax. + + + + + + + + detail::parse_event_t + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse_event_t = detail::parse_event_t + + parse_event_t + +parser event types + +The parser callback distinguishes the following events: +object_start: the parser read { and started to process a JSON objectkey: the parser read a key of a value in an objectobject_end: the parser read } and finished processing a JSON objectarray_start: the parser read [ and started to process a JSON arrayarray_end: the parser read ] and finished processing a JSON arrayvalue: the parser finished reading a JSON value +Example when certain parse events are triggered + see parser_callback_t for more information and examples + + + + + + + detail::parser_callback_t< basic_json > + using nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parser_callback_t = detail::parser_callback_t<basic_json> + + parser_callback_t + +per-element parser callback type + +With a parser callback function, the result of parsing a JSON text can be influenced. When passed to parse, it is called on certain events (passed as parse_event_t via parameter event) with a set recursion depth depth and context JSON value parsed. The return value of the callback function is a boolean indicating whether the element that emitted the callback shall be kept or not.We distinguish six scenarios (determined by the event type) in which the callback function can be called. The following table describes the values of the parameters depth, event, and parsed. +parameter event description parameter depth parameter parsed + +parse_event_t::object_start the parser read { and started to process a JSON object depth of the parent of the JSON object a JSON value with type discarded + +parse_event_t::key the parser read a key of a value in an object depth of the currently parsed JSON object a JSON string containing the key + +parse_event_t::object_end the parser read } and finished processing a JSON object depth of the parent of the JSON object the parsed JSON object + +parse_event_t::array_start the parser read [ and started to process a JSON array depth of the parent of the JSON array a JSON value with type discarded + +parse_event_t::array_end the parser read ] and finished processing a JSON array depth of the parent of the JSON array the parsed JSON array + +parse_event_t::value the parser finished reading a JSON value depth of the value the parsed JSON value +
                                                                                                +Example when certain parse events are triggered + Discarding a value (i.e., returning false) has different effects depending on the context in which function was called:
                                                                                                +Discarded values in structured types are skipped. That is, the parser will behave as if the discarded value was never read.In case a value outside a structured type is skipped, it is replaced with null. This case happens if the top-level element is skipped. + + +depth + + +the depth of the recursion during parsing + + + +event + + +an event of type parse_event_t indicating the context in the callback function has been called + + + +parsed + + +the current intermediate parse result; note that writing to this value has no effect for parse_event_t::key events + + +Whether the JSON value which called the function during parsing should be kept (true) or not (false). In the latter case, it is either skipped completely or replaced by an empty discarded object. +see parse for examples +version 1.0.0 +
                                                                                                + + + +
                                                                                                +
                                                                                                + + + + + detail::value_t + + + friend struct + friend struct detail::external_constructor + + detail::external_constructor + + + + + + + + + + + + typename BasicJsonType + + + typename InputType + + + friend class + friend class ::nlohmann::detail::parser + + ::nlohmann::detail::parser + + + + + + + + + + + + typename BasicJsonType + + + friend class + friend class ::nlohmann::detail::iter_impl + + ::nlohmann::detail::iter_impl + + + + + + + + + + + + typename BasicJsonType + + + typename CharType + + + friend class + friend class ::nlohmann::detail::binary_writer + + ::nlohmann::detail::binary_writer + + + + + + + + + + + + typename BasicJsonType + + + typename InputType + + + typename SAX + + + friend class + friend class ::nlohmann::detail::binary_reader + + ::nlohmann::detail::binary_reader + + + + + + + + + + + + typename BasicJsonType + + + friend class + friend class ::nlohmann::detail::json_sax_dom_parser + + ::nlohmann::detail::json_sax_dom_parser + + + + + + + + + + + + typename BasicJsonType + + + friend class + friend class ::nlohmann::detail::json_sax_dom_callback_parser + + ::nlohmann::detail::json_sax_dom_callback_parser + + + + + + + + + + friend class + friend class ::nlohmann::detail::exception + + ::nlohmann::detail::exception + + + + + + + + + + + + JSON_PRIVATE_UNLESS_TESTED + JSON_PRIVATE_UNLESS_TESTED nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::__pad0__ + + __pad0__ + using lexer = ::nlohmann::detail::lexer_base<basic_json> + + + + + + + + + + JSON_PRIVATE_UNLESS_TESTED + JSON_PRIVATE_UNLESS_TESTED nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::__pad1__ + + __pad1__ + using serializer = ::nlohmann::detail::serializer<basic_json> + + + + + + + + + + JSON_PRIVATE_UNLESS_TESTED + JSON_PRIVATE_UNLESS_TESTED nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::__pad2__ + + __pad2__ + union json_value { object_t* object + + + + + + + + + + array_t * + array_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::array + + array + +array (stored with pointer to save storage) + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] + + + string_t * + string_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::string + + string + +string (stored with pointer to save storage) + + + + + + + + binary_t * + binary_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::binary + + binary + +binary (stored with pointer to save storage) + + + + + + + + boolean_t + boolean_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::boolean + + boolean + +boolean + + + + + + + + number_integer_t + number_integer_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::number_integer + + number_integer + +number (integer) + + + + + + + + number_unsigned_t + number_unsigned_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::number_unsigned + + number_unsigned + +number (unsigned integer) + + + + + + + + number_float_t + number_float_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::number_float + + number_float + +number (floating-point) + + + + + + + + + + JSON_PRIVATE_UNLESS_TESTED + JSON_PRIVATE_UNLESS_TESTED nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::__pad3__ + + __pad3__ + value_t m_type = value_t::null + + + + + + + + + + json_value + json_value nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::m_value + + m_value + = {} + +the value of the current element + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::destroy + + + + + + + typename InputAdapterType + + + ::nlohmann::detail::parser< basic_json, InputAdapterType > + static ::nlohmann::detail::parser<basic_json, InputAdapterType> nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parser + (InputAdapterType adapter, detail::parser_callback_t< basic_json >cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false) + parser + + InputAdapterType + adapter + + + detail::parser_callback_t< basic_json > + cb + nullptr + + + const bool + allow_exceptions + true + + + const bool + ignore_comments + false + + + + + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + ()=default + json_value + +default constructor (for null values) + + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + (boolean_t v) noexcept + json_value + + boolean_t + v + + +constructor for booleans + + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + (number_integer_t v) noexcept + json_value + + number_integer_t + v + + +constructor for numbers (integer) + + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + (number_unsigned_t v) noexcept + json_value + + number_unsigned_t + v + + +constructor for numbers (unsigned) + + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + (number_float_t v) noexcept + json_value + + number_float_t + v + + +constructor for numbers (floating-point) + + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + (value_t t) + json_value + + value_t + t + + +constructor for empty values of a given type + + + + + + nlohmann::detail::array + nlohmann::detail::binary + nlohmann::detail::boolean + nlohmann::detail::other_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::null + nlohmann::detail::number_float + nlohmann::detail::number_integer + nlohmann::detail::number_unsigned + nlohmann::detail::object + nlohmann::detail::string + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + (const string_t &value) + json_value + + const string_t & + value + + +constructor for strings + + + + + + nlohmann::detail::value + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + (string_t &&value) + json_value + + string_t && + value + + +constructor for rvalue strings + + + + + + nlohmann::detail::value + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + (const object_t &value) + json_value + + const object_t & + value + + +constructor for objects + + + + + + nlohmann::detail::value + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + (object_t &&value) + json_value + + object_t && + value + + +constructor for rvalue objects + + + + + + nlohmann::detail::value + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + (const array_t &value) + json_value + + const array_t & + value + + +constructor for arrays + + + + + + nlohmann::detail::value + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + (array_t &&value) + json_value + + array_t && + value + + +constructor for rvalue arrays + + + + + + nlohmann::detail::value + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + (const typename binary_t::container_type &value) + json_value + + const typename binary_t::container_type & + value + + +constructor for binary arrays + + + + + + nlohmann::detail::value + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + (typename binary_t::container_type &&value) + json_value + + typename binary_t::container_type && + value + + +constructor for rvalue binary arrays + + + + + + nlohmann::detail::value + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + (const binary_t &value) + json_value + + const binary_t & + value + + +constructor for binary arrays (internal type) + + + + + + nlohmann::detail::value + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value + (binary_t &&value) + json_value + + binary_t && + value + + +constructor for rvalue binary arrays (internal type) + + + + + + nlohmann::detail::value + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::destroy + (value_t t) noexcept + destroy + + value_t + t + + + + + + + + + nlohmann::detail::array + nlohmann::detail::binary + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_array + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_object + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::m_value + nlohmann::detail::object + nlohmann::detail::string + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::assert_invariant + (bool check_parents=true) const noexcept + assert_invariant + + bool + check_parents + true + + +checks the class invariants + +This function asserts the class invariants. It needs to be called at the end of every constructor to make sure that created objects respect the invariant. Furthermore, it has to be called each time the type of a JSON value is changed, because the invariant expresses a relationship between m_type and m_value.Furthermore, the parent relation is checked for arrays and objects: If check_parents true and the value is an array or object, then the container's elements must have the current value as parent. + +check_parents + + +whether the parent relation should be checked. The value is true by default and should only be set to false during destruction of objects when the invariant does not need to hold. + + + + + + + nlohmann::detail::array + nlohmann::detail::binary + JSON_ASSERT + JSON_CATCH + JSON_TRY + nlohmann::detail::object + nlohmann::detail::string + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator= + + + void + void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::set_parents + () + set_parents + + + + + + + + nlohmann::detail::array + nlohmann::detail::object + + + iterator + iterator nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::set_parents + (iterator it, typename iterator::difference_type count) + set_parents + + iterator + it + + + typename iterator::difference_type + count + + + + + + + + + + + reference + reference nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::set_parent + (reference j) + set_parent + + reference + j + + + + + + + + + + + boolean_t + boolean_t nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl + (boolean_t *) const + get_impl + + boolean_t * + + +get a boolean (explicit) + + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_LIKELY + JSON_THROW + nlohmann::detail::string + + + object_t * + object_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr + (object_t *) noexcept + get_impl_ptr + + object_t * + + +get a pointer to the value (object) + + + + + + + + constexpr const object_t * + constexpr const object_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr + (const object_t *) const noexcept + get_impl_ptr + + const object_t * + + +get a pointer to the value (object) + + + + + + + + array_t * + array_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr + (array_t *) noexcept + get_impl_ptr + + array_t * + + +get a pointer to the value (array) + + + + + + + + constexpr const array_t * + constexpr const array_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr + (const array_t *) const noexcept + get_impl_ptr + + const array_t * + + +get a pointer to the value (array) + + + + + + + + string_t * + string_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr + (string_t *) noexcept + get_impl_ptr + + string_t * + + +get a pointer to the value (string) + + + + + + + + constexpr const string_t * + constexpr const string_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr + (const string_t *) const noexcept + get_impl_ptr + + const string_t * + + +get a pointer to the value (string) + + + + + + + + boolean_t * + boolean_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr + (boolean_t *) noexcept + get_impl_ptr + + boolean_t * + + +get a pointer to the value (boolean) + + + + + + + + constexpr const boolean_t * + constexpr const boolean_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr + (const boolean_t *) const noexcept + get_impl_ptr + + const boolean_t * + + +get a pointer to the value (boolean) + + + + + + + + number_integer_t * + number_integer_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr + (number_integer_t *) noexcept + get_impl_ptr + + number_integer_t * + + +get a pointer to the value (integer number) + + + + + + + + constexpr const number_integer_t * + constexpr const number_integer_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr + (const number_integer_t *) const noexcept + get_impl_ptr + + const number_integer_t * + + +get a pointer to the value (integer number) + + + + + + + + number_unsigned_t * + number_unsigned_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr + (number_unsigned_t *) noexcept + get_impl_ptr + + number_unsigned_t * + + +get a pointer to the value (unsigned number) + + + + + + + + constexpr const number_unsigned_t * + constexpr const number_unsigned_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr + (const number_unsigned_t *) const noexcept + get_impl_ptr + + const number_unsigned_t * + + +get a pointer to the value (unsigned number) + + + + + + + + number_float_t * + number_float_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr + (number_float_t *) noexcept + get_impl_ptr + + number_float_t * + + +get a pointer to the value (floating-point number) + + + + + + + + constexpr const number_float_t * + constexpr const number_float_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr + (const number_float_t *) const noexcept + get_impl_ptr + + const number_float_t * + + +get a pointer to the value (floating-point number) + + + + + + + + binary_t * + binary_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr + (binary_t *) noexcept + get_impl_ptr + + binary_t * + + +get a pointer to the value (binary) + + + + + + + + constexpr const binary_t * + constexpr const binary_t* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl_ptr + (const binary_t *) const noexcept + get_impl_ptr + + const binary_t * + + +get a pointer to the value (binary) + + + + + + + + + + allocator_type + static allocator_type nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_allocator + () + get_allocator + +returns the allocator associated with the container + + + + + + JSON_HEDLEY_WARN_UNUSED_RESULT + + + JSON_HEDLEY_WARN_UNUSED_RESULT basic_json + static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::meta + () + meta + +returns version information on the library + +This function returns a JSON object with information about the library, including the version number and information on the platform and compiler.JSON object holding version information +key description + +compiler Information on the used compiler. It is an object with the following keys: c++ (the used C++ standard), family (the compiler family; possible values are clang, icc, gcc, ilecpp, msvc, pgcpp, sunpro, and unknown), and version (the compiler version). + +copyright The copyright line for the library as string. + +name The name of the library as string. + +platform The used platform as string. Possible values are win32, linux, apple, unix, and unknown. + +url The URL of the project as string. + +version The version of the library. It is an object with the following keys: major, minor, and patch as defined by Semantic Versioning, and string (the version string). +
                                                                                                +{The following code shows an example output of the meta() function.,meta}
                                                                                                +Strong guarantee: if an exception is thrown, there are no changes to any JSON value.
                                                                                                Constant.2.1.0 +
                                                                                                + + + + NLOHMANN_JSON_VERSION_MAJOR + NLOHMANN_JSON_VERSION_MINOR + NLOHMANN_JSON_VERSION_PATCH + nlohmann::to_string +
                                                                                                +
                                                                                                + + + + + typename T + + + typename... + Args + Args + + + JSON_HEDLEY_RETURNS_NON_NULL T * + static JSON_HEDLEY_RETURNS_NON_NULL T* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::create + (Args &&... args) + create + + Args &&... + args + + +helper for exception-safe object creation + + + + + + JSON_ASSERT + JSON_PRIVATE_UNLESS_TESTED + + + + + typename ReferenceType + + + typename ThisType + + + ReferenceType + static ReferenceType nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ref_impl + (ThisType &obj) + get_ref_impl + + ThisType & + obj + + +helper function to implement get_ref() + +This function helps to implement get_ref() without code duplication for const and non-const overloads + +ThisType + + +will be deduced as basic_json or const basic_json + + + + +type_error.303 + + +if ReferenceType does not match underlying value type of the current JSON + + + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_LIKELY + JSON_THROW + nlohmann::detail::string + + + + + JSON_HEDLEY_RETURNS_NON_NULL const char * + JSON_HEDLEY_RETURNS_NON_NULL const char* nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::type_name + () const noexcept + type_name + +return the type as string + +Returns the type name as string to be used in error messages - usually to indicate that a function was called on a wrong JSON type.a string representation of a the m_type member: +Value type return value + +null "null" + +boolean "boolean" + +string "string" + +number "number" (for all number types) + +object "object" + +array "array" + +binary "binary" + +discarded "discarded" +
                                                                                                +No-throw guarantee: this function never throws exceptions.
                                                                                                +Constant.
                                                                                                {The following code exemplifies type_name() for all JSON types.,type_name}see type() return the type of the JSON value +see operator value_t() return the type of the JSON value (implicit) +version 1.0.0, public since 2.1.0, const char* and noexcept since 3.0.0 +
                                                                                                + + + + nlohmann::detail::array + nlohmann::detail::binary + nlohmann::detail::boolean + nlohmann::detail::discarded + JSON_PRIVATE_UNLESS_TESTED + nlohmann::detail::null + nlohmann::detail::object + nlohmann::detail::string + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update +
                                                                                                +
                                                                                                + +a class to store JSON values + + + +ObjectType + + +type for JSON objects (std::map by default; will be used in object_t) + + + +ArrayType + + +type for JSON arrays (std::vector by default; will be used in array_t) + + + +StringType + + +type for JSON strings and object keys (std::string by default; will be used in string_t) + + + +BooleanType + + +type for JSON booleans (bool by default; will be used in boolean_t) + + + +NumberIntegerType + + +type for JSON integer numbers (int64_t by default; will be used in number_integer_t) + + + +NumberUnsignedType + + +type for JSON unsigned integer numbers (uint64_t by default; will be used in number_unsigned_t) + + + +NumberFloatType + + +type for JSON floating-point numbers (double by default; will be used in number_float_t) + + + +BinaryType + + +type for packed binary data for compatibility with binary serialization formats (std::vector<std::uint8_t> by default; will be used in binary_t) + + + +AllocatorType + + +type of the allocator to use (std::allocator by default) + + + +JSONSerializer + + +the serializer to resolve internal calls to to_json() and from_json() (adl_serializer by default) + + +The class satisfies the following concept requirements: +Basic +DefaultConstructible: JSON values can be default constructed. The result will be a JSON null value.MoveConstructible: A JSON value can be constructed from an rvalue argument.CopyConstructible: A JSON value can be copy-constructed from an lvalue expression.MoveAssignable: A JSON value van be assigned from an rvalue argument.CopyAssignable: A JSON value can be copy-assigned from an lvalue expression.Destructible: JSON values can be destructed. +Layout +StandardLayoutType: JSON values have standard layout: All non-static data members are private and standard layout types, the class has no virtual functions or (virtual) base classes. +Library-wide +EqualityComparable: JSON values can be compared with ==, see operator==(const_reference,const_reference).LessThanComparable: JSON values can be compared with <, see operator<(const_reference,const_reference).Swappable: Any JSON lvalue or rvalue of can be swapped with any lvalue or rvalue of other compatible types, using unqualified function call swap().NullablePointer: JSON values can be compared against std::nullptr_t objects which are used to model the null value. +Container +Container: JSON values can be used like STL containers and provide iterator access.ReversibleContainer; JSON values can be used like STL containers and provide reverse iterator access. + +The member variables m_value and m_type have the following relationship: +If m_type == value_t::object, then m_value.object != nullptr.If m_type == value_t::array, then m_value.array != nullptr.If m_type == value_t::string, then m_value.string != nullptr. The invariants are checked by member function assert_invariant(). + +RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format +version 1.0.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +m_value + + + -number_integer + + + -number_float + + + -number_unsigned + + + -binary + + + -string + + + -boolean + + + -array + + + -__pad2__ + -__pad1__ + -__pad0__ + +__pad3__ + + + + + + + + + + + + -m_subtype + + + -m_has_subtype + + + + + + + + + nlohmann::basic_json::nlohmann::detail::binary_reader + nlohmann::basic_json::nlohmann::detail::binary_writer + nlohmann::basic_json::nlohmann::detail::exception + nlohmann::basic_json::nlohmann::detail::iter_impl + nlohmann::basic_json::nlohmann::detail::json_sax_dom_callback_parser + nlohmann::basic_json::nlohmann::detail::json_sax_dom_parser + nlohmann::basic_json::nlohmann::detail::parser + nlohmann::basic_json__pad0__ + nlohmann::basic_json__pad1__ + nlohmann::basic_json__pad2__ + nlohmann::basic_json__pad3__ + nlohmann::basic_jsonaccept + nlohmann::basic_jsonaccept + nlohmann::basic_jsonaccept + nlohmann::basic_jsonallocator_type + nlohmann::basic_jsonarray + nlohmann::basic_jsonarray + nlohmann::basic_jsonarray_t + nlohmann::basic_jsonassert_invariant + nlohmann::basic_jsonat + nlohmann::basic_jsonat + nlohmann::basic_jsonat + nlohmann::basic_jsonat + nlohmann::basic_jsonat + nlohmann::basic_jsonat + nlohmann::basic_jsonback + nlohmann::basic_jsonback + nlohmann::basic_jsonbasic_json + nlohmann::basic_jsonbasic_json + nlohmann::basic_jsonbasic_json + nlohmann::basic_jsonbasic_json + nlohmann::basic_jsonbasic_json + nlohmann::basic_jsonbasic_json + nlohmann::basic_jsonbasic_json + nlohmann::basic_jsonbasic_json + nlohmann::basic_jsonbasic_json + nlohmann::basic_jsonbasic_json + nlohmann::basic_jsonbasic_json_t + nlohmann::basic_jsonbegin + nlohmann::basic_jsonbegin + nlohmann::basic_jsonbinary + nlohmann::basic_jsonbinary + nlohmann::basic_jsonbinary + nlohmann::basic_jsonbinary + nlohmann::basic_jsonbinary + nlohmann::basic_jsonbinary_reader + nlohmann::basic_jsonbinary_t + nlohmann::basic_jsonbinary_writer + nlohmann::basic_jsonboolean + nlohmann::basic_jsonboolean_t + nlohmann::basic_jsoncbegin + nlohmann::basic_jsoncbor_tag_handler_t + nlohmann::basic_jsoncend + nlohmann::basic_jsonclear + nlohmann::basic_jsonconst_iterator + nlohmann::basic_jsonconst_pointer + nlohmann::basic_jsonconst_reference + nlohmann::basic_jsonconst_reverse_iterator + nlohmann::basic_jsoncontains + nlohmann::basic_jsoncontains + nlohmann::basic_jsoncount + nlohmann::basic_jsoncrbegin + nlohmann::basic_jsoncreate + nlohmann::basic_jsoncrend + nlohmann::basic_jsondestroy + nlohmann::basic_jsondetail::external_constructor + nlohmann::basic_jsondiff + nlohmann::basic_jsondifference_type + nlohmann::basic_jsondump + nlohmann::basic_jsonemplace + nlohmann::basic_jsonemplace_back + nlohmann::basic_jsonempty + nlohmann::basic_jsonend + nlohmann::basic_jsonend + nlohmann::basic_jsonerase + nlohmann::basic_jsonerase + nlohmann::basic_jsonerase + nlohmann::basic_jsonerase + nlohmann::basic_jsonerror_handler_t + nlohmann::basic_jsonexception + nlohmann::basic_jsonfind + nlohmann::basic_jsonfind + nlohmann::basic_jsonflatten + nlohmann::basic_jsonfrom_bson + nlohmann::basic_jsonfrom_bson + nlohmann::basic_jsonfrom_bson + nlohmann::basic_jsonfrom_bson + nlohmann::basic_jsonfrom_cbor + nlohmann::basic_jsonfrom_cbor + nlohmann::basic_jsonfrom_cbor + nlohmann::basic_jsonfrom_cbor + nlohmann::basic_jsonfrom_msgpack + nlohmann::basic_jsonfrom_msgpack + nlohmann::basic_jsonfrom_msgpack + nlohmann::basic_jsonfrom_msgpack + nlohmann::basic_jsonfrom_ubjson + nlohmann::basic_jsonfrom_ubjson + nlohmann::basic_jsonfrom_ubjson + nlohmann::basic_jsonfrom_ubjson + nlohmann::basic_jsonfront + nlohmann::basic_jsonfront + nlohmann::basic_jsonget + nlohmann::basic_jsonget + nlohmann::basic_jsonget_allocator + nlohmann::basic_jsonget_binary + nlohmann::basic_jsonget_binary + nlohmann::basic_jsonget_impl + nlohmann::basic_jsonget_impl + nlohmann::basic_jsonget_impl + nlohmann::basic_jsonget_impl + nlohmann::basic_jsonget_impl + nlohmann::basic_jsonget_impl + nlohmann::basic_jsonget_impl + nlohmann::basic_jsonget_impl_ptr + nlohmann::basic_jsonget_impl_ptr + nlohmann::basic_jsonget_impl_ptr + nlohmann::basic_jsonget_impl_ptr + nlohmann::basic_jsonget_impl_ptr + nlohmann::basic_jsonget_impl_ptr + nlohmann::basic_jsonget_impl_ptr + nlohmann::basic_jsonget_impl_ptr + nlohmann::basic_jsonget_impl_ptr + nlohmann::basic_jsonget_impl_ptr + nlohmann::basic_jsonget_impl_ptr + nlohmann::basic_jsonget_impl_ptr + nlohmann::basic_jsonget_impl_ptr + nlohmann::basic_jsonget_impl_ptr + nlohmann::basic_jsonget_impl_ptr + nlohmann::basic_jsonget_impl_ptr + nlohmann::basic_jsonget_ptr + nlohmann::basic_jsonget_ptr + nlohmann::basic_jsonget_ref + nlohmann::basic_jsonget_ref + nlohmann::basic_jsonget_ref_impl + nlohmann::basic_jsonget_to + nlohmann::basic_jsonget_to + nlohmann::basic_jsonget_to + nlohmann::basic_jsoninitializer_list_t + nlohmann::basic_jsoninput_format_t + nlohmann::basic_jsoninsert + nlohmann::basic_jsoninsert + nlohmann::basic_jsoninsert + nlohmann::basic_jsoninsert + nlohmann::basic_jsoninsert + nlohmann::basic_jsoninsert + nlohmann::basic_jsoninsert_iterator + nlohmann::basic_jsoninternal_iterator + nlohmann::basic_jsoninvalid_iterator + nlohmann::basic_jsonis_array + nlohmann::basic_jsonis_binary + nlohmann::basic_jsonis_boolean + nlohmann::basic_jsonis_discarded + nlohmann::basic_jsonis_null + nlohmann::basic_jsonis_number + nlohmann::basic_jsonis_number_float + nlohmann::basic_jsonis_number_integer + nlohmann::basic_jsonis_number_unsigned + nlohmann::basic_jsonis_object + nlohmann::basic_jsonis_primitive + nlohmann::basic_jsonis_string + nlohmann::basic_jsonis_structured + nlohmann::basic_jsonitems + nlohmann::basic_jsonitems + nlohmann::basic_jsoniter_impl + nlohmann::basic_jsoniteration_proxy + nlohmann::basic_jsoniterator + nlohmann::basic_jsoniterator_wrapper + nlohmann::basic_jsoniterator_wrapper + nlohmann::basic_jsonjson_pointer + nlohmann::basic_jsonjson_reverse_iterator + nlohmann::basic_jsonjson_sax_t + nlohmann::basic_jsonjson_serializer + nlohmann::basic_jsonjson_value + nlohmann::basic_jsonjson_value + nlohmann::basic_jsonjson_value + nlohmann::basic_jsonjson_value + nlohmann::basic_jsonjson_value + nlohmann::basic_jsonjson_value + nlohmann::basic_jsonjson_value + nlohmann::basic_jsonjson_value + nlohmann::basic_jsonjson_value + nlohmann::basic_jsonjson_value + nlohmann::basic_jsonjson_value + nlohmann::basic_jsonjson_value + nlohmann::basic_jsonjson_value + nlohmann::basic_jsonjson_value + nlohmann::basic_jsonjson_value + nlohmann::basic_jsonjson_value + nlohmann::basic_jsonm_value + nlohmann::basic_jsonmax_size + nlohmann::basic_jsonmerge_patch + nlohmann::basic_jsonmeta + nlohmann::basic_jsonnumber_float + nlohmann::basic_jsonnumber_float_t + nlohmann::basic_jsonnumber_integer + nlohmann::basic_jsonnumber_integer_t + nlohmann::basic_jsonnumber_unsigned + nlohmann::basic_jsonnumber_unsigned_t + nlohmann::basic_jsonobject + nlohmann::basic_jsonobject_comparator_t + nlohmann::basic_jsonobject_t + nlohmann::basic_jsonoperator value_t + nlohmann::basic_jsonoperator ValueType + nlohmann::basic_jsonoperator!= + nlohmann::basic_jsonoperator!= + nlohmann::basic_jsonoperator!= + nlohmann::basic_jsonoperator+= + nlohmann::basic_jsonoperator+= + nlohmann::basic_jsonoperator+= + nlohmann::basic_jsonoperator+= + nlohmann::basic_jsonoperator< + nlohmann::basic_jsonoperator< + nlohmann::basic_jsonoperator< + nlohmann::basic_jsonoperator<< + nlohmann::basic_jsonoperator<< + nlohmann::basic_jsonoperator<= + nlohmann::basic_jsonoperator<= + nlohmann::basic_jsonoperator<= + nlohmann::basic_jsonoperator= + nlohmann::basic_jsonoperator== + nlohmann::basic_jsonoperator== + nlohmann::basic_jsonoperator== + nlohmann::basic_jsonoperator> + nlohmann::basic_jsonoperator> + nlohmann::basic_jsonoperator> + nlohmann::basic_jsonoperator>= + nlohmann::basic_jsonoperator>= + nlohmann::basic_jsonoperator>= + nlohmann::basic_jsonoperator>> + nlohmann::basic_jsonoperator>> + nlohmann::basic_jsonoperator[] + nlohmann::basic_jsonoperator[] + nlohmann::basic_jsonoperator[] + nlohmann::basic_jsonoperator[] + nlohmann::basic_jsonoperator[] + nlohmann::basic_jsonoperator[] + nlohmann::basic_jsonoperator[] + nlohmann::basic_jsonoperator[] + nlohmann::basic_jsonother_error + nlohmann::basic_jsonout_of_range + nlohmann::basic_jsonoutput_adapter_t + nlohmann::basic_jsonparse + nlohmann::basic_jsonparse + nlohmann::basic_jsonparse + nlohmann::basic_jsonparse_error + nlohmann::basic_jsonparse_event_t + nlohmann::basic_jsonparser + nlohmann::basic_jsonparser_callback_t + nlohmann::basic_jsonpatch + nlohmann::basic_jsonpointer + nlohmann::basic_jsonprimitive_iterator_t + nlohmann::basic_jsonpush_back + nlohmann::basic_jsonpush_back + nlohmann::basic_jsonpush_back + nlohmann::basic_jsonpush_back + nlohmann::basic_jsonrbegin + nlohmann::basic_jsonrbegin + nlohmann::basic_jsonreference + nlohmann::basic_jsonrend + nlohmann::basic_jsonrend + nlohmann::basic_jsonreverse_iterator + nlohmann::basic_jsonsax_parse + nlohmann::basic_jsonsax_parse + nlohmann::basic_jsonsax_parse + nlohmann::basic_jsonset_parent + nlohmann::basic_jsonset_parents + nlohmann::basic_jsonset_parents + nlohmann::basic_jsonsize + nlohmann::basic_jsonsize_type + nlohmann::basic_jsonstring + nlohmann::basic_jsonstring_t + nlohmann::basic_jsonswap + nlohmann::basic_jsonswap + nlohmann::basic_jsonswap + nlohmann::basic_jsonswap + nlohmann::basic_jsonswap + nlohmann::basic_jsonswap + nlohmann::basic_jsonswap + nlohmann::basic_jsonto_bson + nlohmann::basic_jsonto_bson + nlohmann::basic_jsonto_bson + nlohmann::basic_jsonto_cbor + nlohmann::basic_jsonto_cbor + nlohmann::basic_jsonto_cbor + nlohmann::basic_jsonto_msgpack + nlohmann::basic_jsonto_msgpack + nlohmann::basic_jsonto_msgpack + nlohmann::basic_jsonto_ubjson + nlohmann::basic_jsonto_ubjson + nlohmann::basic_jsonto_ubjson + nlohmann::basic_jsontype + nlohmann::basic_jsontype_error + nlohmann::basic_jsontype_name + nlohmann::basic_jsonunflatten + nlohmann::basic_jsonupdate + nlohmann::basic_jsonupdate + nlohmann::basic_jsonvalue + nlohmann::basic_jsonvalue + nlohmann::basic_jsonvalue + nlohmann::basic_jsonvalue + nlohmann::basic_jsonvalue_t + nlohmann::basic_jsonvalue_type + nlohmann::basic_json~basic_json + +
                                                                                                +
                                                                                                diff --git a/docs/xml/d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.xml b/docs/xml/d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.xml new file mode 100644 index 00000000..882f74a5 --- /dev/null +++ b/docs/xml/d9/de0/structnlohmann_1_1detail_1_1detector_3_01Default_00_01void__t_3_01Op_3_01Args_8_8_8_01_4_01_4_00_01Op_00_01Args_8_8_8_01_4.xml @@ -0,0 +1,65 @@ + + + + nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... > + json.hpp + + + class Default + + + template< class... > class + Op + Op + + + class... + Args + Args + + + + + std::true_type + using nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >::value_t = std::true_type + + value_t + + + + + + + + + + Op< Args... > + using nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >::type = Op<Args...> + + type + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >type + nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >value_t + + + diff --git a/docs/xml/d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.xml b/docs/xml/d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.xml new file mode 100644 index 00000000..e84e687c --- /dev/null +++ b/docs/xml/d9/de1/structnlohmann_1_1detail_1_1has__to__json_3_01BasicJsonType_00_01T_00_01enable__if__t_3_01_9is__4a8838c1c30336126696a126041e661c.xml @@ -0,0 +1,69 @@ + + + + nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > + json.hpp + + + typename BasicJsonType + + + typename T + + + + + typename BasicJsonType::template json_serializer< T, void > + using nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer = typename BasicJsonType::template json_serializer<T, void> + + serializer + + + + + + + + + + + + constexpr bool + constexpr bool nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value + + value + = + is_detected_exact<void, to_json_function, serializer, BasicJsonType&, + T>::value + + + + + + + + + + + + + + + + + + + + + + +value + + + + + + nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >serializer + nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >value + + + diff --git a/docs/xml/d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.xml b/docs/xml/d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.xml index 9188d91e..4904a40f 100644 --- a/docs/xml/d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.xml +++ b/docs/xml/d9/df1/classcudnn__frontend_1_1EngineFallbackListBuilder__v8.xml @@ -15,7 +15,7 @@
                                                                                                - +
                                                                                                @@ -34,7 +34,7 @@ - + auto @@ -51,8 +51,8 @@ - - cudnn_frontend::EngineFallbackList_v8::mode + + cudnn_frontend::EngineFallbackList_v8::mode EngineFallbackList_v8 && @@ -65,9 +65,9 @@ constructs the EngineFallbackList_v8 by calling the cudnn API Throws the appropriate error message - - cudnn_frontend::EngineFallbackList_v8::EngineFallbackListBuilder_v8 - cudnn_frontend::get_fallback_engine_list + + cudnn_frontend::EngineFallbackList_v8::EngineFallbackListBuilder_v8 + cudnn_frontend::get_fallback_engine_list cudnn_frontend::EngineFallbackList_v8::operator= cudnn_frontend::set_error_and_throw_exception cudnn_frontend::EngineConfigBuilder_v8::setEngine @@ -84,7 +84,7 @@ - + @@ -97,7 +97,7 @@ - + @@ -113,7 +113,7 @@ - + @@ -129,7 +129,7 @@ - + EngineFallbackListBuilder_v8 & @@ -145,7 +145,7 @@ - + @@ -153,84 +153,90 @@ EngineFallBackListBuilder Class Helper class used to build EngineFallBackList class - + - + - + - + +elements - + - + - + -m_engine_configs - + + -num_ops + + -opGraphTag - + -opGraph - + -mode - + + + + - + -m_fallback_list - + - + - + +elements - + < ManagedOpaqueDescriptor > - + - + - + - + - + #err_msg - + #pointer - + #status - + - + - + cudnn_frontend::EngineFallbackListBuilder_v8build cudnn_frontend::EngineFallbackListBuilder_v8EngineFallbackListBuilder_v8 diff --git a/docs/xml/d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.xml b/docs/xml/d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.xml index 3d0d43e5..fb4a44d1 100644 --- a/docs/xml/d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.xml +++ b/docs/xml/d9/dfd/classcudnn__frontend_1_1EngineBuilder__v8.xml @@ -69,7 +69,7 @@ - cudnn_frontend::EngineFallbackListBuilder_v8::build + cudnn_frontend::EngineFallbackListBuilder_v8::build Engine_v8 && @@ -168,115 +168,115 @@ EngineBuilder_v8 Class Helper class used to build Engine_v8 class - + - + +elements - + < cudnn_frontend::Engine_v8::Knob > - + - + - + - + +elements - + - + +elements - + - + +elements - + < ManagedOpaqueDescriptor, CUDNN_KNOB_TYPE_COUNTS > - + - + -m_engine - + - + - + - + - + - + - + - + -bKnobs - + -idx -numKnobs - + -opGraphTag - + -opGraph - + -knobs - + - + #err_msg - + #pointer - + #status - + - + -knobType - + -minValue -maxValue -stride -choice - + - + diff --git a/docs/xml/da/d10/classnlohmann_1_1detail_1_1json__ref.xml b/docs/xml/da/d10/classnlohmann_1_1detail_1_1json__ref.xml new file mode 100644 index 00000000..6da03a1d --- /dev/null +++ b/docs/xml/da/d10/classnlohmann_1_1detail_1_1json__ref.xml @@ -0,0 +1,290 @@ + + + + nlohmann::detail::json_ref + json.hpp + + + typename BasicJsonType + + + + + BasicJsonType + using nlohmann::detail::json_ref< BasicJsonType >::value_type = BasicJsonType + + value_type + + + + + + + + + + + + value_type + value_type nlohmann::detail::json_ref< BasicJsonType >::owned_value + + owned_value + = nullptr + + + + + + + + + + value_type const * + value_type const* nlohmann::detail::json_ref< BasicJsonType >::value_ref + + value_ref + = nullptr + + + + + + + + + + + + + nlohmann::detail::json_ref< BasicJsonType >::json_ref + (value_type &&value) + json_ref + + value_type && + value + + + + + + + + + + + + nlohmann::detail::json_ref< BasicJsonType >::json_ref + (const value_type &value) + json_ref + + const value_type & + value + + + + + + + + + + + + nlohmann::detail::json_ref< BasicJsonType >::json_ref + (std::initializer_list< json_ref > init) + json_ref + + std::initializer_list< json_ref > + init + + + + + + + + + nlohmann::detail::value + + + + + class... + Args + Args + + + enable_if_t< std::is_constructible< value_type, Args... >::value, int > + 0 + + + + nlohmann::detail::json_ref< BasicJsonType >::json_ref + (Args &&... args) + json_ref + + Args &&... + args + + + + + + + + + + + + nlohmann::detail::json_ref< BasicJsonType >::json_ref + (json_ref &&) noexcept=default + json_ref + + json_ref && + + + + + + + + + + + + nlohmann::detail::json_ref< BasicJsonType >::json_ref + (const json_ref &)=delete + json_ref + + const json_ref & + + + + + + + + + + + json_ref & + json_ref& nlohmann::detail::json_ref< BasicJsonType >::operator= + (const json_ref &)=delete + operator= + + const json_ref & + + + + + + + + + + + json_ref & + json_ref& nlohmann::detail::json_ref< BasicJsonType >::operator= + (json_ref &&)=delete + operator= + + json_ref && + + + + + + + + + + + + nlohmann::detail::json_ref< BasicJsonType >::~json_ref + ()=default + ~json_ref + + + + + + + + + + value_type + value_type nlohmann::detail::json_ref< BasicJsonType >::moved_or_copied + () const + moved_or_copied + + + + + + + + + + value_type const & + value_type const& nlohmann::detail::json_ref< BasicJsonType >::operator* + () const + operator* + + + + + + + + + + value_type const * + value_type const* nlohmann::detail::json_ref< BasicJsonType >::operator-> + () const + operator-> + + + + + + + + + + + + + + + + + + + + + + -owned_value + -value_ref + + + + + + nlohmann::detail::json_refjson_ref + nlohmann::detail::json_refjson_ref + nlohmann::detail::json_refjson_ref + nlohmann::detail::json_refjson_ref + nlohmann::detail::json_refjson_ref + nlohmann::detail::json_refjson_ref + nlohmann::detail::json_refmoved_or_copied + nlohmann::detail::json_refoperator* + nlohmann::detail::json_refoperator-> + nlohmann::detail::json_refoperator= + nlohmann::detail::json_refoperator= + nlohmann::detail::json_refowned_value + nlohmann::detail::json_refvalue_ref + nlohmann::detail::json_refvalue_type + nlohmann::detail::json_ref~json_ref + + + diff --git a/docs/xml/da/d14/classnlohmann_1_1detail_1_1file__input__adapter.xml b/docs/xml/da/d14/classnlohmann_1_1detail_1_1file__input__adapter.xml new file mode 100644 index 00000000..959153eb --- /dev/null +++ b/docs/xml/da/d14/classnlohmann_1_1detail_1_1file__input__adapter.xml @@ -0,0 +1,174 @@ + + + + nlohmann::detail::file_input_adapter + json.hpp + + + char + using nlohmann::detail::file_input_adapter::char_type = char + + char_type + + + + + + + + + + + + std::FILE * + std::FILE* nlohmann::detail::file_input_adapter::m_file + + m_file + +the file pointer to read from + + + + + + + + + + + nlohmann::detail::file_input_adapter::file_input_adapter + (std::FILE *f) noexcept + file_input_adapter + + std::FILE * + f + + + + + + + + + + + + nlohmann::detail::file_input_adapter::file_input_adapter + (const file_input_adapter &)=delete + file_input_adapter + + const file_input_adapter & + + + + + + + + + + + + nlohmann::detail::file_input_adapter::file_input_adapter + (file_input_adapter &&) noexcept=default + file_input_adapter + + file_input_adapter && + + + + + + + + + + + file_input_adapter & + file_input_adapter& nlohmann::detail::file_input_adapter::operator= + (const file_input_adapter &)=delete + operator= + + const file_input_adapter & + + + + + + + + + + + file_input_adapter & + file_input_adapter& nlohmann::detail::file_input_adapter::operator= + (file_input_adapter &&)=delete + operator= + + file_input_adapter && + + + + + + + + + + + + nlohmann::detail::file_input_adapter::~file_input_adapter + ()=default + ~file_input_adapter + + + + + + + + + + std::char_traits< char >::int_type + std::char_traits<char>::int_type nlohmann::detail::file_input_adapter::get_character + () noexcept + get_character + + + + + + + + + + + + +Input adapter for stdio file access. This adapter read only 1 byte and do not use any buffer. This adapter is a very low level adapter. + + + + + + + + + -m_file + + + + + + nlohmann::detail::file_input_adapterchar_type + nlohmann::detail::file_input_adapterfile_input_adapter + nlohmann::detail::file_input_adapterfile_input_adapter + nlohmann::detail::file_input_adapterfile_input_adapter + nlohmann::detail::file_input_adapterget_character + nlohmann::detail::file_input_adapterm_file + nlohmann::detail::file_input_adapteroperator= + nlohmann::detail::file_input_adapteroperator= + nlohmann::detail::file_input_adapter~file_input_adapter + + + diff --git a/docs/xml/da/d1c/classnlohmann_1_1detail_1_1type__error.xml b/docs/xml/da/d1c/classnlohmann_1_1detail_1_1type__error.xml new file mode 100644 index 00000000..23447256 --- /dev/null +++ b/docs/xml/da/d1c/classnlohmann_1_1detail_1_1type__error.xml @@ -0,0 +1,193 @@ + + + + nlohmann::detail::type_error + nlohmann::detail::exception + json.hpp + + + + + typename BasicJsonType + + + type_error + static type_error nlohmann::detail::type_error::create + (int id_, const std::string &what_arg, const BasicJsonType &context) + create + + int + id_ + + + const std::string & + what_arg + + + const BasicJsonType & + context + + + + + + + + + nlohmann::detail::exception::diagnostics + JSON_HEDLEY_NON_NULL + nlohmann::detail::exception::name + nlohmann::detail::string + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::emplace + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::emplace_back + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::erase + nlohmann::detail::serializer< BasicJsonType >::for + nlohmann::detail::from_json + nlohmann::json_pointer< BasicJsonType >::get_and_create + nlohmann::detail::get_arithmetic_value + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_binary + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_ref_impl + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::insert + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::push_back + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::swap + nlohmann::json_pointer< BasicJsonType >::unflatten + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::update + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value + nlohmann::detail::void + nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson + + + + + + nlohmann::detail::type_error::type_error + (int id_, const char *what_arg) + type_error + + int + id_ + + + const char * + what_arg + + + + + + + + + + + +exception indicating executing a member function with a wrong type + +This exception is thrown in case of a type error; that is, a library function is executed on a JSON value whose type does not match the expected semantics.Exceptions have ids 3xx. +name / id example message description + +json.exception.type_error.301 cannot create object from initializer list To create an object from an initializer list, the initializer list must consist only of a list of pairs whose first element is a string. When this constraint is violated, an array is created instead. + +json.exception.type_error.302 type must be object, but is array During implicit or explicit value conversion, the JSON type must be compatible to the target type. For instance, a JSON string can only be converted into string types, but not into numbers or boolean types. + +json.exception.type_error.303 incompatible ReferenceType for get_ref, actual type is object To retrieve a reference to a value stored in a basic_json object with get_ref, the type of the reference must match the value type. For instance, for a JSON array, the ReferenceType must be array_t &. + +json.exception.type_error.304 cannot use at() with string The at() member functions can only be executed for certain JSON types. + +json.exception.type_error.305 cannot use operator[] with string The operator[] member functions can only be executed for certain JSON types. + +json.exception.type_error.306 cannot use value() with string The value() member functions can only be executed for certain JSON types. + +json.exception.type_error.307 cannot use erase() with string The erase() member functions can only be executed for certain JSON types. + +json.exception.type_error.308 cannot use push_back() with string The push_back() and operator+= member functions can only be executed for certain JSON types. + +json.exception.type_error.309 cannot use insert() with The insert() member functions can only be executed for certain JSON types. + +json.exception.type_error.310 cannot use swap() with number The swap() member functions can only be executed for certain JSON types. + +json.exception.type_error.311 cannot use emplace_back() with string The emplace_back() member function can only be executed for certain JSON types. + +json.exception.type_error.312 cannot use update() with string The update() member functions can only be executed for certain JSON types. + +json.exception.type_error.313 invalid value to unflatten The unflatten function converts an object whose keys are JSON Pointers back into an arbitrary nested JSON value. The JSON Pointers must not overlap, because then the resulting value would not be well defined. + +json.exception.type_error.314 only objects can be unflattened The unflatten function only works for an object whose keys are JSON Pointers. + +json.exception.type_error.315 values in object must be primitive The unflatten function only works for an object whose keys are JSON Pointers and whose values are primitive. + +json.exception.type_error.316 invalid UTF-8 byte at index 10: 0x7E The dump function only works with UTF-8 encoded strings; that is, if you assign a std::string to a JSON value, make sure it is UTF-8 encoded. + +json.exception.type_error.317 JSON value cannot be serialized to requested format The dynamic type of the object cannot be represented in the requested serialization format (e.g. a raw true or null JSON object cannot be serialized to BSON) +
                                                                                                +{The following code shows how a type_error exception can be caught.,type_error}
                                                                                                - exception for the base class of the library exceptions +- parse_error for exceptions indicating a parse error +- invalid_iterator for exceptions indicating errors with iterators +- out_of_range for exceptions indicating access out of the defined range +- other_error for exceptions indicating other library errors +version 3.0.0 +
                                                                                                + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -m + + + +id + + + + + + nlohmann::detail::type_errorcreate + nlohmann::detail::type_errordiagnostics + nlohmann::detail::type_errorexception + nlohmann::detail::type_errorid + nlohmann::detail::type_errorname + nlohmann::detail::type_errortype_error + nlohmann::detail::type_errorwhat + +
                                                                                                +
                                                                                                diff --git a/docs/xml/da/d31/structnlohmann_1_1detail_1_1nonesuch.xml b/docs/xml/da/d31/structnlohmann_1_1detail_1_1nonesuch.xml new file mode 100644 index 00000000..f7f11c5a --- /dev/null +++ b/docs/xml/da/d31/structnlohmann_1_1detail_1_1nonesuch.xml @@ -0,0 +1,118 @@ + + + + nlohmann::detail::nonesuch + json.hpp + + + + nlohmann::detail::nonesuch::nonesuch + ()=delete + nonesuch + + + + + + + + + + + nlohmann::detail::nonesuch::~nonesuch + ()=delete + ~nonesuch + + + + + + + + + + + nlohmann::detail::nonesuch::nonesuch + (nonesuch const &)=delete + nonesuch + + nonesuch const & + + + + + + + + + + + + nlohmann::detail::nonesuch::nonesuch + (nonesuch const &&)=delete + nonesuch + + nonesuch const && + + + + + + + + + + + void + void nlohmann::detail::nonesuch::operator= + (nonesuch const &)=delete + operator= + + nonesuch const & + + + + + + + + + + + void + void nlohmann::detail::nonesuch::operator= + (nonesuch &&)=delete + operator= + + nonesuch && + + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::nonesuchnonesuch + nlohmann::detail::nonesuchnonesuch + nlohmann::detail::nonesuchnonesuch + nlohmann::detail::nonesuchoperator= + nlohmann::detail::nonesuchoperator= + nlohmann::detail::nonesuch~nonesuch + + + diff --git a/docs/xml/da/d58/deprecated.xml b/docs/xml/da/d58/deprecated.xml new file mode 100644 index 00000000..ddbbefec --- /dev/null +++ b/docs/xml/da/d58/deprecated.xml @@ -0,0 +1,17 @@ + + + + deprecated + Deprecated List + + +Member nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::iterator_wrapper (reference ref) noexcept +This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use items() instead; that is, replace json::iterator_wrapper(j) with j.items(). +Member nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator<< (basic_json &j, std::istream &i) +This stream operator is deprecated and will be removed in version 4.0.0 of the library. Please use operator>>(std::istream&, basic_json&) instead; that is, replace calls like j << i; with i >> j;. +Member nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator>> (const basic_json &j, std::ostream &o) +This stream operator is deprecated and will be removed in future 4.0.0 of the library. Please use operator<<(std::ostream&, const basic_json&) instead; that is, replace calls like j >> o; with o << j;. + + + + diff --git a/docs/xml/da/d5a/cudnn__frontend__Operation_8h.xml b/docs/xml/da/d5a/cudnn__frontend__Operation_8h.xml index 67500463..675ae857 100644 --- a/docs/xml/da/d5a/cudnn__frontend__Operation_8h.xml +++ b/docs/xml/da/d5a/cudnn__frontend__Operation_8h.xml @@ -13,239 +13,264 @@ cudnn_frontend_ConvDesc.h cudnn_frontend_PointWiseDesc.h cudnn_frontend_MatMulDesc.h + cudnn_frontend_ReductionDesc.h cudnn_frontend_Tensor.h cudnn_frontend_utils.h cudnn_frontend_OperationGraph.h cudnn_frontend.h - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -294,1021 +319,1106 @@ #include"cudnn_frontend_ConvDesc.h" #include"cudnn_frontend_PointWiseDesc.h" #include"cudnn_frontend_MatMulDesc.h" -#include"cudnn_frontend_Tensor.h" -#include"cudnn_frontend_utils.h" - -namespacecudnn_frontend{ -classOperation_v8:publicBackendDescriptor{ -public: -friendclassOperationBuilder_v8; -std::string -describe()constoverride{ -std::stringstreamss; -ss<<"CUDNN_BACKEND_OPERATION:" -<<"OpMode:"<<std::to_string(op_mode); -ss<<std::hex<<"X"<<xdesc; -ss<<std::hex<<"Y"<<ydesc; -ss<<std::hex<<"W"<<wdesc; -ss<<std::hex<<"B"<<bdesc; -ss<<std::hex<<"DW"<<dwdesc; -ss<<std::hex<<"DY"<<dydesc; -ss<<std::hex<<"DX"<<dxdesc; -ss<<std::hex<<"C"<<cdesc; -ss<<std::hex<<"AMtrix"<<amatdesc; -ss<<std::hex<<"BMtrix"<<bmatdesc; -ss<<std::hex<<"CMtrix"<<cmatdesc; -ss<<std::hex<<"P"<<pwdesc; -ss<<std::hex<<"MatMul"<<matmuldesc; -ss<<std::dec<<"alphabetaType"<<alphabetaType; -ss<<"Alpha:"<<alpha_s<<""<<alpha_d; -ss<<"Alpha2:"<<alpha2_s<<""<<alpha2_d; -ss<<"Beta:"<<beta_s<<""<<beta_d; -returnss.str(); -} -Operation_v8(Operation_v8&&from) -:BackendDescriptor(from.pointer,from.get_status(),from.get_error()), -op_mode(from.op_mode), -xdesc(from.xdesc), -ydesc(from.ydesc), -wdesc(from.wdesc), -bdesc(from.bdesc), -dydesc(from.dydesc), -dxdesc(from.dxdesc), -dwdesc(from.dwdesc), -cdesc(from.cdesc), -amatdesc(from.amatdesc), -bmatdesc(from.bmatdesc), -cmatdesc(from.cmatdesc), -pwdesc(from.pwdesc), -matmuldesc(from.matmuldesc), -alphabetaType(from.alphabetaType), -alpha_s(from.alpha_s), -beta_s(from.beta_s), -alpha2_s(from.alpha2_s), -alpha_d(from.alpha_d), -beta_d(from.beta_d), -alpha2_d(from.alpha2_d), -pointwise_port_count(from.pointwise_port_count), -pointwise_mode(from.pointwise_mode), -operationTag(from.operationTag){} - -ManagedOpaqueDescriptor -getOutputTensor(){ -return(op_mode==CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR)?cmatdesc:ydesc; -} - -std::stringconst& -getTag()const{ -returnoperationTag; -} - -~Operation_v8()=default; - -private: -Operation_v8()=default; -Operation_v8(Operation_v8const&)=delete; -Operation_v8& -operator=(Operation_v8const&)=delete; - -cudnnBackendDescriptorType_top_mode=CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR; - -ManagedOpaqueDescriptorxdesc=nullptr; -ManagedOpaqueDescriptorydesc=nullptr; -ManagedOpaqueDescriptorwdesc=nullptr; -ManagedOpaqueDescriptorbdesc=nullptr; -ManagedOpaqueDescriptordydesc=nullptr; -ManagedOpaqueDescriptordxdesc=nullptr; -ManagedOpaqueDescriptordwdesc=nullptr; -ManagedOpaqueDescriptorcdesc=nullptr; -ManagedOpaqueDescriptoramatdesc=nullptr; -ManagedOpaqueDescriptorbmatdesc=nullptr; -ManagedOpaqueDescriptorcmatdesc=nullptr; -ManagedOpaqueDescriptorpwdesc=nullptr; -ManagedOpaqueDescriptormatmuldesc=nullptr; - -cudnnBackendAttributeType_talphabetaType=CUDNN_TYPE_FLOAT; -floatalpha_s=1.0f,beta_s=.0f,alpha2_s=1.0f; -doublealpha_d=1.0,beta_d=0.0,alpha2_d=1.0; -int64_tpointwise_port_count=-1; -cudnnPointwiseMode_tpointwise_mode; -boolis_pointwise_activation_fwd_op=false; -boolis_pointwise_activation_bwd_op=false; -boolis_pointwise_math_op=false; -std::stringoperationTag; -}; - - -classOperationBuilder_v8{ -private: -Operation_v8m_operation; -boolis_convolution_op=false; -boolis_pointwise_op=false; -boolis_matmul_op=false; - -public: -auto -setxDesc(ManagedOpaqueDescriptorconst&raw_tensor)->OperationBuilder_v8&{ -m_operation.xdesc=raw_tensor; -return*this; -} - +#include"cudnn_frontend_ReductionDesc.h" +#include"cudnn_frontend_Tensor.h" +#include"cudnn_frontend_utils.h" + +namespacecudnn_frontend{ +classOperation_v8:publicBackendDescriptor{ +public: +friendclassOperationBuilder_v8; +std::string +describe()constoverride{ +std::stringstreamss; +ss<<"CUDNN_BACKEND_OPERATION:" +<<"OpMode:"<<std::to_string(op_mode); +ss<<std::hex<<"X"<<xdesc; +ss<<std::hex<<"Y"<<ydesc; +ss<<std::hex<<"W"<<wdesc; +ss<<std::hex<<"B"<<bdesc; +ss<<std::hex<<"DW"<<dwdesc; +ss<<std::hex<<"DY"<<dydesc; +ss<<std::hex<<"DX"<<dxdesc; +ss<<std::hex<<"C"<<cdesc; +ss<<std::hex<<"AMtrix"<<amatdesc; +ss<<std::hex<<"BMtrix"<<bmatdesc; +ss<<std::hex<<"CMtrix"<<cmatdesc; +ss<<std::hex<<"P"<<pwdesc; +ss<<std::hex<<"MatMul"<<matmuldesc; +ss<<std::hex<<"Reduction"<<reductiondesc; +ss<<std::dec<<"alphabetaType"<<alphabetaType; +ss<<"Alpha:"<<alpha_s<<""<<alpha_d; +ss<<"Alpha2:"<<alpha2_s<<""<<alpha2_d; +ss<<"Beta:"<<beta_s<<""<<beta_d; +returnss.str(); +} +Operation_v8(Operation_v8&&from) +:BackendDescriptor(from.pointer,from.get_status(),from.get_error()), +op_mode(from.op_mode), +xdesc(from.xdesc), +ydesc(from.ydesc), +wdesc(from.wdesc), +bdesc(from.bdesc), +dydesc(from.dydesc), +dxdesc(from.dxdesc), +dwdesc(from.dwdesc), +cdesc(from.cdesc), +amatdesc(from.amatdesc), +bmatdesc(from.bmatdesc), +cmatdesc(from.cmatdesc), +pwdesc(from.pwdesc), +matmuldesc(from.matmuldesc), +reductiondesc(from.reductiondesc), +alphabetaType(from.alphabetaType), +alpha_s(from.alpha_s), +beta_s(from.beta_s), +alpha2_s(from.alpha2_s), +alpha_d(from.alpha_d), +beta_d(from.beta_d), +alpha2_d(from.alpha2_d), +pointwise_port_count(from.pointwise_port_count), +pointwise_mode(from.pointwise_mode), +operationTag(from.operationTag){} + +ManagedOpaqueDescriptor +getOutputTensor(){ +return(op_mode==CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR)?cmatdesc:ydesc; +} + +std::stringconst& +getTag()const{ +returnoperationTag; +} + +~Operation_v8()=default; + +private: +Operation_v8()=default; +Operation_v8(Operation_v8const&)=delete; +Operation_v8& +operator=(Operation_v8const&)=delete; + +cudnnBackendDescriptorType_top_mode=CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR; + +ManagedOpaqueDescriptorxdesc=nullptr; +ManagedOpaqueDescriptorydesc=nullptr; +ManagedOpaqueDescriptorwdesc=nullptr; +ManagedOpaqueDescriptorbdesc=nullptr; +ManagedOpaqueDescriptordydesc=nullptr; +ManagedOpaqueDescriptordxdesc=nullptr; +ManagedOpaqueDescriptordwdesc=nullptr; +ManagedOpaqueDescriptorcdesc=nullptr; +ManagedOpaqueDescriptoramatdesc=nullptr; +ManagedOpaqueDescriptorbmatdesc=nullptr; +ManagedOpaqueDescriptorcmatdesc=nullptr; +ManagedOpaqueDescriptorpwdesc=nullptr; +ManagedOpaqueDescriptormatmuldesc=nullptr; +ManagedOpaqueDescriptorreductiondesc=nullptr; + +cudnnBackendAttributeType_talphabetaType=CUDNN_TYPE_FLOAT; +floatalpha_s=1.0f,beta_s=.0f,alpha2_s=1.0f; +doublealpha_d=1.0,beta_d=0.0,alpha2_d=1.0; +int64_tpointwise_port_count=-1; +cudnnPointwiseMode_tpointwise_mode; +boolis_pointwise_activation_fwd_op=false; +boolis_pointwise_activation_bwd_op=false; +boolis_pointwise_math_op=false; +std::stringoperationTag; +}; + + +classOperationBuilder_v8{ +private: +Operation_v8m_operation; +boolis_convolution_op=false; +boolis_pointwise_op=false; +boolis_matmul_op=false; +boolis_reduction_op=false; + +public: auto -setxDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ -m_operation.xdesc=tensor.get_desc(); +setxDesc(ManagedOpaqueDescriptorconst&raw_tensor)->OperationBuilder_v8&{ +m_operation.xdesc=raw_tensor; return*this; } -auto -setbDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ -if(is_pointwise_op==false){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonPointwiseoperationdoesnotneedbTensor"); -} -m_operation.bdesc=tensor.get_desc(); -return*this; -} -auto -setyDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ -m_operation.ydesc=tensor.get_desc(); -return*this; -} -auto -setwDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ -if(is_convolution_op==false){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonConvolutionoperationdoesnotneedwTensor"); -} -m_operation.wdesc=tensor.get_desc(); -return*this; -} - -auto -setdyDesc(ManagedOpaqueDescriptorconst&raw_tensor)->OperationBuilder_v8&{ -m_operation.dydesc=raw_tensor; + +auto +setxDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ +m_operation.xdesc=tensor.get_desc(); +return*this; +} +auto +setbDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ +if(is_pointwise_op==false){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonPointwiseoperationdoesnotneedbTensor"); +} +m_operation.bdesc=tensor.get_desc(); +return*this; +} +auto +setyDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ +m_operation.ydesc=tensor.get_desc(); +return*this; +} +auto +setwDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ +if(is_convolution_op==false){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonConvolutionoperationdoesnotneedwTensor"); +} +m_operation.wdesc=tensor.get_desc(); return*this; } -auto -setdyDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ -m_operation.dydesc=tensor.get_desc(); -return*this; -} -auto -setdxDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ -m_operation.dxdesc=tensor.get_desc(); -return*this; -} -auto -setdwDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ -m_operation.dwdesc=tensor.get_desc(); -return*this; -} - + +auto +setdyDesc(ManagedOpaqueDescriptorconst&raw_tensor)->OperationBuilder_v8&{ +m_operation.dydesc=raw_tensor; +return*this; +} +auto +setdyDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ +m_operation.dydesc=tensor.get_desc(); +return*this; +} +auto +setdxDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ +m_operation.dxdesc=tensor.get_desc(); +return*this; +} auto -setcDesc(ConvDesc_v8const&conv)->OperationBuilder_v8&{ -if(is_convolution_op==false){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonConvolutionoperationdoesnotneedConvolutionDESCRIPTOR"); -} -m_operation.cdesc=conv.get_desc(); -return*this; -} -auto -setaMatDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ -if(is_matmul_op==false){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonMatmuloperationdoesnotneedaMatrixTensor"); -} -m_operation.amatdesc=tensor.get_desc(); -return*this; -} -auto -setbMatDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ -if(is_matmul_op==false){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonMatmuloperationdoesnotneedbMatrixTensor"); -} -m_operation.bmatdesc=tensor.get_desc(); -return*this; -} -auto -setcMatDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ -if(is_matmul_op==false){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonMatmuloperationdoesnotneedcMatrixTensor"); -} -m_operation.cmatdesc=tensor.get_desc(); -return*this; -} -auto -setmatmulDesc(MatMulDesc_v8const&matmulDesc)->OperationBuilder_v8&{ -if(is_matmul_op==false){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonMatmuloperationdoesnotneedMATMULDESCRIPTOR"); -} -m_operation.matmuldesc=matmulDesc.get_desc(); -return*this; -} -auto -setpwDesc(PointWiseDesc_v8const&pointWiseDesc)->OperationBuilder_v8&{ -if(is_pointwise_op==false){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonPointwiseoperationdoesnotneedPOINTWISEDESCRIPTOR"); -} -m_operation.pwdesc=pointWiseDesc.get_desc(); -m_operation.pointwise_port_count=pointWiseDesc.getPortCount(); -m_operation.pointwise_mode=pointWiseDesc.getPointWiseMode(); - -m_operation.is_pointwise_math_op=((m_operation.pointwise_mode==CUDNN_POINTWISE_ADD)|| -(m_operation.pointwise_mode==CUDNN_POINTWISE_MUL)|| -(m_operation.pointwise_mode==CUDNN_POINTWISE_MIN)|| -(m_operation.pointwise_mode==CUDNN_POINTWISE_MAX)|| -(m_operation.pointwise_mode==CUDNN_POINTWISE_SQRT)); - -m_operation.is_pointwise_activation_fwd_op=((m_operation.pointwise_mode==CUDNN_POINTWISE_RELU_FWD)|| -(m_operation.pointwise_mode==CUDNN_POINTWISE_TANH_FWD)|| -(m_operation.pointwise_mode==CUDNN_POINTWISE_SIGMOID_FWD)|| -(m_operation.pointwise_mode==CUDNN_POINTWISE_ELU_FWD)|| -(m_operation.pointwise_mode==CUDNN_POINTWISE_GELU_FWD)|| -(m_operation.pointwise_mode==CUDNN_POINTWISE_SOFTPLUS_FWD)|| -(m_operation.pointwise_mode==CUDNN_POINTWISE_SWISH_FWD)); - -m_operation.is_pointwise_activation_bwd_op=((m_operation.pointwise_mode==CUDNN_POINTWISE_RELU_BWD)|| -(m_operation.pointwise_mode==CUDNN_POINTWISE_TANH_BWD)|| -(m_operation.pointwise_mode==CUDNN_POINTWISE_SIGMOID_BWD)|| -(m_operation.pointwise_mode==CUDNN_POINTWISE_ELU_BWD)|| -(m_operation.pointwise_mode==CUDNN_POINTWISE_GELU_BWD)|| -(m_operation.pointwise_mode==CUDNN_POINTWISE_SOFTPLUS_BWD)|| -(m_operation.pointwise_mode==CUDNN_POINTWISE_SWISH_BWD)); - -return*this; -} - -auto -setAlpha(floatalpha)->OperationBuilder_v8&{ -m_operation.alphabetaType=CUDNN_TYPE_FLOAT; -m_operation.alpha_d=static_cast<double>(alpha); -m_operation.alpha_s=alpha; -return*this; -} -auto -setAlpha(doublealpha)->OperationBuilder_v8&{ -m_operation.alphabetaType=CUDNN_TYPE_DOUBLE; -m_operation.alpha_s=static_cast<float>(alpha); -m_operation.alpha_d=alpha; -return*this; -} -auto -setAlpha2(floatalpha)->OperationBuilder_v8&{ -m_operation.alphabetaType=CUDNN_TYPE_FLOAT; -m_operation.alpha2_d=static_cast<double>(alpha); -m_operation.alpha2_s=alpha; -return*this; -} -auto -setAlpha2(doublealpha)->OperationBuilder_v8&{ -m_operation.alphabetaType=CUDNN_TYPE_DOUBLE; -m_operation.alpha2_s=static_cast<float>(alpha); -m_operation.alpha2_d=alpha; -return*this; -} -auto -setBeta(floatbeta)->OperationBuilder_v8&{ -m_operation.alphabetaType=CUDNN_TYPE_FLOAT; -m_operation.beta_d=static_cast<double>(beta); -m_operation.beta_s=beta; -return*this; -} -auto -setBeta(doublebeta)->OperationBuilder_v8&{ -m_operation.alphabetaType=CUDNN_TYPE_DOUBLE; -m_operation.beta_s=static_cast<float>(beta); -m_operation.beta_d=beta; -return*this; -} - -OperationBuilder_v8(cudnnBackendDescriptorType_tmode){ -m_operation.op_mode=mode; -is_convolution_op=((m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR)|| -(m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR)|| -(m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR)); - -is_pointwise_op=(m_operation.op_mode==CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR); -is_matmul_op=(m_operation.op_mode==CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR); +setdwDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ +m_operation.dwdesc=tensor.get_desc(); +return*this; +} + +auto +setcDesc(ConvDesc_v8const&conv)->OperationBuilder_v8&{ +if(is_convolution_op==false){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonConvolutionoperationdoesnotneedConvolutionDESCRIPTOR"); +} +m_operation.cdesc=conv.get_desc(); +return*this; +} +auto +setaMatDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ +if(is_matmul_op==false){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonMatmuloperationdoesnotneedaMatrixTensor"); +} +m_operation.amatdesc=tensor.get_desc(); +return*this; +} +auto +setbMatDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ +if(is_matmul_op==false){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonMatmuloperationdoesnotneedbMatrixTensor"); +} +m_operation.bmatdesc=tensor.get_desc(); +return*this; +} +auto +setcMatDesc(Tensor_v8const&tensor)->OperationBuilder_v8&{ +if(is_matmul_op==false){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonMatmuloperationdoesnotneedcMatrixTensor"); +} +m_operation.cmatdesc=tensor.get_desc(); +return*this; +} +auto +setmatmulDesc(MatMulDesc_v8const&matmulDesc)->OperationBuilder_v8&{ +if(is_matmul_op==false){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonMatmuloperationdoesnotneedMATMULDESCRIPTOR"); +} +m_operation.matmuldesc=matmulDesc.get_desc(); +return*this; +} +auto +setreductionDesc(ReductionDesc_v8const&reductionDesc)->OperationBuilder_v8&{ +if(is_reduction_op==false){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonReductionoperationdoesnotneedREDUCTIONDESCRIPTOR"); +} +m_operation.reductiondesc=reductionDesc.get_desc(); +return*this; +} +auto +setpwDesc(PointWiseDesc_v8const&pointWiseDesc)->OperationBuilder_v8&{ +if(is_pointwise_op==false){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION_*_DESCRIPTOR:NonPointwiseoperationdoesnotneedPOINTWISEDESCRIPTOR"); +} +m_operation.pwdesc=pointWiseDesc.get_desc(); +m_operation.pointwise_port_count=pointWiseDesc.getPortCount(); +m_operation.pointwise_mode=pointWiseDesc.getPointWiseMode(); + +m_operation.is_pointwise_math_op=((m_operation.pointwise_mode==CUDNN_POINTWISE_ADD)|| +(m_operation.pointwise_mode==CUDNN_POINTWISE_MUL)|| +(m_operation.pointwise_mode==CUDNN_POINTWISE_MIN)|| +(m_operation.pointwise_mode==CUDNN_POINTWISE_MAX)|| +(m_operation.pointwise_mode==CUDNN_POINTWISE_SQRT)); + +m_operation.is_pointwise_activation_fwd_op=((m_operation.pointwise_mode==CUDNN_POINTWISE_RELU_FWD)|| +(m_operation.pointwise_mode==CUDNN_POINTWISE_TANH_FWD)|| +(m_operation.pointwise_mode==CUDNN_POINTWISE_SIGMOID_FWD)|| +(m_operation.pointwise_mode==CUDNN_POINTWISE_ELU_FWD)|| +(m_operation.pointwise_mode==CUDNN_POINTWISE_GELU_FWD)|| +(m_operation.pointwise_mode==CUDNN_POINTWISE_SOFTPLUS_FWD)|| +(m_operation.pointwise_mode==CUDNN_POINTWISE_SWISH_FWD)); + +m_operation.is_pointwise_activation_bwd_op=((m_operation.pointwise_mode==CUDNN_POINTWISE_RELU_BWD)|| +(m_operation.pointwise_mode==CUDNN_POINTWISE_TANH_BWD)|| +(m_operation.pointwise_mode==CUDNN_POINTWISE_SIGMOID_BWD)|| +(m_operation.pointwise_mode==CUDNN_POINTWISE_ELU_BWD)|| +(m_operation.pointwise_mode==CUDNN_POINTWISE_GELU_BWD)|| +(m_operation.pointwise_mode==CUDNN_POINTWISE_SOFTPLUS_BWD)|| +(m_operation.pointwise_mode==CUDNN_POINTWISE_SWISH_BWD)); + +return*this; +} + +auto +setAlpha(floatalpha)->OperationBuilder_v8&{ +m_operation.alphabetaType=CUDNN_TYPE_FLOAT; +m_operation.alpha_d=static_cast<double>(alpha); +m_operation.alpha_s=alpha; +return*this; +} +auto +setAlpha(doublealpha)->OperationBuilder_v8&{ +m_operation.alphabetaType=CUDNN_TYPE_DOUBLE; +m_operation.alpha_s=static_cast<float>(alpha); +m_operation.alpha_d=alpha; +return*this; +} +auto +setAlpha2(floatalpha)->OperationBuilder_v8&{ +m_operation.alphabetaType=CUDNN_TYPE_FLOAT; +m_operation.alpha2_d=static_cast<double>(alpha); +m_operation.alpha2_s=alpha; +return*this; +} +auto +setAlpha2(doublealpha)->OperationBuilder_v8&{ +m_operation.alphabetaType=CUDNN_TYPE_DOUBLE; +m_operation.alpha2_s=static_cast<float>(alpha); +m_operation.alpha2_d=alpha; +return*this; +} +auto +setBeta(floatbeta)->OperationBuilder_v8&{ +m_operation.alphabetaType=CUDNN_TYPE_FLOAT; +m_operation.beta_d=static_cast<double>(beta); +m_operation.beta_s=beta; +return*this; } -Operation_v8&& -build(){ -if(m_operation.status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation,m_operation.status,"CUDNN_BACKEND_OPERATION:Operationnotinitializedproperly"); -returnstd::move(m_operation); -} - -if(is_convolution_op){ -if(m_operation.cdesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_CONVOLUTION_*_CONV_DESC"); -returnstd::move(m_operation); -} -if(m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR){ -if(m_operation.xdesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_CONVOLUTION_*_X"); -returnstd::move(m_operation); -} -if(m_operation.wdesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_CONVOLUTION_*_W"); -returnstd::move(m_operation); -} -if(m_operation.ydesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_CONVOLUTION_*_Y"); -returnstd::move(m_operation); -} - -}elseif(m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR){ -if(m_operation.ydesc!=nullptr&&m_operation.dydesc!=nullptr){ -set_error_and_throw_exception(&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:Ambiguousspecification.ChooseandSet" -"onlyoneofsetyDesc()orsetdyDesc()"); -returnstd::move(m_operation); -} -if(m_operation.ydesc==nullptr&&m_operation.dydesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:ChooseandSetoneofsetyDesc()orsetdyDesc()"); -returnstd::move(m_operation); -} -if(m_operation.xdesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_CONVOLUTION_*_X"); -returnstd::move(m_operation); -} -if(m_operation.wdesc!=nullptr&&m_operation.dwdesc!=nullptr){ -set_error_and_throw_exception(&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:Ambiguousspecification.ChooseandSet" -"onlyoneofsetwDesc()orsetdwDesc()"); -returnstd::move(m_operation); -} -if(m_operation.wdesc==nullptr&&m_operation.dwdesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:ChooseandSetoneofsetwDesc()orsetdwDesc()"); -returnstd::move(m_operation); -} -}elseif(m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR){ -if(m_operation.ydesc!=nullptr&&m_operation.dydesc!=nullptr){ -set_error_and_throw_exception(&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:Ambiguousspecification.ChooseandSet" -"onlyoneofsetyDesc()orsetdyDesc()"); -returnstd::move(m_operation); -} -if(m_operation.ydesc==nullptr&&m_operation.dydesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:ChooseandSetoneofsetyDesc()orsetdyDesc()"); -returnstd::move(m_operation); -} -if(m_operation.wdesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_CONVOLUTION_*_W"); -returnstd::move(m_operation); -} -if(m_operation.xdesc!=nullptr&&m_operation.dxdesc!=nullptr){ -set_error_and_throw_exception(&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:Ambiguousspecification.ChooseandSet" -"onlyoneofsetxDesc()orsetdxDesc()"); -returnstd::move(m_operation); -} -if(m_operation.xdesc==nullptr&&m_operation.dxdesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:ChooseandSetoneofsetxDesc()orsetdxDesc()"); -returnstd::move(m_operation); -} -}else{ -set_error_and_throw_exception(&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:Unsupportedconvolutionoperation.Checkand" -"setCUDNN_BACKEND_OPERATION_CONVOLUTION_*_DESCRIPTOR"); -returnstd::move(m_operation); -} -}elseif(is_pointwise_op){ -if(m_operation.xdesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_POINTWISE_XDESC"); -returnstd::move(m_operation); -} - -if(m_operation.is_pointwise_math_op){ -if(m_operation.pointwise_port_count==3&&m_operation.bdesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_POINTWISE_BDESC"); -returnstd::move(m_operation); -} -if(m_operation.ydesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_POINTWISE_YDESC"); -returnstd::move(m_operation); -} -}elseif(m_operation.is_pointwise_activation_fwd_op){ -if(m_operation.ydesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_POINTWISE_YDESC"); -returnstd::move(m_operation); -} -}elseif(m_operation.is_pointwise_activation_bwd_op){ -if(m_operation.dydesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_POINTWISE_DYDESC"); -returnstd::move(m_operation); -} -if(m_operation.dxdesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_POINTWISE_DXDESC"); -returnstd::move(m_operation); -} -}else{ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:Unsupportedcudnnpointwisemode.CheckandsetCUDNN_POINTWISE_*"); -returnstd::move(m_operation); -} - -}elseif(is_matmul_op){ -if(m_operation.matmuldesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_MATMUL_DESC"); -returnstd::move(m_operation); -} -if(m_operation.amatdesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_MATMUL_ADESC"); -returnstd::move(m_operation); -} -if(m_operation.bmatdesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_MATMUL_BDESC"); -returnstd::move(m_operation); -} -if(m_operation.cmatdesc==nullptr){ -set_error_and_throw_exception( -&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_MATMUL_CDESC"); -returnstd::move(m_operation); -} -}else{ -set_error_and_throw_exception(&m_operation, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATION_DESCRIPTOR:Unsupportedcudnnbackenddescriptor" -"type.CheckandsetCUDNN_BACKEND_OPERATION_*_DESCRIPTOR"); -returnstd::move(m_operation); -} - -//Createthedescriptor. -autostatus=m_operation.initialize_managed_backend_pointer(m_operation.op_mode); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception(&m_operation,status,"CUDNN_BACKEND_OPERATION:cudnnCreateFailed"); -returnstd::move(m_operation); -} - -if(m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR){ -m_operation.operationTag="ConvFwd"; - -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_X, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.xdesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_XFailed"); -returnstd::move(m_operation); -} -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_W, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.wdesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_WFailed"); -returnstd::move(m_operation); -} -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_Y, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.ydesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_YFailed"); -returnstd::move(m_operation); -} -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_CONV_DESC, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.cdesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_CONV_DESCFailed"); -returnstd::move(m_operation); -} -void*alpha=(m_operation.alphabetaType==CUDNN_TYPE_FLOAT?static_cast<void*>(&m_operation.alpha_s) -:static_cast<void*>(&m_operation.alpha_d)); -void*beta=(m_operation.alphabetaType==CUDNN_TYPE_FLOAT?static_cast<void*>(&m_operation.beta_s) -:static_cast<void*>(&m_operation.beta_d)); +auto +setBeta(doublebeta)->OperationBuilder_v8&{ +m_operation.alphabetaType=CUDNN_TYPE_DOUBLE; +m_operation.beta_s=static_cast<float>(beta); +m_operation.beta_d=beta; +return*this; +} + +OperationBuilder_v8(cudnnBackendDescriptorType_tmode){ +m_operation.op_mode=mode; +is_convolution_op=((m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR)|| +(m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR)|| +(m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR)); + +is_pointwise_op=(m_operation.op_mode==CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR); +is_matmul_op=(m_operation.op_mode==CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR); +is_reduction_op=(m_operation.op_mode==CUDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR); +} +Operation_v8&& +build(){ +if(m_operation.status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation,m_operation.status,"CUDNN_BACKEND_OPERATION:Operationnotinitializedproperly"); +returnstd::move(m_operation); +} + +if(is_convolution_op){ +if(m_operation.cdesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_CONVOLUTION_*_CONV_DESC"); +returnstd::move(m_operation); +} +if(m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR){ +if(m_operation.xdesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_CONVOLUTION_*_X"); +returnstd::move(m_operation); +} +if(m_operation.wdesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_CONVOLUTION_*_W"); +returnstd::move(m_operation); +} +if(m_operation.ydesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_CONVOLUTION_*_Y"); +returnstd::move(m_operation); +} + +}elseif(m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR){ +if(m_operation.ydesc!=nullptr&&m_operation.dydesc!=nullptr){ +set_error_and_throw_exception(&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:Ambiguousspecification.ChooseandSet" +"onlyoneofsetyDesc()orsetdyDesc()"); +returnstd::move(m_operation); +} +if(m_operation.ydesc==nullptr&&m_operation.dydesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:ChooseandSetoneofsetyDesc()orsetdyDesc()"); +returnstd::move(m_operation); +} +if(m_operation.xdesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_CONVOLUTION_*_X"); +returnstd::move(m_operation); +} +if(m_operation.wdesc!=nullptr&&m_operation.dwdesc!=nullptr){ +set_error_and_throw_exception(&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:Ambiguousspecification.ChooseandSet" +"onlyoneofsetwDesc()orsetdwDesc()"); +returnstd::move(m_operation); +} +if(m_operation.wdesc==nullptr&&m_operation.dwdesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:ChooseandSetoneofsetwDesc()orsetdwDesc()"); +returnstd::move(m_operation); +} +}elseif(m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR){ +if(m_operation.ydesc!=nullptr&&m_operation.dydesc!=nullptr){ +set_error_and_throw_exception(&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:Ambiguousspecification.ChooseandSet" +"onlyoneofsetyDesc()orsetdyDesc()"); +returnstd::move(m_operation); +} +if(m_operation.ydesc==nullptr&&m_operation.dydesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:ChooseandSetoneofsetyDesc()orsetdyDesc()"); +returnstd::move(m_operation); +} +if(m_operation.wdesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_CONVOLUTION_*_W"); +returnstd::move(m_operation); +} +if(m_operation.xdesc!=nullptr&&m_operation.dxdesc!=nullptr){ +set_error_and_throw_exception(&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:Ambiguousspecification.ChooseandSet" +"onlyoneofsetxDesc()orsetdxDesc()"); +returnstd::move(m_operation); +} +if(m_operation.xdesc==nullptr&&m_operation.dxdesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:ChooseandSetoneofsetxDesc()orsetdxDesc()"); +returnstd::move(m_operation); +} +}else{ +set_error_and_throw_exception(&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:Unsupportedconvolutionoperation.Checkand" +"setCUDNN_BACKEND_OPERATION_CONVOLUTION_*_DESCRIPTOR"); +returnstd::move(m_operation); +} +}elseif(is_pointwise_op){ +if(m_operation.xdesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_POINTWISE_XDESC"); +returnstd::move(m_operation); +} + +if(m_operation.is_pointwise_math_op){ +if(m_operation.pointwise_port_count==3&&m_operation.bdesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_POINTWISE_BDESC"); +returnstd::move(m_operation); +} +if(m_operation.ydesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_POINTWISE_YDESC"); +returnstd::move(m_operation); +} +}elseif(m_operation.is_pointwise_activation_fwd_op){ +if(m_operation.ydesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_POINTWISE_YDESC"); +returnstd::move(m_operation); +} +}elseif(m_operation.is_pointwise_activation_bwd_op){ +if(m_operation.dydesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_POINTWISE_DYDESC"); +returnstd::move(m_operation); +} +if(m_operation.dxdesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_POINTWISE_DXDESC"); +returnstd::move(m_operation); +} +}else{ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:Unsupportedcudnnpointwisemode.CheckandsetCUDNN_POINTWISE_*"); +returnstd::move(m_operation); +} + +}elseif(is_matmul_op){ +if(m_operation.matmuldesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_MATMUL_DESC"); +returnstd::move(m_operation); +} +if(m_operation.amatdesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_MATMUL_ADESC"); +returnstd::move(m_operation); +} +if(m_operation.bmatdesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_MATMUL_BDESC"); +returnstd::move(m_operation); +} +if(m_operation.cmatdesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_MATMUL_CDESC"); +returnstd::move(m_operation); +} +}elseif(is_reduction_op){ +if(m_operation.reductiondesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_REDUCTION_DESC"); +returnstd::move(m_operation); +} +if(m_operation.xdesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_REDUCTION_XDESC"); +returnstd::move(m_operation); +} +if(m_operation.ydesc==nullptr){ +set_error_and_throw_exception( +&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION:CheckandSettheCUDNN_ATTR_OPERATION_REDUCTION_YDESC"); +returnstd::move(m_operation); +} +}else{ +set_error_and_throw_exception(&m_operation, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATION_DESCRIPTOR:Unsupportedcudnnbackenddescriptor" +"type.CheckandsetCUDNN_BACKEND_OPERATION_*_DESCRIPTOR"); +returnstd::move(m_operation); +} + +//Createthedescriptor. +autostatus=m_operation.initialize_managed_backend_pointer(m_operation.op_mode); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception(&m_operation,status,"CUDNN_BACKEND_OPERATION:cudnnCreateFailed"); +returnstd::move(m_operation); +} + +if(m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR){ +m_operation.operationTag="ConvFwd"; + +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_X, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.xdesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_XFailed"); +returnstd::move(m_operation); +} status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_ALPHA, -m_operation.alphabetaType, +CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_W, +CUDNN_TYPE_BACKEND_DESCRIPTOR, 1, -alpha); +&(m_operation.wdesc->get_backend_descriptor())); if(status!=CUDNN_STATUS_SUCCESS){ set_error_and_throw_exception( &m_operation, status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_ALPHAFailed"); +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_WFailed"); returnstd::move(m_operation); } status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_BETA, -m_operation.alphabetaType, +CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_Y, +CUDNN_TYPE_BACKEND_DESCRIPTOR, 1, -beta); +&(m_operation.ydesc->get_backend_descriptor())); if(status!=CUDNN_STATUS_SUCCESS){ set_error_and_throw_exception( &m_operation, status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_BETAFailed"); +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_YFailed"); returnstd::move(m_operation); } -}elseif(m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR){ -m_operation.operationTag="ConvBwdFilter"; - -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_X, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.xdesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_XFailed"); -returnstd::move(m_operation); -} - -autodwdesc_=m_operation.dwdesc!=nullptr?m_operation.dwdesc:m_operation.wdesc; -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DW, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(dwdesc_->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DWFailed"); -returnstd::move(m_operation); -} - -autodydesc_=m_operation.dydesc!=nullptr?m_operation.dydesc:m_operation.ydesc; -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DY, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(dydesc_->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DYFailed"); -returnstd::move(m_operation); -} - -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_CONV_DESC, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.cdesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception(&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttribute" -"CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_CONV_DESCFailed"); -returnstd::move(m_operation); -} -void*alpha=(m_operation.alphabetaType==CUDNN_TYPE_FLOAT?static_cast<void*>(&m_operation.alpha_s) -:static_cast<void*>(&m_operation.alpha_d)); -void*beta=(m_operation.alphabetaType==CUDNN_TYPE_FLOAT?static_cast<void*>(&m_operation.beta_s) -:static_cast<void*>(&m_operation.beta_d)); -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_ALPHA, -m_operation.alphabetaType, -1, -alpha); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_ALPHAFailed"); -returnstd::move(m_operation); -} -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_BETA, -m_operation.alphabetaType, -1, -beta); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_BETAFailed"); -returnstd::move(m_operation); -} -}elseif(m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR){ -m_operation.operationTag="ConvBwdData"; - -autodxdesc_=m_operation.dxdesc!=nullptr?m_operation.dxdesc:m_operation.xdesc; -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DX, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(dxdesc_->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DXFailed"); -returnstd::move(m_operation); -} - -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_W, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.wdesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_WFailed"); -returnstd::move(m_operation); -} - -autodydesc_=m_operation.dydesc!=nullptr?m_operation.dydesc:m_operation.ydesc; -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DY, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(dydesc_->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DYFailed"); -returnstd::move(m_operation); -} - -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_CONV_DESC, +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_CONV_DESC, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.cdesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_CONV_DESCFailed"); +returnstd::move(m_operation); +} +void*alpha=(m_operation.alphabetaType==CUDNN_TYPE_FLOAT?static_cast<void*>(&m_operation.alpha_s) +:static_cast<void*>(&m_operation.alpha_d)); +void*beta=(m_operation.alphabetaType==CUDNN_TYPE_FLOAT?static_cast<void*>(&m_operation.beta_s) +:static_cast<void*>(&m_operation.beta_d)); +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_ALPHA, +m_operation.alphabetaType, +1, +alpha); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_ALPHAFailed"); +returnstd::move(m_operation); +} +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_BETA, +m_operation.alphabetaType, +1, +beta); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_FORWARD_BETAFailed"); +returnstd::move(m_operation); +} +}elseif(m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR){ +m_operation.operationTag="ConvBwdFilter"; + +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_X, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.xdesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_XFailed"); +returnstd::move(m_operation); +} + +autodwdesc_=m_operation.dwdesc!=nullptr?m_operation.dwdesc:m_operation.wdesc; +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DW, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(dwdesc_->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DWFailed"); +returnstd::move(m_operation); +} + +autodydesc_=m_operation.dydesc!=nullptr?m_operation.dydesc:m_operation.ydesc; +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DY, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(dydesc_->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_DYFailed"); +returnstd::move(m_operation); +} + +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_CONV_DESC, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.cdesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception(&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttribute" +"CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_CONV_DESCFailed"); +returnstd::move(m_operation); +} +void*alpha=(m_operation.alphabetaType==CUDNN_TYPE_FLOAT?static_cast<void*>(&m_operation.alpha_s) +:static_cast<void*>(&m_operation.alpha_d)); +void*beta=(m_operation.alphabetaType==CUDNN_TYPE_FLOAT?static_cast<void*>(&m_operation.beta_s) +:static_cast<void*>(&m_operation.beta_d)); +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_ALPHA, +m_operation.alphabetaType, +1, +alpha); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_ALPHAFailed"); +returnstd::move(m_operation); +} +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_BETA, +m_operation.alphabetaType, +1, +beta); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_FILTER_BETAFailed"); +returnstd::move(m_operation); +} +}elseif(m_operation.op_mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR){ +m_operation.operationTag="ConvBwdData"; + +autodxdesc_=m_operation.dxdesc!=nullptr?m_operation.dxdesc:m_operation.xdesc; +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DX, CUDNN_TYPE_BACKEND_DESCRIPTOR, 1, -&(m_operation.cdesc->get_backend_descriptor())); +&(dxdesc_->get_backend_descriptor())); if(status!=CUDNN_STATUS_SUCCESS){ set_error_and_throw_exception( &m_operation, status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_CONV_DESCFailed"); +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DXFailed"); returnstd::move(m_operation); } -void*alpha=(m_operation.alphabetaType==CUDNN_TYPE_FLOAT?static_cast<void*>(&m_operation.alpha_s) -:static_cast<void*>(&m_operation.alpha_d)); -void*beta=(m_operation.alphabetaType==CUDNN_TYPE_FLOAT?static_cast<void*>(&m_operation.beta_s) -:static_cast<void*>(&m_operation.beta_d)); -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_ALPHA, -m_operation.alphabetaType, -1, -alpha); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_ALPHAFailed"); -returnstd::move(m_operation); -} -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_BETA, -m_operation.alphabetaType, -1, -beta); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_BETAFailed"); -returnstd::move(m_operation); -} -}elseif(m_operation.op_mode==CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR){ -switch(m_operation.pointwise_mode){ -caseCUDNN_POINTWISE_ADD: -m_operation.operationTag="Add"; -break; -caseCUDNN_POINTWISE_MUL: -m_operation.operationTag="Mul"; -break; -caseCUDNN_POINTWISE_MIN: -m_operation.operationTag="Min"; -break; -caseCUDNN_POINTWISE_MAX: -m_operation.operationTag="Max"; -break; -caseCUDNN_POINTWISE_SQRT: -m_operation.operationTag="Sqrt"; -break; -caseCUDNN_POINTWISE_RELU_FWD: -m_operation.operationTag="ReluFwd"; -break; -caseCUDNN_POINTWISE_TANH_FWD: -m_operation.operationTag="TanhFwd"; -break; -caseCUDNN_POINTWISE_SIGMOID_FWD: -m_operation.operationTag="SigmoidFwd"; -break; -caseCUDNN_POINTWISE_ELU_FWD: -m_operation.operationTag="EluFwd"; -break; -caseCUDNN_POINTWISE_GELU_FWD: -m_operation.operationTag="GeluFwd"; -break; -caseCUDNN_POINTWISE_SOFTPLUS_FWD: -m_operation.operationTag="SoftplusFwd"; -break; -caseCUDNN_POINTWISE_SWISH_FWD: -m_operation.operationTag="SwishFwd"; -break; -caseCUDNN_POINTWISE_RELU_BWD: -m_operation.operationTag="ReluBwd"; -break; -caseCUDNN_POINTWISE_TANH_BWD: -m_operation.operationTag="TanhBwd"; -break; -caseCUDNN_POINTWISE_SIGMOID_BWD: -m_operation.operationTag="SigmoidBwd"; -break; -caseCUDNN_POINTWISE_ELU_BWD: -m_operation.operationTag="EluBwd"; -break; -caseCUDNN_POINTWISE_GELU_BWD: -m_operation.operationTag="GeluBwd"; -break; -caseCUDNN_POINTWISE_SOFTPLUS_BWD: -m_operation.operationTag="SoftplusBwd"; -break; -caseCUDNN_POINTWISE_SWISH_BWD: -m_operation.operationTag="SwishBwd"; -break; -default: -m_operation.operationTag="OtherOp"; -break; -} - -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_POINTWISE_PW_DESCRIPTOR, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.pwdesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_POINTWISE_PW_DESCRIPTORFailed"); -returnstd::move(m_operation); -} - -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_POINTWISE_XDESC, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.xdesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_POINTWISE_XDESCFailed"); -returnstd::move(m_operation); -} - -if(!m_operation.is_pointwise_activation_bwd_op){ -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_POINTWISE_YDESC, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.ydesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_POINTWISE_YDESCFailed"); -returnstd::move(m_operation); -} -}else{ -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_POINTWISE_DYDESC, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.dydesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_POINTWISE_DYDESCFailed"); -returnstd::move(m_operation); -} +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_W, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.wdesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_WFailed"); +returnstd::move(m_operation); +} + +autodydesc_=m_operation.dydesc!=nullptr?m_operation.dydesc:m_operation.ydesc; +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DY, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(dydesc_->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_DYFailed"); +returnstd::move(m_operation); +} + +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_CONV_DESC, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.cdesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_CONV_DESCFailed"); +returnstd::move(m_operation); +} + +void*alpha=(m_operation.alphabetaType==CUDNN_TYPE_FLOAT?static_cast<void*>(&m_operation.alpha_s) +:static_cast<void*>(&m_operation.alpha_d)); +void*beta=(m_operation.alphabetaType==CUDNN_TYPE_FLOAT?static_cast<void*>(&m_operation.beta_s) +:static_cast<void*>(&m_operation.beta_d)); +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_ALPHA, +m_operation.alphabetaType, +1, +alpha); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_ALPHAFailed"); +returnstd::move(m_operation); +} +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_BETA, +m_operation.alphabetaType, +1, +beta); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_CONVOLUTION_BWD_DATA_BETAFailed"); +returnstd::move(m_operation); +} +}elseif(m_operation.op_mode==CUDNN_BACKEND_OPERATION_POINTWISE_DESCRIPTOR){ +switch(m_operation.pointwise_mode){ +caseCUDNN_POINTWISE_ADD: +m_operation.operationTag="Add"; +break; +caseCUDNN_POINTWISE_MUL: +m_operation.operationTag="Mul"; +break; +caseCUDNN_POINTWISE_MIN: +m_operation.operationTag="Min"; +break; +caseCUDNN_POINTWISE_MAX: +m_operation.operationTag="Max"; +break; +caseCUDNN_POINTWISE_SQRT: +m_operation.operationTag="Sqrt"; +break; +caseCUDNN_POINTWISE_RELU_FWD: +m_operation.operationTag="ReluFwd"; +break; +caseCUDNN_POINTWISE_TANH_FWD: +m_operation.operationTag="TanhFwd"; +break; +caseCUDNN_POINTWISE_SIGMOID_FWD: +m_operation.operationTag="SigmoidFwd"; +break; +caseCUDNN_POINTWISE_ELU_FWD: +m_operation.operationTag="EluFwd"; +break; +caseCUDNN_POINTWISE_GELU_FWD: +m_operation.operationTag="GeluFwd"; +break; +caseCUDNN_POINTWISE_SOFTPLUS_FWD: +m_operation.operationTag="SoftplusFwd"; +break; +caseCUDNN_POINTWISE_SWISH_FWD: +m_operation.operationTag="SwishFwd"; +break; +caseCUDNN_POINTWISE_RELU_BWD: +m_operation.operationTag="ReluBwd"; +break; +caseCUDNN_POINTWISE_TANH_BWD: +m_operation.operationTag="TanhBwd"; +break; +caseCUDNN_POINTWISE_SIGMOID_BWD: +m_operation.operationTag="SigmoidBwd"; +break; +caseCUDNN_POINTWISE_ELU_BWD: +m_operation.operationTag="EluBwd"; +break; +caseCUDNN_POINTWISE_GELU_BWD: +m_operation.operationTag="GeluBwd"; +break; +caseCUDNN_POINTWISE_SOFTPLUS_BWD: +m_operation.operationTag="SoftplusBwd"; +break; +caseCUDNN_POINTWISE_SWISH_BWD: +m_operation.operationTag="SwishBwd"; +break; +default: +m_operation.operationTag="OtherOp"; +break; +} + +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_POINTWISE_PW_DESCRIPTOR, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.pwdesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_POINTWISE_PW_DESCRIPTORFailed"); +returnstd::move(m_operation); +} -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_POINTWISE_DXDESC, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.dxdesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_POINTWISE_DXDESCFailed"); -returnstd::move(m_operation); -} -} - -void*alpha=(m_operation.alphabetaType==CUDNN_TYPE_FLOAT?static_cast<void*>(&m_operation.alpha_s) -:static_cast<void*>(&m_operation.alpha_d)); -void*alpha2=(m_operation.alphabetaType==CUDNN_TYPE_FLOAT?static_cast<void*>(&m_operation.alpha2_s) -:static_cast<void*>(&m_operation.alpha2_d)); -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_POINTWISE_ALPHA1, -m_operation.alphabetaType, -1, -alpha); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_POINTWISE_ALPHA1Failed"); -returnstd::move(m_operation); -} -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_POINTWISE_ALPHA2, -m_operation.alphabetaType, -1, -alpha2); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_POINTWISE_ALPHA2Failed"); -returnstd::move(m_operation); -} - -if(m_operation.pointwise_port_count==3&&!m_operation.is_pointwise_activation_bwd_op){ -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_POINTWISE_BDESC, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.bdesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_POINTWISE_BDESCFailed"); -returnstd::move(m_operation); -} -} -}elseif(m_operation.op_mode==CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR){ -m_operation.operationTag="Matmul"; -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_MATMUL_ADESC, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.amatdesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_MATMUL_ADESCFailed"); -returnstd::move(m_operation); -} -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_MATMUL_BDESC, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.bmatdesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_MATMUL_BDESCFailed"); -returnstd::move(m_operation); -} -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_MATMUL_CDESC, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.cmatdesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_MATMUL_CDESCFailed"); -returnstd::move(m_operation); -} -status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATION_MATMUL_DESC, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -1, -&(m_operation.matmuldesc->get_backend_descriptor())); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operation, -status, -"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_MATMUL_DESCFailed"); -returnstd::move(m_operation); -} -} -status=cudnnBackendFinalize(m_operation.pointer->get_backend_descriptor()); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception(&m_operation,status,"CUDNN_BACKEND_OPERATION:cudnnFinalizeFailed"); -returnstd::move(m_operation); -} -returnstd::move(m_operation); -} -}; -} +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_POINTWISE_XDESC, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.xdesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_POINTWISE_XDESCFailed"); +returnstd::move(m_operation); +} + +if(!m_operation.is_pointwise_activation_bwd_op){ +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_POINTWISE_YDESC, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.ydesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_POINTWISE_YDESCFailed"); +returnstd::move(m_operation); +} +}else{ +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_POINTWISE_DYDESC, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.dydesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_POINTWISE_DYDESCFailed"); +returnstd::move(m_operation); +} + +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_POINTWISE_DXDESC, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.dxdesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_POINTWISE_DXDESCFailed"); +returnstd::move(m_operation); +} +} + +void*alpha=(m_operation.alphabetaType==CUDNN_TYPE_FLOAT?static_cast<void*>(&m_operation.alpha_s) +:static_cast<void*>(&m_operation.alpha_d)); +void*alpha2=(m_operation.alphabetaType==CUDNN_TYPE_FLOAT?static_cast<void*>(&m_operation.alpha2_s) +:static_cast<void*>(&m_operation.alpha2_d)); +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_POINTWISE_ALPHA1, +m_operation.alphabetaType, +1, +alpha); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_POINTWISE_ALPHA1Failed"); +returnstd::move(m_operation); +} +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_POINTWISE_ALPHA2, +m_operation.alphabetaType, +1, +alpha2); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_POINTWISE_ALPHA2Failed"); +returnstd::move(m_operation); +} + +if(m_operation.pointwise_port_count==3&&!m_operation.is_pointwise_activation_bwd_op){ +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_POINTWISE_BDESC, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.bdesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_POINTWISE_BDESCFailed"); +returnstd::move(m_operation); +} +} +}elseif(m_operation.op_mode==CUDNN_BACKEND_OPERATION_MATMUL_DESCRIPTOR){ +m_operation.operationTag="Matmul"; +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_MATMUL_ADESC, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.amatdesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_MATMUL_ADESCFailed"); +returnstd::move(m_operation); +} +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_MATMUL_BDESC, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.bmatdesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_MATMUL_BDESCFailed"); +returnstd::move(m_operation); +} +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_MATMUL_CDESC, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.cmatdesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_MATMUL_CDESCFailed"); +returnstd::move(m_operation); +} +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_MATMUL_DESC, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.matmuldesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_MATMUL_DESCFailed"); +returnstd::move(m_operation); +} +}elseif(m_operation.op_mode==CUDNN_BACKEND_OPERATION_REDUCTION_DESCRIPTOR){ +m_operation.operationTag="Reduction"; +if((cudnnGetVersion()/100)==81){//workaroundforcudnn8.1 +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_REDUCTION_OPERATOR, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.reductiondesc->get_backend_descriptor())); +}else{ +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_REDUCTION_DESC, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.reductiondesc->get_backend_descriptor())); +} +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_REDUCTION_DESCFailed"); +returnstd::move(m_operation); +} +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_REDUCTION_XDESC, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.xdesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_REDUCTION_XDESCFailed"); +returnstd::move(m_operation); +} +status=cudnnBackendSetAttribute(m_operation.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATION_REDUCTION_YDESC, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +1, +&(m_operation.ydesc->get_backend_descriptor())); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operation, +status, +"CUDNN_BACKEND_OPERATION:SetAttributeCUDNN_ATTR_OPERATION_REDUCTION_YDESCFailed"); +returnstd::move(m_operation); +} +} +status=cudnnBackendFinalize(m_operation.pointer->get_backend_descriptor()); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception(&m_operation,status,"CUDNN_BACKEND_OPERATION:cudnnFinalizeFailed"); +returnstd::move(m_operation); +} +returnstd::move(m_operation); +} +}; +} diff --git a/docs/xml/da/d5f/cudnn__frontend__PointWiseDesc_8h.xml b/docs/xml/da/d5f/cudnn__frontend__PointWiseDesc_8h.xml index fd319cb2..41473753 100644 --- a/docs/xml/da/d5f/cudnn__frontend__PointWiseDesc_8h.xml +++ b/docs/xml/da/d5f/cudnn__frontend__PointWiseDesc_8h.xml @@ -14,150 +14,150 @@ cudnn_frontend_Operation.h cudnn_frontend.h - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/docs/xml/da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.xml b/docs/xml/da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.xml new file mode 100644 index 00000000..e53bda49 --- /dev/null +++ b/docs/xml/da/d6d/structnlohmann_1_1detail_1_1iterator__input__adapter__factory_3_01IteratorType_00_01enable__if__0e86378a778d78dd2284e92dc30f4902.xml @@ -0,0 +1,107 @@ + + + + nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > > + json.hpp + + + typename IteratorType + + + + + IteratorType + using nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::iterator_type = IteratorType + + iterator_type + + + + + + + + + + typename std::iterator_traits< iterator_type >::value_type + using nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::char_type = typename std::iterator_traits<iterator_type>::value_type + + char_type + + + + + + + + + + iterator_input_adapter< iterator_type > + using nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::base_adapter_type = iterator_input_adapter<iterator_type> + + base_adapter_type + + + + + + + + + + wide_string_input_adapter< base_adapter_type, char_type > + using nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::adapter_type = wide_string_input_adapter<base_adapter_type, char_type> + + adapter_type + + + + + + + + + + + + adapter_type + static adapter_type nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >::create + (IteratorType first, IteratorType last) + create + + IteratorType + first + + + IteratorType + last + + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >adapter_type + nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >base_adapter_type + nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >char_type + nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >create + nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >iterator_type + + + diff --git a/docs/xml/da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.xml b/docs/xml/da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.xml new file mode 100644 index 00000000..e6aa317f --- /dev/null +++ b/docs/xml/da/d7e/classnlohmann_1_1detail_1_1span__input__adapter.xml @@ -0,0 +1,121 @@ + + + + nlohmann::detail::span_input_adapter + json.hpp + + + contiguous_bytes_input_adapter + contiguous_bytes_input_adapter nlohmann::detail::span_input_adapter::ia + + ia + + + + + + + + + + + + + + typename CharT + + + typename std::enable_if< std::is_pointer< CharT >::value &&std::is_integral< typename std::remove_pointer< CharT >::type >::value &&sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type + 0 + + + + nlohmann::detail::span_input_adapter::span_input_adapter + (CharT b, std::size_t l) + span_input_adapter + + CharT + b + + + std::size_t + l + + + + + + + + + nlohmann::detail::value + + + + + class IteratorType + + + typename std::enable_if< std::is_same< typename iterator_traits< IteratorType >::iterator_category, std::random_access_iterator_tag >::value, int >::type + 0 + + + + nlohmann::detail::span_input_adapter::span_input_adapter + (IteratorType first, IteratorType last) + span_input_adapter + + IteratorType + first + + + IteratorType + last + + + + + + + + + + + contiguous_bytes_input_adapter && + contiguous_bytes_input_adapter&& nlohmann::detail::span_input_adapter::get + () + get + + + + + + + + + + + + + + + + + + + -ia + + + + + + + + + nlohmann::detail::span_input_adapterget + nlohmann::detail::span_input_adapteria + nlohmann::detail::span_input_adapterspan_input_adapter + nlohmann::detail::span_input_adapterspan_input_adapter + + + diff --git a/docs/xml/da/d86/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.xml b/docs/xml/da/d86/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.xml new file mode 100644 index 00000000..70728b75 --- /dev/null +++ b/docs/xml/da/d86/classstd_1_1tuple__size_3_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.xml @@ -0,0 +1,42 @@ + + + + std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > > + std::integral_constant< std::size_t, 2 > + json.hpp + + + typename IteratorType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.xml b/docs/xml/da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.xml new file mode 100644 index 00000000..717256f0 --- /dev/null +++ b/docs/xml/da/d99/structnlohmann_1_1detail_1_1iterator__traits_3_01T_01_5_00_01enable__if__t_3_01std_1_1is__object_3_01T_01_4_1_1value_01_4_01_4.xml @@ -0,0 +1,97 @@ + + + + nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > > + json.hpp + + + typename T + + + + + std::random_access_iterator_tag + using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::iterator_category = std::random_access_iterator_tag + + iterator_category + + + + + + + + + + T + using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::value_type = T + + value_type + + + + + + + + + + ptrdiff_t + using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::difference_type = ptrdiff_t + + difference_type + + + + + + + + + + T * + using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::pointer = T* + + pointer + + + + + + + + + + T & + using nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >::reference = T& + + reference + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >difference_type + nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >iterator_category + nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >pointer + nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >reference + nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >value_type + + + diff --git a/docs/xml/da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.xml b/docs/xml/da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.xml new file mode 100644 index 00000000..3ca7d741 --- /dev/null +++ b/docs/xml/da/dac/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1string_01_4.xml @@ -0,0 +1,115 @@ + + + + nlohmann::detail::external_constructor< value_t::string > + json.hpp + + + + + + + typename BasicJsonType + + + void + static void nlohmann::detail::external_constructor< value_t::string >::construct + (BasicJsonType &j, const typename BasicJsonType::string_t &s) + construct + + BasicJsonType & + j + + + const typename BasicJsonType::string_t & + s + + + + + + + + + nlohmann::detail::string + + + + + typename BasicJsonType + + + void + static void nlohmann::detail::external_constructor< value_t::string >::construct + (BasicJsonType &j, typename BasicJsonType::string_t &&s) + construct + + BasicJsonType & + j + + + typename BasicJsonType::string_t && + s + + + + + + + + + nlohmann::detail::string + + + + + typename BasicJsonType + + + typename CompatibleStringType + + + enable_if_t< !std::is_same< CompatibleStringType, typename BasicJsonType::string_t >::value, int > + 0 + + + void + static void nlohmann::detail::external_constructor< value_t::string >::construct + (BasicJsonType &j, const CompatibleStringType &str) + construct + + BasicJsonType & + j + + + const CompatibleStringType & + str + + + + + + + + + nlohmann::detail::string + + + + + + + + + + + + + + + nlohmann::detail::external_constructor< value_t::string >construct + nlohmann::detail::external_constructor< value_t::string >construct + nlohmann::detail::external_constructor< value_t::string >construct + + + diff --git a/docs/xml/da/dbd/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.xml b/docs/xml/da/dbd/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.xml new file mode 100644 index 00000000..0124c2bb --- /dev/null +++ b/docs/xml/da/dbd/structnlohmann_1_1detail_1_1is__default__constructible_3_01std_1_1pair_3_01T1_00_01T2_01_4_01_4.xml @@ -0,0 +1,82 @@ + + + + nlohmann::detail::is_default_constructible< std::pair< T1, T2 > > + nlohmann::detail::conjunction< is_default_constructible< T1 >, is_default_constructible< T2 > > + nlohmann::detail::is_constructible< std::pair< T1, T2 > > + json.hpp + + + typename T1 + + + typename T2 + + + + + + + + + + + + + + < is_default_constructible< T1 >, is_default_constructible< T2 > > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < is_default_constructible< T1 >, is_default_constructible< T2 > > + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/da/de8/classnlohmann_1_1json__pointer.xml b/docs/xml/da/de8/classnlohmann_1_1json__pointer.xml new file mode 100644 index 00000000..36691278 --- /dev/null +++ b/docs/xml/da/de8/classnlohmann_1_1json__pointer.xml @@ -0,0 +1,1248 @@ + + + + nlohmann::json_pointer + json.hpp + + + typename BasicJsonType + + + + + friend class + friend class basic_json + + basic_json + + + + + + + + + + friend json_pointer + json_pointer operator/ + (const json_pointer &lhs, const json_pointer &rhs) + operator/ + + const json_pointer & + lhs + + + const json_pointer & + rhs + + +create a new JSON pointer by appending the right JSON pointer at the end of the left JSON pointer + + + +lhs + + +JSON pointer + + + +rhs + + +JSON pointer + + +a new JSON pointer with rhs appended to lhs +{The example shows the usage of operator/.,json_pointer__operator_add_binary}Linear in the length of lhs and rhs.see operator/=(const json_pointer&) to append a JSON pointer +version 3.6.0 + + + + + + + friend json_pointer + json_pointer operator/ + (const json_pointer &ptr, std::string token) + operator/ + + const json_pointer & + ptr + + + std::string + token + + +create a new JSON pointer by appending the unescaped token at the end of the JSON pointer + + + +ptr + + +JSON pointer + + + +token + + +reference token + + +a new JSON pointer with unescaped token appended to ptr +{The example shows the usage of operator/.,json_pointer__operator_add_binary}Linear in the length of ptr.see operator/=(std::string) to append a reference token +version 3.6.0 + + + + + + + friend json_pointer + json_pointer operator/ + (const json_pointer &ptr, std::size_t array_idx) + operator/ + + const json_pointer & + ptr + + + std::size_t + array_idx + + +create a new JSON pointer by appending the array-index-token at the end of the JSON pointer + + + +ptr + + +JSON pointer + + + +array_idx + + +array index + + +a new JSON pointer with array_idx appended to ptr +{The example shows the usage of operator/.,json_pointer__operator_add_binary}Linear in the length of ptr.see operator/=(std::size_t) to append an array index +version 3.6.0 + + + + + + + friend bool + bool operator== + (json_pointer const &lhs, json_pointer const &rhs) noexcept + operator== + + json_pointer const & + lhs + + + json_pointer const & + rhs + + +compares two JSON pointers for equality + + + +lhs + + +JSON pointer to compare + + + +rhs + + +JSON pointer to compare + + +whether lhs is equal to rhs +Linear in the length of the JSON pointerNo-throw guarantee: this function never throws exceptions. + + + + + + friend bool + bool operator!= + (json_pointer const &lhs, json_pointer const &rhs) noexcept + operator!= + + json_pointer const & + lhs + + + json_pointer const & + rhs + + +compares two JSON pointers for inequality + + + +lhs + + +JSON pointer to compare + + + +rhs + + +JSON pointer to compare + + +whether lhs is not equal rhs +Linear in the length of the JSON pointerNo-throw guarantee: this function never throws exceptions. + + + + + + + + JSON_PRIVATE_UNLESS_TESTED + JSON_PRIVATE_UNLESS_TESTED nlohmann::json_pointer< BasicJsonType >::__pad0__ + + __pad0__ + json_pointer top() const { if (JSON_HEDLEY_UNLIKELY(empty())) { JSON_THROW(detail::out_of_range::create(405 + + + + + + + + + + JSON_PRIVATE_UNLESS_TESTED JSON pointer has no + JSON_PRIVATE_UNLESS_TESTED JSON pointer has no nlohmann::json_pointer< BasicJsonType >::parent + + parent + + + + + + + + + + json_pointer + json_pointer nlohmann::json_pointer< BasicJsonType >::result + + result + = *this + + + + + + + + + + result + result nlohmann::json_pointer< BasicJsonType >::reference_tokens + + reference_tokens + = {reference_tokens[0]} + + + + + + + + nlohmann::json_pointer< BasicJsonType >::operator/= + + + return + return nlohmann::json_pointer< BasicJsonType >::result + + result + + + + + + + + + + std::vector< std::string > + std::vector<std::string> nlohmann::json_pointer< BasicJsonType >::reference_tokens + + reference_tokens + +the reference tokens + + + + + + + + + + + nlohmann::json_pointer< BasicJsonType >::json_pointer + (const std::string &s="") + json_pointer + + const std::string & + s + "" + + +create JSON pointer + +Create a JSON pointer according to the syntax described in Section 3 of RFC6901. + +s + + +string representing the JSON pointer; if omitted, the empty string is assumed which references the whole JSON value + + + + +parse_error.107 + + +if the given JSON pointer s is nonempty and does not begin with a slash (/); see example below + + + +parse_error.108 + + +if a tilde (~) in the given JSON pointer s is not followed by 0 (representing ~) or 1 (representing /); see example below + + +{The example shows the construction several valid JSON pointers as well as the exceptional behavior.,json_pointer}version 2.0.0 + + + + + + + std::string + std::string nlohmann::json_pointer< BasicJsonType >::to_string + () const + to_string + +return a string representation of the JSON pointer + +For each JSON pointer ptr, it holds: ptr==json_pointer(ptr.to_string()); + +a string representation of the JSON pointer +{The example shows the result of to_string.,json_pointer__to_string}version 2.0.0 + + + + + nlohmann::detail::escape + nlohmann::detail::string + + + + nlohmann::json_pointer< BasicJsonType >::operator std::string + () const + operator std::string + +return a string representation of the JSON pointer + +For each JSON pointer ptr, it holds: ptr==json_pointer(ptr.to_string()); + +a string representation of the JSON pointer +{The example shows the result of to_string.,json_pointer__to_string}version 2.0.0 + + + + + nlohmann::to_string + + + json_pointer & + json_pointer& nlohmann::json_pointer< BasicJsonType >::operator/= + (const json_pointer &ptr) + operator/= + + const json_pointer & + ptr + + +append another JSON pointer at the end of this JSON pointer + + + +ptr + + +JSON pointer to append + + +JSON pointer with ptr appended +{The example shows the usage of operator/=.,json_pointer__operator_add}Linear in the length of ptr.see operator/=(std::string) to append a reference token +see operator/=(std::size_t) to append an array index +see operator/(const json_pointer&, const json_pointer&) for a binary operator +version 3.6.0 + + + + + nlohmann::json_pointer< BasicJsonType >::reference_tokens + + + json_pointer & + json_pointer& nlohmann::json_pointer< BasicJsonType >::operator/= + (std::string token) + operator/= + + std::string + token + + +append an unescaped reference token at the end of this JSON pointer + + + +token + + +reference token to append + + +JSON pointer with token appended without escaping token +{The example shows the usage of operator/=.,json_pointer__operator_add}Amortized constant.see operator/=(const json_pointer&) to append a JSON pointer +see operator/=(std::size_t) to append an array index +see operator/(const json_pointer&, std::size_t) for a binary operator +version 3.6.0 + + + + + + + json_pointer & + json_pointer& nlohmann::json_pointer< BasicJsonType >::operator/= + (std::size_t array_idx) + operator/= + + std::size_t + array_idx + + +append an array index at the end of this JSON pointer + + + +array_idx + + +array index to append + + +JSON pointer with array_idx appended +{The example shows the usage of operator/=.,json_pointer__operator_add}Amortized constant.see operator/=(const json_pointer&) to append a JSON pointer +see operator/=(std::string) to append a reference token +see operator/(const json_pointer&, std::string) for a binary operator +version 3.6.0 + + + + + nlohmann::to_string + + + json_pointer + json_pointer nlohmann::json_pointer< BasicJsonType >::parent_pointer + () const + parent_pointer + +returns the parent of this JSON pointer + +parent of this JSON pointer; in case this JSON pointer is the root, the root itself is returned +Linear in the length of the JSON pointer.{The example shows the result of parent_pointer for different JSON Pointers.,json_pointer__parent_pointer}version 3.6.0 + + + + + nlohmann::json_pointer< BasicJsonType >::pop_back + + + void + void nlohmann::json_pointer< BasicJsonType >::pop_back + () + pop_back + +remove last reference token + +not empty() +{The example shows the usage of pop_back.,json_pointer__pop_back}Constant. + +out_of_range.405 + + +if JSON pointer has no parent + + +version 3.6.0 + + + + + nlohmann::detail::out_of_range::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::json_pointer< BasicJsonType >::parent_pointer + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + + + const std::string & + const std::string& nlohmann::json_pointer< BasicJsonType >::back + () const + back + +return last reference token + +not empty() +last reference token +{The example shows the usage of back.,json_pointer__back}Constant. + +out_of_range.405 + + +if JSON pointer has no parent + + +version 3.6.0 + + + + + nlohmann::detail::out_of_range::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + + + void + void nlohmann::json_pointer< BasicJsonType >::push_back + (const std::string &token) + push_back + + const std::string & + token + + +append an unescaped token at the end of the reference pointer + + + +token + + +token to add + + +Amortized constant.{The example shows the result of push_back for different JSON Pointers.,json_pointer__push_back}version 3.6.0 + + + + + + + void + void nlohmann::json_pointer< BasicJsonType >::push_back + (std::string &&token) + push_back + + std::string && + token + + +append an unescaped token at the end of the reference pointer + + + +token + + +token to add + + +Amortized constant.{The example shows the result of push_back for different JSON Pointers.,json_pointer__push_back}version 3.6.0 + + + + + + + bool + bool nlohmann::json_pointer< BasicJsonType >::empty + () const noexcept + empty + +return whether pointer points to the root document + +true iff the JSON pointer points to the root document +Constant.No-throw guarantee: this function never throws exceptions.{The example shows the result of empty for different JSON Pointers.,json_pointer__empty}version 3.6.0 + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + + + + + BasicJsonType::size_type + static BasicJsonType::size_type nlohmann::json_pointer< BasicJsonType >::array_index + (const std::string &s) + array_index + + const std::string & + s + + + + + + +s + + +reference token to be converted into an array index + + +integer representation of s + + +parse_error.106 + + +if an array index begins with '0' + + + +parse_error.109 + + +if an array index begins not with a digit + + + +out_of_range.404 + + +if string s could not be converted to an integer + + + +out_of_range.410 + + +if an array index exceeds size_type + + + + + + + nlohmann::detail::parse_error::create + nlohmann::detail::out_of_range::create + JSON_CATCH + JSON_HEDLEY_UNLIKELY + JSON_PRIVATE_UNLESS_TESTED + JSON_THROW + JSON_TRY + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::patch + + + std::vector< std::string > + static std::vector<std::string> nlohmann::json_pointer< BasicJsonType >::split + (const std::string &reference_string) + split + + const std::string & + reference_string + + +split the string input to reference tokens + +This function is only called by the json_pointer constructor. All exceptions below are documented there. + + +parse_error.107 + + +if the pointer is not empty or begins with '/' + + + +parse_error.108 + + +if character '~' is not followed by '0' or '1' + + + + + + + nlohmann::detail::parse_error::create + JSON_ASSERT + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::unescape + + + void + static void nlohmann::json_pointer< BasicJsonType >::flatten + (const std::string &reference_string, const BasicJsonType &value, BasicJsonType &result) + flatten + + const std::string & + reference_string + + + const BasicJsonType & + value + + + BasicJsonType & + result + + + + + + +reference_string + + +the reference string to the current value + + + +value + + +the value to consider + + + +result + + +the result object to insert values to + + +Empty objects or arrays are flattened to null. + + + + + nlohmann::detail::array + nlohmann::detail::escape + nlohmann::detail::object + nlohmann::to_string + nlohmann::detail::value + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::flatten + + + BasicJsonType + static BasicJsonType nlohmann::json_pointer< BasicJsonType >::unflatten + (const BasicJsonType &value) + unflatten + + const BasicJsonType & + value + + + + + + +value + + +flattened JSON + + +unflattened JSON + + +parse_error.109 + + +if array index is not a number + + + +type_error.314 + + +if value is not an object + + + +type_error.315 + + +if object values are not primitive + + + +type_error.313 + + +if value cannot be unflattened + + + + + + + nlohmann::detail::type_error::create + nlohmann::json_pointer< BasicJsonType >::get_and_create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::unflatten + + + + + JSON_PRIVATE_UNLESS_TESTED JSON pointer has no + JSON_PRIVATE_UNLESS_TESTED JSON pointer has no nlohmann::json_pointer< BasicJsonType >::BasicJsonType + ())) + BasicJsonType + + + + + + + + + + BasicJsonType & + BasicJsonType& nlohmann::json_pointer< BasicJsonType >::get_and_create + (BasicJsonType &j) const + get_and_create + + BasicJsonType & + j + + +create and return a reference to the pointed to value + +Linear in the number of reference tokens. + +parse_error.109 + + +if array index is not a number + + + +type_error.313 + + +if value cannot be unflattened + + + + + + + nlohmann::detail::array + nlohmann::detail::type_error::create + JSON_THROW + nlohmann::detail::null + nlohmann::detail::object + nlohmann::json_pointer< BasicJsonType >::unflatten + + + BasicJsonType & + BasicJsonType& nlohmann::json_pointer< BasicJsonType >::get_unchecked + (BasicJsonType *ptr) const + get_unchecked + + BasicJsonType * + ptr + + +return a reference to the pointed to value + +This version does not throw if a value is not present, but tries to create nested values instead. For instance, calling this function with pointer "/this/that" on a null value is equivalent to calling operator[]("this").operator[]("that") on that value, effectively changing the null value to an object. + + +ptr + + +a JSON value + + +reference to the JSON value pointed to by the JSON pointer +Linear in the length of the JSON pointer. + +parse_error.106 + + +if an array index begins with '0' + + + +parse_error.109 + + +if an array index was not a number + + + +out_of_range.404 + + +if the JSON pointer can not be resolved + + + + + + + nlohmann::detail::array + nlohmann::detail::out_of_range::create + JSON_THROW + nlohmann::detail::object + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::operator[] + + + BasicJsonType & + BasicJsonType& nlohmann::json_pointer< BasicJsonType >::get_checked + (BasicJsonType *ptr) const + get_checked + + BasicJsonType * + ptr + + + + + + +parse_error.106 + + +if an array index begins with '0' + + + +parse_error.109 + + +if an array index was not a number + + + +out_of_range.402 + + +if the array index '-' is used + + + +out_of_range.404 + + +if the JSON pointer can not be resolved + + + + + + + nlohmann::detail::array + nlohmann::detail::out_of_range::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::object + nlohmann::to_string + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::at + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::value + + + const BasicJsonType & + const BasicJsonType& nlohmann::json_pointer< BasicJsonType >::get_unchecked + (const BasicJsonType *ptr) const + get_unchecked + + const BasicJsonType * + ptr + + +return a const reference to the pointed to value + + + +ptr + + +a JSON value + + +const reference to the JSON value pointed to by the JSON pointer + + +parse_error.106 + + +if an array index begins with '0' + + + +parse_error.109 + + +if an array index was not a number + + + +out_of_range.402 + + +if the array index '-' is used + + + +out_of_range.404 + + +if the JSON pointer can not be resolved + + + + + + + nlohmann::detail::array + nlohmann::detail::out_of_range::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::object + nlohmann::to_string + + + const BasicJsonType & + const BasicJsonType& nlohmann::json_pointer< BasicJsonType >::get_checked + (const BasicJsonType *ptr) const + get_checked + + const BasicJsonType * + ptr + + + + + + +parse_error.106 + + +if an array index begins with '0' + + + +parse_error.109 + + +if an array index was not a number + + + +out_of_range.402 + + +if the array index '-' is used + + + +out_of_range.404 + + +if the JSON pointer can not be resolved + + + + + + + nlohmann::detail::array + nlohmann::detail::out_of_range::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::detail::object + nlohmann::to_string + + + bool + bool nlohmann::json_pointer< BasicJsonType >::contains + (const BasicJsonType *ptr) const + contains + + const BasicJsonType * + ptr + + + + + + +parse_error.106 + + +if an array index begins with '0' + + + +parse_error.109 + + +if an array index was not a number + + + + + + + nlohmann::detail::array + JSON_HEDLEY_UNLIKELY + nlohmann::detail::object + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::contains + + + +JSON Pointer. + +A JSON pointer defines a string syntax for identifying a specific value within a JSON document. It can be used with functions at and operator[]. Furthermore, JSON pointers are the base for JSON patches.RFC 6901 +version 2.0.0 + + + + + + + + + + + + + + + +elements + + + + + + + + + + -result + + + -result + + + -parent + + + -__pad0__ + + + -reference_tokens + + + -reference_tokens + + + + + + + + + +elements + + + < std::string > + + + + + + + + + + + + + + nlohmann::json_pointer__pad0__ + nlohmann::json_pointerarray_index + nlohmann::json_pointerback + nlohmann::json_pointerbasic_json + nlohmann::json_pointerBasicJsonType + nlohmann::json_pointercontains + nlohmann::json_pointerempty + nlohmann::json_pointerflatten + nlohmann::json_pointerget_and_create + nlohmann::json_pointerget_checked + nlohmann::json_pointerget_checked + nlohmann::json_pointerget_unchecked + nlohmann::json_pointerget_unchecked + nlohmann::json_pointerjson_pointer + nlohmann::json_pointeroperator std::string + nlohmann::json_pointeroperator!= + nlohmann::json_pointeroperator/ + nlohmann::json_pointeroperator/ + nlohmann::json_pointeroperator/ + nlohmann::json_pointeroperator/= + nlohmann::json_pointeroperator/= + nlohmann::json_pointeroperator/= + nlohmann::json_pointeroperator== + nlohmann::json_pointerparent + nlohmann::json_pointerparent_pointer + nlohmann::json_pointerpop_back + nlohmann::json_pointerpush_back + nlohmann::json_pointerpush_back + nlohmann::json_pointerreference_tokens + nlohmann::json_pointerreference_tokens + nlohmann::json_pointerresult + nlohmann::json_pointerresult + nlohmann::json_pointersplit + nlohmann::json_pointerto_string + nlohmann::json_pointerunflatten + + + diff --git a/docs/xml/db/d0a/classstd_1_1conditional_1_1type.xml b/docs/xml/db/d0a/classstd_1_1conditional_1_1type.xml new file mode 100644 index 00000000..11e6971e --- /dev/null +++ b/docs/xml/db/d0a/classstd_1_1conditional_1_1type.xml @@ -0,0 +1,32 @@ + + + + std::conditional::type + nlohmann::detail::conjunction< B1, Bn... > + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.xml b/docs/xml/db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.xml new file mode 100644 index 00000000..a92dc196 --- /dev/null +++ b/docs/xml/db/d25/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construc0e52d76e0092123e197792b4c785ae52.xml @@ -0,0 +1,64 @@ + + + + nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > > + json.hpp + + + typename BasicJsonType + + + typename ConstructibleArrayType + + + + + constexpr bool + constexpr bool nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >::value + + value + = + + + + + + !is_iterator_traits<iterator_traits<ConstructibleArrayType>>::value && + + (std::is_same<typename ConstructibleArrayType::value_type, + typename BasicJsonType::array_t::value_type>::value || + has_from_json<BasicJsonType, + typename ConstructibleArrayType::value_type>::value || + has_non_default_from_json < + BasicJsonType, typename ConstructibleArrayType::value_type >::value) + + + + + + + + + + + + + + + + + + + +value + + + + + + + + + nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >value + + + diff --git a/docs/xml/db/d4e/structnlohmann_1_1detail_1_1is__compatible__string__type.xml b/docs/xml/db/d4e/structnlohmann_1_1detail_1_1is__compatible__string__type.xml new file mode 100644 index 00000000..2c15471c --- /dev/null +++ b/docs/xml/db/d4e/structnlohmann_1_1detail_1_1is__compatible__string__type.xml @@ -0,0 +1,75 @@ + + + + nlohmann::detail::is_compatible_string_type + nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, ConstructibleStringType > + json.hpp + + + typename BasicJsonType + + + typename ConstructibleStringType + + + + + + + + + + + + + + + + + < BasicJsonType, ConstructibleStringType > + + + + + + + + + + + + + + + + + + + + + + + + + + < BasicJsonType, ConstructibleStringType > + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/db/d66/cudnn__frontend__Heuristics_8h.xml b/docs/xml/db/d66/cudnn__frontend__Heuristics_8h.xml index c4a90c2b..17a58936 100644 --- a/docs/xml/db/d66/cudnn__frontend__Heuristics_8h.xml +++ b/docs/xml/db/d66/cudnn__frontend__Heuristics_8h.xml @@ -9,235 +9,259 @@ cudnn_frontend_utils.h cudnn_frontend.h - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/docs/xml/db/d7d/cudnn__frontend__OperationGraph_8h.xml b/docs/xml/db/d7d/cudnn__frontend__OperationGraph_8h.xml index 0dd6460f..49e72e81 100644 --- a/docs/xml/db/d7d/cudnn__frontend__OperationGraph_8h.xml +++ b/docs/xml/db/d7d/cudnn__frontend__OperationGraph_8h.xml @@ -16,250 +16,274 @@ cudnn_frontend_Engine.h cudnn_frontend.h - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -346,123 +370,128 @@ } returnglobal_count; } -std::stringconst& -getTag()const{ -returnopGraphTag; +uint64_t +getOpCount()const{ +returnnumOps; } -private: -OperationGraph_v8()=default; -OperationGraph_v8(OperationGraph_v8const&)=delete; -OperationGraph_v8& -operator=(OperationGraph_v8const&)=delete; - -cudnnHandle_thandle=nullptr; -std::array<ManagedOpaqueDescriptor,10>ops{}; -int64_tnumOps=-1; -std::stringopGraphTag=""; -}; - -classOperationGraphBuilder_v8{ -public: -auto -setHandle(cudnnHandle_thandle_)->OperationGraphBuilder_v8&{ -m_operationGraph.handle=handle_; -return*this; -} -auto -setOperationGraph(int64_tnumOps_,Operation_v8const**ops_)->OperationGraphBuilder_v8&{ -m_operationGraph.numOps=numOps_; -for(autoi=0u;i<numOps_;i++){ -m_operationGraph.ops[i]=ops_[i]->get_desc(); -m_operationGraph.opGraphTag+=ops_[i]->getTag()+'_'; -} -return*this; -} -OperationGraph_v8&& -build(){ -if(m_operationGraph.numOps<=0){ -set_error_and_throw_exception( -&m_operationGraph, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR:CheckandSettheCUDNN_ATTR_OPERATIONGRAPH_OPSCountfield"); -returnstd::move(m_operationGraph); -} -if(m_operationGraph.ops[0]==nullptr){ -set_error_and_throw_exception( -&m_operationGraph, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR:CheckandsetCUDNN_ATTR_OPERATIONGRAPH_OPSfield"); -returnstd::move(m_operationGraph); -} -if(m_operationGraph.handle==nullptr){ -set_error_and_throw_exception( -&m_operationGraph, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR:CheckandSetCUDNN_ATTR_OPERATIONGRAPH_HANDLE"); -returnstd::move(m_operationGraph); -} - -//Createadescriptor.Memoryallocationhappenshere. -autostatus=m_operationGraph.initialize_managed_backend_pointer(CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operationGraph,status,"CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR:cudnnCreateFailed"); -returnstd::move(m_operationGraph); -} - -std::array<cudnnBackendDescriptor_t,10>ops_raw{nullptr}; -for(autoi=0u;i<m_operationGraph.numOps;i++){ -ops_raw[i]=m_operationGraph.ops[i]->get_backend_descriptor(); +std::stringconst& +getTag()const{ +returnopGraphTag; +} + +private: +OperationGraph_v8()=default; +OperationGraph_v8(OperationGraph_v8const&)=delete; +OperationGraph_v8& +operator=(OperationGraph_v8const&)=delete; + +cudnnHandle_thandle=nullptr; +std::array<ManagedOpaqueDescriptor,10>ops{}; +int64_tnumOps=-1; +std::stringopGraphTag=""; +}; + +classOperationGraphBuilder_v8{ +public: +auto +setHandle(cudnnHandle_thandle_)->OperationGraphBuilder_v8&{ +m_operationGraph.handle=handle_; +return*this; +} +auto +setOperationGraph(int64_tnumOps_,Operation_v8const**ops_)->OperationGraphBuilder_v8&{ +m_operationGraph.numOps=numOps_; +for(autoi=0u;i<numOps_;i++){ +m_operationGraph.ops[i]=ops_[i]->get_desc(); +m_operationGraph.opGraphTag+=ops_[i]->getTag()+'_'; +} +return*this; +} +OperationGraph_v8&& +build(){ +if(m_operationGraph.numOps<=0){ +set_error_and_throw_exception( +&m_operationGraph, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR:CheckandSettheCUDNN_ATTR_OPERATIONGRAPH_OPSCountfield"); +returnstd::move(m_operationGraph); +} +if(m_operationGraph.ops[0]==nullptr){ +set_error_and_throw_exception( +&m_operationGraph, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR:CheckandsetCUDNN_ATTR_OPERATIONGRAPH_OPSfield"); +returnstd::move(m_operationGraph); +} +if(m_operationGraph.handle==nullptr){ +set_error_and_throw_exception( +&m_operationGraph, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR:CheckandSetCUDNN_ATTR_OPERATIONGRAPH_HANDLE"); +returnstd::move(m_operationGraph); +} + +//Createadescriptor.Memoryallocationhappenshere. +autostatus=m_operationGraph.initialize_managed_backend_pointer(CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operationGraph,status,"CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR:cudnnCreateFailed"); +returnstd::move(m_operationGraph); } -status=cudnnBackendSetAttribute(m_operationGraph.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATIONGRAPH_OPS, -CUDNN_TYPE_BACKEND_DESCRIPTOR, -m_operationGraph.numOps, -ops_raw.data()); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operationGraph, -status, -"CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR:SetAttributeCUDNN_ATTR_OPERATIONGRAPH_OPSFailed"); -returnstd::move(m_operationGraph); -} -status=cudnnBackendSetAttribute(m_operationGraph.pointer->get_backend_descriptor(), -CUDNN_ATTR_OPERATIONGRAPH_HANDLE, -CUDNN_TYPE_HANDLE, -1, -&m_operationGraph.handle); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operationGraph, -status, -"CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR:SetAttributeCUDNN_ATTR_OPERATIONGRAPH_HANDLEFailed"); -returnstd::move(m_operationGraph); -} - -//Finalizingthedescriptor -status=cudnnBackendFinalize(m_operationGraph.pointer->get_backend_descriptor()); -if(status!=CUDNN_STATUS_SUCCESS){ -set_error_and_throw_exception( -&m_operationGraph,status,"CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR:cudnnFinalizeFailed"); -returnstd::move(m_operationGraph); -} - -returnstd::move(m_operationGraph); -} - -explicitOperationGraphBuilder_v8()=default; -~OperationGraphBuilder_v8()=default; -OperationGraphBuilder_v8(OperationGraphBuilder_v8&&)=delete; -OperationGraphBuilder_v8(OperationGraphBuilder_v8const&)=delete; -OperationGraphBuilder_v8& -operator=(OperationGraphBuilder_v8const&)=delete; - -private: -OperationGraph_v8m_operationGraph; -}; -} +std::array<cudnnBackendDescriptor_t,10>ops_raw{nullptr}; +for(autoi=0u;i<m_operationGraph.numOps;i++){ +ops_raw[i]=m_operationGraph.ops[i]->get_backend_descriptor(); +} + +status=cudnnBackendSetAttribute(m_operationGraph.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATIONGRAPH_OPS, +CUDNN_TYPE_BACKEND_DESCRIPTOR, +m_operationGraph.numOps, +ops_raw.data()); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operationGraph, +status, +"CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR:SetAttributeCUDNN_ATTR_OPERATIONGRAPH_OPSFailed"); +returnstd::move(m_operationGraph); +} +status=cudnnBackendSetAttribute(m_operationGraph.pointer->get_backend_descriptor(), +CUDNN_ATTR_OPERATIONGRAPH_HANDLE, +CUDNN_TYPE_HANDLE, +1, +&m_operationGraph.handle); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operationGraph, +status, +"CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR:SetAttributeCUDNN_ATTR_OPERATIONGRAPH_HANDLEFailed"); +returnstd::move(m_operationGraph); +} + +//Finalizingthedescriptor +status=cudnnBackendFinalize(m_operationGraph.pointer->get_backend_descriptor()); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_operationGraph,status,"CUDNN_BACKEND_OPERATIONGRAPH_DESCRIPTOR:cudnnFinalizeFailed"); +returnstd::move(m_operationGraph); +} + +returnstd::move(m_operationGraph); +} + +explicitOperationGraphBuilder_v8()=default; +~OperationGraphBuilder_v8()=default; +OperationGraphBuilder_v8(OperationGraphBuilder_v8&&)=delete; +OperationGraphBuilder_v8(OperationGraphBuilder_v8const&)=delete; +OperationGraphBuilder_v8& +operator=(OperationGraphBuilder_v8const&)=delete; + +private: +OperationGraph_v8m_operationGraph; +}; +} diff --git a/docs/xml/db/d7e/cudnn__frontend__Errata_8h.xml b/docs/xml/db/d7e/cudnn__frontend__Errata_8h.xml new file mode 100644 index 00000000..70647975 --- /dev/null +++ b/docs/xml/db/d7e/cudnn__frontend__Errata_8h.xml @@ -0,0 +1,341 @@ + + + + cudnn_frontend_Errata.h + contrib/nlohmann/json/json.hpp + cstdlib + fstream + cudnn_frontend.h + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cudnn_frontend + + + nlohmann::json + using json = nlohmann::json + + json + + + + + + + + + + + + + + + +/* +*Copyright(c)2021,NVIDIACORPORATION.Allrightsreserved. +* +*Permissionisherebygranted,freeofcharge,toanypersonobtaininga +*copyofthissoftwareandassociateddocumentationfiles(the"Software"), +*todealintheSoftwarewithoutrestriction,includingwithoutlimitation +*therightstouse,copy,modify,merge,publish,distribute,sublicense, +*and/orsellcopiesoftheSoftware,andtopermitpersonstowhomthe +*Softwareisfurnishedtodoso,subjecttothefollowingconditions: +* +*Theabovecopyrightnoticeandthispermissionnoticeshallbeincludedin +*allcopiesorsubstantialportionsoftheSoftware. +* +*THESOFTWAREISPROVIDED"ASIS",WITHOUTWARRANTYOFANYKIND,EXPRESSOR +*IMPLIED,INCLUDINGBUTNOTLIMITEDTOTHEWARRANTIESOFMERCHANTABILITY, +*FITNESSFORAPARTICULARPURPOSEANDNONINFRINGEMENT.INNOEVENTSHALL +*THEAUTHORSORCOPYRIGHTHOLDERSBELIABLEFORANYCLAIM,DAMAGESOROTHER +*LIABILITY,WHETHERINANACTIONOFCONTRACT,TORTOROTHERWISE,ARISING +*FROM,OUTOFORINCONNECTIONWITHTHESOFTWAREORTHEUSEOROTHER +*DEALINGSINTHESOFTWARE. +*/ + +#include"contrib/nlohmann/json/json.hpp" + +#include<cstdlib> +#include<fstream> +#pragmaonce + +usingjson=nlohmann::json; + +namespacecudnn_frontend{ + +//Loadsthejsonhandlefromthejsonfile +//jsonfileisdefinedbyenvironmentvariable +//CUDNN_ERRATA_JSON_FILE.Iftheenvironmentvariable +//isnotsetthevaluesetintheAPIisconsidered. +staticvoid +load_from_config(json&json_handle,conststd::string&errata_json){ +constchar*err_json=std::getenv("CUDNN_ERRATA_JSON_FILE"); +if(err_json==NULL&&errata_json==""){return;} +if(err_json==NULL){err_json=errata_json.c_str();} +std::ifstreamifs(err_json,std::ifstream::in); +if(!ifs.is_open()||!ifs.good()){return;} +ifs>>json_handle; +return; +} + +template<typenameT> +staticbool +check_rule(constjson&json_handle,conststd::string&executionPlanTag, +cudnnHandle_thandle,Tfn){ +std::stringoperation=json_handle["operation"]; +std::stringengine=json_handle["engine"]; +uint64_tcudnn_start=0; +uint64_tcudnn_end=-1; +if(json_handle.contains("cudnn_version_start")){ +cudnn_start=json_handle["cudnn_version_start"]; +} +if(json_handle.contains("cudnn_version_end")){ +cudnn_end=json_handle["cudnn_version_end"]; +} +std::stringtag_prefix=operation+"_"+engine; +boolblocked= +std::equal(tag_prefix.begin(),tag_prefix.end(),executionPlanTag.begin())&& +CUDNN_VERSION>=cudnn_start&& +CUDNN_VERSION<cudnn_end; + +if(blocked&&json_handle.contains("knob")){//Shortcircuitifoperationandenginedonotmatch +for(auto&kv:json_handle["knob"]){ +blocked=blocked&& +(executionPlanTag.find(kv)!=std::string::npos); +} +} + +blocked=blocked&&fn(); +returnblocked; + +(void)handle; +} + +//Takesinaninitialzedjsonhandleandchecksifitsatisfiesthe +//conditionforrunningit.ReturnstrueifthegivenexecutionPlanTag +//isfaulty. +template<typenameT> +staticbool +check_errata(constjson&json_handle,conststd::string&executionPlanTag, +cudnnHandle_thandle,Tfn){ + +for(autoconst&rule:json_handle["rules"]){ +if(check_rule<T>(rule,executionPlanTag,handle,fn)){ +returntrue; +} +} + +returnfalse; +} + +} + + + + diff --git a/docs/xml/db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.xml b/docs/xml/db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.xml index 28fdcfca..64db36b3 100644 --- a/docs/xml/db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.xml +++ b/docs/xml/db/d99/classcudnn__frontend_1_1EngineFallbackList__v8.xml @@ -16,8 +16,8 @@ - - cudnn_frontend::EngineFallbackListBuilder_v8::build + + cudnn_frontend::EngineFallbackListBuilder_v8::build
                                                                                                @@ -33,7 +33,7 @@ - + cudnnBackendDescriptorType_t @@ -46,8 +46,21 @@ - - cudnn_frontend::EngineFallbackListBuilder_v8::setOperation + + cudnn_frontend::EngineFallbackListBuilder_v8::setOperation + + + uint64_t + uint64_t cudnn_frontend::EngineFallbackList_v8::num_ops + + num_ops + + + + + + + std::vector< ManagedOpaqueDescriptor > @@ -60,9 +73,9 @@ - - EngineFallbackList_v8 - getFallbackList + + EngineFallbackList_v8 + getFallbackList std::string @@ -75,7 +88,7 @@ - + @@ -91,7 +104,7 @@ - + auto @@ -104,8 +117,8 @@ - - m_engine_configs + + m_engine_configs ~EngineFallbackList_v8 @@ -119,8 +132,8 @@ - - getFallbackList + + getFallbackList @@ -137,9 +150,9 @@ - + EngineFallbackList_v8 - m_engine_configs + m_engine_configs operator= @@ -155,8 +168,8 @@ - - EngineFallbackList_v8 + + EngineFallbackList_v8 @@ -172,7 +185,7 @@ - + EngineFallbackList_v8 & @@ -188,9 +201,9 @@ - - cudnn_frontend::EngineFallbackListBuilder_v8::build - EngineFallbackList_v8 + + cudnn_frontend::EngineFallbackListBuilder_v8::build + EngineFallbackList_v8 @@ -198,89 +211,95 @@ - + - + - + - + - + - + - + +elements - + - + - + -m_engine_configs - + + -num_ops + + -opGraphTag - + -opGraph - + -mode - + + + + - + - + +elements - + < ManagedOpaqueDescriptor > - + - + - + - + - + #err_msg - + #pointer - + #status - + - + - + cudnn_frontend::EngineFallbackList_v8BackendDescriptor cudnn_frontend::EngineFallbackList_v8BackendDescriptor @@ -298,6 +317,7 @@ cudnn_frontend::EngineFallbackList_v8initialize_managed_backend_pointer cudnn_frontend::EngineFallbackList_v8m_engine_configs cudnn_frontend::EngineFallbackList_v8mode + cudnn_frontend::EngineFallbackList_v8num_ops cudnn_frontend::EngineFallbackList_v8operator= cudnn_frontend::EngineFallbackList_v8opGraph cudnn_frontend::EngineFallbackList_v8opGraphTag diff --git a/docs/xml/db/da7/cudnn__frontend__ReductionDesc_8h.xml b/docs/xml/db/da7/cudnn__frontend__ReductionDesc_8h.xml new file mode 100644 index 00000000..e33a7bb2 --- /dev/null +++ b/docs/xml/db/da7/cudnn__frontend__ReductionDesc_8h.xml @@ -0,0 +1,308 @@ + + + + cudnn_frontend_ReductionDesc.h + algorithm + array + functional + memory + sstream + utility + cudnn.h + cudnn_backend.h + cudnn_frontend_utils.h + cudnn_frontend_Operation.h + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cudnn_frontend::ReductionDesc_v8 + cudnn_frontend::ReductionDescBuilder_v8 + cudnn_frontend + + + + + +/* +*Copyright(c)2021,NVIDIACORPORATION.Allrightsreserved. +* +*Permissionisherebygranted,freeofcharge,toanypersonobtaininga +*copyofthissoftwareandassociateddocumentationfiles(the"Software"), +*todealintheSoftwarewithoutrestriction,includingwithoutlimitation +*therightstouse,copy,modify,merge,publish,distribute,sublicense, +*and/orsellcopiesoftheSoftware,andtopermitpersonstowhomthe +*Softwareisfurnishedtodoso,subjecttothefollowingconditions: +* +*Theabovecopyrightnoticeandthispermissionnoticeshallbeincludedin +*allcopiesorsubstantialportionsoftheSoftware. +* +*THESOFTWAREISPROVIDED"ASIS",WITHOUTWARRANTYOFANYKIND,EXPRESSOR +*IMPLIED,INCLUDINGBUTNOTLIMITEDTOTHEWARRANTIESOFMERCHANTABILITY, +*FITNESSFORAPARTICULARPURPOSEANDNONINFRINGEMENT.INNOEVENTSHALL +*THEAUTHORSORCOPYRIGHTHOLDERSBELIABLEFORANYCLAIM,DAMAGESOROTHER +*LIABILITY,WHETHERINANACTIONOFCONTRACT,TORTOROTHERWISE,ARISING +*FROM,OUTOFORINCONNECTIONWITHTHESOFTWAREORTHEUSEOROTHER +*DEALINGSINTHESOFTWARE. +*/ + +#pragmaonce + +#include<algorithm> +#include<array> +#include<functional> +#include<memory> +#include<sstream> +#include<utility> + +#include<cudnn.h> +#include<cudnn_backend.h> + +#include"cudnn_frontend_utils.h" + +namespacecudnn_frontend{ +classReductionDesc_v8:publicBackendDescriptor{ +public: +friendclassReductionDescBuilder_v8; +std::string +describe()constoverride{ +std::stringstreamss; +ss<<"CUDNN_BACKEND_REDUCTION_DESCRIPTOR:" +<<"Mathprecision"<<(math_precision)<<"Reductionoperator"<<(reduction_op); +returnss.str(); +} + +ReductionDesc_v8(ReductionDesc_v8&&from) +:BackendDescriptor(from.get_desc(),from.get_status(),from.get_error()), +math_precision(from.math_precision), +reduction_op(from.reduction_op){} + +~ReductionDesc_v8()=default; + +private: +ReductionDesc_v8()=default; +ReductionDesc_v8(ReductionDesc_v8const&)=delete; +ReductionDesc_v8& +operator=(ReductionDesc_v8const&)=delete; + +cudnnDataType_tmath_precision=CUDNN_DATA_FLOAT; +cudnnReduceTensorOp_treduction_op=CUDNN_REDUCE_TENSOR_ADD; +}; + +classReductionDescBuilder_v8{ +public: +auto +setMathPrecision(cudnnDataType_tdata_type_)->ReductionDescBuilder_v8&{ +m_reductionDesc.math_precision=data_type_; +return*this; +} +auto +setReductionOp(cudnnReduceTensorOp_top_)->ReductionDescBuilder_v8&{ +m_reductionDesc.reduction_op=op_; +return*this; +} +ReductionDesc_v8&& +build(){ +//Createadescriptor.Memoryallocationhappenshere. +autostatus=m_reductionDesc.initialize_managed_backend_pointer(CUDNN_BACKEND_REDUCTION_DESCRIPTOR); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_reductionDesc,status,"CUDNN_BACKEND_REDUCTION_DESCRIPTOR:cudnnCreateFailed"); +returnstd::move(m_reductionDesc); +} + +//OnceCreatedletssetthedescriptorparameters. +status=cudnnBackendSetAttribute(m_reductionDesc.pointer->get_backend_descriptor(), +CUDNN_ATTR_REDUCTION_COMP_TYPE, +CUDNN_TYPE_DATA_TYPE, +1, +&m_reductionDesc.math_precision); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_reductionDesc, +status, +"CUDNN_BACKEND_REDUCTION_DESCRIPTOR:SetAttributeCUDNN_ATTR_REDUCTION_COMP_TYPEFailed"); +returnstd::move(m_reductionDesc); +} + +status=cudnnBackendSetAttribute(m_reductionDesc.pointer->get_backend_descriptor(), +CUDNN_ATTR_REDUCTION_OPERATOR, +CUDNN_TYPE_REDUCTION_OPERATOR_TYPE, +1, +&m_reductionDesc.reduction_op); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_reductionDesc, +status, +"CUDNN_BACKEND_REDUCTION_DESCRIPTOR:SetAttributeCUDNN_ATTR_REDUCTION_OPERATORFailed"); +returnstd::move(m_reductionDesc); +} + +//Finalizingthedescriptor +status=cudnnBackendFinalize(m_reductionDesc.pointer->get_backend_descriptor()); +if(status!=CUDNN_STATUS_SUCCESS){ +set_error_and_throw_exception( +&m_reductionDesc,status,"CUDNN_BACKEND_REDUCTION_DESCRIPTOR:cudnnFinalizeFailed"); +returnstd::move(m_reductionDesc); +} + +returnstd::move(m_reductionDesc); +} + +explicitReductionDescBuilder_v8()=default; +~ReductionDescBuilder_v8()=default; +ReductionDescBuilder_v8(ReductionDescBuilder_v8&&)=delete; +ReductionDescBuilder_v8(ReductionDescBuilder_v8const&)=delete; +ReductionDescBuilder_v8& +operator=(ReductionDescBuilder_v8const&)=delete; + +private: +ReductionDesc_v8m_reductionDesc; +}; +} + + + + diff --git a/docs/xml/db/dae/classcudnn__frontend_1_1TensorBuilder__v8.xml b/docs/xml/db/dae/classcudnn__frontend_1_1TensorBuilder__v8.xml index 7106820f..5cdcb659 100644 --- a/docs/xml/db/dae/classcudnn__frontend_1_1TensorBuilder__v8.xml +++ b/docs/xml/db/dae/classcudnn__frontend_1_1TensorBuilder__v8.xml @@ -227,66 +227,66 @@ TensorBuilder_v8 Class Helper class used to build Tensor_v8 class - + - + - + -m_tensor - + - + - + - + - + - + - + - + -btensor_dimA -nDims -id -alignment -btensor_strA - + -isVirtual - + -data_type - + - + #err_msg - + #pointer - + #status - + - + diff --git a/docs/xml/db/dda/classnlohmann_1_1detail_1_1iteration__proxy.xml b/docs/xml/db/dda/classnlohmann_1_1detail_1_1iteration__proxy.xml new file mode 100644 index 00000000..3cb2df3d --- /dev/null +++ b/docs/xml/db/dda/classnlohmann_1_1detail_1_1iteration__proxy.xml @@ -0,0 +1,97 @@ + + + + nlohmann::detail::iteration_proxy + json.hpp + + + typename + IteratorType + IteratorType + + + + + IteratorType::reference + IteratorType::reference nlohmann::detail::iteration_proxy< IteratorType >::container + + container + +the container to iterate + + + + + + + + + + + nlohmann::detail::iteration_proxy< IteratorType >::iteration_proxy + (typename IteratorType::reference cont) noexcept + iteration_proxy + + typename IteratorType::reference + cont + + +construct iteration proxy from a container + + + + + + + + iteration_proxy_value< IteratorType > + iteration_proxy_value<IteratorType> nlohmann::detail::iteration_proxy< IteratorType >::begin + () noexcept + begin + +return iterator begin (needed for range-based for) + + + + + + + + iteration_proxy_value< IteratorType > + iteration_proxy_value<IteratorType> nlohmann::detail::iteration_proxy< IteratorType >::end + () noexcept + end + +return iterator end (needed for range-based for) + + + + + + + + +proxy class for the items() function + + + + + + + + -container + + + + + + + + + nlohmann::detail::iteration_proxybegin + nlohmann::detail::iteration_proxycontainer + nlohmann::detail::iteration_proxyend + nlohmann::detail::iteration_proxyiteration_proxy + + + diff --git a/docs/xml/db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.xml b/docs/xml/db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.xml index 25445e5a..e87bc415 100644 --- a/docs/xml/db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.xml +++ b/docs/xml/db/ddb/classcudnn__frontend_1_1EngineHeuristics__v8.xml @@ -226,85 +226,85 @@ heuristic modeoperation graph Use EngineHeuristicsBuilder_v8 to build this class. Describe returns a string describing the EngineHeuristics_v8 class - + - + - + - + - + - + - + +elements - + - + - + +elements - + < ManagedOpaqueDescriptor > - + - + - + - + -m_heuristic_results - + -mode - + -opGraphTag - + -opGraph - + - + - + #err_msg - + #pointer - + #status - + - + - + diff --git a/docs/xml/db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.xml b/docs/xml/db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.xml index fb776c13..0e86ddf3 100644 --- a/docs/xml/db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.xml +++ b/docs/xml/db/de1/classcudnn__frontend_1_1ConvDescBuilder__v8.xml @@ -252,66 +252,66 @@ ConvDescBuilder_v8 Class Helper class used to build ConvDesc_v8 class - + - + - + - + - + -padUpper -nDims -stride -dilation -padLower - + -mode - + -data_type - + - + - + - + - + -m_convDesc - + - + - + #err_msg - + #pointer - + #status - + - + diff --git a/docs/xml/db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.xml b/docs/xml/db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.xml new file mode 100644 index 00000000..d2225557 --- /dev/null +++ b/docs/xml/db/df0/classnlohmann_1_1detail_1_1input__stream__adapter.xml @@ -0,0 +1,213 @@ + + + + nlohmann::detail::input_stream_adapter + json.hpp + + + char + using nlohmann::detail::input_stream_adapter::char_type = char + + char_type + + + + + + + + + + + + std::istream * + std::istream* nlohmann::detail::input_stream_adapter::is + + is + = nullptr + +the associated input stream + + + + + + + + std::streambuf * + std::streambuf* nlohmann::detail::input_stream_adapter::sb + + sb + = nullptr + + + + + + + + + + + + + nlohmann::detail::input_stream_adapter::~input_stream_adapter + () + ~input_stream_adapter + + + + + + + + + + + nlohmann::detail::input_stream_adapter::input_stream_adapter + (std::istream &i) + input_stream_adapter + + std::istream & + i + + + + + + + + + + + + nlohmann::detail::input_stream_adapter::input_stream_adapter + (const input_stream_adapter &)=delete + input_stream_adapter + + const input_stream_adapter & + + + + + + + + + + + input_stream_adapter & + input_stream_adapter& nlohmann::detail::input_stream_adapter::operator= + (input_stream_adapter &)=delete + operator= + + input_stream_adapter & + + + + + + + + + + + input_stream_adapter & + input_stream_adapter& nlohmann::detail::input_stream_adapter::operator= + (input_stream_adapter &&)=delete + operator= + + input_stream_adapter && + + + + + + + + + + + + nlohmann::detail::input_stream_adapter::input_stream_adapter + (input_stream_adapter &&rhs) noexcept + input_stream_adapter + + input_stream_adapter && + rhs + + + + + + + + + + + std::char_traits< char >::int_type + std::char_traits<char>::int_type nlohmann::detail::input_stream_adapter::get_character + () + get_character + + + + + + + + JSON_HEDLEY_UNLIKELY + + + + + +Input adapter for a (caching) istream. Ignores a UFT Byte Order Mark at beginning of input. Does not support changing the underlying std::streambuf in mid-input. Maintains underlying std::istream and std::streambuf to support subsequent use of standard std::istream operations to process any input characters following those used in parsing the JSON input. Clears the std::istream flags; any input errors (e.g., EOF) will be detected by the first subsequent call for input from the std::istream. + + + + + + + + + + + + + + + + + + + -is + + + -sb + + + + + + + + + + + + + + nlohmann::detail::input_stream_adapterchar_type + nlohmann::detail::input_stream_adapterget_character + nlohmann::detail::input_stream_adapterinput_stream_adapter + nlohmann::detail::input_stream_adapterinput_stream_adapter + nlohmann::detail::input_stream_adapterinput_stream_adapter + nlohmann::detail::input_stream_adapteris + nlohmann::detail::input_stream_adapteroperator= + nlohmann::detail::input_stream_adapteroperator= + nlohmann::detail::input_stream_adaptersb + nlohmann::detail::input_stream_adapter~input_stream_adapter + + + diff --git a/docs/xml/dc/d01/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.xml b/docs/xml/dc/d01/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.xml new file mode 100644 index 00000000..2a5de11b --- /dev/null +++ b/docs/xml/dc/d01/structnlohmann_1_1detail_1_1is__constructible_3_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.xml @@ -0,0 +1,92 @@ + + + + nlohmann::detail::is_constructible< std::tuple< Ts... > > + nlohmann::detail::is_default_constructible< std::tuple< Ts... > > + json.hpp + + + typename... + Ts + Ts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < is_default_constructible< Ts >... > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < is_default_constructible< Ts >... > + + + + + + + + + + + + + + diff --git a/docs/xml/dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.xml b/docs/xml/dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.xml index 45caedec..2f40bf30 100644 --- a/docs/xml/dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.xml +++ b/docs/xml/dc/d02/classcudnn__frontend_1_1Engine__v8_1_1Knob.xml @@ -229,19 +229,19 @@ Internal class which controls the different knobs for a given engine Has min-max and stride as the options. User has the option to set the required value as a choice. - + - + - + - + -knobType - + -minValue -maxValue -stride diff --git a/docs/xml/dc/d11/cudnn__backend__base_8h.xml b/docs/xml/dc/d11/cudnn__backend__base_8h.xml index fe2967d7..b2c0f46a 100644 --- a/docs/xml/dc/d11/cudnn__backend__base_8h.xml +++ b/docs/xml/dc/d11/cudnn__backend__base_8h.xml @@ -82,7 +82,7 @@ - + @@ -106,7 +106,7 @@ - + @@ -129,6 +129,8 @@ + + @@ -141,7 +143,13 @@ - + + + + + + + @@ -201,7 +209,7 @@ operator=(constOpaqueBackendPointer&)=delete; OpaqueBackendPointer(OpaqueBackendPointer&&)=default; -OpaqueBackendPointer(cudnnBackendDescriptorType_ttype){status=cudnnBackendCreateDescriptor(type,&m_desc);} +OpaqueBackendPointer(cudnnBackendDescriptorType_ttype){status=cudnnBackendCreateDescriptor(type,&m_desc);} ~OpaqueBackendPointer(){cudnnBackendDestroyDescriptor(m_desc);}; cudnnBackendDescriptor_tconst& get_backend_descriptor()const{ @@ -220,7 +228,7 @@ usingManagedOpaqueDescriptor=std::shared_ptr<OpaqueBackendPointer>; staticManagedOpaqueDescriptor -make_shared_backend_pointer(cudnnBackendDescriptorType_ttype){ +make_shared_backend_pointer(cudnnBackendDescriptorType_ttype){ returnstd::make_shared<OpaqueBackendPointer>(type); } @@ -260,7 +268,7 @@ } cudnnStatus_t -initialize_managed_backend_pointer(cudnnBackendDescriptorType_ttype){ +initialize_managed_backend_pointer(cudnnBackendDescriptorType_ttype){ pointer=make_shared_backend_pointer(type); returnpointer->get_status(); } diff --git a/docs/xml/dc/d11/structnlohmann_1_1detail_1_1is__constructible__object__type.xml b/docs/xml/dc/d11/structnlohmann_1_1detail_1_1is__constructible__object__type.xml new file mode 100644 index 00000000..346238f4 --- /dev/null +++ b/docs/xml/dc/d11/structnlohmann_1_1detail_1_1is__constructible__object__type.xml @@ -0,0 +1,75 @@ + + + + nlohmann::detail::is_constructible_object_type + nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType > + json.hpp + + + typename BasicJsonType + + + typename ConstructibleObjectType + + + + + + + + + + + + + + + + + < BasicJsonType, ConstructibleObjectType > + + + + + + + + + + + + + + + + + + + + + + + + + + < BasicJsonType, ConstructibleObjectType > + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/dc/d3c/classcudnn__frontend_1_1Engine__v8.xml b/docs/xml/dc/d3c/classcudnn__frontend_1_1Engine__v8.xml index f4003ee6..81ff567a 100644 --- a/docs/xml/dc/d3c/classcudnn__frontend_1_1Engine__v8.xml +++ b/docs/xml/dc/d3c/classcudnn__frontend_1_1Engine__v8.xml @@ -284,120 +284,120 @@ IndexOperationGraph_v8 Use EngineBuilder_v8 to build this class. Describe returns a string describing the tensor class - + - + - + - + - + +elements - + < cudnn_frontend::Engine_v8::Knob > - + - + - + - + +elements - + - + +elements - + - + +elements - + < ManagedOpaqueDescriptor, CUDNN_KNOB_TYPE_COUNTS > - + - + - + - + - + - + - + - + -bKnobs - + -idx -numKnobs - + -opGraphTag - + -opGraph - + -knobs - + - + #err_msg - + #pointer - + #status - + - + -knobType - + -minValue -maxValue -stride -choice - + - + diff --git a/docs/xml/dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.xml b/docs/xml/dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.xml new file mode 100644 index 00000000..3f938a3c --- /dev/null +++ b/docs/xml/dc/d41/namespacenlohmann_1_1detail_1_1dtoa__impl.xml @@ -0,0 +1,379 @@ + + + + nlohmann::detail::dtoa_impl + nlohmann::detail::dtoa_impl::boundaries + nlohmann::detail::dtoa_impl::cached_power + nlohmann::detail::dtoa_impl::diyfp + + + constexpr int + constexpr int nlohmann::detail::dtoa_impl::kAlpha + + kAlpha + = -60 + + + + + + + + + + constexpr int + constexpr int nlohmann::detail::dtoa_impl::kGamma + + kGamma + = -32 + + + + + + + + + + + + + + typename Target + + + typename Source + + + Target + Target nlohmann::detail::dtoa_impl::reinterpret_bits + (const Source source) + reinterpret_bits + + const Source + source + + + + + + + + + + + + + typename FloatType + + + boundaries + boundaries nlohmann::detail::dtoa_impl::compute_boundaries + (FloatType value) + compute_boundaries + + FloatType + value + + + + +Compute the (normalized) diyfp representing the input number 'value' and its boundaries.value must be finite and positive + + + + + nlohmann::detail::dtoa_impl::diyfp::e + nlohmann::detail::dtoa_impl::diyfp::f + JSON_ASSERT + nlohmann::detail::value + grisu2 + + + cached_power + cached_power nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent + (int e) + get_cached_power_for_binary_exponent + + int + e + + + + +For a normalized diyfp w = f * 2^e, this function returns a (normalized) cached power-of-ten c = f_c * 2^e_c, such that the exponent of the product w * c satisfies (Definition 3.2 from [1]) alpha <= e_c + e + q <= gamma. + + + + JSON_ASSERT + grisu2 + + + int + int nlohmann::detail::dtoa_impl::find_largest_pow10 + (const std::uint32_t n, std::uint32_t &pow10) + find_largest_pow10 + + const std::uint32_t + n + + + std::uint32_t & + pow10 + + + + +For n != 0, returns k, such that pow10 := 10^(k-1) <= n < 10^k. For n == 0, returns 1 and sets pow10 := 1. + + + + grisu2_digit_gen + + + void + void nlohmann::detail::dtoa_impl::grisu2_round + (char *buf, int len, std::uint64_t dist, std::uint64_t delta, std::uint64_t rest, std::uint64_t ten_k) + grisu2_round + + char * + buf + + + int + len + + + std::uint64_t + dist + + + std::uint64_t + delta + + + std::uint64_t + rest + + + std::uint64_t + ten_k + + + + + + + + + JSON_ASSERT + grisu2_digit_gen + + + void + void nlohmann::detail::dtoa_impl::grisu2_digit_gen + (char *buffer, int &length, int &decimal_exponent, diyfp M_minus, diyfp w, diyfp M_plus) + grisu2_digit_gen + + char * + buffer + + + int & + length + + + int & + decimal_exponent + + + diyfp + M_minus + + + diyfp + w + + + diyfp + M_plus + + + + +Generates V = buffer * 10^decimal_exponent, such that M- <= V <= M+. M- and M+ must be normalized and share the same exponent -60 <= e <= -32. + + + + nlohmann::detail::dtoa_impl::diyfp::e + nlohmann::detail::dtoa_impl::diyfp::f + find_largest_pow10 + grisu2_round + JSON_ASSERT + JSON_HEDLEY_NON_NULL + grisu2 + + + void + void nlohmann::detail::dtoa_impl::grisu2 + (char *buf, int &len, int &decimal_exponent, diyfp m_minus, diyfp v, diyfp m_plus) + grisu2 + + char * + buf + + + int & + len + + + int & + decimal_exponent + + + diyfp + m_minus + + + diyfp + v + + + diyfp + m_plus + + + + +v = buf * 10^decimal_exponent len is the length of the buffer (number of decimal digits) The buffer must be large enough, i.e. >= max_digits10. + + + + nlohmann::detail::dtoa_impl::diyfp::e + nlohmann::detail::dtoa_impl::cached_power::e + nlohmann::detail::dtoa_impl::diyfp::f + nlohmann::detail::dtoa_impl::cached_power::f + get_cached_power_for_binary_exponent + grisu2_digit_gen + JSON_ASSERT + JSON_HEDLEY_NON_NULL + nlohmann::detail::dtoa_impl::cached_power::k + nlohmann::detail::to_chars + + + + + typename FloatType + + + void + void nlohmann::detail::dtoa_impl::grisu2 + (char *buf, int &len, int &decimal_exponent, FloatType value) + grisu2 + + char * + buf + + + int & + len + + + int & + decimal_exponent + + + FloatType + value + + + + +v = buf * 10^decimal_exponent len is the length of the buffer (number of decimal digits) The buffer must be large enough, i.e. >= max_digits10. + + + + compute_boundaries + JSON_ASSERT + JSON_HEDLEY_NON_NULL + JSON_HEDLEY_RETURNS_NON_NULL + nlohmann::detail::dtoa_impl::boundaries::minus + nlohmann::detail::dtoa_impl::boundaries::plus + nlohmann::detail::dtoa_impl::boundaries::w + + + JSON_HEDLEY_RETURNS_NON_NULL char * + JSON_HEDLEY_RETURNS_NON_NULL char* nlohmann::detail::dtoa_impl::append_exponent + (char *buf, int e) + append_exponent + + char * + buf + + + int + e + + +appends a decimal representation of e to buf + +a pointer to the element following the exponent. +-1000 < e < 1000 + + + + + JSON_ASSERT + JSON_HEDLEY_NON_NULL + JSON_HEDLEY_RETURNS_NON_NULL + format_buffer + + + JSON_HEDLEY_RETURNS_NON_NULL char * + JSON_HEDLEY_RETURNS_NON_NULL char* nlohmann::detail::dtoa_impl::format_buffer + (char *buf, int len, int decimal_exponent, int min_exp, int max_exp) + format_buffer + + char * + buf + + + int + len + + + int + decimal_exponent + + + int + min_exp + + + int + max_exp + + +prettify v = buf * 10^decimal_exponent + +If v is in the range [10^min_exp, 10^max_exp) it will be printed in fixed-point notation. Otherwise it will be printed in exponential notation.min_exp < 0 +max_exp > 0 + + + + + append_exponent + JSON_ASSERT + JSON_HEDLEY_NON_NULL + JSON_HEDLEY_RETURNS_NON_NULL + nlohmann::detail::to_chars + + + +implements the Grisu2 algorithm for binary to decimal floating-point conversion. + +This implementation is a slightly modified version of the reference implementation which may be obtained from http://florian.loitsch.com/publications (bench.tar.gz).The code is distributed under the MIT license, Copyright (c) 2009 Florian Loitsch.For a detailed description of the algorithm see:[1] Loitsch, "Printing Floating-Point Numbers Quickly and Accurately with + Integers", Proceedings of the ACM SIGPLAN 2010 Conference on Programming Language Design and Implementation, PLDI 2010 [2] Burger, Dybvig, "Printing Floating-Point Numbers Quickly and Accurately", Proceedings of the ACM SIGPLAN 1996 Conference on Programming Language Design and Implementation, PLDI 1996 + + + diff --git a/docs/xml/dc/d4b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.xml b/docs/xml/dc/d4b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.xml new file mode 100644 index 00000000..ae0b5a3e --- /dev/null +++ b/docs/xml/dc/d4b/structnlohmann_1_1detail_1_1is__compatible__array__type__impl.xml @@ -0,0 +1,66 @@ + + + + nlohmann::detail::is_compatible_array_type_impl + false_type + json.hpp + + + typename + BasicJsonType + BasicJsonType + + + typename + CompatibleArrayType + CompatibleArrayType + + + typename + void + + + + + + + + + + + + + + + + + + + + + + + + + + + < BasicJsonType, CompatibleArrayType > + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.xml b/docs/xml/dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.xml new file mode 100644 index 00000000..c041fb19 --- /dev/null +++ b/docs/xml/dc/d68/classnlohmann_1_1detail_1_1json__sax__dom__parser.xml @@ -0,0 +1,635 @@ + + + + nlohmann::detail::json_sax_dom_parser + json.hpp + + + typename + BasicJsonType + BasicJsonType + + + + + typename BasicJsonType::number_integer_t + using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t + + number_integer_t + + + + + + + + + + typename BasicJsonType::number_unsigned_t + using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t + + number_unsigned_t + + + + + + + + + + typename BasicJsonType::number_float_t + using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t + + number_float_t + + + + + + + + + + typename BasicJsonType::string_t + using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::string_t = typename BasicJsonType::string_t + + string_t + + + + + + + + + + typename BasicJsonType::binary_t + using nlohmann::detail::json_sax_dom_parser< BasicJsonType >::binary_t = typename BasicJsonType::binary_t + + binary_t + + + + + + + + + + + + BasicJsonType & + BasicJsonType& nlohmann::detail::json_sax_dom_parser< BasicJsonType >::root + + root + +the parsed JSON value + + + + + + + + std::vector< BasicJsonType * > + std::vector<BasicJsonType*> nlohmann::detail::json_sax_dom_parser< BasicJsonType >::ref_stack + + ref_stack + {} + +stack to model hierarchy of values + + + + + + + + BasicJsonType * + BasicJsonType* nlohmann::detail::json_sax_dom_parser< BasicJsonType >::object_element + + object_element + = nullptr + +helper to hold the reference for the next object element + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::errored + + errored + = false + +whether a syntax error occurred + + + + + + + + const bool + const bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::allow_exceptions + + allow_exceptions + = true + +whether to throw exceptions in case of errors + + + + + + + + + + + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::json_sax_dom_parser + (BasicJsonType &r, const bool allow_exceptions_=true) + json_sax_dom_parser + + BasicJsonType & + r + + + const bool + allow_exceptions_ + true + + + + + + +r + + +reference to a JSON value that is manipulated while parsing + + + +allow_exceptions_ + + +whether parse errors yield exceptions + + + + + + + + + + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::json_sax_dom_parser + (const json_sax_dom_parser &)=delete + json_sax_dom_parser + + const json_sax_dom_parser & + + + + + + + + + + + + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::json_sax_dom_parser + (json_sax_dom_parser &&)=default + json_sax_dom_parser + + json_sax_dom_parser && + + + + + + + + + + + json_sax_dom_parser & + json_sax_dom_parser& nlohmann::detail::json_sax_dom_parser< BasicJsonType >::operator= + (const json_sax_dom_parser &)=delete + operator= + + const json_sax_dom_parser & + + + + + + + + + + + json_sax_dom_parser & + json_sax_dom_parser& nlohmann::detail::json_sax_dom_parser< BasicJsonType >::operator= + (json_sax_dom_parser &&)=default + operator= + + json_sax_dom_parser && + + + + + + + + + + + + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::~json_sax_dom_parser + ()=default + ~json_sax_dom_parser + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::null + () + null + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::boolean + (bool val) + boolean + + bool + val + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_integer + (number_integer_t val) + number_integer + + number_integer_t + val + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_unsigned + (number_unsigned_t val) + number_unsigned + + number_unsigned_t + val + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::number_float + (number_float_t val, const string_t &) + number_float + + number_float_t + val + + + const string_t & + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::string + (string_t &val) + string + + string_t & + val + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::binary + (binary_t &val) + binary + + binary_t & + val + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_object + (std::size_t len) + start_object + + std::size_t + len + + + + + + + + + nlohmann::detail::out_of_range::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::to_string + + + bool + bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::key + (string_t &val) + key + + string_t & + val + + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::end_object + () + end_object + + + + + + + + + + bool + bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::start_array + (std::size_t len) + start_array + + std::size_t + len + + + + + + + + + nlohmann::detail::out_of_range::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::to_string + + + bool + bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::end_array + () + end_array + + + + + + + + + + + + class Exception + + + bool + bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::parse_error + (std::size_t, const std::string &, const Exception &ex) + parse_error + + std::size_t + + + const std::string & + + + const Exception & + ex + + + + + + + + + JSON_THROW + nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parse + + + constexpr bool + constexpr bool nlohmann::detail::json_sax_dom_parser< BasicJsonType >::is_errored + () const + is_errored + + + + + + + + JSON_HEDLEY_RETURNS_NON_NULL + nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parse + + + + + + + typename Value + + + JSON_HEDLEY_RETURNS_NON_NULL BasicJsonType * + JSON_HEDLEY_RETURNS_NON_NULL BasicJsonType* nlohmann::detail::json_sax_dom_parser< BasicJsonType >::handle_value + (Value &&v) + handle_value + + Value && + v + + + + +If the ref stack is empty, then the passed value will be the new root. +If the ref stack contains a value, then it is an array or an object to which we can add elements + + + + + JSON_ASSERT + + + +SAX implementation to create a JSON value from SAX events. + +This class implements the json_sax interface and processes the SAX events to create a JSON value which makes it basically a DOM parser. The structure or hierarchy of the JSON value is managed by the stack ref_stack which contains a pointer to the respective array or object for each recursion depth.After successful parsing, the value that is passed by reference to the constructor contains the parsed value. + +BasicJsonType + + +the JSON type + + + + + + + + + + + + + + + + + +elements + + + + + + +elements + + + < BasicJsonType *> + + + + + + + -root + + + -allow_exceptions + -errored + + + -object_element + + + -ref_stack + + + + + + + + + nlohmann::detail::json_sax_dom_parserallow_exceptions + nlohmann::detail::json_sax_dom_parserbinary + nlohmann::detail::json_sax_dom_parserbinary_t + nlohmann::detail::json_sax_dom_parserboolean + nlohmann::detail::json_sax_dom_parserend_array + nlohmann::detail::json_sax_dom_parserend_object + nlohmann::detail::json_sax_dom_parsererrored + nlohmann::detail::json_sax_dom_parserhandle_value + nlohmann::detail::json_sax_dom_parseris_errored + nlohmann::detail::json_sax_dom_parserjson_sax_dom_parser + nlohmann::detail::json_sax_dom_parserjson_sax_dom_parser + nlohmann::detail::json_sax_dom_parserjson_sax_dom_parser + nlohmann::detail::json_sax_dom_parserkey + nlohmann::detail::json_sax_dom_parsernull + nlohmann::detail::json_sax_dom_parsernumber_float + nlohmann::detail::json_sax_dom_parsernumber_float_t + nlohmann::detail::json_sax_dom_parsernumber_integer + nlohmann::detail::json_sax_dom_parsernumber_integer_t + nlohmann::detail::json_sax_dom_parsernumber_unsigned + nlohmann::detail::json_sax_dom_parsernumber_unsigned_t + nlohmann::detail::json_sax_dom_parserobject_element + nlohmann::detail::json_sax_dom_parseroperator= + nlohmann::detail::json_sax_dom_parseroperator= + nlohmann::detail::json_sax_dom_parserparse_error + nlohmann::detail::json_sax_dom_parserref_stack + nlohmann::detail::json_sax_dom_parserroot + nlohmann::detail::json_sax_dom_parserstart_array + nlohmann::detail::json_sax_dom_parserstart_object + nlohmann::detail::json_sax_dom_parserstring + nlohmann::detail::json_sax_dom_parserstring_t + nlohmann::detail::json_sax_dom_parser~json_sax_dom_parser + + + diff --git a/docs/xml/dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.xml b/docs/xml/dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.xml new file mode 100644 index 00000000..d8c146fc --- /dev/null +++ b/docs/xml/dc/d9b/structnlohmann_1_1detail_1_1output__adapter__protocol.xml @@ -0,0 +1,196 @@ + + + + nlohmann::detail::output_adapter_protocol + nlohmann::detail::output_stream_adapter< CharType > + nlohmann::detail::output_string_adapter< CharType, StringType > + nlohmann::detail::output_vector_adapter< CharType > + json.hpp + + + typename CharType + + + + + void + virtual void nlohmann::detail::output_adapter_protocol< CharType >::write_character + (CharType c)=0 + write_character + write_character + write_character + write_character + + CharType + c + + + + + + + + + + + void + virtual void nlohmann::detail::output_adapter_protocol< CharType >::write_characters + (const CharType *s, std::size_t length)=0 + write_characters + write_characters + write_characters + write_characters + + const CharType * + s + + + std::size_t + length + + + + + + + + + + + + virtual nlohmann::detail::output_adapter_protocol< CharType >::~output_adapter_protocol + ()=default + ~output_adapter_protocol + + + + + + + + + + + nlohmann::detail::output_adapter_protocol< CharType >::output_adapter_protocol + ()=default + output_adapter_protocol + + + + + + + + + + + nlohmann::detail::output_adapter_protocol< CharType >::output_adapter_protocol + (const output_adapter_protocol &)=default + output_adapter_protocol + + const output_adapter_protocol & + + + + + + + + + + + + nlohmann::detail::output_adapter_protocol< CharType >::output_adapter_protocol + (output_adapter_protocol &&) noexcept=default + output_adapter_protocol + + output_adapter_protocol && + + + + + + + + + + + output_adapter_protocol & + output_adapter_protocol& nlohmann::detail::output_adapter_protocol< CharType >::operator= + (const output_adapter_protocol &)=default + operator= + + const output_adapter_protocol & + + + + + + + + + + + output_adapter_protocol & + output_adapter_protocol& nlohmann::detail::output_adapter_protocol< CharType >::operator= + (output_adapter_protocol &&) noexcept=default + operator= + + output_adapter_protocol && + + + + + + + + + + + +abstract output adapter interface + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::output_adapter_protocoloperator= + nlohmann::detail::output_adapter_protocoloperator= + nlohmann::detail::output_adapter_protocoloutput_adapter_protocol + nlohmann::detail::output_adapter_protocoloutput_adapter_protocol + nlohmann::detail::output_adapter_protocoloutput_adapter_protocol + nlohmann::detail::output_adapter_protocolwrite_character + nlohmann::detail::output_adapter_protocolwrite_characters + nlohmann::detail::output_adapter_protocol~output_adapter_protocol + + + diff --git a/docs/xml/dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.xml b/docs/xml/dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.xml index 1ab7fd03..7d3218cd 100644 --- a/docs/xml/dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.xml +++ b/docs/xml/dc/da3/classcudnn__frontend_1_1EngineConfigGenerator.xml @@ -126,31 +126,31 @@ EngineConfigGenerator class Contains a vector of methods that generate a vector of backend descriptor that can be used to create a plan for the method. - + - + +elements - + < GeneratorSource > - + - + - + +elements - + - + - + -engine_config_generators diff --git a/docs/xml/dc/da5/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.xml b/docs/xml/dc/da5/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.xml new file mode 100644 index 00000000..95a20fc6 --- /dev/null +++ b/docs/xml/dc/da5/structnlohmann_1_1detail_1_1is__compatible__object__type__impl.xml @@ -0,0 +1,66 @@ + + + + nlohmann::detail::is_compatible_object_type_impl + false_type + json.hpp + + + typename + BasicJsonType + BasicJsonType + + + typename + CompatibleObjectType + CompatibleObjectType + + + typename + void + + + + + + + + + + + + < BasicJsonType, CompatibleObjectType > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.xml b/docs/xml/dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.xml new file mode 100644 index 00000000..7788d0d2 --- /dev/null +++ b/docs/xml/dc/dac/classstd_1_1tuple__element_3_01N_00_01_1_1nlohmann_1_1detail_1_1iteration__proxy__value_3_01IteratorType_01_4_01_4.xml @@ -0,0 +1,46 @@ + + + + std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > > + json.hpp + + + std::size_t + N + N + + + typename IteratorType + + + + + decltype(get< N >(std::declval< ::nlohmann::detail::iteration_proxy_value< IteratorType > >())) + using std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >::type = decltype( get<N>(std::declval < ::nlohmann::detail::iteration_proxy_value<IteratorType > > ())) + + type + + + + + + + + + + + + + + + + + + + + + + std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >type + + + diff --git a/docs/xml/dc/dac/structnlohmann_1_1detail_1_1has__from__json.xml b/docs/xml/dc/dac/structnlohmann_1_1detail_1_1has__from__json.xml new file mode 100644 index 00000000..55327e4c --- /dev/null +++ b/docs/xml/dc/dac/structnlohmann_1_1detail_1_1has__from__json.xml @@ -0,0 +1,49 @@ + + + + nlohmann::detail::has_from_json + false_type + json.hpp + + + typename BasicJsonType + + + typename T + + + typename + void + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/dc/dc3/structnlohmann_1_1detail_1_1is__sax.xml b/docs/xml/dc/dc3/structnlohmann_1_1detail_1_1is__sax.xml new file mode 100644 index 00000000..a19fe2ee --- /dev/null +++ b/docs/xml/dc/dc3/structnlohmann_1_1detail_1_1is__sax.xml @@ -0,0 +1,150 @@ + + + + nlohmann::detail::is_sax + json.hpp + + + typename SAX + + + typename BasicJsonType + + + + + typename BasicJsonType::number_integer_t + using nlohmann::detail::is_sax< SAX, BasicJsonType >::number_integer_t = typename BasicJsonType::number_integer_t + + number_integer_t + + + + + + + + + + typename BasicJsonType::number_unsigned_t + using nlohmann::detail::is_sax< SAX, BasicJsonType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t + + number_unsigned_t + + + + + + + + + + typename BasicJsonType::number_float_t + using nlohmann::detail::is_sax< SAX, BasicJsonType >::number_float_t = typename BasicJsonType::number_float_t + + number_float_t + + + + + + + + + + typename BasicJsonType::string_t + using nlohmann::detail::is_sax< SAX, BasicJsonType >::string_t = typename BasicJsonType::string_t + + string_t + + + + + + + + + + typename BasicJsonType::binary_t + using nlohmann::detail::is_sax< SAX, BasicJsonType >::binary_t = typename BasicJsonType::binary_t + + binary_t + + + + + + + + + + typename BasicJsonType::exception + using nlohmann::detail::is_sax< SAX, BasicJsonType >::exception_t = typename BasicJsonType::exception + + exception_t + + + + + + + + + + + + constexpr bool + constexpr bool nlohmann::detail::is_sax< SAX, BasicJsonType >::value + + value + = + is_detected_exact<bool, null_function_t, SAX>::value && + is_detected_exact<bool, boolean_function_t, SAX>::value && + is_detected_exact<bool, number_integer_function_t, SAX, number_integer_t>::value && + is_detected_exact<bool, number_unsigned_function_t, SAX, number_unsigned_t>::value && + is_detected_exact<bool, number_float_function_t, SAX, number_float_t, string_t>::value && + is_detected_exact<bool, string_function_t, SAX, string_t>::value && + is_detected_exact<bool, binary_function_t, SAX, binary_t>::value && + is_detected_exact<bool, start_object_function_t, SAX>::value && + is_detected_exact<bool, key_function_t, SAX, string_t>::value && + is_detected_exact<bool, end_object_function_t, SAX>::value && + is_detected_exact<bool, start_array_function_t, SAX>::value && + is_detected_exact<bool, end_array_function_t, SAX>::value && + is_detected_exact<bool, parse_error_function_t, SAX, exception_t>::value + + + + + + + + + + + + + + + + + + + +value + + + + + + + + + nlohmann::detail::is_saxbinary_t + nlohmann::detail::is_saxexception_t + nlohmann::detail::is_saxnumber_float_t + nlohmann::detail::is_saxnumber_integer_t + nlohmann::detail::is_saxnumber_unsigned_t + nlohmann::detail::is_saxstring_t + nlohmann::detail::is_saxvalue + + + diff --git a/docs/xml/dc/dc7/structnlohmann_1_1adl__serializer.xml b/docs/xml/dc/dc7/structnlohmann_1_1adl__serializer.xml new file mode 100644 index 00000000..0ad3ee61 --- /dev/null +++ b/docs/xml/dc/dc7/structnlohmann_1_1adl__serializer.xml @@ -0,0 +1,163 @@ + + + + nlohmann::adl_serializer + json.hpp + + + typename ValueType + + + typename + + + + + + + typename BasicJsonType + + + typename TargetType + ValueType + + + auto + static auto nlohmann::adl_serializer< ValueType, typename >::from_json + (BasicJsonType &&j, TargetType &val) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), val))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), val), void()) + from_json + + BasicJsonType && + j + + + TargetType & + val + + +convert a JSON value to any value type + +This function is usually called by the get() function of the basic_json class (either explicit or via conversion operators).This function is chosen for default-constructible value types. + + +j + + +JSON value to read from + + + +val + + +value to write to + + + + + + + nlohmann::detail::from_json + + + + + typename BasicJsonType + + + typename TargetType + ValueType + + + auto + static auto nlohmann::adl_serializer< ValueType, typename >::from_json + (BasicJsonType &&j) noexcept(noexcept(::nlohmann::from_json(std::forward< BasicJsonType >(j), detail::identity_tag< TargetType > {}))) -> decltype(::nlohmann::from_json(std::forward< BasicJsonType >(j), detail::identity_tag< TargetType > + from_json + + BasicJsonType && + j + + +convert a JSON value to any value type + +This function is usually called by the get() function of the basic_json class (either explicit or via conversion operators).This function is chosen for value types which are not default-constructible. + + +j + + +JSON value to read from + + +copy of the JSON value, converted to ValueType + + + + + nlohmann::detail::from_json + + + + + typename BasicJsonType + + + typename TargetType + ValueType + + + auto + static auto nlohmann::adl_serializer< ValueType, typename >::to_json + (BasicJsonType &j, TargetType &&val) noexcept(noexcept(::nlohmann::to_json(j, std::forward< TargetType >(val)))) -> decltype(::nlohmann::to_json(j, std::forward< TargetType >(val)), void()) + to_json + + BasicJsonType & + j + + + TargetType && + val + + +convert any value type to a JSON value + +This function is usually called by the constructors of the basic_json class. + +j + + +JSON value to write to + + + +val + + +value to read from + + + + + + + nlohmann::detail::to_json + + + +default JSONSerializer template argument + +This serializer ignores the template arguments and uses ADL (argument-dependent lookup) for serialization. + + + + + + + + + nlohmann::adl_serializerfrom_json + nlohmann::adl_serializerfrom_json + nlohmann::adl_serializerto_json + + + diff --git a/docs/xml/dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.xml b/docs/xml/dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.xml new file mode 100644 index 00000000..b95f4d2e --- /dev/null +++ b/docs/xml/dc/dd7/structnlohmann_1_1detail_1_1external__constructor_3_01value__t_1_1number__integer_01_4.xml @@ -0,0 +1,52 @@ + + + + nlohmann::detail::external_constructor< value_t::number_integer > + json.hpp + + + + + + + typename BasicJsonType + + + void + static void nlohmann::detail::external_constructor< value_t::number_integer >::construct + (BasicJsonType &j, typename BasicJsonType::number_integer_t val) noexcept + construct + + BasicJsonType & + j + + + typename BasicJsonType::number_integer_t + val + + + + + + + + + nlohmann::detail::number_integer + + + + + + + + + + + + + + + nlohmann::detail::external_constructor< value_t::number_integer >construct + + + diff --git a/docs/xml/dc/dd7/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.xml b/docs/xml/dc/dd7/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.xml new file mode 100644 index 00000000..9c6ebe08 --- /dev/null +++ b/docs/xml/dc/dd7/structnlohmann_1_1detail_1_1is__default__constructible_3_01const_01std_1_1tuple_3_01Ts_8_8_8_01_4_01_4.xml @@ -0,0 +1,87 @@ + + + + nlohmann::detail::is_default_constructible< const std::tuple< Ts... > > + nlohmann::detail::conjunction< is_default_constructible< Ts >... > + nlohmann::detail::is_constructible< const std::tuple< Ts... > > + json.hpp + + + typename... + Ts + Ts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < is_default_constructible< Ts >... > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < is_default_constructible< Ts >... > + + + + + + + + + + + + + + diff --git a/docs/xml/dc/df0/namespacenlohmann_1_1detail.xml b/docs/xml/dc/df0/namespacenlohmann_1_1detail.xml new file mode 100644 index 00000000..9ebcf6a7 --- /dev/null +++ b/docs/xml/dc/df0/namespacenlohmann_1_1detail.xml @@ -0,0 +1,3055 @@ + + + + nlohmann::detail + nlohmann::detail::binary_reader + nlohmann::detail::binary_writer + nlohmann::detail::conjunction + nlohmann::detail::conjunction< B1 > + nlohmann::detail::conjunction< B1, Bn... > + nlohmann::detail::detector + nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... > + nlohmann::detail::exception + nlohmann::detail::external_constructor + nlohmann::detail::external_constructor< value_t::array > + nlohmann::detail::external_constructor< value_t::binary > + nlohmann::detail::external_constructor< value_t::boolean > + nlohmann::detail::external_constructor< value_t::number_float > + nlohmann::detail::external_constructor< value_t::number_integer > + nlohmann::detail::external_constructor< value_t::number_unsigned > + nlohmann::detail::external_constructor< value_t::object > + nlohmann::detail::external_constructor< value_t::string > + nlohmann::detail::file_input_adapter + nlohmann::detail::from_json_fn + nlohmann::detail::has_from_json + nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > + nlohmann::detail::has_non_default_from_json + nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > + nlohmann::detail::has_to_json + nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > + nlohmann::detail::identity_tag + nlohmann::detail::input_stream_adapter + nlohmann::detail::integer_sequence + nlohmann::detail::internal_iterator + nlohmann::detail::invalid_iterator + nlohmann::detail::is_basic_json + nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL > + nlohmann::detail::is_compatible_array_type + nlohmann::detail::is_compatible_array_type_impl + nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > > + nlohmann::detail::is_compatible_integer_type + nlohmann::detail::is_compatible_integer_type_impl + nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > > + nlohmann::detail::is_compatible_object_type + nlohmann::detail::is_compatible_object_type_impl + nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > > + nlohmann::detail::is_compatible_string_type + nlohmann::detail::is_compatible_string_type_impl + nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > > + nlohmann::detail::is_compatible_type + nlohmann::detail::is_compatible_type_impl + nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > > + nlohmann::detail::is_complete_type + nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))> + nlohmann::detail::is_constructible + nlohmann::detail::is_constructible< const std::pair< T1, T2 > > + nlohmann::detail::is_constructible< const std::tuple< Ts... > > + nlohmann::detail::is_constructible< std::pair< T1, T2 > > + nlohmann::detail::is_constructible< std::tuple< Ts... > > + nlohmann::detail::is_constructible_array_type + nlohmann::detail::is_constructible_array_type_impl + nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > > + nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > > + nlohmann::detail::is_constructible_object_type + nlohmann::detail::is_constructible_object_type_impl + nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > > + nlohmann::detail::is_constructible_string_type + nlohmann::detail::is_constructible_string_type_impl + nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > > + nlohmann::detail::is_constructible_tuple + nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > > + nlohmann::detail::is_default_constructible + nlohmann::detail::is_default_constructible< const std::pair< T1, T2 > > + nlohmann::detail::is_default_constructible< const std::tuple< Ts... > > + nlohmann::detail::is_default_constructible< std::pair< T1, T2 > > + nlohmann::detail::is_default_constructible< std::tuple< Ts... > > + nlohmann::detail::is_getable + nlohmann::detail::is_iterator_of_multibyte + nlohmann::detail::is_iterator_traits + nlohmann::detail::is_iterator_traits< iterator_traits< T > > + nlohmann::detail::is_json_ref + nlohmann::detail::is_json_ref< json_ref< T > > + nlohmann::detail::is_sax + nlohmann::detail::is_sax_static_asserts + nlohmann::detail::iter_impl + nlohmann::detail::iteration_proxy + nlohmann::detail::iteration_proxy_value + nlohmann::detail::iterator_input_adapter + nlohmann::detail::iterator_input_adapter_factory + nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > > + nlohmann::detail::iterator_traits + nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > > + nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > > + nlohmann::detail::iterator_types + nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > > + nlohmann::detail::json_ref + nlohmann::detail::json_reverse_iterator + nlohmann::detail::json_sax_acceptor + nlohmann::detail::json_sax_dom_callback_parser + nlohmann::detail::json_sax_dom_parser + nlohmann::detail::lexer + nlohmann::detail::lexer_base + nlohmann::detail::make_void + nlohmann::detail::nonesuch + nlohmann::detail::other_error + nlohmann::detail::out_of_range + nlohmann::detail::output_adapter + nlohmann::detail::output_adapter_protocol + nlohmann::detail::output_stream_adapter + nlohmann::detail::output_string_adapter + nlohmann::detail::output_vector_adapter + nlohmann::detail::parse_error + nlohmann::detail::parser + nlohmann::detail::position_t + nlohmann::detail::primitive_iterator_t + nlohmann::detail::priority_tag + nlohmann::detail::priority_tag< 0 > + nlohmann::detail::serializer + nlohmann::detail::span_input_adapter + nlohmann::detail::static_const + nlohmann::detail::to_json_fn + nlohmann::detail::type_error + nlohmann::detail::wide_string_input_adapter + nlohmann::detail::wide_string_input_helper + nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 > + nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 > + nlohmann::detail::container_input_adapter_factory_impl + nlohmann::detail::dtoa_impl + nlohmann::detail::utility_internal + + + value_t + + null + +null value + + + + + object + +object (unordered set of name/value pairs) + + + + + array + +array (ordered collection of values) + + + + + string + +string value + + + + + boolean + +boolean value + + + + + number_integer + +number value (signed integer) + + + + + number_unsigned + +number value (unsigned integer) + + + + + number_float + +number value (floating-point) + + + + + binary + +binary array (ordered collection of bytes) + + + + + discarded + +discarded by the parser callback function + + + + +the JSON type enumeration + +This enumeration collects the different JSON types. It is internally used to distinguish the stored values, and the functions basic_json::is_null(), basic_json::is_object(), basic_json::is_array(), basic_json::is_string(), basic_json::is_boolean(), basic_json::is_number() (with basic_json::is_number_integer(), basic_json::is_number_unsigned(), and basic_json::is_number_float()), basic_json::is_discarded(), basic_json::is_primitive(), and basic_json::is_structured() rely on it.There are three enumeration entries (number_integer, number_unsigned, and number_float), because the library distinguishes these three types for numbers: basic_json::number_unsigned_t is used for unsigned integers, basic_json::number_integer_t is used for signed integers, and basic_json::number_float_t is used for floating-point numbers or to approximate integers which do not fit in the limits of their respective type. +see basic_json::basic_json(const value_t value_type) create a JSON value with the default value for a given type +version 1.0.0 + + + + + + + input_format_t + + json + + + + + + + cbor + + + + + + + msgpack + + + + + + + ubjson + + + + + + + bson + + + + + + +the supported input formats + + + + + + + + cbor_tag_handler_t + + error + +throw a parse_error exception in case of a tag + + + + + ignore + +ignore tags + + + + +how to treat CBOR tags + + + + + + + + parse_event_t + + object_start + +the parser read { and started to process a JSON object + + + + + object_end + +the parser read } and finished processing a JSON object + + + + + array_start + +the parser read [ and started to process a JSON array + + + + + array_end + +the parser read ] and finished processing a JSON array + + + + + key + +the parser read a key of a value in an object + + + + + value + +the parser finished reading a JSON value + + + + + + + + + + + + + error_handler_t + + strict + +throw a type_error exception in case of invalid UTF-8 + + + + + replace + +replace invalid UTF-8 sequences with U+FFFD + + + + + ignore + +ignore invalid UTF-8 sequences + + + + +how to treat decoding errors + + + + + + + + + + typename std::remove_cv< typename std::remove_reference< T >::type >::type + using nlohmann::detail::uncvref_t = typedef typename std::remove_cv<typename std::remove_reference<T>::type>::type + + uncvref_t + + + + + + + + + + typename std::enable_if< B, T >::type + using nlohmann::detail::enable_if_t = typedef typename std::enable_if<B, T>::type + + enable_if_t + + + + + + + + + + integer_sequence< size_t, Ints... > + using nlohmann::detail::index_sequence = typedef integer_sequence<size_t, Ints...> + + index_sequence + + + + + + + + + + typename utility_internal::Gen< T, N >::type + using nlohmann::detail::make_integer_sequence = typedef typename utility_internal::Gen<T, N>::type + + make_integer_sequence + + + + + + + + + + make_integer_sequence< size_t, N > + using nlohmann::detail::make_index_sequence = typedef make_integer_sequence<size_t, N> + + make_index_sequence + + + + + + + + + + make_index_sequence< sizeof...(Ts)> + using nlohmann::detail::index_sequence_for = typedef make_index_sequence<sizeof...(Ts)> + + index_sequence_for + + + + + + + + + + typename make_void< Ts... >::type + using nlohmann::detail::void_t = typedef typename make_void<Ts...>::type + + void_t + + + + + + + + + + typename detector< nonesuch, void, Op, Args... >::value_t + using nlohmann::detail::is_detected = typedef typename detector<nonesuch, void, Op, Args...>::value_t + + is_detected + + + + + + + + + + typename detector< nonesuch, void, Op, Args... >::type + using nlohmann::detail::detected_t = typedef typename detector<nonesuch, void, Op, Args...>::type + + detected_t + + + + + + + + + + detector< Default, void, Op, Args... > + using nlohmann::detail::detected_or = typedef detector<Default, void, Op, Args...> + + detected_or + + + + + + + + + + typename detected_or< Default, Op, Args... >::type + using nlohmann::detail::detected_or_t = typedef typename detected_or<Default, Op, Args...>::type + + detected_or_t + + + + + + + + + + std::is_same< Expected, detected_t< Op, Args... > > + using nlohmann::detail::is_detected_exact = typedef std::is_same<Expected, detected_t<Op, Args...> > + + is_detected_exact + + + + + + + + + + std::is_convertible< detected_t< Op, Args... >, To > + using nlohmann::detail::is_detected_convertible = typedef std::is_convertible<detected_t<Op, Args...>, To> + + is_detected_convertible + + + + + + + + + + typename T::mapped_type + using nlohmann::detail::mapped_type_t = typedef typename T::mapped_type + + mapped_type_t + + + + + + + + + + typename T::key_type + using nlohmann::detail::key_type_t = typedef typename T::key_type + + key_type_t + + + + + + + + + + typename T::value_type + using nlohmann::detail::value_type_t = typedef typename T::value_type + + value_type_t + + + + + + + + + + typename T::difference_type + using nlohmann::detail::difference_type_t = typedef typename T::difference_type + + difference_type_t + + + + + + + + + + typename T::pointer + using nlohmann::detail::pointer_t = typedef typename T::pointer + + pointer_t + + + + + + + + + + typename T::reference + using nlohmann::detail::reference_t = typedef typename T::reference + + reference_t + + + + + + + + + + typename T::iterator_category + using nlohmann::detail::iterator_category_t = typedef typename T::iterator_category + + iterator_category_t + + + + + + + + + + typename T::iterator + using nlohmann::detail::iterator_t = typedef typename T::iterator + + iterator_t + + + + + + + + + + decltype(T::to_json(std::declval< Args >()...)) + using nlohmann::detail::to_json_function = typedef decltype(T::to_json(std::declval<Args>()...)) + + to_json_function + + + + + + + + + + decltype(T::from_json(std::declval< Args >()...)) + using nlohmann::detail::from_json_function = typedef decltype(T::from_json(std::declval<Args>()...)) + + from_json_function + + + + + + + + + + decltype(std::declval< T >().template get< U >()) + using nlohmann::detail::get_template_function = typedef decltype(std::declval<T>().template get<U>()) + + get_template_function + + + + + + + + + + decltype(input_adapter(std::declval< const char * >(), std::declval< const char * >())) + using nlohmann::detail::contiguous_bytes_input_adapter = typedef decltype(input_adapter(std::declval<const char*>(), std::declval<const char*>())) + + contiguous_bytes_input_adapter + + + + + + + + + + decltype(std::declval< T & >().null()) + using nlohmann::detail::null_function_t = typedef decltype(std::declval<T&>().null()) + + null_function_t + + + + + + + + + + decltype(std::declval< T & >().boolean(std::declval< bool >())) + using nlohmann::detail::boolean_function_t = typedef decltype(std::declval<T&>().boolean(std::declval<bool>())) + + boolean_function_t + + + + + + + + + + decltype(std::declval< T & >().number_integer(std::declval< Integer >())) + using nlohmann::detail::number_integer_function_t = typedef decltype(std::declval<T&>().number_integer(std::declval<Integer>())) + + number_integer_function_t + + + + + + + + + + decltype(std::declval< T & >().number_unsigned(std::declval< Unsigned >())) + using nlohmann::detail::number_unsigned_function_t = typedef decltype(std::declval<T&>().number_unsigned(std::declval<Unsigned>())) + + number_unsigned_function_t + + + + + + + + + + decltype(std::declval< T & >().number_float(std::declval< Float >(), std::declval< const String & >())) + using nlohmann::detail::number_float_function_t = typedef decltype(std::declval<T&>().number_float( std::declval<Float>(), std::declval<const String&>())) + + number_float_function_t + + + + + + + + + + decltype(std::declval< T & >().string(std::declval< String & >())) + using nlohmann::detail::string_function_t = typedef decltype(std::declval<T&>().string(std::declval<String&>())) + + string_function_t + + + + + + + + + + decltype(std::declval< T & >().binary(std::declval< Binary & >())) + using nlohmann::detail::binary_function_t = typedef decltype(std::declval<T&>().binary(std::declval<Binary&>())) + + binary_function_t + + + + + + + + + + decltype(std::declval< T & >().start_object(std::declval< std::size_t >())) + using nlohmann::detail::start_object_function_t = typedef decltype(std::declval<T&>().start_object(std::declval<std::size_t>())) + + start_object_function_t + + + + + + + + + + decltype(std::declval< T & >().key(std::declval< String & >())) + using nlohmann::detail::key_function_t = typedef decltype(std::declval<T&>().key(std::declval<String&>())) + + key_function_t + + + + + + + + + + decltype(std::declval< T & >().end_object()) + using nlohmann::detail::end_object_function_t = typedef decltype(std::declval<T&>().end_object()) + + end_object_function_t + + + + + + + + + + decltype(std::declval< T & >().start_array(std::declval< std::size_t >())) + using nlohmann::detail::start_array_function_t = typedef decltype(std::declval<T&>().start_array(std::declval<std::size_t>())) + + start_array_function_t + + + + + + + + + + decltype(std::declval< T & >().end_array()) + using nlohmann::detail::end_array_function_t = typedef decltype(std::declval<T&>().end_array()) + + end_array_function_t + + + + + + + + + + decltype(std::declval< T & >().parse_error(std::declval< std::size_t >(), std::declval< const std::string & >(), std::declval< const Exception & >())) + using nlohmann::detail::parse_error_function_t = typedef decltype(std::declval<T&>().parse_error( std::declval<std::size_t>(), std::declval<const std::string&>(), std::declval<const Exception&>())) + + parse_error_function_t + + + + + + + + + + std::function< bool(int, parse_event_t, BasicJsonType &)> + using nlohmann::detail::parser_callback_t = typedef std::function<bool(int , parse_event_t , BasicJsonType& )> + + parser_callback_t + + + + + + + + + + std::shared_ptr< output_adapter_protocol< CharType > > + using nlohmann::detail::output_adapter_t = typedef std::shared_ptr<output_adapter_protocol<CharType> > + + output_adapter_t + +a type to simplify interfaces + + + + + + + + + + bool + bool nlohmann::detail::operator< + (const value_t lhs, const value_t rhs) noexcept + operator< + + const value_t + lhs + + + const value_t + rhs + + +comparison operator for JSON types + +Returns an ordering that is similar to Python: +order: null < boolean < number < object < array < string < binaryfurthermore, each type is not smaller than itselfdiscarded values are not comparablebinary is represented as a b"" string in python and directly comparable to a string; however, making a binary array directly comparable with a string would be surprising behavior in a JSON file. +version 1.0.0 + + + + + std::less<::nlohmann::detail::value_t >::operator() + nlohmann::detail::iter_impl< BasicJsonType >::operator>= + + + void + void nlohmann::detail::replace_substring + (std::string &s, const std::string &f, const std::string &t) + replace_substring + + std::string & + s + + + const std::string & + f + + + const std::string & + t + + +replace all occurrences of a substring by another string + + + +s + + +the string to manipulate; changed so that all occurrences of f are replaced with t + + + +f + + +the substring to replace with t + + + +t + + +the string to replace f + + +The search string f must not be empty. This precondition is enforced with an assertion. +version 2.0.0 + + + + + JSON_ASSERT + escape + unescape + + + std::string + std::string nlohmann::detail::escape + (std::string s) + escape + + std::string + s + + +string escaping as described in RFC 6901 (Sect. 4) + + + +s + + +string to escape + + +escaped string +Note the order of escaping "~" to "~0" and "/" to "~1" is important. + + + + replace_substring + nlohmann::detail::exception::diagnostics + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff + nlohmann::json_pointer< BasicJsonType >::flatten + nlohmann::json_pointer< BasicJsonType >::to_string + + + void + static void nlohmann::detail::unescape + (std::string &s) + unescape + + std::string & + s + + +string unescaping as described in RFC 6901 (Sect. 4) + + + +s + + +string to unescape + + +unescaped string +Note the order of escaping "~1" to "/" and "~0" to "~" is important. + + + + replace_substring + nlohmann::json_pointer< BasicJsonType >::split + + + + + typename BasicJsonType + + + void + void nlohmann::detail::from_json + (const BasicJsonType &j, typename std::nullptr_t &n) + from_json + + const BasicJsonType & + j + + + typename std::nullptr_t & + n + + + + + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + string + nlohmann::detail::from_json_fn::operator() + + + + + typename BasicJsonType + + + typename ArithmeticType + + + enable_if_t< std::is_arithmetic< ArithmeticType >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > + 0 + + + void + void nlohmann::detail::get_arithmetic_value + (const BasicJsonType &j, ArithmeticType &val) + get_arithmetic_value + + const BasicJsonType & + j + + + ArithmeticType & + val + + + + + + + + + nlohmann::detail::type_error::create + JSON_THROW + number_float + number_integer + number_unsigned + string + from_json + + + + + typename BasicJsonType + + + void + void nlohmann::detail::from_json + (const BasicJsonType &j, typename BasicJsonType::boolean_t &b) + from_json + + const BasicJsonType & + j + + + typename BasicJsonType::boolean_t & + b + + + + + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + string + + + + + typename BasicJsonType + + + void + void nlohmann::detail::from_json + (const BasicJsonType &j, typename BasicJsonType::string_t &s) + from_json + + const BasicJsonType & + j + + + typename BasicJsonType::string_t & + s + + + + + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + string + value + + + + + typename BasicJsonType + + + typename ConstructibleStringType + + + enable_if_t< is_constructible_string_type< BasicJsonType, ConstructibleStringType >::value &&!std::is_same< typename BasicJsonType::string_t, ConstructibleStringType >::value, int > + 0 + + + void + void nlohmann::detail::from_json + (const BasicJsonType &j, ConstructibleStringType &s) + from_json + + const BasicJsonType & + j + + + ConstructibleStringType & + s + + + + + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + string + + + + + typename BasicJsonType + + + void + void nlohmann::detail::from_json + (const BasicJsonType &j, typename BasicJsonType::number_float_t &val) + from_json + + const BasicJsonType & + j + + + typename BasicJsonType::number_float_t & + val + + + + + + + + + get_arithmetic_value + + + + + typename BasicJsonType + + + void + void nlohmann::detail::from_json + (const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val) + from_json + + const BasicJsonType & + j + + + typename BasicJsonType::number_unsigned_t & + val + + + + + + + + + get_arithmetic_value + + + + + typename BasicJsonType + + + void + void nlohmann::detail::from_json + (const BasicJsonType &j, typename BasicJsonType::number_integer_t &val) + from_json + + const BasicJsonType & + j + + + typename BasicJsonType::number_integer_t & + val + + + + + + + + + get_arithmetic_value + + + + + typename BasicJsonType + + + typename EnumType + + + enable_if_t< std::is_enum< EnumType >::value, int > + 0 + + + void + void nlohmann::detail::from_json + (const BasicJsonType &j, EnumType &e) + from_json + + const BasicJsonType & + j + + + EnumType & + e + + + + + + + + + get_arithmetic_value + + + + + typename BasicJsonType + + + typename T + + + typename Allocator + + + enable_if_t< is_getable< BasicJsonType, T >::value, int > + 0 + + + void + void nlohmann::detail::from_json + (const BasicJsonType &j, std::forward_list< T, Allocator > &l) + from_json + + const BasicJsonType & + j + + + std::forward_list< T, Allocator > & + l + + + + + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + string + + + + + typename BasicJsonType + + + typename T + + + enable_if_t< is_getable< BasicJsonType, T >::value, int > + 0 + + + void + void nlohmann::detail::from_json + (const BasicJsonType &j, std::valarray< T > &l) + from_json + + const BasicJsonType & + j + + + std::valarray< T > & + l + + + + + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + string + + + + + typename BasicJsonType + + + typename T + + + std::size_t + N + N + + + auto + auto nlohmann::detail::from_json + (const BasicJsonType &j, T(&arr)[N]) -> decltype(j.template get< T >(), void()) + from_json + + const BasicJsonType & + j + + + T(&) + arr + [N] + + + + + + + + + + + + + typename BasicJsonType + + + void + void nlohmann::detail::from_json_array_impl + (const BasicJsonType &j, typename BasicJsonType::array_t &arr, priority_tag< 3 >) + from_json_array_impl + + const BasicJsonType & + j + + + typename BasicJsonType::array_t & + arr + + + priority_tag< 3 > + + + + + + + + + void + + + + + typename BasicJsonType + + + typename T + + + std::size_t + N + N + + + auto + auto nlohmann::detail::from_json_array_impl + (const BasicJsonType &j, std::array< T, N > &arr, priority_tag< 2 >) -> decltype(j.template get< T >(), void()) + from_json_array_impl + + const BasicJsonType & + j + + + std::array< T, N > & + arr + + + priority_tag< 2 > + + + + + + + + + + + + + typename BasicJsonType + + + typename ConstructibleArrayType + + + enable_if_t< std::is_assignable< ConstructibleArrayType &, ConstructibleArrayType >::value, int > + 0 + + + auto + auto nlohmann::detail::from_json_array_impl + (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename ConstructibleArrayType::size_type >()), j.template get< typename ConstructibleArrayType::value_type >(), void()) + from_json_array_impl + + const BasicJsonType & + j + + + ConstructibleArrayType & + arr + + + priority_tag< 1 > + + + + + + + + + + + + + typename BasicJsonType + + + typename ConstructibleArrayType + + + enable_if_t< std::is_assignable< ConstructibleArrayType &, ConstructibleArrayType >::value, int > + 0 + + + void + void nlohmann::detail::from_json_array_impl + (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 0 >) + from_json_array_impl + + const BasicJsonType & + j + + + ConstructibleArrayType & + arr + + + priority_tag< 0 > + + + + + + + + + + + + + typename BasicJsonType + + + typename ConstructibleArrayType + + + enable_if_t< is_constructible_array_type< BasicJsonType, ConstructibleArrayType >::value &&!is_constructible_object_type< BasicJsonType, ConstructibleArrayType >::value &&!is_constructible_string_type< BasicJsonType, ConstructibleArrayType >::value &&!std::is_same< ConstructibleArrayType, typename BasicJsonType::binary_t >::value &&!is_basic_json< ConstructibleArrayType >::value, int > + 0 + + + auto + auto nlohmann::detail::from_json + (const BasicJsonType &j, ConstructibleArrayType &arr) -> decltype(from_json_array_impl(j, arr, priority_tag< 3 > + from_json + + const BasicJsonType & + j + + + ConstructibleArrayType & + arr + + + + + + + + + + + j template + j template nlohmann::detail::get< typename ConstructibleArrayType::value_type > + () + get< typename ConstructibleArrayType::value_type > + + + + + + + + + + j template + j template nlohmann::detail::void + ()) + void + + + + + + + + nlohmann::detail::type_error::create + from_json_array_impl + JSON_HEDLEY_UNLIKELY + JSON_THROW + string + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::binary_reader + cudnn_frontend::check_rule + nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse + + + + + typename BasicJsonType + + + typename T + + + std::size_t... + Idx + Idx + + + std::array< T, sizeof...(Idx)> + std::array<T, sizeof...(Idx)> nlohmann::detail::from_json_inplace_array_impl + (BasicJsonType &&j, identity_tag< std::array< T, sizeof...(Idx)>>, index_sequence< Idx... >) + from_json_inplace_array_impl + + BasicJsonType && + j + + + identity_tag< std::array< T, sizeof...(Idx)>> + + + index_sequence< Idx... > + + + + + + + + + from_json + + + + + typename BasicJsonType + + + typename T + + + std::size_t + N + N + + + auto + auto nlohmann::detail::from_json + (BasicJsonType &&j, identity_tag< std::array< T, N >> tag) -> decltype(from_json_inplace_array_impl(std::forward< BasicJsonType >(j), tag, make_index_sequence< N > + from_json + + BasicJsonType && + j + + + identity_tag< std::array< T, N >> + tag + + + + + + + + + nlohmann::detail::type_error::create + from_json_inplace_array_impl + JSON_HEDLEY_UNLIKELY + JSON_THROW + string + + + + + typename BasicJsonType + + + void + void nlohmann::detail::from_json + (const BasicJsonType &j, typename BasicJsonType::binary_t &bin) + from_json + + const BasicJsonType & + j + + + typename BasicJsonType::binary_t & + bin + + + + + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + string + + + + + typename BasicJsonType + + + typename ConstructibleObjectType + + + enable_if_t< is_constructible_object_type< BasicJsonType, ConstructibleObjectType >::value, int > + 0 + + + void + void nlohmann::detail::from_json + (const BasicJsonType &j, ConstructibleObjectType &obj) + from_json + + const BasicJsonType & + j + + + ConstructibleObjectType & + obj + + + + + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + string + + + + + typename BasicJsonType + + + typename ArithmeticType + + + enable_if_t< std::is_arithmetic< ArithmeticType >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_unsigned_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_integer_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_float_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > + 0 + + + void + void nlohmann::detail::from_json + (const BasicJsonType &j, ArithmeticType &val) + from_json + + const BasicJsonType & + j + + + ArithmeticType & + val + + + + + + + + + boolean + nlohmann::detail::type_error::create + JSON_THROW + number_float + number_integer + number_unsigned + string + + + + + typename BasicJsonType + + + typename... + Args + Args + + + std::size_t... + Idx + Idx + + + std::tuple< Args... > + std::tuple<Args...> nlohmann::detail::from_json_tuple_impl_base + (BasicJsonType &&j, index_sequence< Idx... >) + from_json_tuple_impl_base + + BasicJsonType && + j + + + index_sequence< Idx... > + + + + + + + + + from_json_tuple_impl + + + + + typename BasicJsonType + + + class A1 + + + class A2 + + + std::pair< A1, A2 > + std::pair<A1, A2> nlohmann::detail::from_json_tuple_impl + (BasicJsonType &&j, identity_tag< std::pair< A1, A2 >>, priority_tag< 0 >) + from_json_tuple_impl + + BasicJsonType && + j + + + identity_tag< std::pair< A1, A2 >> + + + priority_tag< 0 > + + + + + + + + + from_json + from_json_tuple_impl + + + + + typename BasicJsonType + + + typename A1 + + + typename A2 + + + void + void nlohmann::detail::from_json_tuple_impl + (BasicJsonType &&j, std::pair< A1, A2 > &p, priority_tag< 1 >) + from_json_tuple_impl + + BasicJsonType && + j + + + std::pair< A1, A2 > & + p + + + priority_tag< 1 > + + + + + + + + + from_json_tuple_impl + + + + + typename BasicJsonType + + + typename... + Args + Args + + + std::tuple< Args... > + std::tuple<Args...> nlohmann::detail::from_json_tuple_impl + (BasicJsonType &&j, identity_tag< std::tuple< Args... >>, priority_tag< 2 >) + from_json_tuple_impl + + BasicJsonType && + j + + + identity_tag< std::tuple< Args... >> + + + priority_tag< 2 > + + + + + + + + + from_json_tuple_impl_base + + + + + typename BasicJsonType + + + typename... + Args + Args + + + void + void nlohmann::detail::from_json_tuple_impl + (BasicJsonType &&j, std::tuple< Args... > &t, priority_tag< 3 >) + from_json_tuple_impl + + BasicJsonType && + j + + + std::tuple< Args... > & + t + + + priority_tag< 3 > + + + + + + + + + from_json_tuple_impl_base + + + + + typename BasicJsonType + + + typename TupleRelated + + + auto + auto nlohmann::detail::from_json + (BasicJsonType &&j, TupleRelated &&t) -> decltype(from_json_tuple_impl(std::forward< BasicJsonType >(j), std::forward< TupleRelated >(t), priority_tag< 3 > + from_json + + BasicJsonType && + j + + + TupleRelated && + t + + + + + + + + + nlohmann::detail::type_error::create + from_json_tuple_impl + JSON_HEDLEY_UNLIKELY + JSON_THROW + string + + + + + typename BasicJsonType + + + typename Key + + + typename Value + + + typename Compare + + + typename Allocator + + + typename + enable_if_t < !std::is_constructible < typename BasicJsonType::string_t, Key >::value > + + + void + void nlohmann::detail::from_json + (const BasicJsonType &j, std::map< Key, Value, Compare, Allocator > &m) + from_json + + const BasicJsonType & + j + + + std::map< Key, Value, Compare, Allocator > & + m + + + + + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + string + + + + + typename BasicJsonType + + + typename Key + + + typename Value + + + typename Hash + + + typename KeyEqual + + + typename Allocator + + + typename + enable_if_t < !std::is_constructible < typename BasicJsonType::string_t, Key >::value > + + + void + void nlohmann::detail::from_json + (const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m) + from_json + + const BasicJsonType & + j + + + std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > & + m + + + + + + + + + nlohmann::detail::type_error::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + string + nlohmann::adl_serializer< ValueType, typename >::from_json + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_to + + + + + typename string_type + + + void + void nlohmann::detail::int_to_string + (string_type &target, std::size_t value) + int_to_string + + string_type & + target + + + std::size_t + value + + + + + + + + + nlohmann::to_string + nlohmann::detail::iteration_proxy_value< IteratorType >::key + + + + + std::size_t + N + N + + + typename IteratorType + + + enable_if_t< N==0, int > + 0 + + + auto + auto nlohmann::detail::get + (const nlohmann::detail::iteration_proxy_value< IteratorType > &i) -> decltype(i.key()) + get + + const nlohmann::detail::iteration_proxy_value< IteratorType > & + i + + + + + + + + + nlohmann::detail::iteration_proxy_value< IteratorType >::key + + + + + typename BasicJsonType + + + typename T + + + enable_if_t< std::is_same< T, typename BasicJsonType::boolean_t >::value, int > + 0 + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, T b) noexcept + to_json + + BasicJsonType & + j + + + T + b + + + + + + + + + nlohmann::detail::to_json_fn::operator() + to_json_tuple_impl + + + + + typename BasicJsonType + + + typename CompatibleString + + + enable_if_t< std::is_constructible< typename BasicJsonType::string_t, CompatibleString >::value, int > + 0 + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, const CompatibleString &s) + to_json + + BasicJsonType & + j + + + const CompatibleString & + s + + + + + + + + + + + + + typename BasicJsonType + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, typename BasicJsonType::string_t &&s) + to_json + + BasicJsonType & + j + + + typename BasicJsonType::string_t && + s + + + + + + + + + + + + + typename BasicJsonType + + + typename FloatType + + + enable_if_t< std::is_floating_point< FloatType >::value, int > + 0 + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, FloatType val) noexcept + to_json + + BasicJsonType & + j + + + FloatType + val + + + + + + + + + + + + + typename BasicJsonType + + + typename CompatibleNumberUnsignedType + + + enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType >::value, int > + 0 + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, CompatibleNumberUnsignedType val) noexcept + to_json + + BasicJsonType & + j + + + CompatibleNumberUnsignedType + val + + + + + + + + + + + + + typename BasicJsonType + + + typename CompatibleNumberIntegerType + + + enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType >::value, int > + 0 + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, CompatibleNumberIntegerType val) noexcept + to_json + + BasicJsonType & + j + + + CompatibleNumberIntegerType + val + + + + + + + + + + + + + typename BasicJsonType + + + typename EnumType + + + enable_if_t< std::is_enum< EnumType >::value, int > + 0 + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, EnumType e) noexcept + to_json + + BasicJsonType & + j + + + EnumType + e + + + + + + + + + + + + + typename BasicJsonType + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, const std::vector< bool > &e) + to_json + + BasicJsonType & + j + + + const std::vector< bool > & + e + + + + + + + + + + + + + typename BasicJsonType + + + typename CompatibleArrayType + + + enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value &&!is_compatible_object_type< BasicJsonType, CompatibleArrayType >::value &&!is_compatible_string_type< BasicJsonType, CompatibleArrayType >::value &&!std::is_same< typename BasicJsonType::binary_t, CompatibleArrayType >::value &&!is_basic_json< CompatibleArrayType >::value, int > + 0 + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, const CompatibleArrayType &arr) + to_json + + BasicJsonType & + j + + + const CompatibleArrayType & + arr + + + + + + + + + + + + + typename BasicJsonType + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, const typename BasicJsonType::binary_t &bin) + to_json + + BasicJsonType & + j + + + const typename BasicJsonType::binary_t & + bin + + + + + + + + + + + + + typename BasicJsonType + + + typename T + + + enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > + 0 + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, const std::valarray< T > &arr) + to_json + + BasicJsonType & + j + + + const std::valarray< T > & + arr + + + + + + + + + + + + + typename BasicJsonType + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, typename BasicJsonType::array_t &&arr) + to_json + + BasicJsonType & + j + + + typename BasicJsonType::array_t && + arr + + + + + + + + + + + + + typename BasicJsonType + + + typename CompatibleObjectType + + + enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value &&!is_basic_json< CompatibleObjectType >::value, int > + 0 + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, const CompatibleObjectType &obj) + to_json + + BasicJsonType & + j + + + const CompatibleObjectType & + obj + + + + + + + + + + + + + typename BasicJsonType + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, typename BasicJsonType::object_t &&obj) + to_json + + BasicJsonType & + j + + + typename BasicJsonType::object_t && + obj + + + + + + + + + value + + + + + typename BasicJsonType + + + typename T + + + std::size_t + N + N + + + enable_if_t< !std::is_constructible< typename BasicJsonType::string_t, const T(&)[N]>::value, int > + 0 + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, const T(&arr)[N]) + to_json + + BasicJsonType & + j + + + const T(&) + arr + [N] + + + + + + + + + + + + + typename BasicJsonType + + + typename T1 + + + typename T2 + + + enable_if_t< std::is_constructible< BasicJsonType, T1 >::value &&std::is_constructible< BasicJsonType, T2 >::value, int > + 0 + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, const std::pair< T1, T2 > &p) + to_json + + BasicJsonType & + j + + + const std::pair< T1, T2 > & + p + + + + + + + + + value + + + + + typename BasicJsonType + + + typename T + + + enable_if_t< std::is_same< T, iteration_proxy_value< typename BasicJsonType::iterator >>::value, int > + 0 + + + void + void nlohmann::detail::to_json + (BasicJsonType &j, const T &b) + to_json + + BasicJsonType & + j + + + const T & + b + + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json + nlohmann::adl_serializer< ValueType, typename >::to_json + + + + + typename BasicJsonType + + + typename Tuple + + + std::size_t... + Idx + Idx + + + void + void nlohmann::detail::to_json_tuple_impl + (BasicJsonType &j, const Tuple &t, index_sequence< Idx... >) + to_json_tuple_impl + + BasicJsonType & + j + + + const Tuple & + t + + + index_sequence< Idx... > + + + + + + + + + to_json + value + + + std::size_t + std::size_t nlohmann::detail::combine + (std::size_t seed, std::size_t h) noexcept + combine + + std::size_t + seed + + + std::size_t + h + + + + + + + + + hash + + + + + typename BasicJsonType + + + std::size_t + std::size_t nlohmann::detail::hash + (const BasicJsonType &j) + hash + + const BasicJsonType & + j + + +hash a JSON value + +The hash function tries to rely on std::hash where possible. Furthermore, the type of the JSON value is taken into account to have different hash values for null, 0, 0U, and false, etc. + +BasicJsonType + + +basic_json specialization + + + + +j + + +JSON value to hash + + +hash value of j + + + + + combine + JSON_ASSERT + std::hash< nlohmann::json >::operator() + + + + + typename IteratorType + + + iterator_input_adapter_factory< IteratorType >::adapter_type + iterator_input_adapter_factory<IteratorType>::adapter_type nlohmann::detail::input_adapter + (IteratorType first, IteratorType last) + input_adapter + + IteratorType + first + + + IteratorType + last + + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::accept + nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >::create + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_bson + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_cbor + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_msgpack + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_ubjson + nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_high_precision_number + input_adapter + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::sax_parse + + + + + typename ContainerType + + + container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType >::adapter_type + container_input_adapter_factory_impl::container_input_adapter_factory<ContainerType>::adapter_type nlohmann::detail::input_adapter + (const ContainerType &container) + input_adapter + + const ContainerType & + container + + + + + + + + + + + file_input_adapter + file_input_adapter nlohmann::detail::input_adapter + (std::FILE *file) + input_adapter + + std::FILE * + file + + + + + + + + + + + input_stream_adapter + input_stream_adapter nlohmann::detail::input_adapter + (std::istream &stream) + input_adapter + + std::istream & + stream + + + + + + + + + + + input_stream_adapter + input_stream_adapter nlohmann::detail::input_adapter + (std::istream &&stream) + input_adapter + + std::istream && + stream + + + + + + + + + + + + + typename CharT + + + typename std::enable_if< std::is_pointer< CharT >::value &&!std::is_array< CharT >::value &&std::is_integral< typename std::remove_pointer< CharT >::type >::value &&sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type + 0 + + + contiguous_bytes_input_adapter + contiguous_bytes_input_adapter nlohmann::detail::input_adapter + (CharT b) + input_adapter + + CharT + b + + + + + + + + + input_adapter + + + + + typename T + + + std::size_t + N + N + + + auto + auto nlohmann::detail::input_adapter + (T(&array)[N]) -> decltype(input_adapter(array, array+N)) + input_adapter + + T(&) + array + [N] + + + + + + + + + array + input_adapter + + + bool + static bool nlohmann::detail::little_endianess + (int num=1) noexcept + little_endianess + + int + num + 1 + + +determine system byte order + +true if and only if system's byte order is little endian +from https://stackoverflow.com/a/1001328/266378 + + + + + + + + + typename FloatType + + + JSON_HEDLEY_RETURNS_NON_NULL char * + JSON_HEDLEY_RETURNS_NON_NULL char* nlohmann::detail::to_chars + (char *first, const char *last, FloatType value) + to_chars + + char * + first + + + const char * + last + + + FloatType + value + + +generates a decimal representation of the floating-point number value in [first, last). + +The format of the resulting decimal representation is similar to printf's g format. Returns an iterator pointing past-the-end of the decimal representation.The input number must be finite, i.e. NaN's and Inf's are not supported. +The buffer must be large enough. +The result is NOT null-terminated. + + + + + nlohmann::detail::dtoa_impl::format_buffer + nlohmann::detail::dtoa_impl::grisu2 + JSON_ASSERT + value + + + +detail namespace with internal helper functions + +This namespace collects functions that should not be exposed, implementations of some basic_json methods, and meta-programming helpers.version 2.1.0 + + + + diff --git a/docs/xml/dd/d0d/classnlohmann_1_1byte__container__with__subtype.xml b/docs/xml/dd/d0d/classnlohmann_1_1byte__container__with__subtype.xml new file mode 100644 index 00000000..b1d7085b --- /dev/null +++ b/docs/xml/dd/d0d/classnlohmann_1_1byte__container__with__subtype.xml @@ -0,0 +1,327 @@ + + + + nlohmann::byte_container_with_subtype + BinaryType + json.hpp + + + typename BinaryType + + + + + BinaryType + using nlohmann::byte_container_with_subtype< BinaryType >::container_type = BinaryType + + container_type + +the type of the underlying container + + + + + + + + + + std::uint8_t + std::uint8_t nlohmann::byte_container_with_subtype< BinaryType >::m_subtype + + m_subtype + = 0 + + + + + + + + nlohmann::byte_container_with_subtype< BinaryType >::operator== + + + bool + bool nlohmann::byte_container_with_subtype< BinaryType >::m_has_subtype + + m_has_subtype + = false + + + + + + + + nlohmann::byte_container_with_subtype< BinaryType >::operator== + + + + + + nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype + () noexcept(noexcept(container_type())) + byte_container_with_subtype + + + + + + + + + + + nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype + (const container_type &b) noexcept(noexcept(container_type(b))) + byte_container_with_subtype + + const container_type & + b + + + + + + + + + + + + nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype + (container_type &&b) noexcept(noexcept(container_type(std::move(b)))) + byte_container_with_subtype + + container_type && + b + + + + + + + + + + + + nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype + (const container_type &b, std::uint8_t subtype_) noexcept(noexcept(container_type(b))) + byte_container_with_subtype + + const container_type & + b + + + std::uint8_t + subtype_ + + + + + + + + + + + + nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype + (container_type &&b, std::uint8_t subtype_) noexcept(noexcept(container_type(std::move(b)))) + byte_container_with_subtype + + container_type && + b + + + std::uint8_t + subtype_ + + + + + + + + + + + bool + bool nlohmann::byte_container_with_subtype< BinaryType >::operator== + (const byte_container_with_subtype &rhs) const + operator== + + const byte_container_with_subtype & + rhs + + + + + + + + + nlohmann::byte_container_with_subtype< BinaryType >::m_has_subtype + nlohmann::byte_container_with_subtype< BinaryType >::m_subtype + + + bool + bool nlohmann::byte_container_with_subtype< BinaryType >::operator!= + (const byte_container_with_subtype &rhs) const + operator!= + + const byte_container_with_subtype & + rhs + + + + + + + + + + + void + void nlohmann::byte_container_with_subtype< BinaryType >::set_subtype + (std::uint8_t subtype_) noexcept + set_subtype + + std::uint8_t + subtype_ + + +sets the binary subtype + +Sets the binary subtype of the value, also flags a binary JSON value as having a subtype, which has implications for serialization.Constant.No-throw guarantee: this member function never throws exceptions.see subtype() return the binary subtype +see clear_subtype() clears the binary subtype +see has_subtype() returns whether or not the binary value has a subtype +version 3.8.0 + + + + + + + constexpr std::uint8_t + constexpr std::uint8_t nlohmann::byte_container_with_subtype< BinaryType >::subtype + () const noexcept + subtype + +return the binary subtype + +Returns the numerical subtype of the value if it has a subtype. If it does not have a subtype, this function will return size_t(-1) as a sentinel value.the numerical subtype of the binary value +Constant.No-throw guarantee: this member function never throws exceptions.see set_subtype() sets the binary subtype +see clear_subtype() clears the binary subtype +see has_subtype() returns whether or not the binary value has a subtype +version 3.8.0 + + + + + + + constexpr bool + constexpr bool nlohmann::byte_container_with_subtype< BinaryType >::has_subtype + () const noexcept + has_subtype + +return whether the value has a subtype + +whether the value has a subtype +Constant.No-throw guarantee: this member function never throws exceptions.see subtype() return the binary subtype +see set_subtype() sets the binary subtype +see clear_subtype() clears the binary subtype +version 3.8.0 + + + + + + + void + void nlohmann::byte_container_with_subtype< BinaryType >::clear_subtype + () noexcept + clear_subtype + +clears the binary subtype + +Clears the binary subtype and flags the value as not having a subtype, which has implications for serialization; for instance MessagePack will prefer the bin family over the ext family.Constant.No-throw guarantee: this member function never throws exceptions.see subtype() return the binary subtype +see set_subtype() sets the binary subtype +see has_subtype() returns whether or not the binary value has a subtype +version 3.8.0 + + + + + + + +an internal type for a backed binary type + +This type extends the template parameter BinaryType provided to basic_json with a subtype used by BSON and MessagePack. This type exists so that the user does not have to specify a type themselves with a specific naming scheme in order to override the binary type. + +BinaryType + + +container to store bytes (std::vector<std::uint8_t> by default) + + +version 3.8.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -m_subtype + + + -m_has_subtype + + + + + + nlohmann::byte_container_with_subtypebyte_container_with_subtype + nlohmann::byte_container_with_subtypebyte_container_with_subtype + nlohmann::byte_container_with_subtypebyte_container_with_subtype + nlohmann::byte_container_with_subtypebyte_container_with_subtype + nlohmann::byte_container_with_subtypebyte_container_with_subtype + nlohmann::byte_container_with_subtypeclear_subtype + nlohmann::byte_container_with_subtypecontainer_type + nlohmann::byte_container_with_subtypehas_subtype + nlohmann::byte_container_with_subtypem_has_subtype + nlohmann::byte_container_with_subtypem_subtype + nlohmann::byte_container_with_subtypeoperator!= + nlohmann::byte_container_with_subtypeoperator== + nlohmann::byte_container_with_subtypeset_subtype + nlohmann::byte_container_with_subtypesubtype + + + diff --git a/docs/xml/dd/d10/structnlohmann_1_1detail_1_1detector.xml b/docs/xml/dd/d10/structnlohmann_1_1detail_1_1detector.xml new file mode 100644 index 00000000..2328d20c --- /dev/null +++ b/docs/xml/dd/d10/structnlohmann_1_1detail_1_1detector.xml @@ -0,0 +1,68 @@ + + + + nlohmann::detail::detector + json.hpp + + + class Default + + + class AlwaysVoid + + + template< class... > class + Op + Op + + + class... + Args + Args + + + + + std::false_type + using nlohmann::detail::detector< Default, AlwaysVoid, Op, Args >::value_t = std::false_type + + value_t + + + + + + + + + + Default + using nlohmann::detail::detector< Default, AlwaysVoid, Op, Args >::type = Default + + type + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::detectortype + nlohmann::detail::detectorvalue_t + + + diff --git a/docs/xml/dd/d13/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.xml b/docs/xml/dd/d13/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.xml new file mode 100644 index 00000000..b9f49212 --- /dev/null +++ b/docs/xml/dd/d13/structnlohmann_1_1detail_1_1is__compatible__integer__type__impl.xml @@ -0,0 +1,66 @@ + + + + nlohmann::detail::is_compatible_integer_type_impl + false_type + json.hpp + + + typename + RealIntegerType + RealIntegerType + + + typename + CompatibleNumberIntegerType + CompatibleNumberIntegerType + + + typename + void + + + + + + + + + + + + + + + < RealIntegerType, CompatibleNumberIntegerType > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/dd/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construce6fa33688da703b95649da4749cdeb98.xml b/docs/xml/dd/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construce6fa33688da703b95649da4749cdeb98.xml new file mode 100644 index 00000000..cbca04db --- /dev/null +++ b/docs/xml/dd/d45/structnlohmann_1_1detail_1_1is__constructible__array__type__impl_3_01BasicJsonType_00_01Construce6fa33688da703b95649da4749cdeb98.xml @@ -0,0 +1,45 @@ + + + + nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > > + true_type + json.hpp + + + typename BasicJsonType + + + typename ConstructibleArrayType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.xml b/docs/xml/dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.xml new file mode 100644 index 00000000..f433a4d3 --- /dev/null +++ b/docs/xml/dd/d6b/structstd_1_1hash_3_01nlohmann_1_1json_01_4.xml @@ -0,0 +1,44 @@ + + + + std::hash< nlohmann::json > + json.hpp + + + + + std::size_t + std::size_t std::hash< nlohmann::json >::operator() + (const nlohmann::json &j) const + operator() + + const nlohmann::json & + j + + +return a hash value for a JSON object + +version 1.0.0 + + + + + nlohmann::detail::hash + + + +hash value for JSON objects + + + + + + + + + + + std::hash< nlohmann::json >operator() + + + diff --git a/docs/xml/dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.xml b/docs/xml/dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.xml index 0e22753a..22b17e3e 100644 --- a/docs/xml/dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.xml +++ b/docs/xml/dd/d72/classcudnn__frontend_1_1EngineConfigBuilder__v8.xml @@ -37,7 +37,7 @@ cudnn_frontend::set_error_and_throw_exception cudnn_frontend::BackendDescriptor::status - cudnn_frontend::EngineFallbackListBuilder_v8::build + cudnn_frontend::EngineFallbackListBuilder_v8::build EngineConfig_v8 && @@ -136,80 +136,80 @@ EngineConfigBuilder_v8 Class Helper class used to build EngineConfig_v8 class - + - + - + - + +elements - + - + +elements - + < ManagedOpaqueDescriptor, CUDNN_KNOB_TYPE_COUNTS > - + - + - + -bChoices - + -numKnobs - + -opGraphTag - + -engine - + - + - + - + -m_engine_config - + - + - + - + #err_msg - + #pointer - + #status - + - + diff --git a/docs/xml/dd/da4/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.xml b/docs/xml/dd/da4/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.xml new file mode 100644 index 00000000..5686cde8 --- /dev/null +++ b/docs/xml/dd/da4/structnlohmann_1_1detail_1_1is__constructible__object__type__impl.xml @@ -0,0 +1,66 @@ + + + + nlohmann::detail::is_constructible_object_type_impl + false_type + json.hpp + + + typename + BasicJsonType + BasicJsonType + + + typename + ConstructibleObjectType + ConstructibleObjectType + + + typename + void + + + + + + + + + + + + + + + < BasicJsonType, ConstructibleObjectType > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.xml b/docs/xml/dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.xml new file mode 100644 index 00000000..0bc2ae04 --- /dev/null +++ b/docs/xml/dd/da5/structnlohmann_1_1detail_1_1is__compatible__array__type__impl_3_01BasicJsonType_00_01CompatibleAb638dd3c6149bb42b44d6778e8db3f9d.xml @@ -0,0 +1,53 @@ + + + + nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > > + json.hpp + + + typename BasicJsonType + + + typename CompatibleArrayType + + + + + constexpr bool + constexpr bool nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >::value + + value + = + is_constructible<BasicJsonType, + typename CompatibleArrayType::value_type>::value + + + + + + + + + + + + + + + + + + + +value + + + + + + + + + nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >value + + + diff --git a/docs/xml/dd/dcd/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4.xml b/docs/xml/dd/dcd/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4.xml new file mode 100644 index 00000000..35241f69 --- /dev/null +++ b/docs/xml/dd/dcd/structnlohmann_1_1detail_1_1is__complete__type_3_01T_00_01decltype_07void_07sizeof_07T_08_08_08_4.xml @@ -0,0 +1,42 @@ + + + + nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))> + true_type + json.hpp + + + typename T + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/dd/dde/structnlohmann_1_1detail_1_1conjunction.xml b/docs/xml/dd/dde/structnlohmann_1_1detail_1_1conjunction.xml new file mode 100644 index 00000000..96964a0f --- /dev/null +++ b/docs/xml/dd/dde/structnlohmann_1_1detail_1_1conjunction.xml @@ -0,0 +1,117 @@ + + + + nlohmann::detail::conjunction + true_type + json.hpp + + + class... + + + + + + + + + + + + < is_default_constructible< T1 >, is_default_constructible< T2 > > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + < is_constructible< T1, Args >... > + + + + + + + + + + + + + < is_default_constructible< Ts >... > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.xml b/docs/xml/de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.xml index b9833185..61b79374 100644 --- a/docs/xml/de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.xml +++ b/docs/xml/de/d00/classcudnn__frontend_1_1MatMulDescBuilder__v8.xml @@ -133,50 +133,50 @@ MatMulDescBuilder_v8 Class Helper class used to build MatMulDesc_v8 class - + - + - + -m_matMulDesc - + - + - + - + - + - + -math_precision - + - + #err_msg - + #pointer - + #status - + - + diff --git a/docs/xml/de/d0c/cudnn__frontend_8h.xml b/docs/xml/de/d0c/cudnn__frontend_8h.xml index 8c34b3f3..578466c4 100644 --- a/docs/xml/de/d0c/cudnn__frontend_8h.xml +++ b/docs/xml/de/d0c/cudnn__frontend_8h.xml @@ -7,6 +7,7 @@ cudnn_frontend_Engine.h cudnn_frontend_EngineConfig.h cudnn_frontend_EngineFallbackList.h + cudnn_frontend_Errata.h cudnn_frontend_ExecutionPlan.h cudnn_frontend_Filters.h cudnn_frontend_Operation.h @@ -17,19 +18,17 @@ cudnn_frontend_MatMulDesc.h cudnn_frontend_EngineConfigGenerator.h - + - + - + - + - - @@ -44,25 +43,102 @@ - - + + + + - + - + - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - @@ -79,15 +155,18 @@ + + - + + + + - + - - @@ -104,12 +183,12 @@ + + - + - - @@ -124,19 +203,28 @@ - - + + + + - + + + + + + + + + + - + - - @@ -153,15 +241,18 @@ + + - + - + + + + - - @@ -176,19 +267,25 @@ - - + + + + - + - + + + + + + + - - @@ -199,22 +296,28 @@ - - - - + + + + + + - + + + + + + + - - @@ -225,14 +328,17 @@ - + + + - + + + + - - @@ -247,53 +353,71 @@ - + - + - + + + + + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + - - - - + + @@ -302,91 +426,144 @@ + + + + + + + + + + + + + + - + - - - - - + - + + + - + - + - + - + - + - + + + + + - + - - + + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + - + + + + + + + + + + - + - + - + - + - + - + - + @@ -421,46 +598,49 @@ #pragmaonce -#include"cudnn_frontend_ConvDesc.h" -#include"cudnn_frontend_Heuristics.h" -#include"cudnn_frontend_Engine.h" -#include"cudnn_frontend_EngineConfig.h" -#include"cudnn_frontend_EngineFallbackList.h" -#include"cudnn_frontend_ExecutionPlan.h" -#include"cudnn_frontend_Filters.h" -#include"cudnn_frontend_Operation.h" -#include"cudnn_frontend_OperationGraph.h" -#include"cudnn_frontend_Tensor.h" -#include"cudnn_frontend_VariantPack.h" -#include"cudnn_frontend_PointWiseDesc.h" -#include"cudnn_frontend_MatMulDesc.h" - -namespacecudnn_frontend{ -usingTensor=Tensor_v8; -usingTensorBuilder=TensorBuilder_v8; -usingConvDesc=ConvDesc_v8; -usingConvDescBuilder=ConvDescBuilder_v8; -usingPointWiseDescBuilder=PointWiseDescBuilder_v8; -usingPointWiseDesc=PointWiseDesc_v8; -usingMatMulDesc=MatMulDesc_v8; -usingMatMulDescBuilder=MatMulDescBuilder_v8; -usingOperation=Operation_v8; -usingOperationBuilder=OperationBuilder_v8; -usingOperationGraph=OperationGraph_v8; -usingOperationGraphBuilder=OperationGraphBuilder_v8; -usingEngineHeuristicsBuilder=EngineHeuristicsBuilder_v8; -usingEngineHeuristics=EngineHeuristics_v8; -usingEngineBuilder=EngineBuilder_v8; -usingEngine=Engine_v8; -usingEngineConfig=EngineConfig_v8; -usingEngineConfigBuilder=EngineConfigBuilder_v8; -usingExecutionPlan=ExecutionPlan_v8; -usingExecutionPlanBuilder=ExecutionPlanBuilder_v8; -usingVariantPack=VariantPack_v8; -usingVariantPackBuilder=VariantPackBuilder_v8; -usingEngineFallbackList=EngineFallbackList_v8; -usingEngineFallbackListBuilder=EngineFallbackListBuilder_v8; -} +#include"cudnn_frontend_ConvDesc.h" +#include"cudnn_frontend_Heuristics.h" +#include"cudnn_frontend_Engine.h" +#include"cudnn_frontend_EngineConfig.h" +#include"cudnn_frontend_EngineFallbackList.h" +#include"cudnn_frontend_Errata.h" +#include"cudnn_frontend_ExecutionPlan.h" +#include"cudnn_frontend_Filters.h" +#include"cudnn_frontend_Operation.h" +#include"cudnn_frontend_OperationGraph.h" +#include"cudnn_frontend_Tensor.h" +#include"cudnn_frontend_VariantPack.h" +#include"cudnn_frontend_PointWiseDesc.h" +#include"cudnn_frontend_MatMulDesc.h" + +namespacecudnn_frontend{ +usingTensor=Tensor_v8; +usingTensorBuilder=TensorBuilder_v8; +usingConvDesc=ConvDesc_v8; +usingConvDescBuilder=ConvDescBuilder_v8; +usingPointWiseDescBuilder=PointWiseDescBuilder_v8; +usingPointWiseDesc=PointWiseDesc_v8; +usingMatMulDesc=MatMulDesc_v8; +usingMatMulDescBuilder=MatMulDescBuilder_v8; +usingReductionDesc=ReductionDesc_v8; +usingReductionDescBuilder=ReductionDescBuilder_v8; +usingOperation=Operation_v8; +usingOperationBuilder=OperationBuilder_v8; +usingOperationGraph=OperationGraph_v8; +usingOperationGraphBuilder=OperationGraphBuilder_v8; +usingEngineHeuristicsBuilder=EngineHeuristicsBuilder_v8; +usingEngineHeuristics=EngineHeuristics_v8; +usingEngineBuilder=EngineBuilder_v8; +usingEngine=Engine_v8; +usingEngineConfig=EngineConfig_v8; +usingEngineConfigBuilder=EngineConfigBuilder_v8; +usingExecutionPlan=ExecutionPlan_v8; +usingExecutionPlanBuilder=ExecutionPlanBuilder_v8; +usingVariantPack=VariantPack_v8; +usingVariantPackBuilder=VariantPackBuilder_v8; +usingEngineFallbackList=EngineFallbackList_v8; +usingEngineFallbackListBuilder=EngineFallbackListBuilder_v8; +} diff --git a/docs/xml/de/d1e/cudnn__frontend__EngineConfigGenerator_8h.xml b/docs/xml/de/d1e/cudnn__frontend__EngineConfigGenerator_8h.xml index 4bebc3a3..7b90db23 100644 --- a/docs/xml/de/d1e/cudnn__frontend__EngineConfigGenerator_8h.xml +++ b/docs/xml/de/d1e/cudnn__frontend__EngineConfigGenerator_8h.xml @@ -6,376 +6,552 @@ cudnn_frontend_find_plan.h cudnn_frontend_get_plan.h - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + + + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + + + - + - + + + + + + + + + + + + + + + + + + + + + + + - + - + - + + + + - + - + - + - + - + - + - + + + + - + + + + + + + + + + - + - + - + - + - + diff --git a/docs/xml/de/d6d/cudnn__frontend__Engine_8h.xml b/docs/xml/de/d6d/cudnn__frontend__Engine_8h.xml index 97624072..c3a27d27 100644 --- a/docs/xml/de/d6d/cudnn__frontend__Engine_8h.xml +++ b/docs/xml/de/d6d/cudnn__frontend__Engine_8h.xml @@ -17,262 +17,286 @@ cudnn_frontend_EngineConfig.h cudnn_frontend_ExecutionPlan.h - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -396,7 +420,7 @@ cudnnStatus_tstatus; for(autoi=0;i<numKnobs;i++){ autobKnob=bKnobs[i]->get_backend_descriptor(); -cudnnBackendKnobType_ttype; +cudnnBackendKnobType_ttype; int64_tmaxValue,minValue,stride,elemCount; status= cudnnBackendGetAttribute(bKnob,CUDNN_ATTR_KNOB_INFO_TYPE,CUDNN_TYPE_KNOB_TYPE,1,&elemCount,&type); diff --git a/docs/xml/de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.xml b/docs/xml/de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.xml new file mode 100644 index 00000000..e5e1e69c --- /dev/null +++ b/docs/xml/de/d74/classnlohmann_1_1detail_1_1json__reverse__iterator.xml @@ -0,0 +1,316 @@ + + + + nlohmann::detail::json_reverse_iterator + std::reverse_iterator< Base > + json.hpp + + + typename Base + + + + + std::ptrdiff_t + using nlohmann::detail::json_reverse_iterator< Base >::difference_type = std::ptrdiff_t + + difference_type + + + + + + + + + + std::reverse_iterator< Base > + using nlohmann::detail::json_reverse_iterator< Base >::base_iterator = std::reverse_iterator<Base> + + base_iterator + +shortcut to the reverse iterator adapter + + + + + + + + typename Base::reference + using nlohmann::detail::json_reverse_iterator< Base >::reference = typename Base::reference + + reference + +the reference type for the pointed-to element + + + + + + + + + + + nlohmann::detail::json_reverse_iterator< Base >::json_reverse_iterator + (const typename base_iterator::iterator_type &it) noexcept + json_reverse_iterator + + const typename base_iterator::iterator_type & + it + + +create reverse iterator from iterator + + + + + + + + + nlohmann::detail::json_reverse_iterator< Base >::json_reverse_iterator + (const base_iterator &it) noexcept + json_reverse_iterator + + const base_iterator & + it + + +create reverse iterator from base class + + + + + + + + json_reverse_iterator const + json_reverse_iterator const nlohmann::detail::json_reverse_iterator< Base >::operator++ + (int) + operator++ + + int + + +post-increment (it++) + + + + + + + + json_reverse_iterator & + json_reverse_iterator& nlohmann::detail::json_reverse_iterator< Base >::operator++ + () + operator++ + +pre-increment (++it) + + + + + + + + json_reverse_iterator const + json_reverse_iterator const nlohmann::detail::json_reverse_iterator< Base >::operator-- + (int) + operator-- + + int + + +post-decrement (it) + + + + + + + + json_reverse_iterator & + json_reverse_iterator& nlohmann::detail::json_reverse_iterator< Base >::operator-- + () + operator-- + +pre-decrement (it) + + + + + + + + json_reverse_iterator & + json_reverse_iterator& nlohmann::detail::json_reverse_iterator< Base >::operator+= + (difference_type i) + operator+= + + difference_type + i + + +add to iterator + + + + + + + + json_reverse_iterator + json_reverse_iterator nlohmann::detail::json_reverse_iterator< Base >::operator+ + (difference_type i) const + operator+ + + difference_type + i + + +add to iterator + + + + + + + + json_reverse_iterator + json_reverse_iterator nlohmann::detail::json_reverse_iterator< Base >::operator- + (difference_type i) const + operator- + + difference_type + i + + +subtract from iterator + + + + + + + + difference_type + difference_type nlohmann::detail::json_reverse_iterator< Base >::operator- + (const json_reverse_iterator &other) const + operator- + + const json_reverse_iterator & + other + + +return difference + + + + + + + + reference + reference nlohmann::detail::json_reverse_iterator< Base >::operator[] + (difference_type n) const + operator[] + + difference_type + n + + +access to successor + + + + + + + + auto + auto nlohmann::detail::json_reverse_iterator< Base >::key + () const -> decltype(std::declval< Base >().key()) + key + +return the key of an object iterator + + + + + + + + reference + reference nlohmann::detail::json_reverse_iterator< Base >::value + () const + value + +return the value of an iterator + + + + + + NLOHMANN_BASIC_JSON_TPL_DECLARATION + + + +a template for a reverse iterator class + + + +Base + + +the base iterator type to reverse. Valid types are iterator (to create reverse_iterator) and const_iterator (to create const_reverse_iterator). + + +The class satisfies the following concept requirements: +BidirectionalIterator: The iterator that can be moved can be moved in both directions (i.e. incremented and decremented).OutputIterator: It is possible to write to the pointed-to element (only if Base is iterator). +version 1.0.0 + + + + + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::json_reverse_iteratorbase_iterator + nlohmann::detail::json_reverse_iteratordifference_type + nlohmann::detail::json_reverse_iteratorjson_reverse_iterator + nlohmann::detail::json_reverse_iteratorjson_reverse_iterator + nlohmann::detail::json_reverse_iteratorkey + nlohmann::detail::json_reverse_iteratoroperator+ + nlohmann::detail::json_reverse_iteratoroperator++ + nlohmann::detail::json_reverse_iteratoroperator++ + nlohmann::detail::json_reverse_iteratoroperator+= + nlohmann::detail::json_reverse_iteratoroperator- + nlohmann::detail::json_reverse_iteratoroperator- + nlohmann::detail::json_reverse_iteratoroperator-- + nlohmann::detail::json_reverse_iteratoroperator-- + nlohmann::detail::json_reverse_iteratoroperator[] + nlohmann::detail::json_reverse_iteratorreference + nlohmann::detail::json_reverse_iteratorvalue + + + diff --git a/docs/xml/de/d77/classnlohmann_1_1detail_1_1lexer__base.xml b/docs/xml/de/d77/classnlohmann_1_1detail_1_1lexer__base.xml new file mode 100644 index 00000000..68669e01 --- /dev/null +++ b/docs/xml/de/d77/classnlohmann_1_1detail_1_1lexer__base.xml @@ -0,0 +1,190 @@ + + + + nlohmann::detail::lexer_base + nlohmann::detail::lexer< BasicJsonType, InputAdapterType > + json.hpp + + + typename BasicJsonType + + + + + token_type + + uninitialized + +indicating the scanner is uninitialized + + + + + literal_true + +the true literal + + + + + literal_false + +the false literal + + + + + literal_null + +the null literal + + + + + value_string + +a string use get_string() for actual value + + + + + value_unsigned + +an unsigned integer use get_number_unsigned() for actual value + + + + + value_integer + +a signed integer use get_number_integer() for actual value + + + + + value_float + +an floating point number use get_number_float() for actual value + + + + + begin_array + +the character for array begin [ + + + + + begin_object + +the character for object begin { + + + + + end_array + +the character for array end ] + + + + + end_object + +the character for object end } + + + + + name_separator + +the name separator : + + + + + value_separator + +the value separator , + + + + + parse_error + +indicating a parse error + + + + + end_of_input + +indicating the end of the input buffer + + + + + literal_or_value + +a literal or the begin of a value (only for diagnostics) + + + + +token types for the parser + + + + + + + + + + JSON_HEDLEY_RETURNS_NON_NULL static JSON_HEDLEY_CONST const char * + JSON_HEDLEY_RETURNS_NON_NULL static JSON_HEDLEY_CONST const char* nlohmann::detail::lexer_base< BasicJsonType >::token_type_name + (const token_type t) noexcept + token_type_name + + const token_type + t + + +return name of values of type token_type (only used for errors) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::lexer_basetoken_type + nlohmann::detail::lexer_basetoken_type_name + + + diff --git a/docs/xml/de/dbc/structnlohmann_1_1detail_1_1is__getable.xml b/docs/xml/de/dbc/structnlohmann_1_1detail_1_1is__getable.xml new file mode 100644 index 00000000..ac51056a --- /dev/null +++ b/docs/xml/de/dbc/structnlohmann_1_1detail_1_1is__getable.xml @@ -0,0 +1,51 @@ + + + + nlohmann::detail::is_getable + json.hpp + + + typename BasicJsonType + + + typename T + + + + + constexpr bool + constexpr bool nlohmann::detail::is_getable< BasicJsonType, T >::value + + value + = is_detected<get_template_function, const BasicJsonType&, T>::value + + + + + + + + + + + + + + + + + + + +value + + + + + + + + + nlohmann::detail::is_getablevalue + + + diff --git a/docs/xml/de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.xml b/docs/xml/de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.xml new file mode 100644 index 00000000..b72d0c35 --- /dev/null +++ b/docs/xml/de/dbf/structnlohmann_1_1detail_1_1utility__internal_1_1Extend_3_01integer__sequence_3_01T_00_01Ints_8_453fbce128d545e87778192b2e607842.xml @@ -0,0 +1,51 @@ + + + + nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 > + json.hpp + + + typename T + + + T... + Ints + Ints + + + size_t + SeqSize + SeqSize + + + + + integer_sequence< T, Ints...,(Ints+SeqSize)... > + using nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 >::type = integer_sequence < T, Ints..., (Ints + SeqSize)... > + + type + + + + + + + + + + + + + + + + + + + + + + nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 >type + + + diff --git a/docs/xml/de/dd9/classcudnn__frontend_1_1OperationGraph__v8.xml b/docs/xml/de/dd9/classcudnn__frontend_1_1OperationGraph__v8.xml index 5e6aa292..e7151c60 100644 --- a/docs/xml/de/dd9/classcudnn__frontend_1_1OperationGraph__v8.xml +++ b/docs/xml/de/dd9/classcudnn__frontend_1_1OperationGraph__v8.xml @@ -17,7 +17,7 @@ - cudnn_frontend::OperationGraphBuilder_v8::build + cudnn_frontend::OperationGraphBuilder_v8::build @@ -33,7 +33,7 @@ - + std::array< ManagedOpaqueDescriptor, 10 > @@ -47,7 +47,7 @@ - + int64_t @@ -61,7 +61,8 @@ - + + getOpCount std::string @@ -75,8 +76,8 @@ - - getTag + + getTag @@ -145,6 +146,20 @@ cudnn_frontend::set_error_and_throw_exception cudnn_frontend::BackendDescriptor::status + + uint64_t + uint64_t cudnn_frontend::OperationGraph_v8::getOpCount + () const + getOpCount + + + + + + + + numOps + std::string const & std::string const& cudnn_frontend::OperationGraph_v8::getTag @@ -156,10 +171,10 @@ - + OperationGraph_v8 operator= - opGraphTag + opGraphTag @@ -174,8 +189,8 @@ - - getTag + + getTag @@ -191,7 +206,7 @@ - + OperationGraph_v8 & @@ -207,9 +222,9 @@ - - cudnn_frontend::OperationGraphBuilder_v8::build - getTag + + cudnn_frontend::OperationGraphBuilder_v8::build + getTag @@ -219,92 +234,92 @@ handleoperation Use OperationGraphBuilder_v8 to build this class. Describe returns a string describing the tensor class - + - + - + - + - + - + - + - + +elements - + - + +elements - + < ManagedOpaqueDescriptor, 10 > - + - + - + - + - + -numOps - + -ops - + -opGraphTag - + -handle - + - + - + - + #err_msg - + #pointer - + #status - + - + - + cudnn_frontend::OperationGraph_v8BackendDescriptor cudnn_frontend::OperationGraph_v8BackendDescriptor @@ -315,6 +330,7 @@ cudnn_frontend::OperationGraph_v8get_raw_desc cudnn_frontend::OperationGraph_v8get_status cudnn_frontend::OperationGraph_v8getEngineCount + cudnn_frontend::OperationGraph_v8getOpCount cudnn_frontend::OperationGraph_v8getTag cudnn_frontend::OperationGraph_v8handle cudnn_frontend::OperationGraph_v8initialize_managed_backend_pointer diff --git a/docs/xml/de/df0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.xml b/docs/xml/de/df0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.xml new file mode 100644 index 00000000..e9a8a9b9 --- /dev/null +++ b/docs/xml/de/df0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl.xml @@ -0,0 +1,66 @@ + + + + nlohmann::detail::is_constructible_string_type_impl + false_type + json.hpp + + + typename + BasicJsonType + BasicJsonType + + + typename + ConstructibleStringType + ConstructibleStringType + + + typename + void + + + + + + + + + + + + + + + + + + + + + + + + + + + < BasicJsonType, ConstructibleStringType > + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/de/df2/classnlohmann_1_1detail_1_1exception.xml b/docs/xml/de/df2/classnlohmann_1_1detail_1_1exception.xml new file mode 100644 index 00000000..bb75b796 --- /dev/null +++ b/docs/xml/de/df2/classnlohmann_1_1detail_1_1exception.xml @@ -0,0 +1,224 @@ + + + + nlohmann::detail::exception + std::exception + nlohmann::detail::invalid_iterator + nlohmann::detail::other_error + nlohmann::detail::out_of_range + nlohmann::detail::parse_error + nlohmann::detail::type_error + json.hpp + + + const int + const int nlohmann::detail::exception::id + + id + +the id of the exception + + + + + + + + + + std::runtime_error + std::runtime_error nlohmann::detail::exception::m + + m + +an exception object as storage for error messages + + + + + + + + + + const char * + const char* nlohmann::detail::exception::what + () const noexcept override + what + +returns the explanatory string + + + + + + + + + + + nlohmann::detail::exception::exception + (int id_, const char *what_arg) + exception + + int + id_ + + + const char * + what_arg + + + + + + + + + + + + + std::string + static std::string nlohmann::detail::exception::name + (const std::string &ename, int id_) + name + + const std::string & + ename + + + int + id_ + + + + + + + + + nlohmann::to_string + nlohmann::detail::parse_error::create + nlohmann::detail::invalid_iterator::create + nlohmann::detail::type_error::create + nlohmann::detail::out_of_range::create + nlohmann::detail::other_error::create + + + + + typename BasicJsonType + + + std::string + static std::string nlohmann::detail::exception::diagnostics + (const BasicJsonType &leaf_element) + diagnostics + + const BasicJsonType & + leaf_element + + + + + + + + + nlohmann::detail::array + nlohmann::detail::escape + nlohmann::detail::object + nlohmann::detail::string + nlohmann::to_string + nlohmann::detail::parse_error::create + nlohmann::detail::invalid_iterator::create + nlohmann::detail::type_error::create + nlohmann::detail::out_of_range::create + nlohmann::detail::other_error::create + + + +general exception of the basic_json class + +This class is an extension of std::exception objects with a member id for exception ids. It is used as the base class for all exceptions thrown by the basic_json class. This class can hence be used as "wildcard" to catch exceptions.Subclasses: +parse_error for exceptions indicating a parse errorinvalid_iterator for exceptions indicating errors with iteratorstype_error for exceptions indicating executing a member function with a wrong typeout_of_range for exceptions indicating access out of the defined rangeother_error for exceptions indicating other library errors +{The following code shows how arbitrary library exceptions can be caught.,exception}version 3.0.0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -m + + + +id + + + + + + nlohmann::detail::exceptiondiagnostics + nlohmann::detail::exceptionexception + nlohmann::detail::exceptionid + nlohmann::detail::exceptionm + nlohmann::detail::exceptionname + nlohmann::detail::exceptionwhat + + + diff --git a/docs/xml/df/d13/classnlohmann_1_1detail_1_1output__adapter.xml b/docs/xml/df/d13/classnlohmann_1_1detail_1_1output__adapter.xml new file mode 100644 index 00000000..6826217e --- /dev/null +++ b/docs/xml/df/d13/classnlohmann_1_1detail_1_1output__adapter.xml @@ -0,0 +1,126 @@ + + + + nlohmann::detail::output_adapter + json.hpp + + + typename + CharType + CharType + + + typename + StringType + StringType + std::basic_string<CharType> + + + + + output_adapter_t< CharType > + output_adapter_t<CharType> nlohmann::detail::output_adapter< CharType, StringType >::oa + + oa + = nullptr + + + + + + + + + + + + + nlohmann::detail::output_adapter< CharType, StringType >::output_adapter + (std::vector< CharType > &vec) + output_adapter + + std::vector< CharType > & + vec + + + + + + + + + + + + nlohmann::detail::output_adapter< CharType, StringType >::output_adapter + (std::basic_ostream< CharType > &s) + output_adapter + + std::basic_ostream< CharType > & + s + + + + + + + + + + + + nlohmann::detail::output_adapter< CharType, StringType >::output_adapter + (StringType &s) + output_adapter + + StringType & + s + + + + + + + + + + + + nlohmann::detail::output_adapter< CharType, StringType >::operator output_adapter_t< CharType > + () + operator output_adapter_t< CharType > + + + + + + + + + + + + + + + + + + + -oa + + + + + + + + + nlohmann::detail::output_adapteroa + nlohmann::detail::output_adapteroperator output_adapter_t< CharType > + nlohmann::detail::output_adapteroutput_adapter + nlohmann::detail::output_adapteroutput_adapter + nlohmann::detail::output_adapteroutput_adapter + + + diff --git a/docs/xml/df/d17/cudnn__frontend__utils_8h.xml b/docs/xml/df/d17/cudnn__frontend__utils_8h.xml index 4f5b7c58..9ba8adf8 100644 --- a/docs/xml/df/d17/cudnn__frontend__utils_8h.xml +++ b/docs/xml/df/d17/cudnn__frontend__utils_8h.xml @@ -8,6 +8,7 @@ cudnn_frontend_ConvDesc.h cudnn_frontend_PointWiseDesc.h cudnn_frontend_MatMulDesc.h + cudnn_frontend_ReductionDesc.h cudnn_frontend_Tensor.h cudnn_frontend_Operation.h cudnn_frontend_OperationGraph.h @@ -17,163 +18,171 @@ cudnn_frontend_ExecutionPlan.h cudnn_frontend_VariantPack.h - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + - + - + - + @@ -250,7 +259,7 @@ } #ifndefNV_CUDNN_DISABLE_EXCEPTION throwcudnnException( -std::string(std::string(message)+std::string("cudnn_status:")+std::to_string(status)).c_str()); +std::string(std::string(message)+std::string("cudnn_status:")+std::to_string(status)).c_str()); #endif } } diff --git a/docs/xml/df/d17/structnlohmann_1_1detail_1_1is__constructible__tuple.xml b/docs/xml/df/d17/structnlohmann_1_1detail_1_1is__constructible__tuple.xml new file mode 100644 index 00000000..41258c88 --- /dev/null +++ b/docs/xml/df/d17/structnlohmann_1_1detail_1_1is__constructible__tuple.xml @@ -0,0 +1,45 @@ + + + + nlohmann::detail::is_constructible_tuple + false_type + json.hpp + + + typename T1 + + + typename T2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/xml/df/d1a/classnlohmann_1_1detail_1_1binary__writer.xml b/docs/xml/df/d1a/classnlohmann_1_1detail_1_1binary__writer.xml new file mode 100644 index 00000000..40b9abe9 --- /dev/null +++ b/docs/xml/df/d1a/classnlohmann_1_1detail_1_1binary__writer.xml @@ -0,0 +1,1187 @@ + + + + nlohmann::detail::binary_writer + json.hpp + + + typename BasicJsonType + + + typename CharType + + + + + typename BasicJsonType::string_t + using nlohmann::detail::binary_writer< BasicJsonType, CharType >::string_t = typename BasicJsonType::string_t + + string_t + + + + + + + + + + typename BasicJsonType::binary_t + using nlohmann::detail::binary_writer< BasicJsonType, CharType >::binary_t = typename BasicJsonType::binary_t + + binary_t + + + + + + + + + + typename BasicJsonType::number_float_t + using nlohmann::detail::binary_writer< BasicJsonType, CharType >::number_float_t = typename BasicJsonType::number_float_t + + number_float_t + + + + + + + + + + + + const bool + const bool nlohmann::detail::binary_writer< BasicJsonType, CharType >::is_little_endian + + is_little_endian + = little_endianess() + +whether we can assume little endianess + + + + + + + + output_adapter_t< CharType > + output_adapter_t<CharType> nlohmann::detail::binary_writer< BasicJsonType, CharType >::oa + + oa + = nullptr + +the output + + + + + + + + + + + nlohmann::detail::binary_writer< BasicJsonType, CharType >::binary_writer + (output_adapter_t< CharType > adapter) + binary_writer + + output_adapter_t< CharType > + adapter + + +create a binary writer + + + +adapter + + +output adapter to write to + + + + + + + JSON_ASSERT + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson + (const BasicJsonType &j) + write_bson + + const BasicJsonType & + j + + + + + + +j + + +JSON value to serialize + + +j.type() == value_t::object + + + + + nlohmann::detail::type_error::create + JSON_THROW + nlohmann::detail::object + nlohmann::detail::string + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_cbor + (const BasicJsonType &j) + write_cbor + + const BasicJsonType & + j + + + + + + +j + + +JSON value to serialize + + + + + + + nlohmann::detail::array + nlohmann::detail::binary + nlohmann::detail::boolean + nlohmann::detail::cbor + nlohmann::detail::null + nlohmann::detail::number_float + nlohmann::detail::number_integer + nlohmann::detail::number_unsigned + nlohmann::detail::object + nlohmann::detail::string + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_msgpack + (const BasicJsonType &j) + write_msgpack + + const BasicJsonType & + j + + + + + + +j + + +JSON value to serialize + + + + + + + nlohmann::detail::array + nlohmann::detail::binary + nlohmann::detail::boolean + nlohmann::detail::msgpack + nlohmann::detail::null + nlohmann::detail::number_float + nlohmann::detail::number_integer + nlohmann::detail::number_unsigned + nlohmann::detail::object + nlohmann::detail::string + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_ubjson + (const BasicJsonType &j, const bool use_count, const bool use_type, const bool add_prefix=true) + write_ubjson + + const BasicJsonType & + j + + + const bool + use_count + + + const bool + use_type + + + const bool + add_prefix + true + + + + + + +j + + +JSON value to serialize + + + +use_count + + +whether to use '#' prefixes (optimized format) + + + +use_type + + +whether to use '$' prefixes (optimized format) + + + +add_prefix + + +whether prefixes need to be used for this value + + + + + + + nlohmann::detail::array + nlohmann::detail::binary + nlohmann::detail::boolean + JSON_ASSERT + nlohmann::detail::null + nlohmann::detail::number_float + nlohmann::detail::number_integer + nlohmann::detail::number_unsigned + nlohmann::detail::object + nlohmann::detail::string + + + + + std::size_t + static std::size_t nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_entry_header_size + (const string_t &name, const BasicJsonType &j) + calc_bson_entry_header_size + + const string_t & + name + + + const BasicJsonType & + j + + + + +The size of a BSON document entry header, including the id marker and the entry name size (and its null-terminator). + + + + + nlohmann::detail::out_of_range::create + JSON_HEDLEY_UNLIKELY + JSON_THROW + nlohmann::to_string + + + std::size_t + static std::size_t nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_string_size + (const string_t &value) + calc_bson_string_size + + const string_t & + value + + + + +The size of the BSON-encoded string in value + + + + + + + std::size_t + static std::size_t nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_integer_size + (const std::int64_t value) + calc_bson_integer_size + + const std::int64_t + value + + + + +The size of the BSON-encoded integer value + + + + + + + constexpr std::size_t + static constexpr std::size_t nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_unsigned_size + (const std::uint64_t value) noexcept + calc_bson_unsigned_size + + const std::uint64_t + value + + + + +The size of the BSON-encoded unsigned integer in j + + + + + nlohmann::detail::value + + + std::size_t + static std::size_t nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_array_size + (const typename BasicJsonType::array_t &value) + calc_bson_array_size + + const typename BasicJsonType::array_t & + value + + + + +The size of the BSON-encoded array value + + + + + nlohmann::to_string + + + std::size_t + static std::size_t nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_binary_size + (const typename BasicJsonType::binary_t &value) + calc_bson_binary_size + + const typename BasicJsonType::binary_t & + value + + + + +The size of the BSON-encoded binary array value + + + + + + + std::size_t + static std::size_t nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_element_size + (const string_t &name, const BasicJsonType &j) + calc_bson_element_size + + const string_t & + name + + + const BasicJsonType & + j + + +Calculates the size necessary to serialize the JSON value j with its name. + +The calculated size for the BSON document entry for j with the given name. + + + + + nlohmann::detail::array + nlohmann::detail::binary + nlohmann::detail::boolean + JSON_ASSERT + nlohmann::detail::null + nlohmann::detail::number_float + nlohmann::detail::number_integer + nlohmann::detail::number_unsigned + nlohmann::detail::object + nlohmann::detail::string + + + std::size_t + static std::size_t nlohmann::detail::binary_writer< BasicJsonType, CharType >::calc_bson_object_size + (const typename BasicJsonType::object_t &value) + calc_bson_object_size + + const typename BasicJsonType::object_t & + value + + +Calculates the size of the BSON serialization of the given JSON-object j. + + + +value + + +JSON value to serialize + + +value.type() == value_t::object + + + + + + + constexpr CharType + static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::get_cbor_float_prefix + (float) + get_cbor_float_prefix + + float + + + + + + + + + + + constexpr CharType + static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::get_cbor_float_prefix + (double) + get_cbor_float_prefix + + double + + + + + + + + + + + constexpr CharType + static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::get_msgpack_float_prefix + (float) + get_msgpack_float_prefix + + float + + + + + + + + + + + constexpr CharType + static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::get_msgpack_float_prefix + (double) + get_msgpack_float_prefix + + double + + + + + + + + + + + constexpr CharType + static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::get_ubjson_float_prefix + (float) + get_ubjson_float_prefix + + float + + + + + + + + + + + constexpr CharType + static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::get_ubjson_float_prefix + (double) + get_ubjson_float_prefix + + double + + + + + + + + + + + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_entry_header + (const string_t &name, const std::uint8_t element_type) + write_bson_entry_header + + const string_t & + name + + + const std::uint8_t + element_type + + +Writes the given element_type and name to the output adapter. + + + + + + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_boolean + (const string_t &name, const bool value) + write_bson_boolean + + const string_t & + name + + + const bool + value + + +Writes a BSON element with key name and boolean value value. + + + + + + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_double + (const string_t &name, const double value) + write_bson_double + + const string_t & + name + + + const double + value + + +Writes a BSON element with key name and double value value. + + + + + + nlohmann::detail::value + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_string + (const string_t &name, const string_t &value) + write_bson_string + + const string_t & + name + + + const string_t & + value + + +Writes a BSON element with key name and string value value. + + + + + + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_null + (const string_t &name) + write_bson_null + + const string_t & + name + + +Writes a BSON element with key name and null value. + + + + + + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_integer + (const string_t &name, const std::int64_t value) + write_bson_integer + + const string_t & + name + + + const std::int64_t + value + + +Writes a BSON element with key name and integer value. + + + + + + nlohmann::detail::value + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_unsigned + (const string_t &name, const BasicJsonType &j) + write_bson_unsigned + + const string_t & + name + + + const BasicJsonType & + j + + +Writes a BSON element with key name and unsigned value. + + + + + + nlohmann::detail::out_of_range::create + JSON_THROW + nlohmann::to_string + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_object_entry + (const string_t &name, const typename BasicJsonType::object_t &value) + write_bson_object_entry + + const string_t & + name + + + const typename BasicJsonType::object_t & + value + + +Writes a BSON element with key name and object value. + + + + + + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_array + (const string_t &name, const typename BasicJsonType::array_t &value) + write_bson_array + + const string_t & + name + + + const typename BasicJsonType::array_t & + value + + +Writes a BSON element with key name and array value. + + + + + + nlohmann::to_string + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_binary + (const string_t &name, const binary_t &value) + write_bson_binary + + const string_t & + name + + + const binary_t & + value + + +Writes a BSON element with key name and binary value value. + + + + + + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_element + (const string_t &name, const BasicJsonType &j) + write_bson_element + + const string_t & + name + + + const BasicJsonType & + j + + +Serializes the JSON value j to BSON and associates it with the key name. + + + +name + + +The name to associate with the JSON entity j within the current BSON document + + + + + + + nlohmann::detail::array + nlohmann::detail::binary + nlohmann::detail::boolean + JSON_ASSERT + nlohmann::detail::null + nlohmann::detail::number_float + nlohmann::detail::number_integer + nlohmann::detail::number_unsigned + nlohmann::detail::object + nlohmann::detail::string + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_bson_object + (const typename BasicJsonType::object_t &value) + write_bson_object + + const typename BasicJsonType::object_t & + value + + + + + + +value + + +JSON value to serialize + + +value.type() == value_t::object + + + + + + + + + typename NumberType + + + typename std::enable_if< std::is_floating_point< NumberType >::value, int >::type + 0 + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_number_with_ubjson_prefix + (const NumberType n, const bool add_prefix) + write_number_with_ubjson_prefix + + const NumberType + n + + + const bool + add_prefix + + + + + + + + + + + + + typename NumberType + + + typename std::enable_if< std::is_unsigned< NumberType >::value, int >::type + 0 + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_number_with_ubjson_prefix + (const NumberType n, const bool add_prefix) + write_number_with_ubjson_prefix + + const NumberType + n + + + const bool + add_prefix + + + + + + + + + + + + + typename NumberType + + + typename std::enable_if< std::is_signed< NumberType >::value &&!std::is_floating_point< NumberType >::value, int >::type + 0 + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_number_with_ubjson_prefix + (const NumberType n, const bool add_prefix) + write_number_with_ubjson_prefix + + const NumberType + n + + + const bool + add_prefix + + + + + + + + + + + CharType + CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::ubjson_prefix + (const BasicJsonType &j) const noexcept + ubjson_prefix + + const BasicJsonType & + j + + +determine the type prefix of container values + + + + + + nlohmann::detail::array + nlohmann::detail::binary + nlohmann::detail::boolean + nlohmann::detail::null + nlohmann::detail::number_float + nlohmann::detail::number_integer + nlohmann::detail::number_unsigned + nlohmann::detail::object + nlohmann::detail::string + + + + + typename NumberType + + + bool + OutputIsLittleEndian + OutputIsLittleEndian + false + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_number + (const NumberType n) + write_number + + const NumberType + n + + + + + + + + + + + void + void nlohmann::detail::binary_writer< BasicJsonType, CharType >::write_compact_float + (const number_float_t n, detail::input_format_t format) + write_compact_float + + const number_float_t + n + + + detail::input_format_t + format + + + + + + + + + nlohmann::detail::cbor + + + + + + + typename C + CharType + + + enable_if_t< std::is_signed< C >::value &&std::is_signed< char >::value > * + nullptr + + + constexpr CharType + static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type + (std::uint8_t x) noexcept + to_char_type + + std::uint8_t + x + + + + + + + + + nlohmann::detail::serializer< BasicJsonType >::for + + + + + typename C + CharType + + + enable_if_t< std::is_signed< C >::value &&std::is_unsigned< char >::value > * + nullptr + + + CharType + static CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type + (std::uint8_t x) noexcept + to_char_type + + std::uint8_t + x + + + + + + + + + + + + + typename C + CharType + + + enable_if_t< std::is_unsigned< C >::value > * + nullptr + + + constexpr CharType + static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type + (std::uint8_t x) noexcept + to_char_type + + std::uint8_t + x + + + + + + + + + + + + + typename InputCharType + + + typename C + CharType + + + enable_if_t< std::is_signed< C >::value &&std::is_signed< char >::value &&std::is_same< char, typename std::remove_cv< InputCharType >::type >::value > * + nullptr + + + constexpr CharType + static constexpr CharType nlohmann::detail::binary_writer< BasicJsonType, CharType >::to_char_type + (InputCharType x) noexcept + to_char_type + + InputCharType + x + + + + + + + + + + + +serialization to CBOR and MessagePack values + + + + + + + + + + + -oa + + + -is_little_endian + + + + + + + + + nlohmann::detail::binary_writerbinary_t + nlohmann::detail::binary_writerbinary_writer + nlohmann::detail::binary_writercalc_bson_array_size + nlohmann::detail::binary_writercalc_bson_binary_size + nlohmann::detail::binary_writercalc_bson_element_size + nlohmann::detail::binary_writercalc_bson_entry_header_size + nlohmann::detail::binary_writercalc_bson_integer_size + nlohmann::detail::binary_writercalc_bson_object_size + nlohmann::detail::binary_writercalc_bson_string_size + nlohmann::detail::binary_writercalc_bson_unsigned_size + nlohmann::detail::binary_writerget_cbor_float_prefix + nlohmann::detail::binary_writerget_cbor_float_prefix + nlohmann::detail::binary_writerget_msgpack_float_prefix + nlohmann::detail::binary_writerget_msgpack_float_prefix + nlohmann::detail::binary_writerget_ubjson_float_prefix + nlohmann::detail::binary_writerget_ubjson_float_prefix + nlohmann::detail::binary_writeris_little_endian + nlohmann::detail::binary_writernumber_float_t + nlohmann::detail::binary_writeroa + nlohmann::detail::binary_writerstring_t + nlohmann::detail::binary_writerto_char_type + nlohmann::detail::binary_writerto_char_type + nlohmann::detail::binary_writerto_char_type + nlohmann::detail::binary_writerto_char_type + nlohmann::detail::binary_writerubjson_prefix + nlohmann::detail::binary_writerwrite_bson + nlohmann::detail::binary_writerwrite_bson_array + nlohmann::detail::binary_writerwrite_bson_binary + nlohmann::detail::binary_writerwrite_bson_boolean + nlohmann::detail::binary_writerwrite_bson_double + nlohmann::detail::binary_writerwrite_bson_element + nlohmann::detail::binary_writerwrite_bson_entry_header + nlohmann::detail::binary_writerwrite_bson_integer + nlohmann::detail::binary_writerwrite_bson_null + nlohmann::detail::binary_writerwrite_bson_object + nlohmann::detail::binary_writerwrite_bson_object_entry + nlohmann::detail::binary_writerwrite_bson_string + nlohmann::detail::binary_writerwrite_bson_unsigned + nlohmann::detail::binary_writerwrite_cbor + nlohmann::detail::binary_writerwrite_compact_float + nlohmann::detail::binary_writerwrite_msgpack + nlohmann::detail::binary_writerwrite_number + nlohmann::detail::binary_writerwrite_number_with_ubjson_prefix + nlohmann::detail::binary_writerwrite_number_with_ubjson_prefix + nlohmann::detail::binary_writerwrite_number_with_ubjson_prefix + nlohmann::detail::binary_writerwrite_ubjson + + + diff --git a/docs/xml/df/d3e/cudnn__frontend__EngineFallbackList_8h.xml b/docs/xml/df/d3e/cudnn__frontend__EngineFallbackList_8h.xml index f2823246..a546004a 100644 --- a/docs/xml/df/d3e/cudnn__frontend__EngineFallbackList_8h.xml +++ b/docs/xml/df/d3e/cudnn__frontend__EngineFallbackList_8h.xml @@ -6,47 +6,47 @@ numeric cudnn_frontend.h - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -88,134 +88,143 @@ namespacecudnn_frontend{ -autostaticget_fallback_engine_list(cudnnBackendDescriptorType_tmode)->std::vector<int>{ +autostaticget_fallback_engine_list(cudnnBackendDescriptorType_tmode,conststd::string&opGraphTag)->std::vector<int>{ automajor_version=cudnnGetVersion()/1000; -; + autominor_version=(cudnnGetVersion()/100)%10; if(major_version>=8){ -if(minor_version==0){ -if(mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR){ -return{0,1,28}; -}elseif(mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR){ -return{0,1,25}; -}elseif(mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR){ -return{0,1,20}; -}else{ -return{}; -} -}elseif(minor_version<=2){ -if(mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR){ -std::vector<int>engine_list(50); -std::iota(engine_list.begin(),engine_list.end(),0); -returnengine_list; -}elseif(mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR){ -std::vector<int>engine_list(61); -std::iota(engine_list.begin(),engine_list.end(),0); -returnengine_list; -}elseif(mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR){ -return{0,1,20}; -}else{ -return{}; -} -}else{ -return{}; -} -}else{ -return{}; -} -} - -classEngineFallbackList_v8:publicBackendDescriptor{ -public: -friendclassEngineFallbackListBuilder_v8; - -std::string -describe()constoverride{ -std::stringstreamss; -ss<<"CUDNN_BACKEND_FALLBACKENGINES:"; -returnss.str(); -} - -auto -getFallbackList()->std::vector<ManagedOpaqueDescriptor>&{ -returnm_engine_configs; -} - -~EngineFallbackList_v8()=default; - -EngineFallbackList_v8(EngineFallbackList_v8&&from) -:BackendDescriptor(from.get_desc(),from.get_status(),from.get_error()), -opGraph(from.opGraph), -mode(from.mode), -opGraphTag(from.opGraphTag){ -m_engine_configs.swap(from.m_engine_configs); +if(minor_version<=2){ +if(mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR){ +if(opGraphTag.find("bias")==std::string::npos){ +std::vector<int>engine_list(50); +std::iota(engine_list.begin(),engine_list.end(),0); +returnengine_list; +}else{ +return{11,0}; +} +}elseif(mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR){ +std::vector<int>engine_list(61); +std::iota(engine_list.begin(),engine_list.end(),0); +returnengine_list; +}elseif(mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR){ +return{0,1,20}; +}else{ +return{}; +} +}else{ +if(mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_FORWARD_DESCRIPTOR){ +if(opGraphTag.find("bias")==std::string::npos){ +return{0,1,28}; +}else{ +return{}; +} +}elseif(mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_DATA_DESCRIPTOR){ +return{0,1,25}; +}elseif(mode==CUDNN_BACKEND_OPERATION_CONVOLUTION_BACKWARD_FILTER_DESCRIPTOR){ +return{0,1,20}; +}else{ +return{}; +} +} +}else{ +return{}; +} +} + +classEngineFallbackList_v8:publicBackendDescriptor{ +public: +friendclassEngineFallbackListBuilder_v8; + +std::string +describe()constoverride{ +std::stringstreamss; +ss<<"CUDNN_BACKEND_FALLBACKENGINES:"; +returnss.str(); +} + +auto +getFallbackList()->std::vector<ManagedOpaqueDescriptor>&{ +returnm_engine_configs; } -private: -EngineFallbackList_v8()=default; -EngineFallbackList_v8(EngineFallbackList_v8const&)=delete; -EngineFallbackList_v8& -operator=(EngineFallbackList_v8const&)=delete; - -ManagedOpaqueDescriptoropGraph=nullptr; -cudnnBackendDescriptorType_tmode; -std::vector<ManagedOpaqueDescriptor>m_engine_configs; -std::stringopGraphTag; -}; - -classEngineFallbackListBuilder_v8{ -public: -auto -setOperationGraph(OperationGraph_v8&opGraph_)->EngineFallbackListBuilder_v8&{ -m_fallback_list.opGraph=opGraph_.get_desc(); -m_fallback_list.opGraphTag=opGraph_.getTag(); -return*this; -} -auto -setOperation(cudnnBackendDescriptorType_tmode)->EngineFallbackListBuilder_v8&{ -m_fallback_list.mode=mode; -return*this; -} -EngineFallbackList_v8&& -build(){ -if(m_fallback_list.opGraph==nullptr){ -set_error_and_throw_exception(&m_fallback_list, -CUDNN_STATUS_BAD_PARAM, -"CUDNN_BACKEND_ENGINEHEUR_DESCRIPTOR:CheckandSetthe" -"CUDNN_ATTR_ENGINEHEUR_OPERATION_GRAPHfieldforheuristic"); -returnstd::move(m_fallback_list); -}; -autofallback_engine_list=get_fallback_engine_list(m_fallback_list.mode); -for(std::uint32_ti=0;i<fallback_engine_list.size();i++){ -#ifndefNV_CUDNN_DISABLE_EXCEPTION -try{ -#endif -autoengine=cudnn_frontend::EngineBuilder_v8() -.setGlobalEngineIdx(fallback_engine_list[i]) -.setOperationGraph(m_fallback_list.opGraph) -.build(); -autoengine_config=cudnn_frontend::EngineConfigBuilder_v8().setEngine(engine).build(); -m_fallback_list.m_engine_configs.emplace_back(engine_config.get_desc()); -#ifndefNV_CUDNN_DISABLE_EXCEPTION -}catch(cudnn_frontend::cudnnException){ -continue; -} -#endif -} -returnstd::move(m_fallback_list); -} - -explicitEngineFallbackListBuilder_v8()=default; -~EngineFallbackListBuilder_v8()=default; -EngineFallbackListBuilder_v8(EngineFallbackListBuilder_v8&&)=delete; -EngineFallbackListBuilder_v8(EngineFallbackListBuilder_v8const&)=delete; -EngineFallbackListBuilder_v8& -operator=(EngineFallbackListBuilder_v8const&)=delete; - -private: -EngineFallbackList_v8m_fallback_list; -}; -} +~EngineFallbackList_v8()=default; + +EngineFallbackList_v8(EngineFallbackList_v8&&from) +:BackendDescriptor(from.get_desc(),from.get_status(),from.get_error()), +opGraph(from.opGraph), +mode(from.mode), +num_ops(from.num_ops), +opGraphTag(from.opGraphTag){ +m_engine_configs.swap(from.m_engine_configs); +} + +private: +EngineFallbackList_v8()=default; +EngineFallbackList_v8(EngineFallbackList_v8const&)=delete; +EngineFallbackList_v8& +operator=(EngineFallbackList_v8const&)=delete; + +ManagedOpaqueDescriptoropGraph=nullptr; +cudnnBackendDescriptorType_tmode; +uint64_tnum_ops; +std::vector<ManagedOpaqueDescriptor>m_engine_configs; +std::stringopGraphTag; +}; + +classEngineFallbackListBuilder_v8{ +public: +auto +setOperationGraph(OperationGraph_v8&opGraph_)->EngineFallbackListBuilder_v8&{ +m_fallback_list.opGraph=opGraph_.get_desc(); +m_fallback_list.opGraphTag=opGraph_.getTag(); +m_fallback_list.num_ops=opGraph_.getOpCount(); +return*this; +} +auto +setOperation(cudnnBackendDescriptorType_tmode)->EngineFallbackListBuilder_v8&{ +m_fallback_list.mode=mode; +return*this; +} +EngineFallbackList_v8&& +build(){ +if(m_fallback_list.opGraph==nullptr){ +set_error_and_throw_exception(&m_fallback_list, +CUDNN_STATUS_BAD_PARAM, +"CUDNN_BACKEND_ENGINEHEUR_DESCRIPTOR:CheckandSetthe" +"CUDNN_ATTR_ENGINEHEUR_OPERATION_GRAPHfieldforheuristic"); +returnstd::move(m_fallback_list); +}; +autofallback_engine_list=get_fallback_engine_list(m_fallback_list.mode,m_fallback_list.opGraphTag); +for(std::uint32_ti=0;i<fallback_engine_list.size();i++){ +#ifndefNV_CUDNN_DISABLE_EXCEPTION +try{ +#endif +autoengine=cudnn_frontend::EngineBuilder_v8() +.setGlobalEngineIdx(fallback_engine_list[i]) +.setOperationGraph(m_fallback_list.opGraph) +.build(); +autoengine_config=cudnn_frontend::EngineConfigBuilder_v8().setEngine(engine).build(); +m_fallback_list.m_engine_configs.emplace_back(engine_config.get_desc()); +#ifndefNV_CUDNN_DISABLE_EXCEPTION +}catch(cudnn_frontend::cudnnException&e){ +continue; +} +#endif +} +returnstd::move(m_fallback_list); +} + +explicitEngineFallbackListBuilder_v8()=default; +~EngineFallbackListBuilder_v8()=default; +EngineFallbackListBuilder_v8(EngineFallbackListBuilder_v8&&)=delete; +EngineFallbackListBuilder_v8(EngineFallbackListBuilder_v8const&)=delete; +EngineFallbackListBuilder_v8& +operator=(EngineFallbackListBuilder_v8const&)=delete; + +private: +EngineFallbackList_v8m_fallback_list; +}; +} diff --git a/docs/xml/df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.xml b/docs/xml/df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.xml new file mode 100644 index 00000000..2946b5c1 --- /dev/null +++ b/docs/xml/df/d4e/structstd_1_1less_3_1_1nlohmann_1_1detail_1_1value__t_01_4.xml @@ -0,0 +1,49 @@ + + + + std::less<::nlohmann::detail::value_t > + json.hpp + + + + + bool + bool std::less<::nlohmann::detail::value_t >::operator() + (nlohmann::detail::value_t lhs, nlohmann::detail::value_t rhs) const noexcept + operator() + + nlohmann::detail::value_t + lhs + + + nlohmann::detail::value_t + rhs + + +compare two value_t enum values + +version 3.0.0 + + + + + nlohmann::detail::operator< + + + + + +specialization for std::less<value_t> : do not remove the space after '<', see https://github.com/nlohmann/json/pull/679 + + + + + + + + + + std::less<::nlohmann::detail::value_t >operator() + + + diff --git a/docs/xml/df/d6b/classnlohmann_1_1detail_1_1parser.xml b/docs/xml/df/d6b/classnlohmann_1_1detail_1_1parser.xml new file mode 100644 index 00000000..775db118 --- /dev/null +++ b/docs/xml/df/d6b/classnlohmann_1_1detail_1_1parser.xml @@ -0,0 +1,428 @@ + + + + nlohmann::detail::parser + json.hpp + + + typename BasicJsonType + + + typename InputAdapterType + + + + + typename BasicJsonType::number_integer_t + using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::number_integer_t = typename BasicJsonType::number_integer_t + + number_integer_t + + + + + + + + + + typename BasicJsonType::number_unsigned_t + using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::number_unsigned_t = typename BasicJsonType::number_unsigned_t + + number_unsigned_t + + + + + + + + + + typename BasicJsonType::number_float_t + using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::number_float_t = typename BasicJsonType::number_float_t + + number_float_t + + + + + + + + + + typename BasicJsonType::string_t + using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::string_t = typename BasicJsonType::string_t + + string_t + + + + + + + + + + lexer< BasicJsonType, InputAdapterType > + using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::lexer_t = lexer<BasicJsonType, InputAdapterType> + + lexer_t + + + + + + + + + + typename lexer_t::token_type + using nlohmann::detail::parser< BasicJsonType, InputAdapterType >::token_type = typename lexer_t::token_type + + token_type + + + + + + + + + + + + const parser_callback_t< BasicJsonType > + const parser_callback_t<BasicJsonType> nlohmann::detail::parser< BasicJsonType, InputAdapterType >::callback + + callback + = nullptr + +callback function + + + + + + + + token_type + token_type nlohmann::detail::parser< BasicJsonType, InputAdapterType >::last_token + + last_token + = token_type::uninitialized + +the type of the last read token + + + + + + + + lexer_t + lexer_t nlohmann::detail::parser< BasicJsonType, InputAdapterType >::m_lexer + + m_lexer + +the lexer + + + + + + + + const bool + const bool nlohmann::detail::parser< BasicJsonType, InputAdapterType >::allow_exceptions + + allow_exceptions + = true + +whether to throw exceptions in case of errors + + + + + + + + + + + nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parser + (InputAdapterType &&adapter, const parser_callback_t< BasicJsonType > cb=nullptr, const bool allow_exceptions_=true, const bool skip_comments=false) + parser + + InputAdapterType && + adapter + + + const parser_callback_t< BasicJsonType > + cb + nullptr + + + const bool + allow_exceptions_ + true + + + const bool + skip_comments + false + + +a parser reading from an input adapter + + + + + + + + void + void nlohmann::detail::parser< BasicJsonType, InputAdapterType >::parse + (const bool strict, BasicJsonType &result) + parse + + const bool + strict + + + BasicJsonType & + result + + +public parser interface + + + +strict + + +whether to expect the last token to be EOF + + + +result + + +parsed JSON value + + + + +parse_error.101 + + +in case of an unexpected token + + + +parse_error.102 + + +if to_unicode fails or surrogate error + + + +parse_error.103 + + +if to_unicode fails + + + + + + + nlohmann::detail::parse_error::create + nlohmann::detail::discarded + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::is_errored + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::is_errored + nlohmann::detail::json_sax_dom_parser< BasicJsonType >::parse_error + nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::parse_error + + + bool + bool nlohmann::detail::parser< BasicJsonType, InputAdapterType >::accept + (const bool strict=true) + accept + + const bool + strict + true + + +public accept interface + + + +strict + + +whether to expect the last token to be EOF + + +whether the input is a proper JSON text + + + + + JSON_HEDLEY_NON_NULL + nlohmann::detail::strict + + + + + typename SAX + + + bool + bool nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse + (SAX *sax, const bool strict=true) + sax_parse + + SAX * + sax + + + const bool + strict + true + + + + + + + + + nlohmann::detail::parse_error::create + JSON_HEDLEY_NON_NULL + nlohmann::detail::strict + nlohmann::detail::void + + + + + + + typename SAX + + + bool + bool nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal + (SAX *sax) + sax_parse_internal + + SAX * + sax + + + + + + + + + nlohmann::detail::parse_error::create + nlohmann::detail::out_of_range::create + JSON_ASSERT + JSON_HEDLEY_LIKELY + JSON_HEDLEY_UNLIKELY + + + token_type + token_type nlohmann::detail::parser< BasicJsonType, InputAdapterType >::get_token + () + get_token + +get next token from lexer + + + + + + + + std::string + std::string nlohmann::detail::parser< BasicJsonType, InputAdapterType >::exception_message + (const token_type expected, const std::string &context) + exception_message + + const token_type + expected + + + const std::string & + context + + + + + + + + + nlohmann::detail::string + + + +syntax analysis + +This class implements a recursive descent parser. + + + + + + + + + + + + + + + -m_lexer + + + -allow_exceptions + + + -last_token + + + -callback + + + + + + + + + nlohmann::detail::parseraccept + nlohmann::detail::parserallow_exceptions + nlohmann::detail::parsercallback + nlohmann::detail::parserexception_message + nlohmann::detail::parserget_token + nlohmann::detail::parserlast_token + nlohmann::detail::parserlexer_t + nlohmann::detail::parserm_lexer + nlohmann::detail::parsernumber_float_t + nlohmann::detail::parsernumber_integer_t + nlohmann::detail::parsernumber_unsigned_t + nlohmann::detail::parserparse + nlohmann::detail::parserparser + nlohmann::detail::parsersax_parse + nlohmann::detail::parsersax_parse_internal + nlohmann::detail::parserstring_t + nlohmann::detail::parsertoken_type + + + diff --git a/docs/xml/df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.xml b/docs/xml/df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.xml new file mode 100644 index 00000000..e5d72a1c --- /dev/null +++ b/docs/xml/df/d70/structnlohmann_1_1detail_1_1has__non__default__from__json_3_01BasicJsonType_00_01T_00_01enable__b7a8cd863889b54d1139b207b4233111.xml @@ -0,0 +1,69 @@ + + + + nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > + json.hpp + + + typename BasicJsonType + + + typename T + + + + + typename BasicJsonType::template json_serializer< T, void > + using nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::serializer = typename BasicJsonType::template json_serializer<T, void> + + serializer + + + + + + + + + + + + constexpr bool + constexpr bool nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >::value + + value + = + is_detected_exact<T, from_json_function, serializer, + const BasicJsonType&>::value + + + + + + + + + + + + + + + + + + + +value + + + + + + + + + nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >serializer + nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >value + + + diff --git a/docs/xml/df/d83/classcudnn__frontend_1_1EngineConfig__v8.xml b/docs/xml/df/d83/classcudnn__frontend_1_1EngineConfig__v8.xml index 095bd243..8e7bde85 100644 --- a/docs/xml/df/d83/classcudnn__frontend_1_1EngineConfig__v8.xml +++ b/docs/xml/df/d83/classcudnn__frontend_1_1EngineConfig__v8.xml @@ -205,85 +205,85 @@ num knobsChoiceEngine_v8 Use EngineConfigBuilder_v8 to build this class. Describe returns a string describing the tensor class - + - + - + - + - + - + - + +elements - + - + +elements - + < ManagedOpaqueDescriptor, CUDNN_KNOB_TYPE_COUNTS > - + - + - + -bChoices - + -numKnobs - + -opGraphTag - + -engine - + - + - + - + - + - + #err_msg - + #pointer - + #status - + - + diff --git a/docs/xml/df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.xml b/docs/xml/df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.xml new file mode 100644 index 00000000..3a696c69 --- /dev/null +++ b/docs/xml/df/d83/structnlohmann_1_1detail_1_1wide__string__input__helper_3_01BaseInputAdapter_00_012_01_4.xml @@ -0,0 +1,58 @@ + + + + nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 > + json.hpp + + + typename BaseInputAdapter + + + + + void + static void nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >::fill_buffer + (BaseInputAdapter &input, std::array< std::char_traits< char >::int_type, 4 > &utf8_bytes, size_t &utf8_bytes_index, size_t &utf8_bytes_filled) + fill_buffer + + BaseInputAdapter & + input + + + std::array< std::char_traits< char >::int_type, 4 > & + utf8_bytes + + + size_t & + utf8_bytes_index + + + size_t & + utf8_bytes_filled + + + + + + + + + JSON_HEDLEY_UNLIKELY + + + + + + + + + + + + + + + nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >fill_buffer + + + diff --git a/docs/xml/df/d92/namespacenlohmann_1_1detail_1_1utility__internal.xml b/docs/xml/df/d92/namespacenlohmann_1_1detail_1_1utility__internal.xml new file mode 100644 index 00000000..786ee276 --- /dev/null +++ b/docs/xml/df/d92/namespacenlohmann_1_1detail_1_1utility__internal.xml @@ -0,0 +1,16 @@ + + + + nlohmann::detail::utility_internal + nlohmann::detail::utility_internal::Extend + nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 > + nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 > + nlohmann::detail::utility_internal::Gen + nlohmann::detail::utility_internal::Gen< T, 0 > + + + + + + + diff --git a/docs/xml/df/dc0/cudnn__frontend__VariantPack_8h.xml b/docs/xml/df/dc0/cudnn__frontend__VariantPack_8h.xml index 01ab3517..a5380dfa 100644 --- a/docs/xml/df/dc0/cudnn__frontend__VariantPack_8h.xml +++ b/docs/xml/df/dc0/cudnn__frontend__VariantPack_8h.xml @@ -14,106 +14,106 @@ cudnn_frontend_utils.h cudnn_frontend.h - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/docs/xml/df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.xml b/docs/xml/df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.xml new file mode 100644 index 00000000..23d025e4 --- /dev/null +++ b/docs/xml/df/dc0/structnlohmann_1_1detail_1_1is__constructible__string__type__impl_3_01BasicJsonType_00_01Construe4743afb22172cdb3c5f428800835387.xml @@ -0,0 +1,53 @@ + + + + nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > > + json.hpp + + + typename BasicJsonType + + + typename ConstructibleStringType + + + + + constexpr auto + constexpr auto nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >::value + + value + = + is_constructible<ConstructibleStringType, + typename BasicJsonType::string_t>::value + + + + + + + + + + + + + + + + + + + +value + + + + + + + + + nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >value + + + diff --git a/docs/xml/df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.xml b/docs/xml/df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.xml new file mode 100644 index 00000000..6d13fe4b --- /dev/null +++ b/docs/xml/df/ddb/structnlohmann_1_1detail_1_1dtoa__impl_1_1boundaries.xml @@ -0,0 +1,94 @@ + + + + nlohmann::detail::dtoa_impl::boundaries + json.hpp + + + diyfp + diyfp nlohmann::detail::dtoa_impl::boundaries::w + + w + + + + + + + + nlohmann::detail::dtoa_impl::grisu2 + + + diyfp + diyfp nlohmann::detail::dtoa_impl::boundaries::minus + + minus + + + + + + + + nlohmann::detail::dtoa_impl::grisu2 + + + diyfp + diyfp nlohmann::detail::dtoa_impl::boundaries::plus + + plus + + + + + + + + nlohmann::detail::dtoa_impl::grisu2 + + + + + + + + + + + + + + + +kPrecision + + + +f + + + +e + + + + + + + + + + + + + +minus + +plus + +w + + + + + + nlohmann::detail::dtoa_impl::boundariesminus + nlohmann::detail::dtoa_impl::boundariesplus + nlohmann::detail::dtoa_impl::boundariesw + + + diff --git a/docs/xml/df/de1/namespacecudnn__frontend.xml b/docs/xml/df/de1/namespacecudnn__frontend.xml index 10a50f0f..d11107bb 100644 --- a/docs/xml/df/de1/namespacecudnn__frontend.xml +++ b/docs/xml/df/de1/namespacecudnn__frontend.xml @@ -27,6 +27,8 @@ cudnn_frontend::OperationGraphBuilder_v8 cudnn_frontend::PointWiseDesc_v8 cudnn_frontend::PointWiseDescBuilder_v8 + cudnn_frontend::ReductionDesc_v8 + cudnn_frontend::ReductionDescBuilder_v8 cudnn_frontend::Tensor_v8 cudnn_frontend::TensorBuilder_v8 cudnn_frontend::VariantPack_v8 @@ -89,7 +91,7 @@ - + TensorBuilder_v8 @@ -102,7 +104,7 @@ - + ConvDesc_v8 @@ -115,7 +117,7 @@ - + ConvDescBuilder_v8 @@ -128,7 +130,7 @@ - + PointWiseDescBuilder_v8 @@ -141,7 +143,7 @@ - + PointWiseDesc_v8 @@ -154,7 +156,7 @@ - + MatMulDesc_v8 @@ -167,7 +169,7 @@ - + MatMulDescBuilder_v8 @@ -180,7 +182,33 @@ - + + + + ReductionDesc_v8 + using cudnn_frontend::ReductionDesc = typedef ReductionDesc_v8 + + ReductionDesc + + + + + + + + + + ReductionDescBuilder_v8 + using cudnn_frontend::ReductionDescBuilder = typedef ReductionDescBuilder_v8 + + ReductionDescBuilder + + + + + + + Operation_v8 @@ -193,7 +221,7 @@ - + OperationBuilder_v8 @@ -206,7 +234,7 @@ - + OperationGraph_v8 @@ -219,7 +247,7 @@ - + OperationGraphBuilder_v8 @@ -232,7 +260,7 @@ - + EngineHeuristicsBuilder_v8 @@ -245,7 +273,7 @@ - + EngineHeuristics_v8 @@ -258,7 +286,7 @@ - + EngineBuilder_v8 @@ -271,7 +299,7 @@ - + Engine_v8 @@ -284,7 +312,7 @@ - + EngineConfig_v8 @@ -297,7 +325,7 @@ - + EngineConfigBuilder_v8 @@ -310,7 +338,7 @@ - + ExecutionPlan_v8 @@ -323,7 +351,7 @@ - + ExecutionPlanBuilder_v8 @@ -336,7 +364,7 @@ - + VariantPack_v8 @@ -349,7 +377,7 @@ - + VariantPackBuilder_v8 @@ -362,7 +390,7 @@ - + EngineFallbackList_v8 @@ -375,7 +403,7 @@ - + EngineFallbackListBuilder_v8 @@ -388,7 +416,7 @@ - + std::vector< ManagedOpaqueDescriptor > @@ -504,23 +532,118 @@ cudnn_frontend::EngineConfigGenerator::cudnnFindPlan cudnn_frontend::EngineConfigGenerator::cudnnGetPlan - + auto static auto cudnn_frontend::get_fallback_engine_list - (cudnnBackendDescriptorType_t mode) -> std::vector< int > + (cudnnBackendDescriptorType_t mode, const std::string &opGraphTag) -> std::vector< int > get_fallback_engine_list cudnnBackendDescriptorType_t mode + + const std::string & + opGraphTag + + + + + + +Here we are using the term "bias" in the operationGraph as a proxy for the conv*bias* operation graph. We are not strictly checking the order of the operations in the graph. We propose this as a temporary workaround until the backend API supports querying the fallback list directly from cudnn + + cudnn_frontend::EngineFallbackListBuilder_v8::build + + + void + static void cudnn_frontend::load_from_config + (json &json_handle, const std::string &errata_json) + load_from_config + + json & + json_handle + + + const std::string & + errata_json + + + + + + + + + + + + + typename T + + + bool + static bool cudnn_frontend::check_rule + (const json &json_handle, const std::string &executionPlanTag, cudnnHandle_t handle, T fn) + check_rule + + const json & + json_handle + + + const std::string & + executionPlanTag + + + cudnnHandle_t + handle + + + T + fn + + + + + + + + + nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::contains + nlohmann::detail::void + + + + + typename T + + + bool + static bool cudnn_frontend::check_errata + (const json &json_handle, const std::string &executionPlanTag, cudnnHandle_t handle, T fn) + check_errata + + const json & + json_handle + + + const std::string & + executionPlanTag + + + cudnnHandle_t + handle + + + T + fn + - - cudnn_frontend::EngineFallbackListBuilder_v8::build + void @@ -678,10 +801,12 @@ cudnn_frontend::cudnnException::cudnnException cudnn_frontend::BackendDescriptor::set_error cudnn_frontend::BackendDescriptor::set_status + nlohmann::to_string cudnn_frontend::MatMulDescBuilder_v8::build + cudnn_frontend::ReductionDescBuilder_v8::build cudnn_frontend::VariantPackBuilder_v8::build - cudnn_frontend::EngineFallbackListBuilder_v8::build - cudnn_frontend::OperationGraphBuilder_v8::build + cudnn_frontend::EngineFallbackListBuilder_v8::build + cudnn_frontend::OperationGraphBuilder_v8::build cudnn_frontend::TensorBuilder_v8::build cudnn_frontend::EngineConfigBuilder_v8::build cudnn_frontend::EngineHeuristicsBuilder_v8::build @@ -689,7 +814,7 @@ cudnn_frontend::PointWiseDescBuilder_v8::build cudnn_frontend::ExecutionPlanBuilder_v8::build cudnn_frontend::EngineBuilder_v8::build - cudnn_frontend::OperationBuilder_v8::build + cudnn_frontend::OperationBuilder_v8::build cudnn_frontend::Engine_v8::buildKnobs cudnn_frontend::ExecutionPlan_v8::computeTag cudnn_frontend::Engine_v8::Engine_v8 @@ -698,15 +823,16 @@ cudnn_frontend::EngineHeuristics_v8::getEngineConfigCount cudnn_frontend::OperationGraph_v8::getEngineCount cudnn_frontend::ExecutionPlan_v8::getWorkspaceSize - cudnn_frontend::OperationBuilder_v8::setaMatDesc - cudnn_frontend::OperationBuilder_v8::setbDesc - cudnn_frontend::OperationBuilder_v8::setbMatDesc - cudnn_frontend::OperationBuilder_v8::setcDesc - cudnn_frontend::OperationBuilder_v8::setcMatDesc + cudnn_frontend::OperationBuilder_v8::setaMatDesc + cudnn_frontend::OperationBuilder_v8::setbDesc + cudnn_frontend::OperationBuilder_v8::setbMatDesc + cudnn_frontend::OperationBuilder_v8::setcDesc + cudnn_frontend::OperationBuilder_v8::setcMatDesc cudnn_frontend::EngineConfigBuilder_v8::setEngine - cudnn_frontend::OperationBuilder_v8::setmatmulDesc - cudnn_frontend::OperationBuilder_v8::setpwDesc - cudnn_frontend::OperationBuilder_v8::setwDesc + cudnn_frontend::OperationBuilder_v8::setmatmulDesc + cudnn_frontend::OperationBuilder_v8::setpwDesc + cudnn_frontend::OperationBuilder_v8::setreductionDesc + cudnn_frontend::OperationBuilder_v8::setwDesc diff --git a/docs/xml/dir_205629aeea700779119961ffc33e6b4c.xml b/docs/xml/dir_205629aeea700779119961ffc33e6b4c.xml new file mode 100644 index 00000000..aab3750b --- /dev/null +++ b/docs/xml/dir_205629aeea700779119961ffc33e6b4c.xml @@ -0,0 +1,12 @@ + + + + json + json.hpp + + + + + + + diff --git a/docs/xml/dir_a906cb525e58c4423e0ba26874e75cc3.xml b/docs/xml/dir_a906cb525e58c4423e0ba26874e75cc3.xml new file mode 100644 index 00000000..258be9ed --- /dev/null +++ b/docs/xml/dir_a906cb525e58c4423e0ba26874e75cc3.xml @@ -0,0 +1,12 @@ + + + + nlohmann + json + + + + + + + diff --git a/docs/xml/dir_c47d0eb21c97e1d293e342b205a1975a.xml b/docs/xml/dir_c47d0eb21c97e1d293e342b205a1975a.xml new file mode 100644 index 00000000..2af9c968 --- /dev/null +++ b/docs/xml/dir_c47d0eb21c97e1d293e342b205a1975a.xml @@ -0,0 +1,12 @@ + + + + contrib + nlohmann + + + + + + + diff --git a/docs/xml/dir_d44c64559bbebec7f509842c48db8b23.xml b/docs/xml/dir_d44c64559bbebec7f509842c48db8b23.xml index c89f4f77..f4bc4f0f 100644 --- a/docs/xml/dir_d44c64559bbebec7f509842c48db8b23.xml +++ b/docs/xml/dir_d44c64559bbebec7f509842c48db8b23.xml @@ -2,6 +2,7 @@ include + contrib cudnn_backend_base.h cudnn_frontend.h cudnn_frontend_ConvDesc.h @@ -9,6 +10,7 @@ cudnn_frontend_EngineConfig.h cudnn_frontend_EngineConfigGenerator.h cudnn_frontend_EngineFallbackList.h + cudnn_frontend_Errata.h cudnn_frontend_ExecutionPlan.h cudnn_frontend_Filters.h cudnn_frontend_find_plan.h @@ -18,6 +20,7 @@ cudnn_frontend_Operation.h cudnn_frontend_OperationGraph.h cudnn_frontend_PointWiseDesc.h + cudnn_frontend_ReductionDesc.h cudnn_frontend_Tensor.h cudnn_frontend_utils.h cudnn_frontend_VariantPack.h diff --git a/docs/xml/index.xml b/docs/xml/index.xml index ad3a0e5b..7081813b 100644 --- a/docs/xml/index.xml +++ b/docs/xml/index.xml @@ -1,5 +1,12 @@ + nlohmann::adl_serializer + from_json + from_json + to_json + + B1 + cudnn_frontend::BackendDescriptor pointer status @@ -15,6 +22,454 @@ BackendDescriptor BackendDescriptor + nlohmann::basic_json + exception + parse_error + invalid_iterator + type_error + out_of_range + other_error + value_type + reference + const_reference + difference_type + size_type + allocator_type + pointer + const_pointer + iterator + const_iterator + reverse_iterator + const_reverse_iterator + object_comparator_t + object_t + array_t + string_t + boolean_t + number_integer_t + number_unsigned_t + number_float_t + binary_t + binary + binary + binary + binary + array + object + basic_json + basic_json + basic_json + basic_json + basic_json + basic_json + basic_json + basic_json + basic_json + basic_json + operator= + ~basic_json + dump + type + is_primitive + is_structured + is_null + is_boolean + is_number + is_number_integer + is_number_unsigned + is_number_float + is_object + is_array + is_string + is_binary + is_discarded + operator value_t + get_impl + get_impl + get_impl + get_impl + get_impl + get_ptr + get_ptr + get + get_impl + get + get_to + get_to + get_to + get_ref + get_ref + operator ValueType + get_binary + get_binary + at + at + at + at + operator[] + operator[] + operator[] + operator[] + operator[] + operator[] + value + value + value + value + front + front + back + back + erase + erase + erase + erase + find + find + count + contains + contains + iterator_wrapper + iterator_wrapper + begin + begin + cbegin + end + end + cend + rbegin + rbegin + rend + rend + crbegin + crend + items + items + empty + size + max_size + swap + clear + push_back + operator+= + push_back + operator+= + push_back + operator+= + push_back + operator+= + emplace_back + emplace + insert_iterator + insert + insert + insert + insert + insert + insert + update + update + swap + swap + swap + swap + swap + swap + operator== + operator== + operator== + operator!= + operator!= + operator!= + operator< + operator< + operator< + operator<= + operator<= + operator<= + operator> + operator> + operator> + operator>= + operator>= + operator>= + operator<< + operator>> + operator<< + operator>> + parse + parse + parse + accept + accept + accept + sax_parse + sax_parse + sax_parse + to_cbor + to_cbor + to_cbor + to_msgpack + to_msgpack + to_msgpack + to_ubjson + to_ubjson + to_ubjson + to_bson + to_bson + to_bson + from_cbor + from_cbor + from_cbor + from_cbor + from_msgpack + from_msgpack + from_msgpack + from_msgpack + from_ubjson + from_ubjson + from_ubjson + from_ubjson + from_bson + from_bson + from_bson + from_bson + operator[] + operator[] + at + at + flatten + unflatten + diff + patch + merge_patch + basic_json_t + primitive_iterator_t + internal_iterator + iter_impl + iteration_proxy + json_reverse_iterator + output_adapter_t + binary_reader + binary_writer + value_t + json_pointer + json_serializer + error_handler_t + cbor_tag_handler_t + initializer_list_t + input_format_t + json_sax_t + parse_event_t + parser_callback_t + detail::external_constructor + ::nlohmann::detail::parser + ::nlohmann::detail::iter_impl + ::nlohmann::detail::binary_writer + ::nlohmann::detail::binary_reader + ::nlohmann::detail::json_sax_dom_parser + ::nlohmann::detail::json_sax_dom_callback_parser + ::nlohmann::detail::exception + __pad0__ + __pad1__ + __pad2__ + array + string + binary + boolean + number_integer + number_unsigned + number_float + __pad3__ + m_value + parser + json_value + json_value + json_value + json_value + json_value + json_value + json_value + json_value + json_value + json_value + json_value + json_value + json_value + json_value + json_value + json_value + destroy + assert_invariant + set_parents + set_parents + set_parent + get_impl + get_impl_ptr + get_impl_ptr + get_impl_ptr + get_impl_ptr + get_impl_ptr + get_impl_ptr + get_impl_ptr + get_impl_ptr + get_impl_ptr + get_impl_ptr + get_impl_ptr + get_impl_ptr + get_impl_ptr + get_impl_ptr + get_impl_ptr + get_impl_ptr + get_allocator + meta + create + get_ref_impl + type_name + + nlohmann::detail::binary_reader + number_integer_t + number_unsigned_t + number_float_t + string_t + binary_t + json_sax_t + char_type + char_int_type + ia + current + chars_read + is_little_endian + sax + binary_reader + binary_reader + binary_reader + operator= + operator= + ~binary_reader + sax_parse + parse_bson_internal + get_bson_cstr + get_bson_string + get_bson_binary + parse_bson_element_internal + parse_bson_element_list + parse_bson_array + parse_cbor_internal + get_cbor_string + get_cbor_binary + get_cbor_array + get_cbor_object + parse_msgpack_internal + get_msgpack_string + get_msgpack_binary + get_msgpack_array + get_msgpack_object + parse_ubjson_internal + get_ubjson_string + get_ubjson_size_value + get_ubjson_size_type + get_ubjson_value + get_ubjson_array + get_ubjson_object + get_ubjson_high_precision_number + get + get_ignore_noop + get_number + get_string + get_binary + unexpect_eof + get_token_string + exception_message + + nlohmann::detail::binary_writer + string_t + binary_t + number_float_t + is_little_endian + oa + binary_writer + write_bson + write_cbor + write_msgpack + write_ubjson + calc_bson_entry_header_size + calc_bson_string_size + calc_bson_integer_size + calc_bson_unsigned_size + calc_bson_array_size + calc_bson_binary_size + calc_bson_element_size + calc_bson_object_size + get_cbor_float_prefix + get_cbor_float_prefix + get_msgpack_float_prefix + get_msgpack_float_prefix + get_ubjson_float_prefix + get_ubjson_float_prefix + write_bson_entry_header + write_bson_boolean + write_bson_double + write_bson_string + write_bson_null + write_bson_integer + write_bson_unsigned + write_bson_object_entry + write_bson_array + write_bson_binary + write_bson_element + write_bson_object + write_number_with_ubjson_prefix + write_number_with_ubjson_prefix + write_number_with_ubjson_prefix + ubjson_prefix + write_number + write_compact_float + to_char_type + to_char_type + to_char_type + to_char_type + + BinaryType + + nlohmann::detail::dtoa_impl::boundaries + w + minus + plus + + nlohmann::byte_container_with_subtype + container_type + m_subtype + m_has_subtype + byte_container_with_subtype + byte_container_with_subtype + byte_container_with_subtype + byte_container_with_subtype + byte_container_with_subtype + operator== + operator!= + set_subtype + subtype + has_subtype + clear_subtype + + nlohmann::detail::dtoa_impl::cached_power + f + e + k + + nlohmann::detail::conjunction + + nlohmann::detail::conjunction< B1 > + + nlohmann::detail::conjunction< B1, Bn... > + + nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory + + nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> > + adapter_type + create + cudnn_frontend::ConvDesc_v8 ConvDescBuilder_v8 data_type @@ -51,6 +506,24 @@ cudnnException what + nlohmann::detail::detector + value_t + type + + nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... > + value_t + type + + nlohmann::detail::dtoa_impl::diyfp + kPrecision + f + e + diyfp + sub + mul + normalize + normalize_to + cudnn_frontend::Engine_v8 opGraph idx @@ -117,6 +590,7 @@ EngineFallbackListBuilder_v8 opGraph mode + num_ops m_engine_configs opGraphTag describe @@ -164,6 +638,14 @@ EngineHeuristicsBuilder_v8 operator= + nlohmann::detail::exception + id + m + what + exception + name + diagnostics + cudnn_frontend::executionOption plan time_ms @@ -195,6 +677,552 @@ ExecutionPlanBuilder_v8 operator= + nlohmann::detail::utility_internal::Extend + + nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 0 > + type + + nlohmann::detail::utility_internal::Extend< integer_sequence< T, Ints... >, SeqSize, 1 > + type + + nlohmann::detail::external_constructor + + nlohmann::detail::external_constructor< value_t::array > + construct + construct + construct + construct + construct + + nlohmann::detail::external_constructor< value_t::binary > + construct + construct + + nlohmann::detail::external_constructor< value_t::boolean > + construct + + nlohmann::detail::external_constructor< value_t::number_float > + construct + + nlohmann::detail::external_constructor< value_t::number_integer > + construct + + nlohmann::detail::external_constructor< value_t::number_unsigned > + construct + + nlohmann::detail::external_constructor< value_t::object > + construct + construct + construct + + nlohmann::detail::external_constructor< value_t::string > + construct + construct + construct + + nlohmann::detail::file_input_adapter + char_type + m_file + file_input_adapter + file_input_adapter + file_input_adapter + operator= + operator= + ~file_input_adapter + get_character + + nlohmann::detail::from_json_fn + operator() + + nlohmann::detail::utility_internal::Gen + type + + nlohmann::detail::utility_internal::Gen< T, 0 > + type + + nlohmann::detail::has_from_json + + nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > + serializer + value + + nlohmann::detail::has_non_default_from_json + + nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > + serializer + value + + nlohmann::detail::has_to_json + + nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > + serializer + value + + std::hash< nlohmann::json > + operator() + + nlohmann::detail::identity_tag + + nlohmann::detail::input_stream_adapter + char_type + is + sb + ~input_stream_adapter + input_stream_adapter + input_stream_adapter + operator= + operator= + input_stream_adapter + get_character + + nlohmann::detail::integer_sequence + value_type + size + + nlohmann::detail::internal_iterator + object_iterator + array_iterator + primitive_iterator + + nlohmann::detail::invalid_iterator + create + invalid_iterator + + nlohmann::detail::is_basic_json + + nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL > + + nlohmann::detail::is_compatible_array_type + + nlohmann::detail::is_compatible_array_type_impl + + nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > > + value + + nlohmann::detail::is_compatible_integer_type + + nlohmann::detail::is_compatible_integer_type_impl + + nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > > + RealLimits + CompatibleLimits + value + + nlohmann::detail::is_compatible_object_type + + nlohmann::detail::is_compatible_object_type_impl + + nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > > + object_t + value + + nlohmann::detail::is_compatible_string_type + + nlohmann::detail::is_compatible_string_type_impl + + nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > > + value + + nlohmann::detail::is_compatible_type + + nlohmann::detail::is_compatible_type_impl + + nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > > + value + + nlohmann::detail::is_complete_type + + nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))> + + nlohmann::detail::is_constructible + + nlohmann::detail::is_constructible< const std::pair< T1, T2 > > + + nlohmann::detail::is_constructible< const std::tuple< Ts... > > + + nlohmann::detail::is_constructible< std::pair< T1, T2 > > + + nlohmann::detail::is_constructible< std::tuple< Ts... > > + + nlohmann::detail::is_constructible_array_type + + nlohmann::detail::is_constructible_array_type_impl + + nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > > + value + + nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > > + + nlohmann::detail::is_constructible_object_type + + nlohmann::detail::is_constructible_object_type_impl + + nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > > + object_t + value + + nlohmann::detail::is_constructible_string_type + + nlohmann::detail::is_constructible_string_type_impl + + nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > > + value + + nlohmann::detail::is_constructible_tuple + + nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > > + + nlohmann::detail::is_default_constructible + + nlohmann::detail::is_default_constructible< const std::pair< T1, T2 > > + + nlohmann::detail::is_default_constructible< const std::tuple< Ts... > > + + nlohmann::detail::is_default_constructible< std::pair< T1, T2 > > + + nlohmann::detail::is_default_constructible< std::tuple< Ts... > > + + nlohmann::detail::is_getable + value + + nlohmann::detail::is_iterator_of_multibyte + @0 + value_type + + nlohmann::detail::is_iterator_traits + + nlohmann::detail::is_iterator_traits< iterator_traits< T > > + traits + value + + nlohmann::detail::is_json_ref + + nlohmann::detail::is_json_ref< json_ref< T > > + + nlohmann::detail::is_sax + number_integer_t + number_unsigned_t + number_float_t + string_t + binary_t + exception_t + value + + nlohmann::detail::is_sax_static_asserts + number_integer_t + number_unsigned_t + number_float_t + string_t + binary_t + exception_t + + nlohmann::detail::iter_impl + other_iter_impl + object_t + array_t + iterator_category + value_type + difference_type + pointer + reference + other_iter_impl + BasicJsonType + iteration_proxy< iter_impl > + iteration_proxy_value< iter_impl > + __pad0__ + __pad1__ + m_it + iter_impl + ~iter_impl + iter_impl + operator= + iter_impl + iter_impl + operator= + iter_impl + operator= + switch + set_end + operator* + operator-> + operator++ + operator++ + operator-- + operator-- + operator== + operator!= + operator< + operator<= + operator> + operator>= + operator+= + operator-= + operator+ + operator- + operator- + operator[] + key + value + operator+ + + nlohmann::detail::iteration_proxy + container + iteration_proxy + begin + end + + nlohmann::detail::iteration_proxy_value + difference_type + value_type + pointer + reference + iterator_category + string_type + anchor + array_index + array_index_last + array_index_str + empty_str + iteration_proxy_value + operator* + operator++ + operator== + operator!= + key + value + + nlohmann::detail::iterator_input_adapter + char_type + current + end + wide_string_input_helper + iterator_input_adapter + get_character + empty + + nlohmann::detail::iterator_input_adapter_factory + iterator_type + char_type + adapter_type + create + + nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > > + iterator_type + char_type + base_adapter_type + adapter_type + create + + nlohmann::detail::iterator_traits + + nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > > + iterator_category + value_type + difference_type + pointer + reference + + nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > > + + nlohmann::detail::iterator_types + + nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > > + difference_type + value_type + pointer + reference + iterator_category + + nlohmann::json_pointer + basic_json + operator/ + operator/ + operator/ + operator== + operator!= + __pad0__ + parent + result + reference_tokens + result + reference_tokens + json_pointer + to_string + operator std::string + operator/= + operator/= + operator/= + parent_pointer + pop_back + back + push_back + push_back + empty + array_index + split + flatten + unflatten + BasicJsonType + get_and_create + get_unchecked + get_checked + get_unchecked + get_checked + contains + + nlohmann::detail::json_ref + value_type + owned_value + value_ref + json_ref + json_ref + json_ref + json_ref + json_ref + json_ref + operator= + operator= + ~json_ref + moved_or_copied + operator* + operator-> + + nlohmann::detail::json_reverse_iterator + difference_type + base_iterator + reference + json_reverse_iterator + json_reverse_iterator + operator++ + operator++ + operator-- + operator-- + operator+= + operator+ + operator- + operator- + operator[] + key + value + + nlohmann::json_sax + number_integer_t + number_unsigned_t + number_float_t + string_t + binary_t + null + boolean + number_integer + number_unsigned + number_float + string + binary + start_object + key + end_object + start_array + end_array + parse_error + json_sax + json_sax + json_sax + operator= + operator= + ~json_sax + + nlohmann::detail::json_sax_acceptor + number_integer_t + number_unsigned_t + number_float_t + string_t + binary_t + null + boolean + number_integer + number_unsigned + number_float + string + binary + start_object + key + end_object + start_array + end_array + parse_error + + nlohmann::detail::json_sax_dom_callback_parser + number_integer_t + number_unsigned_t + number_float_t + string_t + binary_t + parser_callback_t + parse_event_t + root + ref_stack + keep_stack + key_keep_stack + object_element + errored + callback + allow_exceptions + discarded + json_sax_dom_callback_parser + json_sax_dom_callback_parser + json_sax_dom_callback_parser + operator= + operator= + ~json_sax_dom_callback_parser + null + boolean + number_integer + number_unsigned + number_float + string + binary + start_object + key + end_object + start_array + end_array + parse_error + is_errored + handle_value + + nlohmann::detail::json_sax_dom_parser + number_integer_t + number_unsigned_t + number_float_t + string_t + binary_t + root + ref_stack + object_element + errored + allow_exceptions + json_sax_dom_parser + json_sax_dom_parser + json_sax_dom_parser + operator= + operator= + ~json_sax_dom_parser + null + boolean + number_integer + number_unsigned + number_float + string + binary + start_object + key + end_object + start_array + end_array + parse_error + is_errored + handle_value + cudnn_frontend::Engine_v8::Knob knobType maxValue @@ -210,6 +1238,84 @@ getMaxValue getStride + std::less<::nlohmann::detail::value_t > + operator() + + nlohmann::detail::lexer + number_integer_t + number_unsigned_t + number_float_t + string_t + char_type + char_int_type + token_type + ia + ignore_comments + current + next_unget + position + token_string + token_buffer + error_message + value_integer + value_unsigned + value_float + decimal_point_char + lexer + lexer + lexer + operator= + operator= + ~lexer + get_number_integer + get_number_unsigned + get_number_float + get_string + get_position + get_token_string + get_error_message + skip_bom + skip_whitespace + scan + get_decimal_point + strtof + strtof + strtof + get_codepoint + next_byte_in_range + scan_string + scan_comment + scan_number + scan_literal + reset + get + unget + add + + nlohmann::detail::lexer_base + token_type + uninitialized + literal_true + literal_false + literal_null + value_string + value_unsigned + value_integer + value_float + begin_array + begin_object + end_array + end_object + name_separator + value_separator + parse_error + end_of_input + literal_or_value + token_type_name + + nlohmann::detail::make_void + type + cudnn_frontend::MatMulDesc_v8 MatMulDescBuilder_v8 math_precision @@ -230,6 +1336,14 @@ MatMulDescBuilder_v8 operator= + nlohmann::detail::nonesuch + nonesuch + ~nonesuch + nonesuch + nonesuch + operator= + operator= + cudnn_frontend::OpaqueBackendPointer m_desc status @@ -258,6 +1372,7 @@ cmatdesc pwdesc matmuldesc + reductiondesc alphabetaType alpha_s beta_s @@ -285,6 +1400,7 @@ is_convolution_op is_pointwise_op is_matmul_op + is_reduction_op setxDesc setxDesc setbDesc @@ -299,6 +1415,7 @@ setbMatDesc setcMatDesc setmatmulDesc + setreductionDesc setpwDesc setAlpha setAlpha @@ -319,6 +1436,7 @@ OperationGraph_v8 ~OperationGraph_v8 getEngineCount + getOpCount getTag OperationGraph_v8 OperationGraph_v8 @@ -335,6 +1453,97 @@ OperationGraphBuilder_v8 operator= + nlohmann::ordered_map + key_type + mapped_type + Container + require_input_iter + ordered_map + ordered_map + ordered_map + emplace + operator[] + operator[] + at + at + erase + erase + count + find + find + insert + insert + insert + + nlohmann::detail::other_error + create + other_error + + nlohmann::detail::out_of_range + create + out_of_range + + nlohmann::detail::output_adapter + oa + output_adapter + output_adapter + output_adapter + operator output_adapter_t< CharType > + + nlohmann::detail::output_adapter_protocol + write_character + write_characters + ~output_adapter_protocol + output_adapter_protocol + output_adapter_protocol + output_adapter_protocol + operator= + operator= + + nlohmann::detail::output_stream_adapter + stream + output_stream_adapter + write_character + write_characters + + nlohmann::detail::output_string_adapter + str + output_string_adapter + write_character + write_characters + + nlohmann::detail::output_vector_adapter + v + output_vector_adapter + write_character + write_characters + + nlohmann::detail::parse_error + byte + create + create + parse_error + position_string + + nlohmann::detail::parser + number_integer_t + number_unsigned_t + number_float_t + string_t + lexer_t + token_type + callback + last_token + m_lexer + allow_exceptions + parser + parse + accept + sax_parse + sax_parse_internal + get_token + exception_message + cudnn_frontend::PointWiseDesc_v8 PointWiseDescBuilder_v8 math_precision @@ -374,6 +1583,101 @@ PointWiseDescBuilder_v8 operator= + nlohmann::detail::position_t + chars_read_total + chars_read_current_line + lines_read + operator size_t + + nlohmann::detail::primitive_iterator_t + difference_type + begin_value + end_value + __pad0__ + get_value + set_begin + set_end + is_begin + is_end + operator+ + operator++ + operator++ + operator-- + operator-- + operator+= + operator-= + operator== + operator< + operator- + + nlohmann::detail::priority_tag + + nlohmann::detail::priority_tag< 0 > + + cudnn_frontend::ReductionDesc_v8 + ReductionDescBuilder_v8 + math_precision + reduction_op + describe + ReductionDesc_v8 + ~ReductionDesc_v8 + ReductionDesc_v8 + ReductionDesc_v8 + operator= + + cudnn_frontend::ReductionDescBuilder_v8 + m_reductionDesc + setMathPrecision + setReductionOp + build + ReductionDescBuilder_v8 + ~ReductionDescBuilder_v8 + ReductionDescBuilder_v8 + ReductionDescBuilder_v8 + operator= + + nlohmann::detail::serializer + string_t + number_float_t + number_integer_t + number_unsigned_t + binary_char_t + UTF8_ACCEPT + UTF8_REJECT + __pad0__ + ensure_ascii + state + bytes + bytes_after_last_accept + undumped_chars + else + number_buffer + loc + thousands_sep + decimal_point + string_buffer + indent_char + indent_string + error_handler + serializer + serializer + operator= + serializer + operator= + ~serializer + dump + for + if + + nlohmann::detail::span_input_adapter + ia + span_input_adapter + span_input_adapter + get + + nlohmann::detail::static_const + value + cudnn_frontend::Tensor_v8 TensorBuilder_v8 data_type @@ -405,6 +1709,20 @@ TensorBuilder_v8 operator= + nlohmann::detail::to_json_fn + operator() + + std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > > + type + + std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > > + + std::conditional::type + + nlohmann::detail::type_error + create + type_error + cudnn_frontend::VariantPack_v8 VariantPackBuilder_v8 workspace @@ -431,6 +1749,24 @@ VariantPackBuilder_v8 operator= + nlohmann::detail::wide_string_input_adapter + char_type + base_adapter + utf8_bytes + utf8_bytes_index + utf8_bytes_filled + wide_string_input_adapter + get_character + fill_buffer + + nlohmann::detail::wide_string_input_helper + + nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 > + fill_buffer + + nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 > + fill_buffer + cudnn_frontend CudnnFindSamplingTechnique CUDNN_FIND_SAMPLE_ONCE @@ -445,6 +1781,8 @@ PointWiseDesc MatMulDesc MatMulDescBuilder + ReductionDesc + ReductionDescBuilder Operation OperationBuilder OperationGraph @@ -468,7 +1806,10 @@ GeneratorSource make_shared_backend_pointer filter - get_fallback_engine_list + get_fallback_engine_list + load_from_config + check_rule + check_errata filter hasNumericalNote time_sorted_plan @@ -476,7 +1817,173 @@ throw_if set_error_and_throw_exception + nlohmann + json + ordered_json + to_string + + nlohmann::@0 + + nlohmann::detail + value_t + null + object + array + string + boolean + number_integer + number_unsigned + number_float + binary + discarded + input_format_t + json + cbor + msgpack + ubjson + bson + cbor_tag_handler_t + error + ignore + parse_event_t + object_start + object_end + array_start + array_end + key + value + error_handler_t + strict + replace + ignore + uncvref_t + enable_if_t + index_sequence + make_integer_sequence + make_index_sequence + index_sequence_for + void_t + is_detected + detected_t + detected_or + detected_or_t + is_detected_exact + is_detected_convertible + mapped_type_t + key_type_t + value_type_t + difference_type_t + pointer_t + reference_t + iterator_category_t + iterator_t + to_json_function + from_json_function + get_template_function + contiguous_bytes_input_adapter + null_function_t + boolean_function_t + number_integer_function_t + number_unsigned_function_t + number_float_function_t + string_function_t + binary_function_t + start_object_function_t + key_function_t + end_object_function_t + start_array_function_t + end_array_function_t + parse_error_function_t + parser_callback_t + output_adapter_t + operator< + replace_substring + escape + unescape + from_json + get_arithmetic_value + from_json + from_json + from_json + from_json + from_json + from_json + from_json + from_json + from_json + from_json + from_json_array_impl + from_json_array_impl + from_json_array_impl + from_json_array_impl + from_json + get< typename ConstructibleArrayType::value_type > + void + from_json_inplace_array_impl + from_json + from_json + from_json + from_json + from_json_tuple_impl_base + from_json_tuple_impl + from_json_tuple_impl + from_json_tuple_impl + from_json_tuple_impl + from_json + from_json + from_json + int_to_string + get + to_json + to_json + to_json + to_json + to_json + to_json + to_json + to_json + to_json + to_json + to_json + to_json + to_json + to_json + to_json + to_json + to_json + to_json_tuple_impl + combine + hash + input_adapter + input_adapter + input_adapter + input_adapter + input_adapter + input_adapter + input_adapter + little_endianess + to_chars + + nlohmann::detail::container_input_adapter_factory_impl + + nlohmann::detail::dtoa_impl + kAlpha + kGamma + reinterpret_bits + compute_boundaries + get_cached_power_for_binary_exponent + find_largest_pow10 + grisu2_round + grisu2_digit_gen + grisu2 + grisu2 + append_exponent + format_buffer + + nlohmann::detail::utility_internal + std + swap< nlohmann::json > cudnn_backend_base.h @@ -492,6 +1999,9 @@ cudnn_frontend_EngineFallbackList.h + cudnn_frontend_Errata.h + json + cudnn_frontend_ExecutionPlan.h cudnn_frontend_Filters.h @@ -510,12 +2020,230 @@ cudnn_frontend_PointWiseDesc.h + cudnn_frontend_ReductionDesc.h + cudnn_frontend_Tensor.h cudnn_frontend_utils.h cudnn_frontend_VariantPack.h + json.hpp + NLOHMANN_JSON_VERSION_MAJOR + NLOHMANN_JSON_VERSION_MINOR + NLOHMANN_JSON_VERSION_PATCH + JSON_HEDLEY_VERSION + JSON_HEDLEY_STRINGIFY_EX + JSON_HEDLEY_STRINGIFY + JSON_HEDLEY_CONCAT_EX + JSON_HEDLEY_CONCAT + JSON_HEDLEY_CONCAT3_EX + JSON_HEDLEY_CONCAT3 + JSON_HEDLEY_VERSION_ENCODE + JSON_HEDLEY_VERSION_DECODE_MAJOR + JSON_HEDLEY_VERSION_DECODE_MINOR + JSON_HEDLEY_VERSION_DECODE_REVISION + JSON_HEDLEY_GNUC_VERSION_CHECK + JSON_HEDLEY_MSVC_VERSION_CHECK + JSON_HEDLEY_INTEL_VERSION_CHECK + JSON_HEDLEY_INTEL_CL_VERSION_CHECK + JSON_HEDLEY_PGI_VERSION_CHECK + JSON_HEDLEY_SUNPRO_VERSION_CHECK + JSON_HEDLEY_EMSCRIPTEN_VERSION_CHECK + JSON_HEDLEY_ARM_VERSION_CHECK + JSON_HEDLEY_IBM_VERSION_CHECK + JSON_HEDLEY_TI_VERSION_CHECK + JSON_HEDLEY_TI_CL2000_VERSION_CHECK + JSON_HEDLEY_TI_CL430_VERSION_CHECK + JSON_HEDLEY_TI_ARMCL_VERSION_CHECK + JSON_HEDLEY_TI_CL6X_VERSION_CHECK + JSON_HEDLEY_TI_CL7X_VERSION_CHECK + JSON_HEDLEY_TI_CLPRU_VERSION_CHECK + JSON_HEDLEY_CRAY_VERSION_CHECK + JSON_HEDLEY_IAR_VERSION_CHECK + JSON_HEDLEY_TINYC_VERSION_CHECK + JSON_HEDLEY_DMC_VERSION_CHECK + JSON_HEDLEY_COMPCERT_VERSION_CHECK + JSON_HEDLEY_PELLES_VERSION_CHECK + JSON_HEDLEY_MCST_LCC_VERSION_CHECK + JSON_HEDLEY_GCC_VERSION_CHECK + JSON_HEDLEY_HAS_ATTRIBUTE + JSON_HEDLEY_GNUC_HAS_ATTRIBUTE + JSON_HEDLEY_GCC_HAS_ATTRIBUTE + JSON_HEDLEY_HAS_CPP_ATTRIBUTE + JSON_HEDLEY_HAS_CPP_ATTRIBUTE_NS + JSON_HEDLEY_GNUC_HAS_CPP_ATTRIBUTE + JSON_HEDLEY_GCC_HAS_CPP_ATTRIBUTE + JSON_HEDLEY_HAS_BUILTIN + JSON_HEDLEY_GNUC_HAS_BUILTIN + JSON_HEDLEY_GCC_HAS_BUILTIN + JSON_HEDLEY_HAS_FEATURE + JSON_HEDLEY_GNUC_HAS_FEATURE + JSON_HEDLEY_GCC_HAS_FEATURE + JSON_HEDLEY_HAS_EXTENSION + JSON_HEDLEY_GNUC_HAS_EXTENSION + JSON_HEDLEY_GCC_HAS_EXTENSION + JSON_HEDLEY_HAS_DECLSPEC_ATTRIBUTE + JSON_HEDLEY_GNUC_HAS_DECLSPEC_ATTRIBUTE + JSON_HEDLEY_GCC_HAS_DECLSPEC_ATTRIBUTE + JSON_HEDLEY_HAS_WARNING + JSON_HEDLEY_GNUC_HAS_WARNING + JSON_HEDLEY_GCC_HAS_WARNING + JSON_HEDLEY_PRAGMA + JSON_HEDLEY_DIAGNOSTIC_PUSH + JSON_HEDLEY_DIAGNOSTIC_POP + JSON_HEDLEY_DIAGNOSTIC_DISABLE_CPP98_COMPAT_WRAP_ + JSON_HEDLEY_CONST_CAST + JSON_HEDLEY_REINTERPRET_CAST + JSON_HEDLEY_STATIC_CAST + JSON_HEDLEY_CPP_CAST + JSON_HEDLEY_DIAGNOSTIC_DISABLE_DEPRECATED + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_PRAGMAS + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNKNOWN_CPP_ATTRIBUTES + JSON_HEDLEY_DIAGNOSTIC_DISABLE_CAST_QUAL + JSON_HEDLEY_DIAGNOSTIC_DISABLE_UNUSED_FUNCTION + JSON_HEDLEY_DEPRECATED + JSON_HEDLEY_DEPRECATED_FOR + JSON_HEDLEY_UNAVAILABLE + JSON_HEDLEY_WARN_UNUSED_RESULT + JSON_HEDLEY_WARN_UNUSED_RESULT_MSG + JSON_HEDLEY_SENTINEL + JSON_HEDLEY_NO_RETURN + JSON_HEDLEY_NO_ESCAPE + JSON_HEDLEY_ASSUME + JSON_HEDLEY_UNREACHABLE_RETURN + JSON_HEDLEY_UNREACHABLE + JSON_HEDLEY_NON_NULL + JSON_HEDLEY_PRINTF_FORMAT + JSON_HEDLEY_CONSTEXPR + JSON_HEDLEY_PREDICT + JSON_HEDLEY_PREDICT_TRUE + JSON_HEDLEY_PREDICT_FALSE + JSON_HEDLEY_LIKELY + JSON_HEDLEY_UNLIKELY + JSON_HEDLEY_UNPREDICTABLE + JSON_HEDLEY_MALLOC + JSON_HEDLEY_PURE + JSON_HEDLEY_CONST + JSON_HEDLEY_RESTRICT + JSON_HEDLEY_INLINE + JSON_HEDLEY_ALWAYS_INLINE + JSON_HEDLEY_NEVER_INLINE + JSON_HEDLEY_PRIVATE + JSON_HEDLEY_PUBLIC + JSON_HEDLEY_IMPORT + JSON_HEDLEY_NO_THROW + JSON_HEDLEY_FALL_THROUGH + JSON_HEDLEY_RETURNS_NON_NULL + JSON_HEDLEY_ARRAY_PARAM + JSON_HEDLEY_IS_CONSTANT + JSON_HEDLEY_REQUIRE_CONSTEXPR + JSON_HEDLEY_BEGIN_C_DECLS + JSON_HEDLEY_END_C_DECLS + JSON_HEDLEY_C_DECL + JSON_HEDLEY_STATIC_ASSERT + JSON_HEDLEY_NULL + JSON_HEDLEY_MESSAGE + JSON_HEDLEY_WARNING + JSON_HEDLEY_REQUIRE + JSON_HEDLEY_REQUIRE_MSG + JSON_HEDLEY_FLAGS + JSON_HEDLEY_FLAGS_CAST + JSON_HEDLEY_EMPTY_BASES + JSON_HEDLEY_GCC_NOT_CLANG_VERSION_CHECK + JSON_HEDLEY_CLANG_HAS_ATTRIBUTE + JSON_HEDLEY_CLANG_HAS_CPP_ATTRIBUTE + JSON_HEDLEY_CLANG_HAS_BUILTIN + JSON_HEDLEY_CLANG_HAS_FEATURE + JSON_HEDLEY_CLANG_HAS_EXTENSION + JSON_HEDLEY_CLANG_HAS_DECLSPEC_ATTRIBUTE + JSON_HEDLEY_CLANG_HAS_WARNING + JSON_HAS_CPP_11 + JSON_THROW + JSON_TRY + JSON_CATCH + JSON_INTERNAL_CATCH + JSON_ASSERT + JSON_PRIVATE_UNLESS_TESTED + NLOHMANN_JSON_SERIALIZE_ENUM + NLOHMANN_BASIC_JSON_TPL_DECLARATION + NLOHMANN_BASIC_JSON_TPL + NLOHMANN_JSON_EXPAND + NLOHMANN_JSON_GET_MACRO + NLOHMANN_JSON_PASTE + NLOHMANN_JSON_PASTE2 + NLOHMANN_JSON_PASTE3 + NLOHMANN_JSON_PASTE4 + NLOHMANN_JSON_PASTE5 + NLOHMANN_JSON_PASTE6 + NLOHMANN_JSON_PASTE7 + NLOHMANN_JSON_PASTE8 + NLOHMANN_JSON_PASTE9 + NLOHMANN_JSON_PASTE10 + NLOHMANN_JSON_PASTE11 + NLOHMANN_JSON_PASTE12 + NLOHMANN_JSON_PASTE13 + NLOHMANN_JSON_PASTE14 + NLOHMANN_JSON_PASTE15 + NLOHMANN_JSON_PASTE16 + NLOHMANN_JSON_PASTE17 + NLOHMANN_JSON_PASTE18 + NLOHMANN_JSON_PASTE19 + NLOHMANN_JSON_PASTE20 + NLOHMANN_JSON_PASTE21 + NLOHMANN_JSON_PASTE22 + NLOHMANN_JSON_PASTE23 + NLOHMANN_JSON_PASTE24 + NLOHMANN_JSON_PASTE25 + NLOHMANN_JSON_PASTE26 + NLOHMANN_JSON_PASTE27 + NLOHMANN_JSON_PASTE28 + NLOHMANN_JSON_PASTE29 + NLOHMANN_JSON_PASTE30 + NLOHMANN_JSON_PASTE31 + NLOHMANN_JSON_PASTE32 + NLOHMANN_JSON_PASTE33 + NLOHMANN_JSON_PASTE34 + NLOHMANN_JSON_PASTE35 + NLOHMANN_JSON_PASTE36 + NLOHMANN_JSON_PASTE37 + NLOHMANN_JSON_PASTE38 + NLOHMANN_JSON_PASTE39 + NLOHMANN_JSON_PASTE40 + NLOHMANN_JSON_PASTE41 + NLOHMANN_JSON_PASTE42 + NLOHMANN_JSON_PASTE43 + NLOHMANN_JSON_PASTE44 + NLOHMANN_JSON_PASTE45 + NLOHMANN_JSON_PASTE46 + NLOHMANN_JSON_PASTE47 + NLOHMANN_JSON_PASTE48 + NLOHMANN_JSON_PASTE49 + NLOHMANN_JSON_PASTE50 + NLOHMANN_JSON_PASTE51 + NLOHMANN_JSON_PASTE52 + NLOHMANN_JSON_PASTE53 + NLOHMANN_JSON_PASTE54 + NLOHMANN_JSON_PASTE55 + NLOHMANN_JSON_PASTE56 + NLOHMANN_JSON_PASTE57 + NLOHMANN_JSON_PASTE58 + NLOHMANN_JSON_PASTE59 + NLOHMANN_JSON_PASTE60 + NLOHMANN_JSON_PASTE61 + NLOHMANN_JSON_PASTE62 + NLOHMANN_JSON_PASTE63 + NLOHMANN_JSON_PASTE64 + NLOHMANN_JSON_TO + NLOHMANN_JSON_FROM + NLOHMANN_DEFINE_TYPE_INTRUSIVE + NLOHMANN_DEFINE_TYPE_NON_INTRUSIVE + JSON_USE_IMPLICIT_CONVERSIONS + JSON_EXPLICIT + INCLUDE_NLOHMANN_JSON_FWD_HPP_ + operator"" _json + operator"" _json_pointer + ConvDescBuilder_v8 setDataType setPrePadding @@ -587,6 +2315,7 @@ setbMatDesc setcMatDesc setmatmulDesc + setreductionDesc setpwDesc setAlpha setAlpha @@ -609,6 +2338,10 @@ setMode setMode + ReductionDescBuilder_v8 + setMathPrecision + setReductionOp + TensorBuilder_v8 setDataType setDim @@ -623,8 +2356,16 @@ setDataPointers setWorkspacePointer + deprecated + + contrib + include + json + + nlohmann + index diff --git a/docs/xml/indexpage.xml b/docs/xml/indexpage.xml index dbb88ef9..2fa8f40d 100644 --- a/docs/xml/indexpage.xml +++ b/docs/xml/indexpage.xml @@ -12,7 +12,7 @@ Consider the following code snippet which showcases cudnnBackendTensor creation using the backend API and its equivalent front-end API code. Many among the backend constructs follow similar pattern.=========================================================================================== autocheck_status=[](cudnnStatus_tstatus){assert(status==CUDNN_STATUS_SUCCESS);}; =========================================================================================== -//BackendcodeforTensorCreation. +//BackendcodeforTensorCreation. cudnnBackendDescriptor_ttensor; check_status(cudnnBackendCreateDescriptor(CUDNN_BACKEND_TENSOR_DESCRIPTOR,&tensor)); @@ -46,7 +46,7 @@ check_status(cudnnBackendDestroyDescriptor(tensor)); =========================================================================================== -//FrontEndequivalentcode. +//FrontEndequivalentcode. autotensor=cudnn_frontend::TensorBuilder() .setDim(tensor_dim.size(),tensor_dim.data()) .setStrides(tensor_str.size(),tensor_str.data())