Template functions and exception handeling


as always start by copying over all the files provided for you


The functions go in  "functions.h"
File: functions.h 

#pragma once
#include "cmpslib19.h"
#include "easylogging++.h"

/*
	 function1
name: Difference
pass by value 
returns the difference between the parmaters one and two (template type)
the difference should alwasy be positive (template type)
if the 2nd param is larger than the first throw "Invalid result"

while this is a template function it will only work with numeriic data types
test with double and int

function2
name: Difference
pass by reference
calculate the difference between the parmaters one   and two
the difference should alwasy be positive (template type)

if the 2nd param is larger than the first throw "Invalid result"
store the difference in the third parameter

while this is a template function it will only work with numeriic data types
test with double and int


function3
name: IsBetween
pass by value
is parameter one between parameters two (low) and three (high) the parameters are (template type)
if parameter two and three do not make a valid range throw "Invalid range"
return the result (bool)

function4
name: IsBetween
pass by reference
is parameter one between parameters two (low) and three (high) (template type)
if parameter two and three do not make a valid range throw "Invalid range"
store the result (bool) in parameter 4

test all 4 of your functions by calling them 4 times each , use two distinct data types , DO NOT call any function more than once with the exact same values
LOG THE START AND END OF ALL FUNCTIONS
 */


functions.h -- put your functions here main1.cpp -- create a main to test that your functions do what they are supposed to do for full credit: 1. In the main you will need to test ALL of your functions and make sure they are correct 2. Test each of your functions at least 3 times with disparate values 3. log the start and end of all functions at the VERY LEAST 4. make sure your code compiles with out warnings