Struct template result<This(Cont, Value), void>

| Home | Libraries | People | FAQ | More

## Struct template result<This(Cont, Value), void>

boost::xpressive::op::insert::result<This(Cont,Value),void>

## Synopsis

    template<typename This, typename Cont, typename Value>
    struct result<This(Cont, Value), void> {
      // types
      typedef char                                                                                                          yes_type;
      typedef char(&                                                                                                        no_type;
      typedef mpl::if_c< is_iterator, typename cont_type::iterator, std::pair< typename cont_type::iterator, bool > >::type type;

      // public member functions
      typedef UNREF(Cont) ;
      typedef UNREF(Value) ;
       BOOST_STATIC_CONSTANT(bool,
                             is_iterator = (sizeof(yes_type)==sizeof(check_insert_return(scont_.insert(svalue_))))) ;

      // public static functions
      static yes_type check_insert_return(typename cont_type::iterator) ;
      static no_type
      check_insert_return(std::pair< typename cont_type::iterator, bool >) ;
      static cont_type & scont_;
      static value_type & svalue_;
    };

## Description

### `result` public member functions

1.     typedef UNREF(Cont) ;

2.     typedef UNREF(Value) ;

3.      BOOST_STATIC_CONSTANT(bool,
                              is_iterator = (sizeof(yes_type)==sizeof(check_insert_return(scont_.insert(svalue_))))) ;

### `result` public static functions

1.     static yes_type check_insert_return(typename cont_type::iterator) ;

2.     static no_type
       check_insert_return(std::pair< typename cont_type::iterator, bool >) ;