libpsynth 0.2.1
Public Member Functions | Public Attributes
psynth::sound::RandomAccessBufferRangeConcept< Range > Struct Template Reference

#include <concept.hpp>

Collaboration diagram for psynth::sound::RandomAccessBufferRangeConcept< Range >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void constraints ()

Public Attributes

Range range

Detailed Description

template<typename Range>
struct psynth::sound::RandomAccessBufferRangeConcept< Range >

concept RandomAccessBufferRangeConcept<base::Regular Range> {
    typename value_type;
    typename reference;       // result of dereferencing
    typename difference_type;
    // result of operator-(iterator,iterator)
    typename const_type; where RandomAccessBufferRangeConcept<Range>;
    // same as Range, but over immutable values
    typename iterator; where RandomAccessTraversalConcept<iterator>;
    // iterator over all values
    typename reverse_iterator;
    where RandomAccessTraversalConcept<reverse_iterator>; 
    typename size_type;       // the return value of size()

    // Defines the type of a range similar to this type, except it
    // invokes Deref upon dereferencing
    template <FrameDereferenceAdaptorConcept Deref>
    struct add_deref {
        typename type;
        where RandomAccessBufferRangeConcept<type>;
        static type make(const Range& v, const Deref& deref);
    };
    
    Range::Range(const iterator&, const size_type&);
    
    // total number of elements
    size_type        Range::size()       const; 
    reference        operator[](Range, const difference_type&) const;
    
    iterator         Range::begin()      const;
    iterator         Range::end()        const;
    reverse_iterator Range::rbegin()     const;
    reverse_iterator Range::rend()       const;
    iterator         Range::at(const size_type&);
};

Member Function Documentation

template<typename Range >
void psynth::sound::RandomAccessBufferRangeConcept< Range >::constraints ( ) [inline]

Member Data Documentation

template<typename Range >
Range psynth::sound::RandomAccessBufferRangeConcept< Range >::range

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