Alexandria  2.27.0
SDC-CH common library for the Euclid project
Namespaces | Classes | Typedefs | Functions
Euclid Namespace Reference

Namespaces

 Configuration
 
 FilePool
 
 GridContainer
 
 Histogram
 
 MathUtils
 
 NdArray
 
 PhysicsUtils
 
 regex
 
 SOM
 
 SourceCatalog
 
 Table
 
 Tuple
 
 XYDataset
 

Classes

struct  _integer_sequence
 
struct  _index_sequence_helper
 
struct  _index_sequence_helper< 0, Rest... >
 
class  InstOrRefHolder
 
class  Semaphore
 
class  ThreadPool
 Basic thread pool implementation. More...
 

Typedefs

template<std::size_t... Idx>
using _index_sequence = _integer_sequence< std::size_t, Idx... >
 
template<std::size_t N>
using _make_index_sequence = typename _index_sequence_helper< N >::type
 

Functions

template<typename T , typename... Args>
std::unique_ptr< T > make_unique (Args &&... args)
 Constructs an object of type T and wraps it in a std::unique_ptr using args as the parameter list for the constructor of T. More...
 
template<typename T >
std::vector< T > stringToVector (std::string str, const std::string &separators=std::string(", "))
 

Detailed Description

Copyright (C) 2012-2021 Euclid Science Ground Segment

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3.0 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Catalog.cpp

Created on : Feb 4, 2014 Author : Nicolas Morisset

Typedef Documentation

◆ _index_sequence

template<std::size_t... Idx>
using Euclid::_index_sequence = typedef _integer_sequence<std::size_t, Idx...>

Definition at line 50 of file index_sequence.h.

◆ _make_index_sequence

template<std::size_t N>
using Euclid::_make_index_sequence = typedef typename _index_sequence_helper<N>::type

Definition at line 61 of file index_sequence.h.

Function Documentation

◆ make_unique()

template<typename T , typename... Args>
std::unique_ptr<T> Euclid::make_unique ( Args &&...  args)

Constructs an object of type T and wraps it in a std::unique_ptr using args as the parameter list for the constructor of T.

Parameters
argslist of arguments with which the instance of T will be constructed
Returns
std::unique_ptr of the instance of type T

Definition at line 42 of file memory_tools.h.

Referenced by Euclid::MathUtils::createSamplerFromGrid().

◆ stringToVector()

template<typename T >
std::vector<T> Euclid::stringToVector ( std::string  str,
const std::string separators = std::string(", ") 
)

Convert a string into a vector of any given type.

Template Parameters
TThe destination type. boost::lexical_cast<T> will be used internally.
Parameters
strThe original string.
separatorsList of characters to be used as separator. Defaults to the space and the comma.
Returns
A vector of type T.

Definition at line 44 of file StringUtils.h.

References std::vector< T >::begin(), e, std::vector< T >::end(), std::vector< T >::size(), split(), and std::transform().

Here is the call graph for this function: