1 /*=========================================================================
2 
3   Program:   Visualization Toolkit
4   Module:    Tokenizer.h
5 
6   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7   All rights reserved.
8   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10      This software is distributed WITHOUT ANY WARRANTY; without even
11      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12      PURPOSE.  See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
16 /*
17  * Copyright 2003 Sandia Corporation.
18  * Under the terms of Contract DE-AC04-94AL85000, there is a non-exclusive
19  * license for use of this work by or on behalf of the
20  * U.S. Government. Redistribution and use in source and binary forms, with
21  * or without modification, are permitted provided that this Notice and any
22  * statement of authorship are reproduced on all copies.
23  */
24 
25 #include <string>
26 
27 class Tokenizer
28 {
29 public:
30   Tokenizer(const char *s, const char *delim = " \t\n\r");
31   Tokenizer(const std::string &s, const char *delim = " \t\n\r");
32 
33   std::string GetNextToken();
34   std::string GetRemainingString() const;
35   bool HasMoreTokens() const;
36 
37   void Reset();
38 
39 private:
40   std::string FullString;
41   std::string Delim;
42   std::string::size_type Position;
43 };
44