GDB (xrefs)
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
expr::tuple_holding_operation< Arg > Class Template Reference

#include "expop.h"

Inheritance diagram for expr::tuple_holding_operation< Arg >:
expr::operation

Public Member Functions

 tuple_holding_operation (Arg... args)
 
 DISABLE_COPY_AND_ASSIGN (tuple_holding_operation)
 
bool uses_objfile (struct objfile *objfile) const override
 
void dump (struct ui_file *stream, int depth) const override
 
- Public Member Functions inherited from expr::operation
virtual ~operation ()=default
 
virtual valueevaluate (struct type *expect_type, struct expression *exp, enum noside noside)=0
 
virtual valueevaluate_with_coercion (struct expression *exp, enum noside noside)
 
virtual valueevaluate_for_cast (struct type *expect_type, struct expression *exp, enum noside noside)
 
virtual valueevaluate_for_sizeof (struct expression *exp, enum noside noside)
 
virtual valueevaluate_for_address (struct expression *exp, enum noside noside)
 
virtual valueevaluate_funcall (struct type *expect_type, struct expression *exp, enum noside noside, const std::vector< operation_up > &args)
 
virtual bool constant_p () const
 
void generate_ax (struct expression *exp, struct agent_expr *ax, struct axs_value *value, struct type *cast_type=nullptr)
 
virtual enum exp_opcode opcode () const =0
 
virtual void set_outermost ()
 

Protected Attributes

std::tuple< Arg... > m_storage
 

Private Member Functions

template<int I, typename... T>
std::enable_if< I==sizeof...(T), void >::type do_dump (struct ui_file *stream, int depth, const std::tuple< T... > &value) const
 
template<int I, typename... T>
 std::enable_if (stream, depth, value)
 
template<int I, typename... T>
std::enable_if< I==sizeof...(T), bool >::type do_check_objfile (struct objfile *objfile, const std::tuple< T... > &value) const
 
template<int I, typename... T>
 std::enable_if (objfile, value)
 

Additional Inherited Members

- Protected Member Functions inherited from expr::operation
 operation ()=default
 
 DISABLE_COPY_AND_ASSIGN (operation)
 
valueevaluate_funcall (struct type *expect_type, struct expression *exp, enum noside noside, const char *function_name, const std::vector< operation_up > &args)
 
virtual void do_generate_ax (struct expression *exp, struct agent_expr *ax, struct axs_value *value, struct type *cast_type)
 

Detailed Description

template<typename... Arg>
class expr::tuple_holding_operation< Arg >

Definition at line 370 of file expop.h.

Constructor & Destructor Documentation

◆ tuple_holding_operation()

template<typename... Arg>
expr::tuple_holding_operation< Arg >::tuple_holding_operation ( Arg... args)
inlineexplicit

Member Function Documentation

◆ DISABLE_COPY_AND_ASSIGN()

template<typename... Arg>
expr::tuple_holding_operation< Arg >::DISABLE_COPY_AND_ASSIGN ( tuple_holding_operation< Arg > )

◆ do_check_objfile()

template<typename... Arg>
template<int I, typename... T>
std::enable_if< I==sizeof...(T), bool >::type expr::tuple_holding_operation< Arg >::do_check_objfile ( struct objfile * objfile,
const std::tuple< T... > & value ) const
inlineprivate

Definition at line 420 of file expop.h.

Referenced by expr::tuple_holding_operation< Arg >::uses_objfile().

◆ do_dump()

template<typename... Arg>
template<int I, typename... T>
std::enable_if< I==sizeof...(T), void >::type expr::tuple_holding_operation< Arg >::do_dump ( struct ui_file * stream,
int depth,
const std::tuple< T... > & value ) const
inlineprivate

Definition at line 402 of file expop.h.

Referenced by expr::tuple_holding_operation< Arg >::dump().

◆ dump()

template<typename... Arg>
void expr::tuple_holding_operation< Arg >::dump ( struct ui_file * stream,
int depth ) const
inlineoverridevirtual

◆ std::enable_if() [1/2]

template<typename... Arg>
template<int I, typename... T>
expr::tuple_holding_operation< Arg >::std::enable_if ( objfile ,
value  )
private

◆ std::enable_if() [2/2]

template<typename... Arg>
template<int I, typename... T>
expr::tuple_holding_operation< Arg >::std::enable_if ( stream ,
depth ,
value  )
private

◆ uses_objfile()

template<typename... Arg>
bool expr::tuple_holding_operation< Arg >::uses_objfile ( struct objfile * objfile) const
inlineoverridevirtual

Member Data Documentation

◆ m_storage

template<typename... Arg>
std::tuple<Arg...> expr::tuple_holding_operation< Arg >::m_storage
protected

The documentation for this class was generated from the following file: