hydrogen 1.2.6
Pattern.h File Reference

Go to the source code of this file.

Data Structures

class  Pattern
 Pattern class is a Note container. More...
 

Namespaces

namespace  H2Core
 

Macros

#define FOREACH_NOTE_CST_IT_BEGIN_END(_notes, _it)
 Iterate over all provided notes in an immutable way.
 
#define FOREACH_NOTE_CST_IT_BEGIN_LENGTH(_notes, _it, _pattern)
 Iterate over all accessible notes between position 0 and length of _pattern in an immutable way.
 
#define FOREACH_NOTE_CST_IT_BOUND_END(_notes, _it, _bound)
 Iterate over all notes in column _bound in an immutable way.
 
#define FOREACH_NOTE_CST_IT_BOUND_LENGTH(_notes, _it, _bound, _pattern)
 Iterate over all notes in column _bound in an immutable way if it is contained in _pattern.
 
#define FOREACH_NOTE_IT_BEGIN_END(_notes, _it)
 Iterate over all provided notes in a mutable way.
 
#define FOREACH_NOTE_IT_BEGIN_LENGTH(_notes, _it, _pattern)
 Iterate over all accessible notes between position 0 and length of _pattern in a mutable way.
 
#define FOREACH_NOTE_IT_BOUND_END(_notes, _it, _bound)
 Iterate over all notes in column _bound in a mutable way.
 
#define FOREACH_NOTE_IT_BOUND_LENGTH(_notes, _it, _bound, _pattern)
 Iterate over all notes in column _bound in a mutable way if it is contained in _pattern.
 

Macro Definition Documentation

◆ FOREACH_NOTE_CST_IT_BEGIN_END

#define FOREACH_NOTE_CST_IT_BEGIN_END ( _notes,
_it )
Value:
for( Pattern::notes_cst_it_t _it=(_notes)->begin(); (_it)!=(_notes)->end(); (_it)++ )

Iterate over all provided notes in an immutable way.

Definition at line 268 of file Pattern.h.

◆ FOREACH_NOTE_CST_IT_BEGIN_LENGTH

#define FOREACH_NOTE_CST_IT_BEGIN_LENGTH ( _notes,
_it,
_pattern )
Value:
for( Pattern::notes_cst_it_t _it=(_notes)->begin(); (_it)!=(_notes)->end() && (_it)->first < (_pattern)->get_length(); (_it)++ )

Iterate over all accessible notes between position 0 and length of _pattern in an immutable way.

Definition at line 285 of file Pattern.h.

◆ FOREACH_NOTE_CST_IT_BOUND_END

#define FOREACH_NOTE_CST_IT_BOUND_END ( _notes,
_it,
_bound )
Value:
for( Pattern::notes_cst_it_t _it=(_notes)->lower_bound((_bound)); (_it)!=(_notes)->end() && (_it)->first == (_bound); (_it)++ )

Iterate over all notes in column _bound in an immutable way.

Definition at line 272 of file Pattern.h.

◆ FOREACH_NOTE_CST_IT_BOUND_LENGTH

#define FOREACH_NOTE_CST_IT_BOUND_LENGTH ( _notes,
_it,
_bound,
_pattern )
Value:
for( Pattern::notes_cst_it_t _it=(_notes)->lower_bound((_bound)); (_it)!=(_notes)->end() && (_it)->first == (_bound) && (_it)->first < (_pattern)->get_length(); (_it)++ )

Iterate over all notes in column _bound in an immutable way if it is contained in _pattern.

Definition at line 290 of file Pattern.h.

◆ FOREACH_NOTE_IT_BEGIN_END

#define FOREACH_NOTE_IT_BEGIN_END ( _notes,
_it )
Value:
for( Pattern::notes_it_t _it=(_notes)->begin(); (_it)!=(_notes)->end(); (_it)++ )

Iterate over all provided notes in a mutable way.

Definition at line 276 of file Pattern.h.

◆ FOREACH_NOTE_IT_BEGIN_LENGTH

#define FOREACH_NOTE_IT_BEGIN_LENGTH ( _notes,
_it,
_pattern )
Value:
for( Pattern::notes_it_t _it=(_notes)->begin(); (_it)!=(_notes)->end() && (_it)->first < (_pattern)->get_length(); (_it)++ )

Iterate over all accessible notes between position 0 and length of _pattern in a mutable way.

Definition at line 295 of file Pattern.h.

◆ FOREACH_NOTE_IT_BOUND_END

#define FOREACH_NOTE_IT_BOUND_END ( _notes,
_it,
_bound )
Value:
for( Pattern::notes_it_t _it=(_notes)->lower_bound((_bound)); (_it)!=(_notes)->end() && (_it)->first == (_bound); (_it)++ )

Iterate over all notes in column _bound in a mutable way.

Definition at line 280 of file Pattern.h.

◆ FOREACH_NOTE_IT_BOUND_LENGTH

#define FOREACH_NOTE_IT_BOUND_LENGTH ( _notes,
_it,
_bound,
_pattern )
Value:
for( Pattern::notes_it_t _it=(_notes)->lower_bound((_bound)); (_it)!=(_notes)->end() && (_it)->first == (_bound) && (_it)->first < (_pattern)->get_length(); (_it)++ )

Iterate over all notes in column _bound in a mutable way if it is contained in _pattern.

Definition at line 300 of file Pattern.h.