// Palindrome.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include using namespace std; template bool isPalindromeWithoutSpaces(Container &container) { Container::iterator forwardIterator(container.begin()); Container::reverse_iterator reverseIterator(container.rbegin()); Container::size_type size(container.size()); Container::iterator forwardStop(forwardIterator+size/2); Container::reverse_iterator reverseStop(reverseIterator+size/2); // Cannot compare them like this. // while (forwardIterator bool isPalindromeWithSpaces(Container &container) { Container::iterator forwardIterator(container.begin()); Container::reverse_iterator reverseIterator(container.rbegin()); Container::size_type size(container.size()); Container::iterator forwardStop(container.end()); Container::reverse_iterator reverseStop(container.rend()); // Cannot compare them like this. // while (forwardIterator(message) ? _T("true") : _T("false")) << _T(".") << endl; } { string message(_T("draw a level award")); cout << _T("Is '") << message.c_str() << _T("' a palindrome? ") << (isPalindromeWithSpaces(message) ? _T("true") : _T("false")) << _T(".") << endl; } return 0; }