uPg input-output traits. 
Namespace with metafunctions detecting different type traits needed for PostgreSQL input-output operations 
 | 
| struct   | AddTupleConstRef | 
|   | 
| struct   | AddTupleConstRef< std::tuple< T... > > | 
|   | 
| struct   | BitContainerTraits | 
|   | 
| struct   | BitContainerTraits< BitContainer, std::enable_if_t< std::is_integral_v< BitContainer > > > | 
|   | 
| struct   | BitContainerTraits< std::array< bool, N > > | 
|   | 
| struct   | BitContainerTraits< std::bitset< N > > | 
|   | 
| struct   | CanClear | 
|   | 
| struct   | CanClear< T, ::utils::void_t< decltype(std::declval< T >().clear())> > | 
|   | 
| struct   | CanReserve | 
|   | 
| struct   | CanReserve< T, ::utils::void_t< decltype(std::declval< T >().reserve(std::declval< std::size_t >()))> > | 
|   | 
| struct   | CanResize | 
|   | 
| struct   | CanResize< T, ::utils::void_t< decltype(std::declval< T >().resize(std::declval< std::size_t >()))> > | 
|   | 
| struct   | CanUseEnumAsStrongTypedef | 
|   | 
| struct   | ContainerFinalElement | 
|   | Detect type of multidimensional C++ container.  More...
  | 
|   | 
| struct   | DimensionCount | 
|   | Calculate number of dimensions in C++ container.  More...
  | 
|   | 
| struct   | DimensionCount< T, std::enable_if_t< kIsCompatibleContainer< T > > > | 
|   | 
| struct   | DimensionSize | 
|   | 
| struct   | DimensionSize< std::array< T, N > > | 
|   | 
| struct   | ExtractionTag | 
|   | 
| struct   | ExtractionTag< T, std::enable_if_t< kIsRowType< T > > > | 
|   | 
| struct   | FixedDimensions | 
|   | 
| struct   | GetSetNull | 
|   | 
| struct   | GetSetNull< ::utils::StrongTypedef< Tag, T, Ops, Enable > > | 
|   | 
| struct   | GetSetNull< boost::optional< T > > | 
|   | 
| struct   | GetSetNull< Null< T > > | 
|   | 
| struct   | GetSetNull< std::optional< T > > | 
|   | 
| struct   | GetSetNull<::utils::OptionalRef< T > > | 
|   | 
| struct   | HasFixedDimensions | 
|   | 
| struct   | HasFormatter | 
|   | Metafunction to detect if a type has a formatter.  More...
  | 
|   | 
| struct   | HasInputOperator | 
|   | 
| struct   | HasInputOperator< T, ::utils::void_t< decltype(std::declval< std::istream & >() > > std::declval< T & >())> > | 
|   | 
| struct   | HasIntrospection | 
|   | 
| struct   | HasOutputOperator | 
|   | 
| struct   | HasOutputOperator< T, ::utils::void_t< decltype(std::declval< std::ostream & >()<< std::declval< T & >())> > | 
|   | 
| struct   | HasParser | 
|   | Metafunction to detect if a type has a parser.  More...
  | 
|   | 
| struct   | Input | 
|   | Customisation point for parsers.  More...
  | 
|   | 
| struct   | Input< BoundedRange< T >, std::enable_if_t< kHasParser< T > > > | 
|   | 
| struct   | Input< formats::json::Value > | 
|   | 
| struct   | Input< io::detail::Box > | 
|   | 
| struct   | Input< io::detail::Circle > | 
|   | 
| struct   | Input< io::detail::Line > | 
|   | 
| struct   | Input< io::detail::LineSegment > | 
|   | 
| struct   | Input< io::detail::Path > | 
|   | 
| struct   | Input< io::detail::Point > | 
|   | 
| struct   | Input< io::detail::Polygon > | 
|   | 
| struct   | Input< Range< T >, std::enable_if_t< kHasParser< T > > > | 
|   | 
| struct   | Input< std::chrono::duration< Rep, Period > > | 
|   | Binary parser for std::chrono::duration.  More...
  | 
