#ifndef morpheo_changecase
#define morpheo_changecase

/*
 * $Id: ChangeCase.h 81 2008-04-15 18:40:01Z rosiere $
 *
 * [ Description ]
 * 
 */

#include <string>
#include <stdint.h>

namespace morpheo              {
  
  inline void UpperCase(std::string& S)
  {
    uint32_t n = S.size();
    for (uint32_t j = 0; j < n; j++)
      {
	char sj = S[j];
	if (sj >= 'a' && sj <= 'z')
	  S[j] = static_cast<char>(sj - ('a' - 'A'));
      }
  }
  
  inline void LowerCase(std::string& S)
  {
    uint32_t n = S.size();
    for (uint32_t j = 0; j < n; j++)
      {
	char sj = S[j];
	if (sj >= 'A' && sj <= 'Z')
	  S[j] = static_cast<char>(sj + ('a' - 'A'));
      }
  }
  
}; // end namespace morpheo              

#endif
