## Class template attribute_terminal

boost::log::expressions::attribute_terminal

## Synopsis

    // In header: <boost/log/expressions/attr_fwd.hpp>

    template<typename T, typename FallbackPolicyT = fallback_to_none,
             typename TagT = void>
    class attribute_terminal {
    public:
      // construct/copy/destruct
      explicit attribute_terminal(attribute_name const &);
      template<typename U> attribute_terminal(attribute_name const &, U const &);
      attribute_terminal() = delete;

      // public member functions
      attribute_name get_name() const;
      fallback_policy const & get_fallback_policy() const;
      template<typename ContextT>
        result< this_type(ContextT const &) >::type operator()(ContextT const &);
      template<typename ContextT>
        result< const this_type(ContextT const &) >::type
        operator()(ContextT const &) const;
    };

## Description

An attribute value extraction terminal

### `attribute_terminal` public construct/copy/destruct

1.     explicit attribute_terminal(attribute_name const & name);

   Initializing constructor

2.     template<typename U>
         attribute_terminal(attribute_name const & name, U const & arg);

   Initializing constructor

3.     attribute_terminal() = delete;

### `attribute_terminal` public member functions

1.     attribute_name get_name() const;

   Returns: | Attribute value name

2.     fallback_policy const & get_fallback_policy() const;

   Returns: | Fallback policy

3.     template<typename ContextT>
         result< this_type(ContextT const &) >::type operator()(ContextT const & ctx);

   The operator extracts attribute value

4.     template<typename ContextT>
         result< const this_type(ContextT const &) >::type
         operator()(ContextT const & ctx) const;

   The operator extracts attribute value