GCC Middle and Back End API Reference
vec< T, A, L > Struct Template Reference

#include <vec.h>

Inherited by auto_vec< edge_t * >, auto_vec< node_t * >, auto_vec< cpp_string >, auto_vec< char * >, auto_vec< uint64_t, 1 >, auto_vec< rtx, 32 >, auto_vec< tree, 32 >, auto_vec< DFS::scc_entry, 32 >, auto_vec< DFS::worklist, 32 >, auto_vec< rgroup_controls >, auto_vec< data_dependence_relation >, auto_vec< dr_with_seg_len_pair_t >, auto_vec< vec_object_pair >, auto_vec< tree >, auto_vec< vec_lower_bound >, auto_vec< stmt_vec_info >, auto_vec< stmt_info_for_cost >, auto_vec< gcond * >, auto_vec< gimple * >, auto_vec< locstr >, auto_vec< int >, auto_vec< char >, auto_vec< rtx_def >, auto_vec< ana::bar_chart::item * >, auto_vec< ana::bounded_range >, auto_vec< ana::call_string::element_t >, auto_vec< ana::checker_event * >, auto_vec< ana::equiv_class * >, auto_vec< ana::constraint >, auto_vec< ana::bounded_ranges_constraint >, auto_vec< ana::saved_diagnostic * >, auto_vec< const ana::svalue * >, auto_vec< Key >, auto_vec< const ana::saved_diagnostic * >, auto_vec< const ana::exploded_edge * >, auto_vec< ana::state_machine * >, auto_vec< const ana::region * >, auto_vec< ana::call_summary * >, auto_vec< ana::exploded_node * >, auto_vec< ana::sm_state_map * >, auto_vec< ana::record_layout::item >, auto_vec< pop_frame_callback >, auto_vec< ana::svalue * >, auto_vec< ana::region * >, auto_vec< ana::pending_note * >, auto_vec< std::pair< gimple *, unsigned > >, auto_vec< ana::state_machine::state * >, auto_vec< unsigned >, auto_vec< ana::strongly_connected_components::per_node_data >, auto_vec< unsigned char >, auto_vec< std::pair< tree, flow_sensitive_info_storage >, 2 >, auto_vec< basic_block_def >, auto_vec< capture_info::cinfo >, auto_vec< dref >, auto_vec< _slp_tree >, auto_vec< size_t, 128 >, auto_vec< basic_block_def, 256 >, auto_vec< uint64_t, 512 >, auto_vec< range_entry >, auto_vec< std::pair< gphi *, tree > >, auto_vec< df_ref_d, 128 >, auto_vec< df_ref_d, 32 >, auto_vec< df_mw_hardreg *, 32 >, auto_vec< location_t, 8 >, auto_vec< const diagnostic_metadata::rule * >, auto_vec< dump_pretty_printer::stashed_item >, auto_vec< line_event >, auto_vec< added_line * >, auto_vec< location_t >, auto_vec< rtx_def, 4 >, auto_vec< rtx_insn * >, auto_vec< odr_type_warn_count >, auto_vec< fma_transformation_info, 8 >, auto_vec< fixup * >, auto_vec< deferred_edge >, auto_vec< ipa_polymorphic_call_context, 32 >, auto_vec< ipa_argagg_value, 32 >, auto_vec< Value_Range, 32 >, auto_vec< pass_through_split_map >, auto_vec< size_time_entry >, auto_vec< ipa_icf::sem_item * >, auto_vec< tree, 16 >, auto_vec< ipa_param_body_replacement, 16 >, auto_vec< gimple *, 8 >, auto_vec< isra_param_flow >, auto_vec< struct iv_use * >, auto_vec< json::value * >, auto_vec< const char * >, auto_vec< bool >, auto_vec< int, 16 >, auto_vec< lto_location_cache::cached_location >, auto_vec< parameter, MAX_PATTERN_PARAMS >, auto_vec< merge_pattern_transition *, 1 >, auto_vec< modref_access_node >, auto_vec< eaf_flags_t >, auto_vec< odr_enum_val, 0 >, auto_vec< tree *, 16 >, auto_vec< optinfo_item * >, auto_vec< json::array * >, auto_vec< unsigned int >, auto_vec< parameter::type_enum, MAX_PATTERN_PARAMS >, auto_vec< data_reference, 10 >, auto_vec< data_dependence_relation, 10 >, auto_vec< chain >, auto_vec< access_ref >, auto_vec< int, 2 >, auto_vec< const edge_t * >, auto_vec< simple_diagnostic_thread * >, auto_vec< simple_diagnostic_event * >, auto_vec< speculative_call_target >, auto_vec< hash_set< basic_block_def > * >, auto_vec< std::pair< HOST_WIDE_INT, HOST_WIDE_INT >, 10 >, auto_vec< std::pair< tree, tree > >, auto_vec< HOST_WIDE_INT >, auto_vec< tree, 2 >, auto_vec< v_info_elem, 32 >, auto_vec< slp_instance >, auto_vec< loop_p >, auto_vec< poly_int64, 32 >, auto_vec< slpg_vertex >, auto_vec< vec< unsigned > >, auto_vec< slpg_partition_info >, auto_vec< slpg_partition_layout_costs >, and auto_vec< pd_data, 2 >.

Detailed Description

template<typename T, typename A = va_heap, typename L = typename A::default_layout>
struct vec< T, A, L >
Generic vector template.  Default values for A and L indicate the
most commonly used strategies.

FIXME - Ideally, they would all be vl_ptr to encourage using regular
        instances for vectors, but the existing GTY machinery is limited
        in that it can only deal with GC objects that are pointers
        themselves.

        This means that vector operations that need to deal with
        potentially NULL pointers, must be provided as free
        functions (see the vec_safe_* functions above).   

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