Boost logo

Boost :

From: davlet_panech (davlet_panech_at_[hidden])
Date: 2002-02-14 17:32:46


Is there any interest in a filename parser library?

What I have in mind is a filename class modelled as a container of
path components; each path component consists of a "proper" name and
an extension, something along these lines:

// (possibly a template)
class filename_component
  typedef std::string string_type;

  // Full name
  string_type str() const;
  void str( const string_type &s );

  // Name minus extension
  string_type proper() const;
  void proper( const string_type &s );

  // Extension
  string_type ext() const;
  void ext( const string_type &s );
  bool has_ext() const;

  // ...

// This is a sequence of filename_components
class filename
  // Things from sequence requirements, e.g.
  const filename_component &
    operator [] ( size_type n ) const;

  // additional members

  static const char path_sep_char;

  // Full path name
  string_type str() const;
  void str( const string_type &s );

  // Parent filename
  filename parent() const;

  // Absolute or relative path?
  bool absolute() const;

  // Last component
  const filename_component &base() const
    return operator[] ( size() - 1 );

  // ...


Boost list run by bdawes at, gregod at, cpdaniel at, john at