TerraLib and TerraView Wiki Page

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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 08: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.