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