note
	description: "Time Measurable Units"
	legal: "See notice at end of class."
	status: "See notice at end of class."
	date: "$Date: 2009-01-01 12:38:30 +0000 (Thu, 01 Jan 2009) $"
	revision: "$Revision: 76534 $"

deferred class interface
	TIME_MEASUREMENT

feature -- Access

	hour: INTEGER_32
			-- Number of hours associated with current object

	minute: INTEGER_32
			-- Number of minutes associated with current object

	second: INTEGER_32
			-- Number of seconds associated with current object.

	fine_second: REAL_64
			-- Number of fine seconds associated with current object
	
feature -- Settings

	set_second (s: INTEGER_32)
			-- Set second to s.
		require
			s_large_enough: s >= 0
			s_small_enough: s < Seconds_in_minute
		ensure
			second_set: second = s

	set_fine_second (s: REAL_64)
			-- Set fine_second to s
		require
			s_large_enough: s >= 0.to_double
			s_small_enough: s < Seconds_in_minute.to_double
		ensure
			fine_second_set: fine_second = s

	set_fractionals (f: REAL_64)
			-- Set fractional_second to f.
		require
			f_large_enough: f >= 0.to_double
			f_small_enough: f < 1.to_double
		ensure
			second_same: second = old second

	set_minute (m: INTEGER_32)
			-- Set minute to m.
		require
			m_large_enough: m >= 0
			m_small_enough: m < Minutes_in_hour
		ensure
			minute_set: minute = m

	set_hour (h: INTEGER_32)
			-- Set hour to h.
		require
			h_large_enough: h >= 0
			h_small_enough: h < Hours_in_day
		ensure
			hour_set: hour = h
	
note
	copyright: "Copyright (c) 1984-2009, Eiffel Software and others"
	license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)"
	source: "[
		Eiffel Software
		5949 Hollister Ave., Goleta, CA 93117 USA
		Telephone 805-685-1006, Fax 805-685-6869
		Website http://www.eiffel.com
		Customer support http://support.eiffel.com
	]"

end -- class TIME_MEASUREMENT

Generated by ISE EiffelStudio