/*
* Copyright ©2026 Soham Pardeshi. All rights reserved.
* Permission is hereby granted to students registered for University of
* Washington CSE 333 for use solely during Summer Quarter 2026 for
* purposes of the course. No other use, copying, distribution, or
* modification is permitted without prior written consent. Copyrights
* for third-party components of this work must be honored. Instructors
* interested in reusing these course materials should contact the author.
*/
#ifndef BOX_H_
#define BOX_H_
// A class template (slides 45-46, 51). Box<T> is a factory for classes:
// Box<int> and Box<double> are two unrelated classes the compiler stamps
// out on demand.
template <typename T>
class Box {
public:
explicit Box(T v) : val_(v) {}
T Get() const { return val_; }
private:
T val_; // members can have the parameter type
};
#endif // BOX_H_