Atria
Modern C++ toolkit
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
src
atria
xform
reducing
last_rf.hpp
Go to the documentation of this file.
1
//
2
// Copyright (C) 2014, 2015 Ableton AG, Berlin. All rights reserved.
3
//
4
// Permission is hereby granted, free of charge, to any person obtaining a
5
// copy of this software and associated documentation files (the "Software"),
6
// to deal in the Software without restriction, including without limitation
7
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
8
// and/or sell copies of the Software, and to permit persons to whom the
9
// Software is furnished to do so, subject to the following conditions:
10
//
11
// The above copyright notice and this permission notice shall be included in
12
// all copies or substantial portions of the Software.
13
//
14
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17
// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20
// DEALINGS IN THE SOFTWARE.
21
//
22
27
#pragma once
28
29
#include <
atria/estd/utility.hpp
>
30
#include <
atria/estd/type_traits.hpp
>
31
#include <
atria/prelude/tuplify.hpp
>
32
33
namespace
atria
{
34
namespace
xform {
35
42
constexpr
struct
last_rf_t
43
{
44
template
<
typename
StateT,
typename
...InputTs>
45
constexpr
auto
operator() (StateT&&, InputTs&& ...ins)
const
46
->
estd::decay_t<decltype(tuplify(std::forward<InputTs>
(ins)...))>
47
{
48
return
tuplify(std::forward<InputTs>(ins)...);
49
}
50
} last_rf {};
51
52
}
// namespace xform
53
}
// namespace atria
tuplify.hpp
atria::xform::last_rf_t
Reducing function that produces the tuplification of the last inputs it received. ...
Definition:
last_rf.hpp:42
atria::estd::decay_t
typename std::decay< T >::type decay_t
Similar to C++14 std::decay_t.
Definition:
type_traits.hpp:54
utility.hpp
type_traits.hpp
atria
C++ amazing templates and reusable implementations awesomeness.
Definition:
_doc.hpp:35
Generated on Tue Apr 12 2016 10:43:07 for Atria by
1.8.10