TFCweb
1.0.4 $Rev: 483 $
TFC Primavera 2012: Nucli d'un servidor web
|
Funcions i algorismes de suport. Més...
Espais de Noms | |
namespace | impl |
Detalls d'implementació |
Definicions de Tipus | |
typedef std::ios_base &( | manipulador_ios_base_t )(std::ios_base &) |
Tipus dels manipuladors de std::ios_base . | |
typedef boost::function < std::ostream &(std::ostream &)> | manipulador_ostream_t |
Tipus compatible de manipuladors de std::ostream . |
Funcions | |
template<typename Iterador , typename Separador = std::string> | |
std::ostream & | each_shl (std::ostream &os, Iterador ini, Iterador fi, const Separador &sep="\n") |
Impressió de contenidors. | |
template<typename Iterador , typename Separador = std::string> | |
manipulador_ostream_t | each_shl (Iterador ini, Iterador fi, const Separador &sep="\n") |
Impressió de contenidors amb destí implícit. | |
template<typename Contenidor , typename Separador = std::string> | |
manipulador_ostream_t | each_shl (const Contenidor &c, const Separador &sep="\n") |
Impressió de contenidors amb destí implícit. | |
bool | es_canonic (const fs::path &p) throw () |
bool | es_canonic (const boost::filesystem::path &p) throw () |
Comprova si una ruta és canònica. | |
bool | es_llegible (const fs::path &p) throw () |
bool | es_llegible (const boost::filesystem::path &p) throw () |
Comprova si un fitxer o directori és llegible. | |
template<typename Str > | |
const Str::value_type | final (const Str &s) |
Obté el darrer element d'una col·lecció. | |
string | formata_data (const boost::posix_time::ptime &t, const std::string &fmt) |
Formata una hora/data. | |
string | formata_data (const std::time_t t, const std::string &fmt) |
Formata una hora/data. | |
std::string | formata_data (const std::string &fmt) |
Formata la hora/data actual. | |
template<typename T > | |
T | from_string (const std::string &s, manipulador_ios_base_t base=std::dec) |
Extreu un valor de la cadena s . | |
boost::posix_time::ptime | llegeix_data (const string &s, const string &fmt) |
string | lpad (const std::string &s, size_t mida, char f= ' ') |
Amplia una cadena per l'esquerra. | |
string | rpad (const std::string &s, size_t mida, char f= ' ') |
Amplia una cadena per la dreta. | |
template<typename T > | |
std::string | to_string (const T &obj, manipulador_ios_base_t base=std::dec) |
Obté la representació en forma de cadena d'un objecte. |
Funcions i algorismes de suport.
typedef std::ios_base&( manipulador_ios_base_t)(std::ios_base &) |
typedef boost::function<std::ostream& (std::ostream&)> manipulador_ostream_t |
std::ostream& tfc::utils::each_shl | ( | std::ostream & | os, |
Iterador | ini, | ||
Iterador | fi, | ||
const Separador & | sep = "\n" |
||
) |
Impressió de contenidors.
os | Destinació |
ini | Principi de la iteració |
fi | Final de la iteració |
sep | Separador. Cadena inserida després de cada element excepte el darrer |
Iterador | tipus d'iterador |
Separador | tipus del separador |
Aplica l'operador <<
a tots els elements entre ini
i fi
.
Exemple:
Definició a la línia 240 del fitxer utils.h.
Referències tfc::utils::impl::each_shl().
Referenciat a each_shl().
manipulador_ostream_t tfc::utils::each_shl | ( | Iterador | ini, |
Iterador | fi, | ||
const Separador & | sep = "\n" |
||
) |
Impressió de contenidors amb destí implícit.
ini | Principi de la iteració |
fi | Final de la iteració |
sep | Separador. Cadena inserida després de cada element excepte el darrer |
Iterador | tipus d'iterador |
Separador | tipus del separador |
Funció generadora. La inserció en un ostream el defineix com a destí. Aplica l'operador <<
a tots els elements entre ini
i fi
Exemple:
manipulador_ostream_t tfc::utils::each_shl | ( | const Contenidor & | c, |
const Separador & | sep = "\n" |
||
) |
Impressió de contenidors amb destí implícit.
c | Contenidor |
fi | Final de la iteració |
sep | Separador. Cadena inserida després de cada element excepte el darrer |
Contenidor | tipus contenidor |
Separador | tipus del separador |
Funció generadora. La inserció en un ostream el defineix com a destí. Aplica l'operador <<
a tots els elements de la iteració c.begin()
a c.end()
(equivalent a
)
Exemple:
Generarà:
Definició a la línia 295 del fitxer utils.h.
Referències each_shl().
bool tfc::utils::es_canonic | ( | const fs::path & | p | ) | throw () |
Definició a la línia 68 del fitxer utils.cc.
Referenciat a tfc::operator<<().
bool tfc::utils::es_canonic | ( | const boost::filesystem::path & | p | ) | throw () |
Comprova si una ruta és canònica.
p | Ruta a comprovar |
bool tfc::utils::es_llegible | ( | const fs::path & | p | ) | throw () |
Definició a la línia 47 del fitxer utils.cc.
Referenciat a anonymous_namespace{Configuracio.cc}::config_llegible(), AutoIndex::html(), Cerber::permis() i anonymous_namespace{Configuracio.cc}::valida_arrel().
bool tfc::utils::es_llegible | ( | const boost::filesystem::path & | p | ) | throw () |
Comprova si un fitxer o directori és llegible.
p | Ruta a comprovar |
false
const Str::value_type tfc::utils::final | ( | const Str & | s | ) |
Obté el darrer element d'una col·lecció.
Exemple:
Definició a la línia 135 del fitxer utils.h.
Referenciat a Servidor::extreu_capsaleres() i AutoIndex::html().
std::string formata_data | ( | const boost::posix_time::ptime & | t, |
const std::string & | fmt | ||
) |
Formata una hora/data.
t | Marca de temps |
fmt | Format (flags de format de Boost Date Time, pràcticament iguals a strftime() ) |
Exemple: Data HTTP actual:
Definició a la línia 87 del fitxer utils.cc.
Referenciat a tfc::data_http(), formata_data(), Log::marca_de_temps() i anonymous_namespace{AutoIndex.cc}::mtime().
std::string formata_data | ( | const std::time_t | t, |
const std::string & | fmt | ||
) |
Formata una hora/data.
t | Marca de temps |
fmt | Format (flags de format de Boost Date Time, pràcticament iguals a strftime() ) |
Exemple: Data HTTP actual:
Definició a la línia 98 del fitxer utils.cc.
Referències formata_data().
|
inline |
Formata la hora/data actual.
fmt | Format (flags de format de Boost Date Time, pràcticament iguals a strftime() ) |
Definició a la línia 311 del fitxer utils.h.
Referències formata_data().
T tfc::utils::from_string | ( | const std::string & | s, |
manipulador_ios_base_t | base = std::dec |
||
) |
Extreu un valor de la cadena s
.
T | Tipus de l'objecte a extreure |
s | Valor d'entrada |
base | Base numèrica a aplicar |
boost::lexical_cast
és preferible, però no no permet indicar altres bases std::ios_base&
(*)(std::ios_base&) és el tipus dels modificadors de base numèrica de la biblioteca estàndardExemple:
>>
) de T
sobre una std::ostream
és definit boost::posix_time::ptime tfc::utils::llegeix_data | ( | const string & | s, |
const string & | fmt | ||
) |
Definició a la línia 102 del fitxer utils.cc.
Referències FITXER_I_LINIA_.
std::string lpad | ( | const std::string & | s, |
size_t | mida, | ||
char | f = ' ' |
||
) |
Amplia una cadena per l'esquerra.
s | Cadena a ampliar |
mida | Mida mínima de la cadena |
f | Caràcter amb què ampliar-la |
Definició a la línia 75 del fitxer utils.cc.
Referències anonymous_namespace{AutoIndex.cc}::mida().
Referenciat a AutoIndex::html().
std::string rpad | ( | const std::string & | s, |
size_t | mida, | ||
char | f = ' ' |
||
) |
Amplia una cadena per la dreta.
s | Cadena a ampliar |
mida | Mida mínima de la cadena |
f | Caràcter amb què ampliar-la |
Definició a la línia 81 del fitxer utils.cc.
Referències anonymous_namespace{AutoIndex.cc}::mida().
Referenciat a AutoIndex::html().
std::string tfc::utils::to_string | ( | const T & | obj, |
manipulador_ios_base_t | base = std::dec |
||
) |
Obté la representació en forma de cadena d'un objecte.
T | Tipus de l'objecte a representar |
obj | Objecte a representar |
base | Base numèrica a aplicar |
boost::lexical_cast
és preferible allà on es pugui fer servir, l'avantatge d'aquesta funció és poder indicar una base numèrica diferent de la decimal <<
) de T
sobre una std::istream
és definit Definició a la línia 91 del fitxer utils.h.
Referenciat a Recurs::entity_tag().