Listing 5: Public interface of basic_search_sequence_value_type.
class basic_search_sequence_value_type { ... string_t get_path() const; #ifdef RECLS_PLATFORM_API_WIN32 char_type get_drive() const; #endif /* RECLS_PLATFORM_API_WIN32 */ string_t get_directory() const; string_t get_directory_path() const; directory_parts_type get_directory_parts() const; string_t get_file() const; string_t get_short_file() const; string_t get_filename() const; string_t get_fileext() const; recls_time_t get_creation_time() const; recls_time_t get_modification_time() const; recls_time_t get_last_access_time() const; recls_time_t get_last_status_change_time() const; recls_filesize_t get_size() const; recls_bool_t is_readonly() const; recls_bool_t is_directory() const; recls_bool_t is_link() const; ... }; template <typename C, typename T> inline class_type &basic_search_sequence_value_type<C, T>::operator =( class_type const &rhs) { if(NULL != m_info) { traits_type::CloseDetails(m_info); } m_info = traits_type::CopyDetails(rhs.m_info); return *this; } template <typename C, typename T> inline string_t basic_search_sequence_value_type<C, T>::get_filename() const { recls_assert(NULL != m_info); return string_t(m_info->fileName.begin, m_info->fileName.end); } template <typename C, typename T> inline directory_parts_type basic_search_sequence_value_type<C, T>::get_directory_parts() const { recls_assert(NULL != m_info); return directory_parts_type( m_info->directoryParts.begin , m_info->directoryParts.end); }