Namespace
Varianti

cpp/memory/scoped allocator adaptor: differenze tra le versioni

Da cppreference.com.
< cpp‎ | memory
m (r2.7.3) (Bot: Aggiungo de, en, es, fr, ja, pt, ru, zh)
m (Use {{lc}}. Update links. Various fixes.)
 
Riga 2: Riga 2:
 
{{cpp/title|scoped_allocator_adaptor}}
 
{{cpp/title|scoped_allocator_adaptor}}
 
{{cpp/memory/scoped_allocator_adaptor/navbar}}
 
{{cpp/memory/scoped_allocator_adaptor/navbar}}
{{ddcl list begin}}
+
{{begin}}
{{ddcl list header| scoped_allocator}}
+
{{header| scoped_allocator}}
{{ddcl list item | notes={{mark since c++11}} |1=
+
{{| =c++11 |1=
 
template< class OuterAlloc, class... InnerAlloc >
 
template< class OuterAlloc, class... InnerAlloc >
 
class scoped_allocator_adaptor : public OuterAlloc;
 
class scoped_allocator_adaptor : public OuterAlloc;
 
}}
 
}}
{{ddcl list end}}
+
{{end}}
  
 
{{tr|Il modello di classe {{tt|std::scoped_allocator_adaptor}} è un allocatore che possono essere utilizzati per i contenitori più livelli (vettore di insiemi di liste di tuple di mappe, ecc.) E 'un'istanza con un {{tt|OuterAlloc}} esterno tipo allocatore e zero o più interiore {{tt|InnerAlloc...}} allocatore tipi. Un contenitore costruito direttamente con un {{tt|scoped_allocator_adaptor}} {{tt|OuterAlloc}} utilizza per allocare suoi elementi, ma se un elemento è esso stesso un contenitore, utilizza l'allocatore primo interna. Gli elementi di tale contenitore, se essi stessi sono contenitori, utilizzare l'allocatore secondo interno, ecc Se ci sono più livelli per il contenitore che ci sono ripartitori interni, viene riutilizzato l'allocatore ultimo interno per tutti i contenitori ulteriori nidificati.|The {{tt|std::scoped_allocator_adaptor}} class template is an allocator which can be used with multilevel containers (vector of sets of lists of tuples of maps, etc). It is instantiated with one outer allocator type {{tt|OuterAlloc}} and zero or more inner allocator types {{tt|InnerAlloc...}}. A container constructed directly with a {{tt|scoped_allocator_adaptor}} uses {{tt|OuterAlloc}} to allocate its elements, but if an element is itself a container, it uses the first inner allocator. The elements of that container, if they are themselves containers, use the second inner allocator, etc. If there are more levels to the container than there are inner allocators, the last inner allocator is reused for all further nested containers.}}
 
{{tr|Il modello di classe {{tt|std::scoped_allocator_adaptor}} è un allocatore che possono essere utilizzati per i contenitori più livelli (vettore di insiemi di liste di tuple di mappe, ecc.) E 'un'istanza con un {{tt|OuterAlloc}} esterno tipo allocatore e zero o più interiore {{tt|InnerAlloc...}} allocatore tipi. Un contenitore costruito direttamente con un {{tt|scoped_allocator_adaptor}} {{tt|OuterAlloc}} utilizza per allocare suoi elementi, ma se un elemento è esso stesso un contenitore, utilizza l'allocatore primo interna. Gli elementi di tale contenitore, se essi stessi sono contenitori, utilizzare l'allocatore secondo interno, ecc Se ci sono più livelli per il contenitore che ci sono ripartitori interni, viene riutilizzato l'allocatore ultimo interno per tutti i contenitori ulteriori nidificati.|The {{tt|std::scoped_allocator_adaptor}} class template is an allocator which can be used with multilevel containers (vector of sets of lists of tuples of maps, etc). It is instantiated with one outer allocator type {{tt|OuterAlloc}} and zero or more inner allocator types {{tt|InnerAlloc...}}. A container constructed directly with a {{tt|scoped_allocator_adaptor}} uses {{tt|OuterAlloc}} to allocate its elements, but if an element is itself a container, it uses the first inner allocator. The elements of that container, if they are themselves containers, use the second inner allocator, etc. If there are more levels to the container than there are inner allocators, the last inner allocator is reused for all further nested containers.}}
  
{{tr|Ai fini della {{tt|scoped_allocator_adaptor}}, se l'allocatore prossima interno è {{tt|A}}, qualsiasi {{tt|T}} classe per cui {{c|1=std::uses_allocator<T,A>::value == true}} partecipa alla ricorsione come se fosse un contenitore. Inoltre, {{c|std::pair}} è trattata come un contenitore da sovraccarichi specifici di {{l2tt|cpp/memory/scoped_allocator_adaptor/construct}}.|For the purpose of {{tt|scoped_allocator_adaptor}}, if the next inner allocator is {{tt|A}}, any class {{tt|T}} for which {{c|1=std::uses_allocator<T,A>::value == true}} participates in the recursion as if it was a container. Additionally, {{c|std::pair}} is treated as such a container by specific overloads of {{l2tt|cpp/memory/scoped_allocator_adaptor/construct}}.}}
+
{{tr|Ai fini della {{tt|scoped_allocator_adaptor}}, se l'allocatore prossima interno è {{tt|A}}, qualsiasi {{tt|T}} classe per cui {{c|1=std::uses_allocator<T,A>::value == true}} partecipa alla ricorsione come se fosse un contenitore. Inoltre, {{|std::pair}} è trattata come un contenitore da sovraccarichi specifici di {{l2tt|cpp/memory/scoped_allocator_adaptor/construct}}.|For the purpose of {{tt|scoped_allocator_adaptor}}, if the next inner allocator is {{tt|A}}, any class {{tt|T}} for which {{c|1=std::uses_allocator<T,A>::value == true}} participates in the recursion as if it was a container. Additionally, {{|std::pair}} is treated as such a container by specific overloads of {{l2tt|cpp/memory/scoped_allocator_adaptor/construct}}.}}
  
 
{{tr|Implementazione tipica detiene un'istanza di un {{tt|std::scoped_allocator_adaptor<InnerAllocs...>}} come un oggetto membro.|Typical implementation holds an instance of a {{tt|std::scoped_allocator_adaptor<InnerAllocs...>}} as a member object.}}
 
{{tr|Implementazione tipica detiene un'istanza di un {{tt|std::scoped_allocator_adaptor<InnerAllocs...>}} come un oggetto membro.|Typical implementation holds an instance of a {{tt|std::scoped_allocator_adaptor<InnerAllocs...>}} as a member object.}}
  
 
===Membri tipi===
 
===Membri tipi===
{{dcl list begin}}
+
{{begin}}
{{dcl list hitem |{{tr| Tipo | Type }}| Definition }}
+
{{hitem |{{tr| Tipo | Type }}| Definition }}
{{dcl list item | {{tt|outer_allocator_type}} | {{c|OuterAlloc}} }}
+
{{| {{tt|outer_allocator_type}} | {{c|OuterAlloc}} }}
{{dcl list item | {{tt|inner_allocator_type}} | {{c|scoped_allocator_adaptor<InnerAllocs...>}} or, if {{c|1=sizeof...(InnerAllocs) == 0}}, {{c|scoped_allocator_adaptor<OuterAlloc>}}}}
+
{{| {{tt|inner_allocator_type}} | {{c|scoped_allocator_adaptor<InnerAllocs...>}} or, if {{c|1=sizeof...(InnerAllocs) == 0}}, {{c|scoped_allocator_adaptor<OuterAlloc>}}}}
{{dcl list item | {{tt|value_type}} | {{c|std::allocator_traits<OuterAlloc>::value_type}} }}
+
{{| {{tt|value_type}} | {{c|std::allocator_traits<OuterAlloc>::value_type}} }}
{{dcl list item | {{tt|size_type}} | {{c|std::allocator_traits<OuterAlloc>::size_type}} }}
+
{{| {{tt|size_type}} | {{c|std::allocator_traits<OuterAlloc>::size_type}} }}
{{dcl list item | {{tt|difference_type}} | {{c|std::allocator_traits<OuterAlloc>::difference_type}} }}
+
{{| {{tt|difference_type}} | {{c|std::allocator_traits<OuterAlloc>::difference_type}} }}
{{dcl list item | {{tt|pointer}} | {{c|std::allocator_traits<OuterAlloc>::pointer}} }}
+
{{| {{tt|pointer}} | {{c|std::allocator_traits<OuterAlloc>::pointer}} }}
{{dcl list item | {{tt|const_pointer}} | {{c|std::allocator_traits<OuterAlloc>::const_pointer}} }}
+
{{| {{tt|const_pointer}} | {{c|std::allocator_traits<OuterAlloc>::const_pointer}} }}
{{dcl list item | {{tt|void_pointer}} | {{c|std::allocator_traits<OuterAlloc>::void_pointer}} }}
+
{{| {{tt|void_pointer}} | {{c|std::allocator_traits<OuterAlloc>::void_pointer}} }}
{{dcl list item | {{tt|const_void_pointer}} | {{c|std::allocator_traits<OuterAlloc>::const_void_pointer}} }}
+
{{| {{tt|const_void_pointer}} | {{c|std::allocator_traits<OuterAlloc>::const_void_pointer}} }}
{{dcl list item | {{tt|propagate_on_container_copy_assignment}}
+
{{| {{tt|propagate_on_container_copy_assignment}}
::{{c|std::true_type}} if {{c|std::allocator_traits<A>::propagate_on_container_copy_assignment::value}} is {{c|true}} for at least one allocator {{tt|A}} among {{tt|OuterAlloc}} and {{tt|InnerAlloc...}} }}
+
::{{|std::true_type}} if {{c|std::allocator_traits<A>::propagate_on_container_copy_assignment::value}} is {{c|true}} for at least one allocator {{tt|A}} among {{tt|OuterAlloc}} and {{tt|InnerAlloc...}} }}
{{dcl list item | {{tt|propagate_on_container_move_assignment}}
+
{{| {{tt|propagate_on_container_move_assignment}}
::{{c|std::true_type}} if {{c|std::allocator_traits<A>::propagate_on_container_move_assignment::value}} is {{c|true}} for at least one allocator {{tt|A}} among {{tt|OuterAlloc}} and {{tt|InnerAlloc...}} }}
+
::{{|std::true_type}} if {{c|std::allocator_traits<A>::propagate_on_container_move_assignment::value}} is {{c|true}} for at least one allocator {{tt|A}} among {{tt|OuterAlloc}} and {{tt|InnerAlloc...}} }}
{{dcl list item | {{tt|propagate_on_container_swap}}
+
{{| {{tt|propagate_on_container_swap}}
::{{c|std::true_type}} if {{c|std::allocator_traits<A>::propagate_on_container_swap::value}} is {{c|true}} for at least one allocator {{tt|A}} among {{tt|OuterAlloc}} and {{tt|InnerAlloc...}} }}
+
::{{|std::true_type}} if {{c|std::allocator_traits<A>::propagate_on_container_swap::value}} is {{c|true}} for at least one allocator {{tt|A}} among {{tt|OuterAlloc}} and {{tt|InnerAlloc...}} }}
{{dcl list item | {{tt|rebind}}
+
{{| {{tt|rebind}}
  
 
<div style{{=}}"padding-left:3em; max-width: 50em; overflow: hidden;">
 
<div style{{=}}"padding-left:3em; max-width: 50em; overflow: hidden;">
Riga 46: Riga 46:
 
}}  
 
}}  
 
</div>}}
 
</div>}}
{{dcl list end}}
+
{{end}}
  
 
===Membri funzioni===
 
===Membri funzioni===
{{dcl list begin}}
+
{{begin}}
{{dcl list template | cpp/memory/scoped_allocator_adaptor/dcl list scoped_allocator_adaptor}}
+
{{| cpp/memory/scoped_allocator_adaptor/scoped_allocator_adaptor}}
{{dcl list template | cpp/memory/scoped_allocator_adaptor/dcl list ~scoped_allocator_adaptor}}
+
{{| cpp/memory/scoped_allocator_adaptor/~scoped_allocator_adaptor}}
{{dcl list template | cpp/memory/scoped_allocator_adaptor/dcl list inner_allocator}}
+
{{| cpp/memory/scoped_allocator_adaptor/inner_allocator}}
{{dcl list template | cpp/memory/scoped_allocator_adaptor/dcl list outer_allocator}}
+
{{| cpp/memory/scoped_allocator_adaptor/outer_allocator}}
{{dcl list template | cpp/memory/scoped_allocator_adaptor/dcl list allocate}}
+
{{| cpp/memory/scoped_allocator_adaptor/allocate}}
{{dcl list template | cpp/memory/scoped_allocator_adaptor/dcl list deallocate}}
+
{{| cpp/memory/scoped_allocator_adaptor/deallocate}}
{{dcl list template | cpp/memory/scoped_allocator_adaptor/dcl list max_size}}
+
{{| cpp/memory/scoped_allocator_adaptor/max_size}}
{{dcl list template | cpp/memory/scoped_allocator_adaptor/dcl list construct}}
+
{{| cpp/memory/scoped_allocator_adaptor/construct}}
{{dcl list template | cpp/memory/scoped_allocator_adaptor/dcl list destroy}}
+
{{| cpp/memory/scoped_allocator_adaptor/destroy}}
{{dcl list template | cpp/memory/scoped_allocator_adaptor/dcl list select_on_container_copy_construction}}
+
{{| cpp/memory/scoped_allocator_adaptor/select_on_container_copy_construction}}
{{dcl list end}}
+
{{end}}
  
 
===Non membri funzioni===
 
===Non membri funzioni===
{{dcl list begin}}
+
{{begin}}
{{dcl list template | cpp/memory/scoped_allocator_adaptor/dcl list operator_cmp}}
+
{{| cpp/memory/scoped_allocator_adaptor/operator_cmp}}
{{dcl list end}}
+
{{end}}
  
 
===Vedi anche===
 
===Vedi anche===
{{dcl list begin}}
+
{{begin}}
{{dcl list template | cpp/memory/dcl list allocator_traits}}
+
{{| cpp/memory/allocator_traits}}
{{dcl list template | cpp/memory/dcl list uses_allocator}}
+
{{| cpp/memory/uses_allocator}}
{{dcl list template | cpp/memory/dcl list allocator}}
+
{{| cpp/memory/allocator}}
{{dcl list end}}
+
{{end}}
  
 
[[de:cpp/memory/scoped allocator adaptor]]
 
[[de:cpp/memory/scoped allocator adaptor]]

Versione attuale delle 14:21, 2 lug 2013

 
 
Gestione della memoria dinamica
Basso livello di gestione della memoria
Allocatori
Original:
Allocators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
allocator
allocator_traits(C++11)
allocator_arg_t(C++11)
allocator_arg(C++11)
uses_allocator(C++11)
scoped_allocator_adaptor(C++11)
Non inizializzata stoccaggio
Original:
Uninitialized storage
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
uninitialized_copy
uninitialized_copy_n(C++11)
uninitialized_fill
uninitialized_fill_n
raw_storage_iterator
get_temporary_buffer
return_temporary_buffer
Puntatori intelligenti
Original:
Smart pointers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
unique_ptr(C++11)
shared_ptr(C++11)
weak_ptr(C++11)
auto_ptr(deprecato)
owner_less(C++11)
enable_shared_from_this(C++11)
bad_weak_ptr(C++11)
default_delete(C++11)
Garbage collection supporto
Original:
Garbage collection support
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
declare_reachable(C++11)
undeclare_reachable(C++11)
declare_no_pointers(C++11)
undeclare_no_pointers(C++11)
pointer_safety(C++11)
get_pointer_safety(C++11)
Varie
Original:
Miscellaneous
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
pointer_traits(C++11)
addressof(C++11)
align(C++11)
C Library
Original:
C Library
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
 
std::scoped_allocator_adaptor
Membri funzioni
Original:
Member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
scoped_allocator_adaptor::scoped_allocator_adaptor
scoped_allocator_adaptor::~scoped_allocator_adaptor
scoped_allocator_adaptor::inner_allocator
scoped_allocator_adaptor::outer_allocator
scoped_allocator_adaptor::allocate
scoped_allocator_adaptor::deallocate
scoped_allocator_adaptor::max_size
scoped_allocator_adaptor::construct
scoped_allocator_adaptor::destroy
scoped_allocator_adaptor::select_on_container_copy_construction
Non membri funzioni
Original:
Non-member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
operator==
operator!=
 
Elemento definito nell'header <scoped_allocator>
template< class OuterAlloc, class... InnerAlloc >
class scoped_allocator_adaptor : public OuterAlloc;
(dal C++11)
Il modello di classe std::scoped_allocator_adaptor è un allocatore che possono essere utilizzati per i contenitori più livelli (vettore di insiemi di liste di tuple di mappe, ecc.) E 'un'istanza con un OuterAlloc esterno tipo allocatore e zero o più interiore InnerAlloc... allocatore tipi. Un contenitore costruito direttamente con un scoped_allocator_adaptor OuterAlloc utilizza per allocare suoi elementi, ma se un elemento è esso stesso un contenitore, utilizza l'allocatore primo interna. Gli elementi di tale contenitore, se essi stessi sono contenitori, utilizzare l'allocatore secondo interno, ecc Se ci sono più livelli per il contenitore che ci sono ripartitori interni, viene riutilizzato l'allocatore ultimo interno per tutti i contenitori ulteriori nidificati.
Original:
The std::scoped_allocator_adaptor class template is an allocator which can be used with multilevel containers (vector of sets of lists of tuples of maps, etc). It is instantiated with one outer allocator type OuterAlloc and zero or more inner allocator types InnerAlloc.... A container constructed directly with a scoped_allocator_adaptor uses OuterAlloc to allocate its elements, but if an element is itself a container, it uses the first inner allocator. The elements of that container, if they are themselves containers, use the second inner allocator, etc. If there are more levels to the container than there are inner allocators, the last inner allocator is reused for all further nested containers.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Ai fini della scoped_allocator_adaptor, se l'allocatore prossima interno è A, qualsiasi T classe per cui std::uses_allocator<T,A>::value == true partecipa alla ricorsione come se fosse un contenitore. Inoltre, std::pair è trattata come un contenitore da sovraccarichi specifici di scoped_allocator_adaptor::construct.
Original:
For the purpose of scoped_allocator_adaptor, if the next inner allocator is A, any class T for which std::uses_allocator<T,A>::value == true participates in the recursion as if it was a container. Additionally, std::pair is treated as such a container by specific overloads of scoped_allocator_adaptor::construct.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Implementazione tipica detiene un'istanza di un std::scoped_allocator_adaptor<InnerAllocs...> come un oggetto membro.
Original:
Typical implementation holds an instance of a std::scoped_allocator_adaptor<InnerAllocs...> as a member object.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Indice

[modifica] Membri tipi

Tipo
Original:
Type
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Definition
outer_allocator_type OuterAlloc
inner_allocator_type scoped_allocator_adaptor<InnerAllocs...> or, if sizeof...(InnerAllocs) == 0, scoped_allocator_adaptor<OuterAlloc>
value_type std::allocator_traits<OuterAlloc>::value_type
size_type std::allocator_traits<OuterAlloc>::size_type
difference_type std::allocator_traits<OuterAlloc>::difference_type
pointer std::allocator_traits<OuterAlloc>::pointer
const_pointer std::allocator_traits<OuterAlloc>::const_pointer
void_pointer std::allocator_traits<OuterAlloc>::void_pointer
const_void_pointer std::allocator_traits<OuterAlloc>::const_void_pointer
propagate_on_container_copy_assignment
std::true_type if std::allocator_traits<A>::propagate_on_container_copy_assignment::value is true for at least one allocator A among OuterAlloc and InnerAlloc...
propagate_on_container_move_assignment
std::true_type if std::allocator_traits<A>::propagate_on_container_move_assignment::value is true for at least one allocator A among OuterAlloc and InnerAlloc...
propagate_on_container_swap
std::true_type if std::allocator_traits<A>::propagate_on_container_swap::value is true for at least one allocator A among OuterAlloc and InnerAlloc...
rebind
template< class T >
struct rebind {
    typedef scoped_allocator_adaptor<
        std::allocator_traits<OuterAlloc>::template rebind_alloc<T>, 
        InnerAllocs...
    > other;
};

[modifica] Membri funzioni

crea una nuova istanza scoped_allocator_adaptor
Original:
creates a new scoped_allocator_adaptor instance
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(metodo pubblico) [modifica]
distrugge un'istanza scoped_allocator_adaptor
Original:
destructs a scoped_allocator_adaptor instance
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(metodo pubblico) [modifica]
ottiene un riferimento inner_allocator
Original:
obtains an inner_allocator reference
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(metodo pubblico) [modifica]
ottiene un riferimento outer_allocator
Original:
obtains an outer_allocator reference
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(metodo pubblico) [modifica]
alloca memoria non inizializzata utilizzando l'allocatore esterno
Original:
allocates uninitialized storage using the outer allocator
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(metodo pubblico) [modifica]
alloca memoria utilizzando l'allocatore esterno
Original:
allocates storage using the outer allocator
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(metodo pubblico) [modifica]
returns the largest allocation size supported by the outer allocator
(metodo pubblico) [modifica]
costruisce un oggetto nella memoria allocata, passando l'allocatore interna al relativo costruttore, se del caso
Original:
constructs an object in allocated storage, passing the inner allocator to its constructor if appropriate
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(metodo pubblico) [modifica]
desrtucts un oggetto nella memoria allocata
Original:
desrtucts an object in allocated storage
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(metodo pubblico) [modifica]
copia lo stato di scoped_allocator_adaptor e tutti i suoi allocatori
Original:
copies the state of scoped_allocator_adaptor and all its allocators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(metodo pubblico) [modifica]

[modifica] Non membri funzioni

Confronta due istanze scoped_allocator_adaptor
Original:
compares two scoped_allocator_adaptor instances
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(metodo pubblico) [modifica]

[modifica] Vedi anche

fornisce informazioni sui tipi di allocatore
Original:
provides information about allocator types
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(classe template) [modifica]
controlla se il tipo specificato supporta usi-allocatore di costruzione
Original:
checks if the specified type supports uses-allocator construction
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(classe template) [modifica]
the default allocator
(classe template) [modifica]