Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
wiki:documentation:devguide:core [2016/03/10 09:50] gribeiro [API] |
wiki:documentation:devguide:core [2016/11/21 07:26] (current) carolina.santos |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== TerraLib → Core Runtime Library ====== | + | ====== TerraLib.Core ====== |
| - | ===== URI ===== | + | * **[[:wiki:documentation:devguide:core:translator|Translator]]:** language translation. |
| + | * **[[:wiki:documentation:devguide:core:char_encoding|CharEncoding]]:** encode/decode characters. | ||
| - | ==== Design ==== | + | * **[[:wiki:documentation:devguide:core:logger|Logger]]:** event logs. |
| - | ==== API ==== | + | * **[[:wiki:documentation:devguide:core:uri|URI]]:** URIs manipulation. |
| - | <code cpp> | + | * **[[:wiki:documentation:devguide:core:library|Library]]:** library management. |
| - | class URI | + | |
| - | { | + | |
| - | public: | + | |
| - | // typedefs | + | * **[[:wiki:documentation:devguide:core:files|FileSystem]]:** system paths with UTF-8 strings. |
| - | typedef std::string string_type; | + | |
| - | typedef string_type::iterator iterator; | + | |
| - | typedef string_type::const_iterator const_iterator; | + | |
| - | typedef std::iterator_traits<iterator>::value_type value_type; | + | |
| - | typedef boost::iterator_range<const_iterator> const_range_type; | + | |
| - | + | ||
| - | // constructors and destructor | + | |
| - | URI(); | + | |
| - | + | ||
| - | template <typename InputIter, class Alloc = std::allocator<value_type> > | + | |
| - | URI(const InputIter &first, const InputIter &last, const Alloc &alloc = Alloc()); | + | |
| - | + | ||
| - | template <class Source, class Alloc = std::allocator<value_type>> | + | |
| - | explicit URI(const Source& source, const Alloc& alloc = Alloc()); | + | |
| - | + | ||
| - | URI(const URI& other); | + | |
| - | + | ||
| - | URI(URI&& other) noexcept; | + | |
| - | + | ||
| - | ~URI(); | + | |
| - | + | ||
| - | // assignment | + | |
| - | URI& operator=(const URI& other); | + | |
| - | + | ||
| - | URI& operator=(URI&& other) noexcept; | + | |
| - | + | ||
| - | // swap | + | |
| - | void swap(URI& other) noexcept; | + | |
| - | + | ||
| - | // iterators | + | |
| - | const_iterator begin() const; | + | |
| - | + | ||
| - | const_iterator end() const; | + | |
| - | + | ||
| - | const_range_type scheme_range() const; | + | |
| - | + | ||
| - | const_range_type user_info_range() const; | + | |
| - | + | ||
| - | const_range_type host_range() const; | + | |
| - | + | ||
| - | const_range_type port_range() const; | + | |
| - | + | ||
| - | const_range_type path_range() const; | + | |
| - | + | ||
| - | + | ||
| - | const_range_type query_range() const; | + | |
| - | + | ||
| - | const_range_type fragment_range() const; | + | |
| - | + | ||
| - | // accessors | + | |
| - | string_type scheme() const; | + | |
| - | string_type user_info() const; | + | |
| - | string_type host() const; | + | |
| - | string_type port() const; | + | |
| - | string_type path() const; | + | |
| - | string_type authority() const; | + | |
| - | string_type query() const; | + | |
| - | string_type fragment() const; | + | |
| - | }; | + | |
| - | </code> | + | |
| - | ==== Examples ==== | + | |
| - | + | ||
| - | <file cpp main.cpp> | + | |
| - | // TerraLib | + | |
| - | #include <terralib/core/URI.h> | + | |
| - | + | ||
| - | // STL | + | |
| - | #include <cassert> | + | |
| - | + | ||
| - | int main() | + | |
| - | { | + | |
| - | + | ||
| - | te::core::URI uri("http://www.dpi.inpe.br/terralib5/wiki/doku.php?id=wiki:documentation:devguide#modules"); | + | |
| - | + | ||
| - | assert(uri.is_absolute()); | + | |
| - | assert(!uri.is_opaque()); | + | |
| - | assert(*uri.scheme() == "http"); | + | |
| - | assert(*uri.host() == "www.dpi.inpe.br"); | + | |
| - | assert(*uri.path() == "/terralib5/wiki/doku.php"); | + | |
| - | assert(*uri.query() == "id=wiki:documentation:devguide"); | + | |
| - | assert(*uri.fragment() == "modules"); | + | |
| - | + | ||
| - | return 0; | + | |
| - | } | + | |
| - | </file> | + | |
| - | ==== References ==== | + | |
| - | + | ||
| - | ==== Tickets ==== | + | |
| - | * [[https://trac.dpi.inpe.br/terralib5/ticket/270|#270]]: Refactory URI. | + | |
| - | * [[https://trac.dpi.inpe.br/terralib5/ticket/1332|#1332]]: Criar a estrutura de pastas e registro no CMake para a nova versão de URI. | + | |
| - | * [[https://trac.dpi.inpe.br/terralib5/ticket/1333|#1333]]: Implementação da API URI. | + | |
| - | * [[https://trac.dpi.inpe.br/terralib5/ticket/1334|#1334]]: Implementação de testes para API URI. | + | |
| - | * [[https://trac.dpi.inpe.br/terralib5/ticket/1335|#1335]]: Implementar os exemplos da API URI. | + | |
| - | * [[https://trac.dpi.inpe.br/terralib5/ticket/1336|#1336]]: Fazer a documentação da API de URIs. | + | |
| - | ===== Module Manager ===== | + | |
| + | * **[[:wiki:documentation:devguide:core:plugins|Plugins]]:** plugins management. | ||