LArSoft  v09_90_00
Liquid Argon Software toolkit - https://larsoft.org/
coding.h File Reference
#include "boost/lexical_cast.hpp"
#include "boost/numeric/conversion/cast.hpp"
#include "fhiclcpp/ParameterSetID.h"
#include "fhiclcpp/exception.h"
#include "fhiclcpp/extended_value.h"
#include "fhiclcpp/fwd.h"
#include "fhiclcpp/parse.h"
#include "fhiclcpp/type_traits.h"
#include <any>
#include <array>
#include <complex>
#include <cstdint>
#include <sstream>
#include <string>
#include <tuple>
#include <type_traits>
#include <utility>
#include <vector>

Go to the source code of this file.

Classes

struct  fhicl::detail::per_entry< SIZE, TUPLE >
 
struct  fhicl::detail::per_entry< 0, TUPLE >
 

Namespaces

 fhicl::detail
 

Typedefs

using fhicl::detail::ps_atom_t = std::string
 
using fhicl::detail::ps_sequence_t = std::vector< std::any >
 
using fhicl::detail::ldbl = long double
 

Functions

bool fhicl::detail::is_sequence (std::any const &val)
 
bool fhicl::detail::is_table (std::any const &val)
 
bool fhicl::detail::is_nil (std::any const &val)
 
ps_atom_t fhicl::detail::encode (std::string const &)
 
ps_atom_t fhicl::detail::encode (char const *)
 
ps_atom_t fhicl::detail::encode (std::nullptr_t)
 
ps_atom_t fhicl::detail::encode (bool)
 
ParameterSetID fhicl::detail::encode (ParameterSet const &)
 
ps_atom_t fhicl::detail::encode (std::uintmax_t)
 
template<class T >
std::enable_if_t< tt::is_uint< T >::value, ps_atom_tfhicl::detail::encode (T const &)
 
ps_atom_t fhicl::detail::encode (std::intmax_t)
 
template<class T >
std::enable_if_t< tt::is_int< T >::value, ps_atom_tfhicl::detail::encode (T const &)
 
ps_atom_t fhicl::detail::encode (ldbl)
 
template<class T >
std::enable_if_t< std::is_floating_point_v< T >, ps_atom_tfhicl::detail::encode (T const &)
 
template<class T >
ps_atom_t fhicl::detail::encode (std::complex< T > const &)
 
template<class T >
ps_sequence_t fhicl::detail::encode (std::vector< T > const &)
 
template<class T >
tt::disable_if_t< tt::is_numeric< T >::value, std::string > fhicl::detail::encode (T const &)
 
void fhicl::detail::decode (std::any const &, std::string &)
 
void fhicl::detail::decode (std::any const &, std::nullptr_t &)
 
void fhicl::detail::decode (std::any const &, bool &)
 
void fhicl::detail::decode (std::any const &, ParameterSet &)
 
void fhicl::detail::decode (std::any const &, std::uintmax_t &)
 
template<class T >
std::enable_if_t< tt::is_uint< T >::valuefhicl::detail::decode (std::any const &, T &)
 
void fhicl::detail::decode (std::any const &, std::intmax_t &)
 
template<class T >
std::enable_if_t< tt::is_int< T >::valuefhicl::detail::decode (std::any const &, T &)
 
void fhicl::detail::decode (std::any const &, ldbl &)
 
template<class T >
std::enable_if_t< std::is_floating_point_v< T > > fhicl::detail::decode (std::any const &, T &)
 
void fhicl::detail::decode (std::any const &, std::complex< ldbl > &)
 
template<class T >
void fhicl::detail::decode (std::any const &, std::complex< T > &)
 
template<class T >
void fhicl::detail::decode (std::any const &, std::vector< T > &)
 
template<typename U >
void fhicl::detail::decode_tuple (std::any const &, U &tuple)
 
template<typename T , std::size_t SIZE>
void fhicl::detail::decode (std::any const &a, std::array< T, SIZE > &result)
 
template<typename KEY , typename VALUE >
void fhicl::detail::decode (std::any const &a, std::pair< KEY, VALUE > &result)
 
template<typename... ARGS>
void fhicl::detail::decode (std::any const &a, std::tuple< ARGS... > &result)
 
template<class T >
tt::disable_if_t< tt::is_numeric< T >::valuefhicl::detail::decode (std::any const &, T &)
 
template<typename TUPLE , size_t I>
auto fhicl::detail::decode_entry (ps_sequence_t const &vec)
 
template<typename TUPLE , size_t... I>
void fhicl::detail::decode_tuple_entries (ps_sequence_t const &vec, TUPLE &result, std::index_sequence< I... >)