STRUCT TEMPLATE (3)

NAME
boost::accumulators::impl::tail_impl

SYNOPSIS

// In header: <boost/accumulators/statistics/tail.hpp>
template<typename Sample, typename LeftRight>
struct tail_impl {
  // types
  typedef mpl::if_< is_same< LeftRight, right >, numeric::functional::greater< Sample const, Sample const  >, numeric::functional::less< Sample const, Sample const  > >::type predicate_type;
  typedef unspecified                                                                                                                                                          result_type;
  // member classes/structs/unions
  struct indirect_cmp {
    // construct/copy/destruct
    indirect_cmp(std::vector< Sample > const &);
    indirect_cmp& operator=(indirect_cmp const &);
    // public member functions
    bool operator()(std::size_t, std::size_t) const;
  };
  struct is_tail_variate {
    // member classes/structs/unions
    template<typename T>
    struct apply {
    };
  };
  // construct/copy/destruct
  template<typename Args> tail_impl(Args const &);
  tail_impl(tail_impl const &);
  // public member functions
   BOOST_MPL_ASSERT((mpl::or_< is_same< LeftRight, right >, is_same< LeftRight, left > >));
  template<typename Args> void operator()(Args const &);
  result_type result(dont_care) const;
  // private member functions
  template<typename Args> void assign(Args const &, std::size_t);
};

DESCRIPTION

  tail_impl public construct/copy/destruct

    1.

    template<typename Args> tail_impl(Args const & args);

    2.

    tail_impl(tail_impl const & that);

  tail_impl public member functions

    1.

     BOOST_MPL_ASSERT((mpl::or_< is_same< LeftRight, right >, is_same< LeftRight, left > >));

    2.

    template<typename Args> void operator()(Args const & args);

    3.

    result_type result(dont_care) const;

  tail_impl private member functions

    1.

    template<typename Args> void assign(Args const & args, std::size_t index);