OKlibrary  0.2.1.6
OKlib::Concepts::Container< C > Class Template Reference

Concept Container according to Table 65 in the standard. More...

#include <std_Container.hpp>

List of all members.

Public Types

typedef C::value_type value_type
typedef C::reference reference
typedef C::const_reference const_reference
typedef C::iterator iterator
typedef C::const_iterator const_iterator
typedef C::difference_type difference_type
typedef C::size_type size_type
typedef std::iterator_traits
< iterator >::value_type 
iterator_value_type
typedef std::iterator_traits
< const_iterator >::value_type 
const_iterator_value_type
typedef std::iterator_traits
< iterator >::difference_type 
iterator_difference_type
typedef std::iterator_traits
< const_iterator >
::difference_type 
const_iterator_difference_type

Public Member Functions

void constraints ()

Public Attributes

x
y
const C a

Detailed Description

template<typename C>
class OKlib::Concepts::Container< C >

Concept Container according to Table 65 in the standard.

Todo:

What is the meaning of type-members "reference" and "const_reference" ?

What is the problem questioned in the comment below on "iterator type pointing to value_type" etc. (likely one must have a look into the standard).

Are there container-concepts proposed at Boost, or for the new standard?

Todo:
Write a weakening of concept Container which does not require the value type to be assignable (so that std::map and std::multimap are models of this concept).
Todo:
Likely, for the archetype we should use some predefined constructs (is_convertible etc.).

Definition at line 53 of file std_Container.hpp.


Member Typedef Documentation

template<typename C >
typedef C::const_iterator OKlib::Concepts::Container< C >::const_iterator

Definition at line 58 of file std_Container.hpp.

template<typename C >
typedef std::iterator_traits<const_iterator>::difference_type OKlib::Concepts::Container< C >::const_iterator_difference_type

Definition at line 65 of file std_Container.hpp.

template<typename C >
typedef std::iterator_traits<const_iterator>::value_type OKlib::Concepts::Container< C >::const_iterator_value_type

Definition at line 63 of file std_Container.hpp.

template<typename C >
typedef C::const_reference OKlib::Concepts::Container< C >::const_reference

Definition at line 56 of file std_Container.hpp.

template<typename C >
typedef C::difference_type OKlib::Concepts::Container< C >::difference_type

Definition at line 59 of file std_Container.hpp.

template<typename C >
typedef C::iterator OKlib::Concepts::Container< C >::iterator

Definition at line 57 of file std_Container.hpp.

template<typename C >
typedef std::iterator_traits<iterator>::difference_type OKlib::Concepts::Container< C >::iterator_difference_type

Definition at line 64 of file std_Container.hpp.

template<typename C >
typedef std::iterator_traits<iterator>::value_type OKlib::Concepts::Container< C >::iterator_value_type

Definition at line 62 of file std_Container.hpp.

template<typename C >
typedef C::reference OKlib::Concepts::Container< C >::reference

Definition at line 55 of file std_Container.hpp.

template<typename C >
typedef C::size_type OKlib::Concepts::Container< C >::size_type

Definition at line 60 of file std_Container.hpp.

template<typename C >
typedef C::value_type OKlib::Concepts::Container< C >::value_type

Definition at line 54 of file std_Container.hpp.


Member Function Documentation


Member Data Documentation

template<typename C >
const C OKlib::Concepts::Container< C >::a

Definition at line 114 of file std_Container.hpp.

Referenced by OKlib::Concepts::Container< C >::constraints().

template<typename C >
C OKlib::Concepts::Container< C >::x

Definition at line 113 of file std_Container.hpp.

Referenced by OKlib::Concepts::Container< C >::constraints().

template<typename C >
C OKlib::Concepts::Container< C >::y

Definition at line 113 of file std_Container.hpp.

Referenced by OKlib::Concepts::Container< C >::constraints().


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