/usr/include/boost/hana/fwd
NameSizeModeActions
concept/-0755rm
core/-0755rm
accessors.hpp15190644editdlrm
adapt_adt.hpp15960644editdlrm
adapt_struct.hpp15860644editdlrm
adjust.hpp17870644editdlrm
adjust_if.hpp22750644editdlrm
all.hpp11850644editdlrm
all_of.hpp14760644editdlrm
and.hpp14410644editdlrm
any.hpp11780644editdlrm
any_of.hpp14450644editdlrm
ap.hpp26490644editdlrm
append.hpp20440644editdlrm
at.hpp28240644editdlrm
at_key.hpp23340644editdlrm
back.hpp13550644editdlrm
basic_tuple.hpp22920644editdlrm
bool.hpp3840644editdlrm
cartesian_product.hpp18370644editdlrm
chain.hpp19640644editdlrm
comparing.hpp19240644editdlrm
concat.hpp18380644editdlrm
contains.hpp23780644editdlrm
core.hpp6190644editdlrm
count.hpp16830644editdlrm
count_if.hpp16340644editdlrm
cycle.hpp24600644editdlrm
define_struct.hpp15820644editdlrm
difference.hpp8540644editdlrm
div.hpp17720644editdlrm
drop_back.hpp20160644editdlrm
drop_front.hpp22680644editdlrm
drop_front_exactly.hpp24090644editdlrm
drop_while.hpp20470644editdlrm
duplicate.hpp15740644editdlrm
empty.hpp13060644editdlrm
equal.hpp25840644editdlrm
erase_key.hpp8760644editdlrm
eval.hpp20120644editdlrm
eval_if.hpp64530644editdlrm
extend.hpp17330644editdlrm
extract.hpp15470644editdlrm
fill.hpp14120644editdlrm
filter.hpp26000644editdlrm
find.hpp17780644editdlrm
find_if.hpp17340644editdlrm
first.hpp14700644editdlrm
flatten.hpp17270644editdlrm
fold.hpp10660644editdlrm
fold_left.hpp30040644editdlrm
fold_right.hpp31930644editdlrm
for_each.hpp15130644editdlrm
front.hpp14010644editdlrm
fuse.hpp15800644editdlrm
greater.hpp14640644editdlrm
greater_equal.hpp15630644editdlrm
group.hpp38720644editdlrm
hash.hpp21580644editdlrm
if.hpp16510644editdlrm
index_if.hpp18460644editdlrm
insert.hpp16950644editdlrm
insert_range.hpp17780644editdlrm
integral_constant.hpp47910644editdlrm
intersection.hpp8720644editdlrm
intersperse.hpp17800644editdlrm
is_disjoint.hpp14450644editdlrm
is_empty.hpp14530644editdlrm
is_subset.hpp28000644editdlrm
keys.hpp13380644editdlrm
lazy.hpp45930644editdlrm
length.hpp14150644editdlrm
less.hpp13940644editdlrm
less_equal.hpp14930644editdlrm
lexicographical_compare.hpp38190644editdlrm
lift.hpp16860644editdlrm
map.hpp131420644editdlrm
max.hpp11500644editdlrm
maximum.hpp43440644editdlrm
members.hpp12560644editdlrm
min.hpp15250644editdlrm
minimum.hpp43340644editdlrm
minus.hpp21010644editdlrm
mod.hpp19700644editdlrm
monadic_compose.hpp22960644editdlrm
monadic_fold_left.hpp40160644editdlrm
monadic_fold_right.hpp41740644editdlrm
mult.hpp19330644editdlrm
negate.hpp10220644editdlrm
none.hpp12170644editdlrm
none_of.hpp14980644editdlrm
not.hpp12200644editdlrm
not_equal.hpp21150644editdlrm
one.hpp11160644editdlrm
optional.hpp187880644editdlrm
or.hpp14260644editdlrm
ordering.hpp19020644editdlrm
pair.hpp57680644editdlrm
partition.hpp27310644editdlrm
permutations.hpp15630644editdlrm
plus.hpp19440644editdlrm
power.hpp15600644editdlrm
prefix.hpp20970644editdlrm
prepend.hpp24150644editdlrm
product.hpp26360644editdlrm
range.hpp54800644editdlrm
remove.hpp21770644editdlrm
remove_at.hpp23710644editdlrm
remove_if.hpp21550644editdlrm
remove_range.hpp27450644editdlrm
repeat.hpp16240644editdlrm
replace.hpp18420644editdlrm
replace_if.hpp18530644editdlrm
replicate.hpp25110644editdlrm
reverse.hpp11870644editdlrm
reverse_fold.hpp28860644editdlrm
scan_left.hpp37120644editdlrm
scan_right.hpp38110644editdlrm
second.hpp14770644editdlrm
set.hpp99810644editdlrm
size.hpp9290644editdlrm
slice.hpp35240644editdlrm
sort.hpp37700644editdlrm
span.hpp28580644editdlrm
string.hpp107940644editdlrm
suffix.hpp20810644editdlrm
sum.hpp32530644editdlrm
symmetric_difference.hpp9440644editdlrm
take_back.hpp21780644editdlrm
take_front.hpp22310644editdlrm
take_while.hpp16920644editdlrm
tap.hpp21830644editdlrm
then.hpp14200644editdlrm
transform.hpp14670644editdlrm
tuple.hpp85540644editdlrm
type.hpp198480644editdlrm
unfold_left.hpp25460644editdlrm
unfold_right.hpp25690644editdlrm
union.hpp8110644editdlrm
unique.hpp33370644editdlrm
unpack.hpp35600644editdlrm
value.hpp31590644editdlrm
while.hpp24320644editdlrm
zero.hpp10950644editdlrm
zip.hpp19180644editdlrm
zip_shortest.hpp20390644editdlrm
zip_shortest_with.hpp21630644editdlrm
zip_with.hpp20420644editdlrm
Edit: /usr/include/boost/hana/fwd/maximum.hpp (4344B)
/*! @file Forward declares `boost::hana::maximum`. @copyright Louis Dionne 2013-2017 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) */ #ifndef BOOST_HANA_FWD_MAXIMUM_HPP #define BOOST_HANA_FWD_MAXIMUM_HPP #include #include #include BOOST_HANA_NAMESPACE_BEGIN //! Return the greatest element of a non-empty structure with respect to //! a `predicate`, by default `less`. //! @ingroup group-Foldable //! //! Given a non-empty structure and an optional binary predicate //! (`less` by default), `maximum` returns the greatest element of //! the structure, i.e. an element which is greater than or equal to //! every other element in the structure, according to the predicate. //! //! If the structure contains heterogeneous objects, then the predicate //! must return a compile-time `Logical`. If no predicate is provided, //! the elements in the structure must be Orderable, or compile-time //! Orderable if the structure is heterogeneous. //! //! //! Signature //! --------- //! Given a Foldable `F`, a Logical `Bool` and a predicate //! \f$ \mathtt{pred} : T \times T \to Bool \f$, `maximum` has the //! following signatures. For the variant with a provided predicate, //! \f[ //! \mathtt{maximum} : F(T) \times (T \times T \to Bool) \to T //! \f] //! //! for the variant without a custom predicate, `T` is required to be //! Orderable. The signature is then //! \f[ //! \mathtt{maximum} : F(T) \to T //! \f] //! //! @param xs //! The structure to find the greatest element of. //! //! @param predicate //! A function called as `predicate(x, y)`, where `x` and `y` are elements //! of the structure. `predicate` should be a strict weak ordering on the //! elements of the structure and its return value should be a Logical, //! or a compile-time Logical if the structure is heterogeneous. //! //! ### Example //! @include example/maximum.cpp //! //! //! Syntactic sugar (`maximum.by`) //! ------------------------------ //! `maximum` can be called in a third way, which provides a nice syntax //! especially when working with the `ordering` combinator: //! @code //! maximum.by(predicate, xs) == maximum(xs, predicate) //! maximum.by(predicate) == maximum(-, predicate) //! @endcode //! //! where `maximum(-, predicate)` denotes the partial application of //! `maximum` to `predicate`. //! //! ### Example //! @include example/maximum_by.cpp //! //! //! Tag dispatching //! --------------- //! Both the non-predicated version and the predicated versions of //! `maximum` are tag-dispatched methods, and hence they can be //! customized independently. One reason for this is that some //! structures are able to provide a much more efficient implementation //! of `maximum` when the `less` predicate is used. Here is how the //! different versions of `maximum` are dispatched: //! @code //! maximum(xs) -> maximum_impl::apply(xs) //! maximum(xs, pred) -> maximum_pred_impl::apply(xs, pred) //! @endcode //! //! Also note that `maximum.by` is not tag-dispatched on its own, since it //! is just syntactic sugar for calling the corresponding `maximum`. #ifdef BOOST_HANA_DOXYGEN_INVOKED constexpr auto maximum = [](auto&& xs[, auto&& predicate]) -> decltype(auto) { return tag-dispatched; }; #else template struct maximum_impl : maximum_impl> { }; template struct maximum_pred_impl : maximum_pred_impl> { }; struct maximum_t : detail::nested_by { template constexpr decltype(auto) operator()(Xs&& xs) const; template constexpr decltype(auto) operator()(Xs&& xs, Predicate&& pred) const; }; constexpr maximum_t maximum{}; #endif BOOST_HANA_NAMESPACE_END #endif // !BOOST_HANA_FWD_MAXIMUM_HPP