Lumiera  0.pre.03
»edit your freedom«
ValueTypeBinding< TY, SEL > Struct Template Reference

#include "lib/meta/value-type-binding.hpp"

Description

template<typename TY, typename SEL = void>
struct lib::meta::ValueTypeBinding< TY, SEL >

Type re-binding helper template for creating nested typedefs usable by custom containers and iterator adapters or similar.

  • this trait provides a value-, reference- and pointer type, similar to what the STL does.
  • references are stripped, otherwise the base type is passed through
  • but when the base type in turn provides such nested typedefs, they are picked up and retrieved as result.
    Note
    client code might define specialisations to handle tricky situations (like e.g. const_reverse_iter)

Definition at line 112 of file value-type-binding.hpp.

Public Types

using pointer = typename RefTraits< TY >::Pointer
 
using reference = typename RefTraits< TY >::Reference
 
using value_type = typename RefTraits< TY >::Value
 

Member Typedef Documentation

◆ value_type

using value_type = typename RefTraits<TY>::Value

Definition at line 114 of file value-type-binding.hpp.

◆ reference

using reference = typename RefTraits<TY>::Reference

Definition at line 115 of file value-type-binding.hpp.

◆ pointer

using pointer = typename RefTraits<TY>::Pointer

Definition at line 116 of file value-type-binding.hpp.

+ Collaboration diagram for ValueTypeBinding< TY, SEL >:

The documentation for this struct was generated from the following file: