ardour
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
libs
ardour
ardour
region_sorters.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2000-2011 Paul Davis
3
4
This program is free software; you can redistribute it and/or modify
5
it under the terms of the GNU General Public License as published by
6
the Free Software Foundation; either version 2 of the License, or
7
(at your option) any later version.
8
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
13
14
You should have received a copy of the GNU General Public License
15
along with this program; if not, write to the Free Software
16
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18
*/
19
20
#ifndef __libardour_region_sorters_h__
21
#define __libardour_region_sorters_h__
22
23
#include "
ardour/region.h
"
24
25
namespace
ARDOUR
{
26
27
struct
LIBARDOUR_API
RegionSortByPosition
{
28
bool
operator() (
boost::shared_ptr<Region>
a,
boost::shared_ptr<Region>
b) {
29
return
a->position() < b->position();
30
}
31
};
32
33
struct
LIBARDOUR_API
RegionSortByLayer
{
34
bool
operator() (
boost::shared_ptr<Region>
a,
boost::shared_ptr<Region>
b) {
35
return
a->layer() < b->layer();
36
}
37
};
38
39
/* sort by RegionSortByLayerAndPosition()
40
* is equivalent to
41
* stable_sort by RegionSortByPosition();
42
* stable_sort by RegionSortByLayer();
43
*/
44
struct
LIBARDOUR_API
RegionSortByLayerAndPosition
{
45
bool
operator() (
boost::shared_ptr<Region>
a,
boost::shared_ptr<Region>
b) {
46
return
47
(a->layer() < b->layer() && a->position() < b->position())
48
|| (a->layer() == b->layer() && a->position() < b->position());
49
}
50
};
51
52
}
// namespace
53
54
#endif
/* __libardour_region_sorters_h__ */
ARDOUR::RegionSortByPosition
Definition:
region_sorters.h:27
boost::shared_ptr< Region >
ARDOUR
Definition:
amp.h:29
ARDOUR::RegionSortByLayer
Definition:
region_sorters.h:33
ARDOUR::RegionSortByLayerAndPosition
Definition:
region_sorters.h:44
LIBARDOUR_API
#define LIBARDOUR_API
Definition:
libardour_visibility.h:40
region.h
Generated on Sun May 24 2015 12:15:05 for ardour by
1.8.8