/*
 * @topic T00252 <span style="background-color: yellow;">New: </span> header files, header guards, and multiple source files
 * @brief Function declarations
*/

// Pre-processor macro TO_UPPERCASE_H_INCLUDED becomes the "header guard"
// that prevents the content of the header file to be included more than once

// Things that begin with # are pre-processor directives:
#ifndef TO_UPPERCASE_H_INCLUDED
#define TO_UPPERCASE_H_INCLUDED

// More examples of pre-processor directives:
#define GREETING "hello"
#ifdef GREETING
#define SALUTATION "Ms."
#endif

// The #include is a directive, too:
#include <iostream>
#include <string>

// using declarations:
using std::string;
using std::cout;

// Function declarations:
void pause();
string to_uppercase( string str );

#endif// TO_UPPERCASE_H_INCLUDED