|   | 
| struct   | Input< T, EnableIfCanUseEnumAsStrongTypedef< T > > | 
|   | 
| struct   | Input< T, std::enable_if_t<!detail::kCustomParserDefined< T > &&io::detail::kEnableArrayParser< T > > > | 
|   | 
| struct   | Input< T, std::enable_if_t<!detail::kCustomParserDefined< T > &&kIsRowType< T > > > | 
|   | 
| struct   | IO | 
|   | A default deducer of parsers/formatters for a type/data format. Can be specialised for a type/format pair providing custom parsers/formatters.  More...
  | 
|   | 
| struct   | IsBitStringCompatible | 
|   | 
| struct   | IsBitStringCompatible< std::array< bool, N > > | 
|   | 
| struct   | IsBitStringCompatible< std::bitset< N > > | 
|   | 
| struct   | IsBitStringCompatible<::utils::Flags< Enum > > | 
|   | 
| struct   | IsByteaCompatible | 
|   | 
| struct   | IsByteaCompatible< std::string > | 
|   | 
| struct   | IsByteaCompatible< std::string_view > | 
|   | 
| struct   | IsByteaCompatible< std::vector< char, VectorArgs... > > | 
|   | 
| struct   | IsByteaCompatible< std::vector< unsigned char, VectorArgs... > > | 
|   | 
| struct   | IsCompatibleContainer | 
|   | Mark C++ container type as supported by the driver.  More...
  | 
|   | 
| struct   | IsCompatibleContainer< ::utils::impl::ProjectingView< const Container, Projection > > | 
|   | 
| struct   | IsCompatibleContainer< io::detail::ContainerChunk< Container > > | 
|   | 
| struct   | IsCompatibleContainer< std::array< T, Size > > | 
|   | 
| struct   | IsCompatibleContainer< std::set< T... > > | 
|   | 
| struct   | IsCompatibleContainer< std::unordered_set< T... > > | 
|   | 
| struct   | IsCompatibleContainer< std::vector< T... > > | 
|   | 
| struct   | IsMappedToArray | 
|   | Detect if the C++ type is mapped to a Postgres array type.  More...
  | 
|   | 
| struct   | IsMappedToPg | 
|   | Detect if the C++ type is mapped to a Postgres type.  More...
  | 
|   | 
| struct   | IsMappedToPg< ::utils::StrongTypedef< Tag, T, Ops, Enable > > | 
|   | 
| struct   | IsMappedToPg< boost::optional< T > > | 
|   | 
| struct   | IsMappedToPg< Null< T > > | 
|   | 
| struct   | IsMappedToPg< std::optional< T > > | 
|   | 
| struct   | IsMappedToPg< T, EnableIfCanUseEnumAsStrongTypedef< T > > | 
|   | 
| struct   | IsMappedToPg<::utils::OptionalRef< T > > | 
|   | 
| struct   | IsMappedToSystemType | 
|   | Detect if the C++ type is mapped to a Postgres system type.  More...
  | 
|   | 
| struct   | IsMappedToUserType | 
|   | Detect if the C++ type is mapped to a Postgres user type.  More...
  | 
|   | 
| struct   | IsNullable | 
|   | Metafunction to detect nullability of a type.  More...
  | 
|   | 
| struct   | IsNullable< boost::optional< T > > | 
|   | Nullability traits for boost::optional.  More...
  | 
|   | 
| struct   | IsNullable< Null< T > > | 
|   | 
| struct   | IsNullable< std::optional< T > > | 
|   | Nullability traits for std::optional.  More...
  | 
|   | 
| struct   | IsNullable<::utils::OptionalRef< T > > | 
|   | Nullability traits for USERVER_NAMESPACE::utils::OptionalRef.  More...
  | 
|   | 
| struct   | IsNullable<::utils::StrongTypedef< Tag, T, Ops, Enable > > | 
|   | 
| struct   | IsSpecialMapping | 
|   | Mark C++ mapping a special case for disambiguation.  More...
  | 
|   | 
| struct   | IsSpecialMapping< ::utils::StrongTypedef< Tag, T, Ops, Enable > > | 
|   | 
| struct   | IsSpecialMapping< boost::optional< T > > | 
|   | 
| struct   | IsSpecialMapping< Null< T > > | 
|   | 
| struct   | IsSpecialMapping< std::optional< T > > | 
|   | 
| struct   | IsSpecialMapping< T, EnableIfCanUseEnumAsStrongTypedef< T > > | 
|   | 
| struct   | IsSpecialMapping<::utils::OptionalRef< T > > | 
|   | 
| struct   | IsSuitableRowType | 
|   | 
| struct   | IsSuitableRowType< ::utils::StrongTypedef< Tag, T, Ops, Enable > > | 
|   | 
| struct   | IsTuple | 
|   | 
| struct   | IsTuple< std::tuple< T... > > | 
|   | 
| struct   | IsTupleOfRefs | 
|   | 
| struct   | IsTupleOfRefs< std::tuple< T &... > > | 
|   | 
| struct   | Output | 
|   | Customisation point for formatters.  More...
  | 
|   | 
| struct   | Output< BoundedRange< T >, std::enable_if_t< kHasFormatter< T > > > | 
|   | 
| struct   | Output< formats::json::Value > | 
|   | 
| struct   | Output< io::detail::Box > | 
|   | 
| struct   | Output< io::detail::Circle > | 
|   | 
| struct   | Output< io::detail::Line > | 
|   | 
| struct   | Output< io::detail::LineSegment > | 
|   | 
| struct   | Output< io::detail::Path > | 
|   | 
| struct   | Output< io::detail::Point > | 
|   | 
| struct   | Output< io::detail::Polygon > | 
|   | 
| struct   | Output< PlainJson > | 
|   | 
| struct   | Output< Range< T >, std::enable_if_t< kHasFormatter< T > > > | 
|   | 
| struct   | Output< std::chrono::duration< Rep, Period > > | 
|   | Binary formatter for std::chrono::duration.  More...
  | 
|   | 
| struct   | Output< T, EnableIfCanUseEnumAsStrongTypedef< T > > | 
|   | 
| struct   | Output< T, std::enable_if_t<!detail::kCustomFormatterDefined< T > &&io::detail::kEnableArrayFormatter< T > > > | 
|   | 
| struct   | Output< T, std::enable_if_t<!detail::kCustomFormatterDefined< T > &&kIsMappedToUserType< T > &&kIsRowType< T > > > | 
|   | 
| struct   | ParserBufferCategory | 
|   | Buffer category for parser.  More...
  | 
|   | 
| struct   | ParserBufferCategory< BufferParser< boost::optional< T > > > | 
|   | 
| struct   | ParserBufferCategory< BufferParser< std::optional< T > > > | 
|   | 
| struct   | ParserBufferCategory< BufferParser<::utils::StrongTypedef< Tag, T, Ops, Enable > > > | 
|   | 
| struct   | ParserBufferCategory< io::detail::ArrayBinaryParser< T > > | 
|   | 
| struct   | ParserBufferCategory< io::detail::BoundedRangeBinaryParser< T > > | 
|   | 
| struct   | ParserBufferCategory< io::detail::BoxParser > | 
|   | 
| struct   | ParserBufferCategory< io::detail::CircleParser > | 
|   | 
| struct   | ParserBufferCategory< io::detail::CompositeBinaryParser< T > > | 
|   | 
| struct   | ParserBufferCategory< io::detail::EnumParser< T > > | 
|   | 
| struct   | ParserBufferCategory< io::detail::JsonParser > | 
|   | 
| struct   | ParserBufferCategory< io::detail::LineParser > | 
|   | 
| struct   | ParserBufferCategory< io::detail::LineSegmentParser > | 
|   | 
| struct   | ParserBufferCategory< io::detail::PathParser > | 
|   | 
| struct   | ParserBufferCategory< io::detail::PointParser > | 
|   | 
| struct   | ParserBufferCategory< io::detail::PolygonParser > | 
|   | 
| struct   | ParserBufferCategory< io::detail::RangeBinaryParser< T > > | 
|   | 
| struct   | RemoveTupleReferences | 
|   | 
| struct   | RemoveTupleReferences< std::tuple< T... > > | 
|   | 
| struct   | RowCategory | 
|   | 
| struct   | RowCategory<::utils::StrongTypedef< Tag, T, Ops, Enable > > | 
|   | 
| struct   | TupleHasFormatters | 
|   | 
| struct   | TupleHasFormatters< std::tuple< T... > > | 
|   | 
| struct   | TupleHasParsers | 
|   | 
| struct   | TupleHasParsers< std::tuple< T... > > | 
|   | 
| struct   | TypeBufferCategory | 
|   |